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]); } }
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]); }
private void OnHarvest(object sender, float e) { CurrentResources += e; OnResourceUpdate?.Invoke(CurrentResources); }
private void OnResourceUpdated() { OnResourceUpdate?.Invoke(this, new ResourceUpdateEventArgs(resourceData)); }