Beispiel #1
0
 public BonusThrow(IPlayerModel playerModel, IBonusModel bonusModel, Vector3 position,
                   IOnPlayerEffect <IBonusModel> playerEffect)
 {
     _player         = playerModel;
     _bonusThrowPull = new BonusThrowPull(bonusModel, position);
     _playerEffect   = playerEffect;
 }
Beispiel #2
0
        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);
        }
Beispiel #3
0
        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();
            }
        }
Beispiel #4
0
 public HelperCharacterModel(HelperCharacterConfiguration helper)
 {
     Transform = Object.Instantiate(helper.Prefab);
     Bonus     = new BonusModel(helper.Bonus);
     Bonus.Transform.gameObject.SetActive(false);
 }
Beispiel #5
0
 public void OnInteract(IBonusModel bonus)
 {
     bonus.Transform.gameObject.SetActive(false);
 }
Beispiel #6
0
 public void Throw()
 {
     _bonus         = _bonusThrowPull.Get();
     _isBonusFlying = true;
 }
Beispiel #7
0
 private void RotateBonus(IBonusModel bonus, float deltaTime)
 {
     bonus.Transform.Rotate(Vector3.up, deltaTime);
 }