Exemplo n.º 1
0
        public void InitialSetup(List <GameSetupValues> initialValues)
        {
            for (var i = 0; i < initialValues.Count; i++)
            {
                if (resourceStorage.ContainsKey(initialValues[i].Name) == false)
                {
                    Debug.LogErrorFormat("Initial value contains key that have not been initialized! - {0}", initialValues[i].Name);
                    continue;
                }

                Debug.Log(initialValues[i].Name);

                resourceStorage[initialValues[i].Name] = initialValues[i].Value;
                OnResourceUpdate?.Invoke(initialValues[i].Name, resourceStorage[initialValues[i].Name]);
            }
        }
Exemplo n.º 2
0
        public void UpdateStorageItem(string resourceName, float amountToChange)
        {
            if (resourceStorage.ContainsKey(resourceName) == false)
            {
                Debug.LogErrorFormat("Initial value contains key that have not been initialized! - {0}", resourceName);
                return;
            }

            var newResourceValue = resourceStorage[resourceName];

            newResourceValue += amountToChange;
            newResourceValue  = Mathf.Clamp(newResourceValue, 0, newResourceValue);
            resourceStorage[resourceName] = newResourceValue;

            Debug.LogFormat("Updating Resource Storage - {0} - {1}", resourceName, newResourceValue);

            OnResourceUpdate?.Invoke(resourceName, resourceStorage[resourceName]);
        }
Exemplo n.º 3
0
 private void OnHarvest(object sender, float e)
 {
     CurrentResources += e;
     OnResourceUpdate?.Invoke(CurrentResources);
 }
Exemplo n.º 4
0
 private void OnResourceUpdated()
 {
     OnResourceUpdate?.Invoke(this, new ResourceUpdateEventArgs(resourceData));
 }