public BonusThrow(IPlayerModel playerModel, IBonusModel bonusModel, Vector3 position, IOnPlayerEffect <IBonusModel> playerEffect) { _player = playerModel; _bonusThrowPull = new BonusThrowPull(bonusModel, position); _playerEffect = playerEffect; }
private void MoveBonus(IBonusModel bonus, float deltaTime) { _sumDelta += deltaTime; var position = bonus.Transform.position; position.Set(position.x, Mathf.PingPong(_sumDelta, 1.0f), position.z); }
public void SetEffect(IBonusModel bonus) { switch (bonus.EffectType) { case EffectType.None: break; case EffectType.Speed: _player.Character.SpeedModel.MoveSpeed += bonus.Effect; break; case EffectType.Health: _player.Character.HealthModel.CurrentHealth += bonus.Effect; break; default: throw new ArgumentOutOfRangeException(); } }
public HelperCharacterModel(HelperCharacterConfiguration helper) { Transform = Object.Instantiate(helper.Prefab); Bonus = new BonusModel(helper.Bonus); Bonus.Transform.gameObject.SetActive(false); }
public void OnInteract(IBonusModel bonus) { bonus.Transform.gameObject.SetActive(false); }
public void Throw() { _bonus = _bonusThrowPull.Get(); _isBonusFlying = true; }
private void RotateBonus(IBonusModel bonus, float deltaTime) { bonus.Transform.Rotate(Vector3.up, deltaTime); }