Beispiel #1
0
        public override void VisitMissileGroup(MissileGroup mg)
        {
            CollisionPair pColPair = CollisionPairManager.GetCurrentCollisionPair();

            pColPair.SetObserverSubject(this, mg);
            pColPair.NotifyListeners();
        }
Beispiel #2
0
        //-----------------------------------------------------------------------------
        // Game::Update()
        //      Called once per frame, update data, tranformations, etc
        //      Use this function to control process order
        //      Input, AI, Physics, Animation, and Graphics
        //-----------------------------------------------------------------------------
        public override void Update()
        {
            // Sound Engine update - keeps everything moving and updating smoothly
            SoundEngineManager.GetSoundEngine().Update();

            // Input
            InputManager.Update();

            // Fire off the timer events
            TimerManager.Update(GameStateManager.GetGame().GetTime());

            // Update all objects
            this.pGameObjectManager.Update();

            // Process Collisions
            CollisionPairManager.Process();

            // Delete any objects here
            this.pDelayedObjectManager.Process();

            // Chage State if flag is true
            if (this.changeState)
            {
                this.Handle(GameStateManager.GetGame());
                this.changeState = false;
            }
        }
        public override void VisitMissile(Missile m)
        {
            CollisionPair pColPair = CollisionPairManager.GetActiveColPair();

            pColPair.SetCollision(m, this);
            pColPair.NotifyListeners();
        }
        public override void VisitShieldBrick(ShieldBrick m)
        {
            CollisionPair pColPair = CollisionPairManager.GetActiveColPair();

            pColPair.SetCollision(this, m);
            pColPair.NotifyListeners();
        }
Beispiel #5
0
        public override void VisitWallLeft(WallLeft wl)
        {
            CollisionPair pColPair = CollisionPairManager.GetCurrentCollisionPair();

            pColPair.SetObserverSubject(this, wl);
            pColPair.NotifyListeners();
        }
Beispiel #6
0
        public override void Update(float systemTime)
        {
            InputManager.Update();

            FontManager.Update(Font.Name.Player1Score, SpaceInvaders.pPlayer1Score);
            FontManager.Update(Font.Name.Player2Score, SpaceInvaders.pPlayer2Score);
            FontManager.Update(Font.Name.HiScore, SpaceInvaders.pHiScore);
            FontManager.Update(Font.Name.Lives, ScenePlay.ShipLives.ToString());

            this.RunTime = Simulation.GetTotalTime() - ScenePlay.StartTimeDelta;
            //Debug.WriteLine(this.RunTime);

            TimerManager.Update(this.RunTime);
            GameObjectManager.Update();
            //Collision Checks
            CollisionPairManager.Process();
            // Delete any objects here...
            DelayedObjectManager.Process();

            //check if all alien killed
            AlienGrid pGrid = (AlienGrid)GameObjectManager.Find(GameObject.Name.AlienGrid);

            if (pGrid.GetAlienCount() < 1)
            {
                pGrid.IncreaseStartRate();
                this.ResetAll();
            }
        }
        public static CollisionPair getCurrentColPair()
        {
            CollisionPairManager collisionManInst = CollisionPairManager.getSingletonInstance();

            Debug.Assert(collisionMInstance != null);
            return(collisionManInst.currentCollisionP);
        }
Beispiel #8
0
        public override void VisitMissile(Missile pMissile)
        {
            CollisionPair collisionPair = CollisionPairManager.GetActiveCollisionPair();

            collisionPair.SetCollision(pMissile, this);
            collisionPair.NotifyObservers();
        }
Beispiel #9
0
        public override void VisitBumperRight(BumperRight wr)
        {
            CollisionPair pColPair = CollisionPairManager.GetCurrentCollisionPair();

            pColPair.SetObserverSubject(wr, this);
            pColPair.NotifyListeners();
        }
Beispiel #10
0
        public override void VisitBomb(Bomb pBomb)
        {
            CollisionPair cp = CollisionPairManager.GetActiveCollisionPair();

            cp.SetCollision(pBomb, this);
            cp.NotifyObservers();
        }
        public static void printList()
        {
            CollisionPairManager collisionManInst = CollisionPairManager.getSingletonInstance();

            Debug.Assert(collisionMInstance != null);
            Debug.WriteLine("");
            Debug.WriteLine("------ Active List Collision Pair Man: ---------------------------\n");

            MLink pNode = collisionManInst.activeList;

            int i = 0;

            while (pNode != null)
            {
                Debug.WriteLine("{0}: -------------", i);
                pNode.print();
                i++;
                pNode = pNode.pNext;
            }

            Debug.WriteLine("");
            Debug.WriteLine("------ Reserve List Collision Pair Man: ---------------------------\n");

            pNode = collisionManInst.reserveList;
            i     = 0;
            while (pNode != null)
            {
                Debug.WriteLine("{0}: -------------", i);
                pNode.print();
                i++;
                pNode = pNode.pNext;
            }
        }
Beispiel #12
0
        public override void VisitUFORoot(UFORoot pUFORoot)
        {
            CollisionPair pCollisionPair = CollisionPairManager.GetActiveCollisionPair();

            Debug.Assert(pCollisionPair != null);
            pCollisionPair.SetCollision(pUFORoot, this);
            pCollisionPair.NotifyObservers();
        }
Beispiel #13
0
        public override void VisitMissile(Missile m)
        {
            ScoreManager.AddScoreToPlayer1(20);
            CollisionPair pColPair = CollisionPairManager.GetCurrentCollisionPair();

            pColPair.SetObserverSubject(m, this);
            pColPair.NotifyListeners();
        }
Beispiel #14
0
        public override void VisitBomb(Bomb b)
        {
            Debug.Assert(b != null);
            CollisionPair pColPair = CollisionPairManager.GetCurrentCollisionPair();

            pColPair.SetObserverSubject(b, this);
            pColPair.NotifyListeners();
        }
Beispiel #15
0
        public static CollisionPair Find(CollisionPairName name)
        {
            CollisionPairManager collisionPairMan = CollisionPairManager.GetInstance();

            return((CollisionPair)collisionPairMan.BaseFind((DLink) new CollisionPair {
                name = name
            }));
        }
Beispiel #16
0
        public override void VisitShieldBrick(ShieldBrick sb)
        {
            Debug.Assert(sb != null);
            CollisionPair pColPair = CollisionPairManager.GetCurrentCollisionPair();

            pColPair.SetObserverSubject(sb, this);
            pColPair.NotifyListeners();
        }
        public override void VisitBomb(Bomb b)
        {
            //Debug.WriteLine(" ---> Done");
            CollisionPair pColPair = CollisionPairManager.GetActiveColPair();

            pColPair.SetCollision(b, this);
            pColPair.NotifyListeners();
        }
Beispiel #18
0
        public static void Dump()
        {
            CollisionPairManager pMan = CollisionPairManager.PrivGetInstance();

            Debug.Assert(pMan != null);

            pMan.BaseDump();
        }
Beispiel #19
0
        public override void VisitAlienGroup(AlienGroup ag)
        {
            CollisionPair pColPair = CollisionPairManager.GetCurrentCollisionPair();

            Debug.Assert(pColPair != null);
            pColPair.SetObserverSubject(ag, this);
            pColPair.NotifyListeners();
        }
Beispiel #20
0
        public override void VisitGrid(Grid pGrid)
        {
            CollisionPair pCollisionPair = CollisionPairManager.GetActiveCollisionPair();

            Debug.Assert(pCollisionPair != null);
            pCollisionPair.SetCollision(pGrid, this);
            pCollisionPair.NotifyObservers();
        }
Beispiel #21
0
        public override void VisitBomb(Bomb pBomb)
        {
            //Debug.WriteLine("BOMB HIT!");
            CollisionPair cp = CollisionPairManager.GetActiveCollisionPair();

            cp.SetCollision(pBomb, this);
            cp.NotifyObservers();
        }
Beispiel #22
0
        public static void Dump()
        {
            CollisionPairManager pMan = CollisionPairManager.pActiveMan;

            Debug.Assert(pMan != null);

            pMan.BaseDump();
        }
        public static void remove(CollisionPair targetNode)
        {
            CollisionPairManager collisionManInst = CollisionPairManager.getSingletonInstance();

            Debug.Assert(collisionMInstance != null);
            Debug.Assert(targetNode != null);
            collisionManInst.genericRemove(targetNode);
        }
Beispiel #24
0
        public override void VisitMissile(Missile pMissile)
        {
            //Debug.WriteLine("Hit Octopus!");
            CollisionPair collisionPair = CollisionPairManager.GetActiveCollisionPair();

            collisionPair.SetCollision(pMissile, this);
            collisionPair.NotifyObservers();
        }
        public static void Print()
        {
            CollisionPairManager pInstance = CollisionPairManager.PrivGetInstance();

            Debug.Assert(pInstance != null);

            pInstance.PrintNodes();
        }
        public override void VisitWallLeft(WallLeft w)
        {
            Debug.WriteLine("CannonShip WallLeft");
            CollisionPair currColPair = CollisionPairManager.getCurrentColPair();

            Debug.Assert(currColPair != null);
            currColPair.setSubject(this, w);
            currColPair.notifyObserver();
        }
 public override void VisitMissile(Missile m)
 {
     if (m.bMarkForDeath == false)
     {
         CollisionPair pColPair = CollisionPairManager.GetActiveColPair();
         pColPair.SetCollision(m, this);
         pColPair.NotifyListeners();
     }
 }
Beispiel #28
0
        public override void VisitFlyingSaucer(FlyingSaucer fs)
        {
            // Notify Observers
            CollisionPair pColPair = CollisionPairManager.GetActiveColPair();

            Debug.Assert(pColPair != null);
            pColPair.SetCollision(fs, this);
            pColPair.NotifyListeners();
        }
Beispiel #29
0
 //-----------------------------------------------------------------------------
 // Game::Update()
 //      Called once per frame, update data, tranformations, etc
 //      Use this function to control process order
 //      Input, AI, Physics, Animation, and Graphics
 //-----------------------------------------------------------------------------
 public override void Update()
 {
     TimerManager.Update(this.GetTime());
     InputManager.Update();
     GameObjectManager.Update();
     CollisionPairManager.Process();
     SoundManager.GetEngine().Update();
     DelayedGameObjectManager.Process();
 }
        public static void Remove(CollisionPair pNode)
        {
            CollisionPairManager pInstance = CollisionPairManager.PrivGetInstance();

            Debug.Assert(pInstance != null);

            Debug.Assert(pNode != null);
            pInstance.BaseRemove(pNode);
        }
        public static void initialize(int toCreate, int willCreate)
        {
            Debug.Assert(toCreate > 0);
            Debug.Assert(willCreate > 0);

            if (cpInstance == null)
            {
                cpInstance = new CollisionPairManager(toCreate, willCreate);
            }
        }
Beispiel #32
0
        public Player(PlayerNum type = PlayerNum.One)
        {
            batchMan = new SpriteBatchManager(9, 1);
            gameObjMan = new GameObjectManager(11, 1);
            timeMan = new TimeEventManager(4, 2);
            colPairMan = new CollisionPairManager(13, 1);
            hookupManagers();
            initialPlayerSetup();

            playerType = type;
            currNumLives = maxLives;
        }
 public static void setInstance(CollisionPairManager instance)
 {
     cpInstance = instance;
 }