Пример #1
0
 private void UpdateUsageTime()
 {
     if (normalizeTimeResult)
     {
         onUpdateCurrentUsageTime.Invoke(invertTimeResult ? 1 - (currentUsageTime / maxUsageTime) : currentUsageTime / maxUsageTime);
     }
     else
     {
         onUpdateCurrentUsageTime.Invoke(invertTimeResult ? maxUsageTime - currentUsageTime : currentUsageTime);
     }
 }
        public override void SetValue(int i, int j, T value)
        {
            if (i < 0 || j < 0)
            {
                throw new ArgumentException("Index of element can't be less then zero.");
            }

            if (i > Size || j > Size)
            {
                throw new ArgumentException("Index of element can't be greater then size of matrix.");
            }

            if (value == null)
            {
                throw new ArgumentNullException(nameof(value));
            }

            if (i != j)
            {
                throw new ArgumentException("You can't change non-diagonal element of matrix. You need to change both symmetric values.");
            }

            elements[i][j] = value;

            OnChangeValue?.Invoke(i, j, value);
        }
        public override void SetValue(int i, int j, T value)
        {
            if (i < 0 || j < 0)
            {
                throw new ArgumentException("Индекс не может быть меньше нуля.");
            }

            if (i > Size || j > Size)
            {
                throw new ArgumentException("Индекс не может выходить за пределы матрицы");
            }

            if (value == null)
            {
                throw new ArgumentNullException(nameof(value));
            }

            if (i != j)
            {
                throw new InvalidOperationException("Матрица содержит значения по умолчанию за пределами главной диагонали");
            }

            diagonalElements[i] = value;

            OnChangeValue?.Invoke(i, j, value);
        }
Пример #4
0
    void Start()
    {
        defaultPosition  = gameObject.transform.localRotation;
        _collider        = GetComponent <SphereCollider>();
        _collider.radius = range;
        defaultRotation  = transform.rotation;
        if (!startOff)
        {
            currentUsageTime = maxUsageTime;
            onTurnOn.Invoke();
        }
        else
        {
            onTurnOff.Invoke();
        }

        isOn = !startOff;
        onUpdateMaxUsageTime.Invoke(maxUsageTime);
        UpdateUsageTime();
    }
Пример #5
0
 public void SetBool(string key, bool value)
 {
     Api.SetBool(key, value);
     OnChangeValue?.Invoke(key, value);
 }
Пример #6
0
 public void DeleteKey(string key)
 {
     Api.RemoveKey(key);
     OnChangeValue?.Invoke(key, null);
 }
Пример #7
0
 public void DeleteAll()
 {
     Api.Clear();
     OnChangeValue?.Invoke("", null);
 }
Пример #8
0
 public void SetString(string key, string value)
 {
     Api.SetString(key, value);
     OnChangeValue?.Invoke(key, value);
 }
Пример #9
0
 public void SetFloat(string key, float value)
 {
     Api.SetFloat(key, value);
     OnChangeValue?.Invoke(key, value);
 }
Пример #10
0
 public void SetInt(string key, int value)
 {
     Api.SetInt(key, value);
     OnChangeValue?.Invoke(key, value);
 }