public static IPlayerControllerModifier GetControllerModifier(IPlayerControllerModifier playerController) { int rand = Random.Range(0, 8); switch (rand) { case 0: return new FastMovementPlayerControllerModifier(playerController.RemoveMod()); case 1: return new SlowMovementPlayerControllerModifier(playerController.RemoveMod()); case 2: return new ReverseMovementPlayerControllerModifier(playerController.RemoveMod()); case 3: return new FastBombsPlayerControllerModifier(playerController.RemoveMod()); case 4: return new SlowBombsPlayerControllerModifier(playerController.RemoveMod()); case 5: return new TinyBombsPlayerControllerModifier(playerController.RemoveMod()); case 6: return new AlwaysLayBombsPlayerControllerModifier(playerController.RemoveMod()); case 7: return new NeverLayBombsPlayerControllerModifier(playerController.RemoveMod()); default: Debug.LogError("Applying default playerControllerModifier. Check the range of the random number genterator"); return new DefaultPlayerControllerModifier(playerController.RemoveMod()); } }
public void ChangePlayerControllerModifier(IPlayerControllerModifier newModifier) { _playerController = newModifier; }
public void Start() { _audioSource = GetComponent<AudioSource>(); _speed = 0.06f; _flipFlopTime = Time.time; _playerController = new DefaultPlayerControllerModifier(); _rb = GetComponent<Rigidbody2D>(); _transform = GetComponent<Transform>(); }