public WeaponeView GetWeapone(EWeaponeType weaponeType)
        {
            foreach (var weapone in weaponePrefabVo)
            {
                if (weapone.WeaponeType == weaponeType)
                {
                    return(weapone.WeaponeView);
                }
            }

            throw new Exception(
                      $"[{nameof(WeaponeParametersDatabase)}] No weapone prefab for weapone type {weaponeType} in database");
        }
        public WeaponeParameterVo GetWeaponeParameters(EWeaponeType weaponeType)
        {
            foreach (var weaponeParameterVo in weaponeParameterVos)
            {
                if (weaponeParameterVo.WeaponeType == weaponeType)
                {
                    return(weaponeParameterVo);
                }
            }

            throw new Exception(
                      $"[{nameof(WeaponeParametersDatabase)}] No weapone parameters for weapone type {weaponeType} in database");
        }
        public override void Execute(EChangeType changeType)
        {
            Debug.Log(changeType);
            var index = _weaponeTypes.IndexOf(_curentWeaponeType);

            if (changeType == EChangeType.Previous)
            {
                if (index - 1 > -1)
                {
                    _curentWeaponeType = _weaponeTypes[index - 1];
                }
            }
            else
            {
                if (index + 1 < _weaponeTypes.Count)
                {
                    _curentWeaponeType = _weaponeTypes[index + 1];
                }
            }

            _onChange?.Invoke(_curentWeaponeType);
        }