Example #1
0
        public void Execute(long currentTimeMs, List <Actor> touchedActors)
        {
            if ((currentTimeMs - timeLastExecuted) < cooldown)
            {
                return;
            }

            scene.MatchSoundManager.PlaySoundEffect(SoundEffectEnumeration.Machete);

            bool isFacingRight = physics.IsFacingRight();

            foreach (Actor actor in touchedActors)
            {
                (actor as Foliage)?.CharacterCut(character);
                //(actor as DefaultCharacter)?.CharacterStun(character);
            }

            if (isFacingRight)
            {
                charSheet?.PlayAnimation("machete");
            }
            else
            {
                charSheet?.PlayAnimation("machete", 1F, true);
            }


            timeLastExecuted = currentTimeMs;
        }
Example #2
0
        public void Execute(long currentTimeMs, DefaultCharacter target)
        {
            if ((currentTimeMs - timeLastExecuted) < cooldown)
            {
                return;
            }

            scene.MatchSoundManager.PlaySoundEffect(SoundEffectEnumeration.Machete);

            bool isFacingRight = physics.IsFacingRight();

            /*foreach (Actor actor in touchedActors)
             * {
             *  (actor as DefaultCharacter)?.StunAndSteal(character);
             * }*/
            target.StunAndSteal(character);

            if (isFacingRight)
            {
                charSheet?.PlayAnimation("machete");
            }
            else
            {
                charSheet?.PlayAnimation("machete", 1F, true);
            }


            timeLastExecuted = currentTimeMs;
        }
Example #3
0
        public void Execute(long currentTimeMs)
        {
            if ((currentTimeMs - timeLastExecuted) < cooldown)
            {
                return;
            }

            if ((character as DefaultCharacter)?.AmmoCount > 0)
            {
                (character as DefaultCharacter).AmmoCount--;
            }
            else
            {
                return;
            }

            scene.MatchSoundManager.PlaySoundEffect(SoundEffectEnumeration.Shoot);

            bool isFacingRight = physics.IsFacingRight();

            Point bulletStartPos = physics.BoundingBox.Center;

            bulletStartPos.Y += 10;
            Projectile projectile;

            //Shoot bullet
            if (isFacingRight)
            {
                bulletStartPos.X += 40;
                projectile        = new Projectile(new Sprite(ProjectileConfig.BULLET_TEXTURE),
                                                   bulletStartPos.ToVector2(), 1);
                charSheet?.PlayAnimation("shoot");
            }
            else
            {
                bulletStartPos.X -= 40;
                projectile        = new Projectile(new Sprite(ProjectileConfig.BULLET_TEXTURE, true),
                                                   bulletStartPos.ToVector2(), -1);
                charSheet?.PlayAnimation("shoot", 1F, true);
            }

            physics.AddBullet(projectile);

            timeLastExecuted = currentTimeMs;
        }
Example #4
0
        public void Execute(long currentTimeMs, List <Actor> touchedActors)
        {
            DefaultCharacter currentCharacter = (DefaultCharacter)character;

            if (currentCharacter == null)
            {
                return;
            }

            if ((currentTimeMs - timeLastExecuted) < cooldown)
            {
                return;
            }

            bool isFacingRight = physics.IsFacingRight();

            if (currentCharacter.InvTreasure == null)
            {
                foreach (Actor actor in touchedActors)
                {
                    Treasure treasure = actor as Treasure;
                    if (treasure != null)
                    {
                        treasure.CharacterCollect(character);
                    }

                    AmmoCrate ammoCrate = actor as AmmoCrate;
                    if (ammoCrate != null)
                    {
                        ammoCrate.CharacterCollect(character);
                    }

                    Trap trap = actor as Trap;
                    if (trap != null)
                    {
                        trap.CharacterCollect(character);
                    }
                }
            }


            timeLastExecuted = currentTimeMs;
        }