public static void HorizontalMoveInAir(this HeroMover hero, MoveInAirParams params_, float deltatime) { switch (hero.KeyDirection) { case 1: hero.velocity.X = Mathf.Min( hero.velocity.X + params_.HorizontalForce * deltatime, params_.HorizontalSpeedMax); break; case -1: hero.velocity.X = Mathf.Max( hero.velocity.X - params_.HorizontalForce * deltatime, -params_.HorizontalSpeedMax); break; case 0: if (hero.velocity.X > 0) { hero.velocity.X = Mathf.Max( hero.velocity.X - params_.HorizontalResistance * deltatime, 0); } else { hero.velocity.X = Mathf.Min( hero.velocity.X + params_.HorizontalResistance * deltatime, 0); } break; } }
public static IEnumerator SpawnKabezuris(this HeroMover hero, MoveInAirParams params_) { Try2SpawnKabezuri(hero); while (true) { float time = 0; yield return(null); while ((time += hero.TimeManager.DeltaTimeAroundHero) < params_.KabezuriInterval) { yield return(null); } Try2SpawnKabezuri(hero); } }