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; }
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; }
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; }
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; }