void Start() { resourceDict.Add(GameEvents1.CityResourcesChanged.POPULATION_RESOURCE_CHANGED, 2f); // resourceDict.Add(GameEvents1.CityResourcesChanged.MONEY_INCOME_RESOURCE_CHANGED, -4.33f); resourceDict.Add(GameEvents1.CityResourcesChanged.MATERIALS_RESOURCE_CHANGED, 1f); //Debug.Log("Записи в справочнике"); //foreach (KeyValuePair<string, float> resource in resourceDict) //{ // Debug.Log(resource.Key + " " + resource.Value); //} //Debug.Log("отправлено сообщение"); //Messenger<Dictionary<CityResources, float>>.Broadcast(GameEvents.UICityEvent.UPDATE_CITY_RESOURCES.ToString(), resourceDict); GameEvents1.CityResourcesChanged tmpKey = GameEvents1.CityResourcesChanged.FOOD_RESOURCE_CHANGED; float tmpValue = -900f; foreach (KeyValuePair<GameEvents1.CityResourcesChanged, float> resource in resourceDict) { tmpKey = resource.Key; tmpValue = resource.Value; //Debug.Log(resource.Key + " " + resource.Value); //Debug.Log(resource.Key.ToString()); Messenger<int, float>.Broadcast(resource.Key.ToString(), 0/*Для GUI пока что не важен ID города*/, resource.Value); } //Messenger<int, float>.Broadcast(tmpKey.ToString(), 0/*Для GUI пока что не важен ID города*/, tmpValue); }
/// </summary> /// <param name="cityResourceIndex"></param> /// <param name="cityID"></param> /// <param name="value"></param> private void UpdateResource(int cityID, float value, string MyEvent) { //Debug.Log("cityID " + cityID + " value " + value + " MyEvent " + MyEvent); if ((currentSelectedCity == null) || (currentSelectedCity.ID != cityID)) { return; } //если бот/другой игрок вызвал для своего другого города апдейт ресурсов, наш выбранный сейчас город это не колышет Text textGUI; GameEvents1.CityResourcesChanged enumValue = (GameEvents1.CityResourcesChanged)Enum.Parse(typeof(GameEvents1.CityResourcesChanged), MyEvent); if (_resourceList.TryGetValue(enumValue, out textGUI)) { float tmp = (int)(10f * value) / 10f; textGUI.text = tmp.ToString(); } else { Debug.Log("Для ресурса с ивентом " + MyEvent + " не существует визуального отображения на CityView"); } }