Пример #1
0
        public void Init(float radius, float depth)
        {
            _speed          = GameManager.Instance.GameConfig.OverallSpeed;
            _angularSpeed   = Mathf.PI * _speed * Mathf.Rad2Deg * Time.deltaTime;
            _radius         = radius;
            CurrentAngle    = transform.localRotation.eulerAngles.z;
            Model.position  = new Vector3(0, -radius, depth);
            OverallVelocity = new Vector3(0, 0, -1) * _speed;
            GameManager.Instance.OnScoreUpdated -= OnScoreUpdate;
            GameManager.Instance.OnScoreUpdated += OnScoreUpdate;

            // Get all abilities, initialize and activate only the one that was
            // purchased at the store
            _characterAbilities = GetComponents <CharacterAbility>();
            foreach (var ability in _characterAbilities)
            {
                ability.enabled     = false;
                ability.IsPermitted = false;
                if (ability.AbilityID == DataPersistanceManager.PlayerData.ActiveAbility)
                {
                    _activeAbility             = ability;
                    _activeAbility.IsPermitted = true;
                    _activeAbility.Initialize(this);
                }
            }
        }