示例#1
0
        public override void AddEntities(Entity[] entities)
        {
            base.AddEntities(entities);

            this.entities.Sort();

            current = this.entities[0] as TurnBasedEntity;
        }
示例#2
0
        public override void Update(GameTime gameTime)
        {
            if (current != null)
            {
                if (current.TurnFinished)
                {
                    TurnBasedEntity[] turnBasedEntities = GetTurnBasedEntities();

                    currentTurn                = (currentTurn + 1) % turnBasedEntities.Length;
                    current                    = turnBasedEntities[currentTurn] as TurnBasedEntity;
                    current.TurnFinished       = false;
                    current.Stats.ActionPoints = current.Stats.MaxActionPoints;
                }
                else
                {
                    current.TurnUpdate(gameTime);
                }
            }

            base.Update(gameTime);
        }