示例#1
0
        public UserInputManager(int maxFingers)
        {
            Service.Set <UserInputManager>(this);
            int num = 4;

            this.observers = new List <IUserInputObserver> [num];
            for (UserInputLayer userInputLayer = UserInputLayer.InternalLowest; userInputLayer <= UserInputLayer.Screen; userInputLayer++)
            {
                int num2 = userInputLayer - UserInputLayer.InternalLowest;
                this.observers[num2] = new List <IUserInputObserver>();
            }
            this.miter              = new MutableIterator();
            this.niter              = new MutableIterator();
            this.fingerIds          = new int[maxFingers];
            this.lastIsPressed      = new bool[maxFingers];
            this.lastScreenPosition = new Vector2[maxFingers];
            this.lastLayer          = new UserInputLayer[maxFingers];
            this.lastEntity         = new Entity[maxFingers];
            this.lastPlanet         = new Planet[maxFingers];
            for (int i = 0; i < maxFingers; i++)
            {
                this.ResetTouch(i);
            }
            this.clickThrough = new HashSet <GameObject>();
            this.inited       = false;
            this.enabled      = false;
        }
 public SimTimeEngine(float timePerFrame)
 {
     this.timePerFrame = timePerFrame;
     this.ScaleTime(1f);
     this.timeLast  = this.Now();
     this.observers = new List <SimTimeObserver>();
     this.miter     = new MutableIterator();
 }
 public PerformanceMonitor()
 {
     Service.Set <PerformanceMonitor>(this);
     this.samples = new FrameSample[1];
     this.Reset();
     this.fpsObservers = new List <IPerformanceObserver>();
     this.memObservers = new List <IPerformanceObserver>();
     this.miterFPS     = new MutableIterator();
     this.miterMem     = new MutableIterator();
 }
示例#4
0
 public BuffComponent()
 {
     this.buildingLoadedEvent = EventId.BuildingViewReady;
     this.troopLoadedEvent    = EventId.TroopViewReady;
     this.Buffs         = new List <Buff>();
     this.buffRetryList = new List <Buff>();
     this.miter         = new MutableIterator();
     this.niter         = new MutableIterator();
     this.oiter         = new MutableIterator();
     this.sleepState    = BuffSleepState.Sleeping;
 }
 public ViewTimeEngine(float timePerFrame)
 {
     this.timePerFrame       = timePerFrame;
     this.timeLast           = this.Now();
     this.physTimeObservers  = new List <ViewPhysicsTimeObserver>();
     this.frameTimeObservers = new List <ViewFrameTimeObserver>();
     this.clockTimeObservers = new List <ViewClockTimeObserver>();
     this.physMiter          = new MutableIterator();
     this.frameMiter         = new MutableIterator();
     this.clockMiter         = new MutableIterator();
 }
示例#6
0
 public SimTimeEngine(uint timePerFrame)
 {
     Service.SimTimeEngine = this;
     this.timePerFrame     = timePerFrame;
     this.ScaleTime(1u);
     this.timeLast        = this.Now();
     this.timeAccumulator = 0u;
     this.rolloverNext    = 0f;
     this.observers       = new List <ISimTimeObserver>();
     this.miter           = new MutableIterator();
     this.frameCount      = 0u;
 }
示例#7
0
 public ViewTimeEngine(float timePerFrame)
 {
     Service.ViewTimeEngine  = this;
     this.timePerFrame       = timePerFrame;
     this.timeLast           = this.Now();
     this.physTimeObservers  = new ViewPhysicsTimeObserverDynamicArray(4);
     this.frameTimeObservers = new ViewFrameTimeObserverDynamicArray(4);
     this.clockTimeObservers = new ViewClockTimeObserverDynamicArray(4);
     this.physMiter          = new MutableIterator();
     this.frameMiter         = new MutableIterator();
     this.clockMiter         = new MutableIterator();
 }
示例#8
0
        public void Clear()
        {
            MutableIterator <ICoroutine> mutableIterator = new MutableIterator <ICoroutine>();

            mutableIterator.Begin(coroutines);
            while (mutableIterator.IsValid())
            {
                remove(mutableIterator.Current, removeFromList: false);
                mutableIterator.RemoveCurrent();
                mutableIterator.Next();
            }
            coroutines.Clear();
            handlerMap.Clear();
        }
示例#9
0
        public void UnregisterObserver(IEventObserver observer, EventId id)
        {
            EventObservers eventObservers = this.eventIdToObservers[(int)id];

            if (eventObservers != null)
            {
                EventObserverPriorityList list = eventObservers.List;
                MutableIterator           iter = eventObservers.Iter;
                int num = list.IndexOf(observer);
                if (num >= 0)
                {
                    list.RemoveAt(num);
                    iter.OnRemove(num);
                    if (list.Count == 0)
                    {
                        this.eventIdToObservers[(int)id] = null;
                    }
                }
            }
        }
示例#10
0
        public void SendEvent(EventId id, object cookie)
        {
            EventObservers eventObservers = this.eventIdToObservers[(int)id];

            if (eventObservers != null)
            {
                EventObserverPriorityList list = eventObservers.List;
                MutableIterator           iter = eventObservers.Iter;
                iter.Init(list.Count);
                while (iter.Active())
                {
                    IEventObserver element = list.GetElement(iter.Index);
                    if (element.OnEvent(id, cookie) == EatResponse.Eaten)
                    {
                        break;
                    }
                    iter.Next();
                }
                iter.Reset();
            }
        }
        public ProjectileViewManager()
        {
            Service.Set <ProjectileViewManager>(this);
            this.projectilePool             = new Stack <ProjectileView>(50);
            this.activeProjectiles          = new List <ProjectileView>(50);
            this.emitters                   = new Dictionary <string, EmitterPool>();
            this.meshes                     = new Dictionary <string, MeshPool>();
            this.emitterGameObjectToEntity  = new Dictionary <GameObject, SmartEntity>();
            this.associatedEmitterEntitySet = new HashSet <SmartEntity>();
            this.loadedAssetNames           = new Dictionary <string, AssetHandle>();
            this.loadedAssets               = new HashSet <IAssetVO>();
            this.miter = new MutableIterator();
            this.speed = 1f;
            Service.Get <ViewTimeEngine>().RegisterFrameTimeObserver(this);
            EventManager eventManager = Service.Get <EventManager>();

            eventManager.RegisterObserver(this, EventId.ShooterWarmingUp, EventPriority.Default);
            eventManager.RegisterObserver(this, EventId.EntityHitByBeam, EventPriority.Default);
            eventManager.RegisterObserver(this, EventId.EntityKilled, EventPriority.Default);
            eventManager.RegisterObserver(this, EventId.ShooterStoppedAttacking, EventPriority.Default);
        }
示例#12
0
 public EventObservers()
 {
     this.List = new PriorityList <IEventObserver>();
     this.Iter = new MutableIterator();
 }