Update() private method

private Update ( ) : void
return void
Ejemplo n.º 1
0
        public void IWantToPromptActorForActions()
        {
            var member1 = new MokupMember(0,1);
            var member2 = new MokupMember(1,3);
            var member3 = new MokupMember(2,2);
            var member4 = new MokupMember(3,4);

            TurnManager mgr = new TurnManager();
            mgr.Actors.Add(member3);
            mgr.Actors.Add(member4);
            mgr.Actors.Add(member1);
            mgr.Actors.Add(member2);
            mgr.Start();
            mgr.Update();

            //assert that current actor is the highest agility
            Assert.IsTrue(mgr.CurrentActor.GetId() == 3);

            //finish turn of this actor
            member4.PromptFinished();
            mgr.Update();
            //assert that current actor is the one with 3 agility
            Assert.IsTrue(mgr.CurrentActor.GetId() == 1);
            member2.PromptFinished();
        }
Ejemplo n.º 2
0
        public void IWantToPromptActorForActions()
        {
            var member1 = new MokupMember(0, 1);
            var member2 = new MokupMember(1, 3);
            var member3 = new MokupMember(2, 2);
            var member4 = new MokupMember(3, 4);



            TurnManager mgr = new TurnManager();

            mgr.Actors.Add(member3);
            mgr.Actors.Add(member4);
            mgr.Actors.Add(member1);
            mgr.Actors.Add(member2);
            mgr.Start();
            mgr.Update();

            //assert that current actor is the highest agility
            Assert.IsTrue(mgr.CurrentActor.GetId() == 3);

            //finish turn of this actor
            member4.PromptFinished();
            mgr.Update();
            //assert that current actor is the one with 3 agility
            Assert.IsTrue(mgr.CurrentActor.GetId() == 1);
            member2.PromptFinished();
        }
Ejemplo n.º 3
0
        public void PromptForActionsUntilItLoopsBackToFirstMember()
        {
            var member1 = new MokupMember(0, 1);
            var member2 = new MokupMember(1, 3);
            var member3 = new MokupMember(2, 2);
            var member4 = new MokupMember(3, 4);

            TurnManager mgr = new TurnManager();
            mgr.Actors.Add(member3);
            mgr.Actors.Add(member4);
            mgr.Actors.Add(member1);
            mgr.Actors.Add(member2);
            mgr.Start();

            mgr.Update();
            Assert.IsTrue(mgr.CurrentActor.GetId() == 3);
            member4.PromptFinished();

            mgr.Update();
            Assert.IsTrue(mgr.CurrentActor.GetId() == 1);
            member2.PromptFinished();

            mgr.Update();
            Assert.IsTrue(mgr.CurrentActor.GetId() == 2);
            member2.PromptFinished();

            mgr.Update();
            Assert.IsTrue(mgr.CurrentActor.GetId() == 0);
            member2.PromptFinished();

            //should loop back to id 3 here
            mgr.Update();
            Assert.IsTrue(mgr.CurrentActor.GetId() == 3);
            member2.PromptFinished();

            mgr.Update();
            Assert.IsTrue(mgr.CurrentActor.GetId() == 1);
            member2.PromptFinished();

            mgr.Update();
            Assert.IsTrue(mgr.CurrentActor.GetId() == 2);
            member2.PromptFinished();

            mgr.Update();
            Assert.IsTrue(mgr.CurrentActor.GetId() == 0);
            member2.PromptFinished();
        }
Ejemplo n.º 4
0
        public void PromptForActionsUntilItLoopsBackToFirstMemberWithChangedSpeed()
        {
            var member1 = new MokupMember(0, 1);
            var member2 = new MokupMember(1, 3);
            var member3 = new MokupMember(2, 2);
            var member4 = new MokupMember(3, 4);



            TurnManager mgr = new TurnManager();

            mgr.Actors.Add(member3);
            mgr.Actors.Add(member4);
            mgr.Actors.Add(member1);
            mgr.Actors.Add(member2);
            mgr.Start();

            mgr.Update();
            Assert.IsTrue(mgr.CurrentActor.GetId() == 3);
            member4.PromptFinished();

            mgr.Update();
            Assert.IsTrue(mgr.CurrentActor.GetId() == 1);
            member2.PromptFinished();

            mgr.Update();
            Assert.IsTrue(mgr.CurrentActor.GetId() == 2);
            member2.PromptFinished();

            mgr.Update();
            Assert.IsTrue(mgr.CurrentActor.GetId() == 0);
            member2.PromptFinished();

            member2.GetStatNamed("Agility").BaseValue += 10;

            //should loop back to id 1 here
            mgr.Update();
            Assert.IsTrue(mgr.CurrentActor.GetId() == 1);
            member2.PromptFinished();

            mgr.Update();
            Assert.IsTrue(mgr.CurrentActor.GetId() == 3);
            member2.PromptFinished();

            mgr.Update();
            Assert.IsTrue(mgr.CurrentActor.GetId() == 2);
            member2.PromptFinished();

            mgr.Update();
            Assert.IsTrue(mgr.CurrentActor.GetId() == 0);
            member2.PromptFinished();
        }
Ejemplo n.º 5
0
        /// <summary>
        /// Allows the game to run logic such as updating the world,
        /// checking for collisions, gathering input, and playing audio.
        /// </summary>
        /// <param name="gameTime">Provides a snapshot of timing values.</param>
        protected override void Update(GameTime gameTime)
        {
            if (GamePad.GetState(PlayerIndex.One).Buttons.Back == ButtonState.Pressed || Keyboard.GetState().IsKeyDown(Keys.Escape))
            {
                Exit();
            }

            if (_turnManager.Update(player, _npcManager.Enemies))
            {
                _movementManager.Update(CurrentMap, player, _npcManager.Enemies);
            }
            _camera.Follow(player);

            base.Update(gameTime);
        }
Ejemplo n.º 6
0
        protected override NodeStates Tick(Tick tick)
        {
            manager = tick.Target as TurnManager;

            if (manager.TurnDone || !manager.Running)
            {
                return(NodeStates.Success);
            }
            else
            {
                manager.Update();

                return(NodeStates.Running);
            }
        }