class Object native { // These really should be global functions... native static int G_SkillPropertyInt(int p); native static double G_SkillPropertyFloat(int p); virtual native void Destroy(); native class GetClass(); } class Thinker : Object native { virtual native void Tick(); virtual native void PostBeginPlay(); } class ThinkerIterator : Object native { enum EStatnums { MAX_STATNUM = 127 } native static ThinkerIterator Create(class type = "Actor", int statnum=MAX_STATNUM+1); native Thinker Next(bool exact = false); native void Reinit(); } class ActorIterator : Object native { native static ActorIterator Create(int tid, class type = "Actor"); native Actor Next(); native void Reinit(); } class DropItem : Object native { /* native fields listed for reference only for now native readonly DropItem Next; native readonly name Name; native readonly int Probability; native readonly int Amount; */ } class SpotState : Object native { native static SpotState GetSpotState(); native SpecialSpot GetNextInList(class type, int skipcounter); }