示例#1
0
 public void Update(IAtlas atlas, ITilesetTable table)
 {
     List<IGameObject> stayingOnTile = atlas.StayingOnTile(Position);
     if (stayingOnTile.Count != 0) return;
     atlas.ReplaceWith(new GameActorPosition(this, new Vector2(Position), LayerType.OnGroundInteractable),
         new TrapCharged(table, Position));
     NextUpdateAfter = 0;
 }
示例#2
0
        public void Update(IAtlas atlas, ITilesetTable table)
        {
            List <IGameObject> stayingOnTile = atlas.StayingOnTile(Position);

            if (stayingOnTile.Count != 0)
            {
                return;
            }
            atlas.ReplaceWith(new GameActorPosition(this, new Vector2(Position), LayerType.OnGroundInteractable),
                              new TrapCharged(table, Position));
            NextUpdateAfter = 0;
        }
示例#3
0
        public void Update(IAtlas atlas, ITilesetTable table)
        {
            List<IGameObject> gameActorPositions = atlas.StayingOnTile(Position);

            SomeoneOnTile = gameActorPositions.Any();

            foreach (IGameObject gameActor in gameActorPositions)
            {
                IAvatar avatar = gameActor as IAvatar;
                if (avatar != null)
                    avatar.Rested += TWConfig.Instance.BedRechargeRate;
            }
        }
示例#4
0
 public void Update(IAtlas atlas)
 {
     List<IGameObject> stayingOnTile = atlas.StayingOnTile(Position);
     if (stayingOnTile.Count == 0)
     {
         Charged = true;
     }
     if (Charged)
     {
         var avatars = stayingOnTile.OfType<IAvatar>();
         avatars.ForEach(x => x.Energy -= ENERGY_FOR_STEP_ON_TRAP);
         Charged = false;
     }
 }
示例#5
0
        public void Update(IAtlas atlas, ITilesetTable table)
        {
            List<IGameObject> gameActorPositions = atlas.StayingOnTile(Position);

            SomeoneOnTile = gameActorPositions.Any();

            foreach (IGameObject gameActor in gameActorPositions)
            {
                var avatar = gameActor as IAvatar;
                if (avatar != null)
                {
                    avatar.Energy -= ENERGY_FOR_STEP_OR_WAIT_A_SECOND_ON_POISON;
                }
            }
        }
示例#6
0
        public void Update(IAtlas atlas)
        {
            List <IGameObject> gameActorPositions = atlas.StayingOnTile(Position);

            SomeoneOnTile = gameActorPositions.Any();

            foreach (IGameObject gameActor in gameActorPositions)
            {
                IAvatar avatar = gameActor as IAvatar;
                if (avatar != null)
                {
                    avatar.Rested += TWConfig.Instance.BedRechargeRate;
                }
            }
        }
示例#7
0
        public void Update(IAtlas atlas, ITilesetTable table)
        {
            List <IGameObject> gameActorPositions = atlas.StayingOnTile(Position);

            SomeoneOnTile = gameActorPositions.Any();

            foreach (IGameObject gameActor in gameActorPositions)
            {
                var avatar = gameActor as IAvatar;
                if (avatar != null)
                {
                    avatar.Energy -= ENERGY_FOR_STEP_OR_WAIT_A_SECOND_ON_POISON;
                }
            }
        }
示例#8
0
        public void Update(IAtlas atlas, ITilesetTable table)
        {
            List<IGameObject> gameActorPositions = atlas.StayingOnTile(Position);

            SomeoneOnTile = gameActorPositions.Any();

            foreach (IGameObject gameActor in gameActorPositions)
            {
                var avatar = gameActor as IAvatar;
                if (avatar != null)
                {
                    avatar.Energy += ENERGY_RECHARGED;
                }
            }
        }
示例#9
0
        public void Update(IAtlas atlas, ITilesetTable table)
        {
            List <IGameObject> gameActorPositions = atlas.StayingOnTile(Position);

            SomeoneOnTile = gameActorPositions.Any();

            foreach (IGameObject gameActor in gameActorPositions)
            {
                var avatar = gameActor as IAvatar;
                if (avatar != null)
                {
                    avatar.Energy += ENERGY_RECHARGED;
                }
            }
        }
示例#10
0
        public void Update(IAtlas atlas)
        {
            List <IGameObject> stayingOnTile = atlas.StayingOnTile(Position);

            if (stayingOnTile.Count == 0)
            {
                Charged = true;
            }
            if (Charged)
            {
                var avatars = stayingOnTile.OfType <IAvatar>();
                avatars.ForEach(x => x.Energy -= ENERGY_FOR_STEP_ON_TRAP);
                Charged = false;
            }
        }