void OnUnitEvent(TimedEventData _eventData) { if (_eventData.ID == "EnemySpawn") { StartCoroutine(SpawnEnemy(2)); } }
// ------------------------------------------- /* * Will process the queue of delayed events */ void Update() { // DELAYED EVENTS for (int i = 0; i < m_listEvents.Count; i++) { TimedEventData eventData = m_listEvents[i]; eventData.Time -= Time.deltaTime; if (eventData.Time <= 0) { EthereumEvent(eventData.NameEvent, eventData.List); eventData.Destroy(); m_listEvents.RemoveAt(i); break; } } }
// ------------------------------------------- /* * Will proccess the delayed events */ private void ProccessDelayedEvents() { // DELAYED EVENTS for (int i = 0; i < m_listEvents.Count; i++) { TimedEventData eventData = m_listEvents[i]; eventData.Time -= Time.deltaTime; if (eventData.Time <= 0) { DispatchGameEvent(eventData.NameEvent, eventData.List); eventData.Destroy(); m_listEvents.RemoveAt(i); break; } } }
private void OnEvent(TimedEventData _eventData) { #region FineMese if (_eventData.ID == "FineMese") { MonthCounter++; FillTheMounthImage(); } #endregion #region Year if (_eventData.ID == "Anno") { StartCoroutine(ResetTimer()); monthCounter = 0; IncreaseYear(); } #endregion }
public void Init(TimedEventData _timedEventData) { Data = _timedEventData; UpdateGraphic(); }
// ------------------------------------------- /* * Clone a delayed event */ public void DelayEthereumEvent(TimedEventData _timeEvent) { m_listEvents.Add(new TimedEventData(_timeEvent.NameEvent, _timeEvent.Time, _timeEvent.List)); }
void OnUnitEvent(TimedEventData _eventData) { switch (_eventData.ID) { case "Production": CellDoomstock cell = null; if (Data.CurrentState == BuildingState.Producing && Data.ID != "Foresta" && Data.ID != "Meraviglia") { cell = GameManager.I.gridController.Cells[(int)Data.GetGridPosition().x, (int)Data.GetGridPosition().y]; foreach (var res in Data.BuildingResources) { res.Value += (int)(Data.Population.Count * 1); LimitReached(res); switch (res.ID) { case "Faith": GameManager.I.messagesManager.ShowiInformation(MessageLableType.FaithProduction, cell, true, "1"); break; case "Stone": GameManager.I.messagesManager.ShowiInformation(MessageLableType.StoneProduction, cell, true, "1"); break; case "Food": GameManager.I.messagesManager.ShowiInformation(MessageLableType.FoodProduction, cell, true, "1"); break; default: break; } } } else if (Data.CurrentState == BuildingState.Producing && Data.ID == "Foresta") { cell = GameManager.I.gridController.Cells[(int)Data.GetGridPosition().x, (int)Data.GetGridPosition().y]; foreach (var res in Data.BuildingResources) { res.Value += 1; LimitReached(res); if (res.ID == "Wood") { GameManager.I.messagesManager.ShowiInformation(MessageLableType.WoodProduction, cell, true, "1"); } } } break; case "Delay": if (Data.CurrentState == BuildingState.Waiting) { Data.Delay++; if (Data.Population.Count > 0) { SetBuildingStatus(BuildingState.Producing); } if (Data.Delay >= Data.DelayLimit) { SetBuildingStatus(BuildingState.Built); } } break; default: break; } }
private void OnEvent(TimedEventData _eventData) { #region Birth if (_eventData.ID == "Birth") { if (GameManager.I.GetResourceDataByID("Food").Value > 0 && GameManager.I.buildingManager.IsThereAnySpace()) { PopulationData newUnit = CreatePopulation(); AddPopulation(newUnit); AllPopulation.Add(newUnit); BuildingView firstOpening = GameManager.I.buildingManager.GetFirstOpening(); firstOpening.Data.Population.Add(newUnit); GameManager.I.messagesManager.ShowiInformation(MessageLableType.Birth, firstOpening.Data.Cell); } } #endregion #region FineMese if (_eventData.ID == "FineMese") { for (int i = 0; i < AllPopulation.Count; i++) { AllPopulation[i].Month++; if (AllPopulation[i].Month >= 12) { AllPopulation[i].MaxAge--; if (AllPopulation[i].MaxAge <= 0) { AllPopulation[i].Month = 0; } } } } #endregion #region Food if (_eventData.ID == "Eat") { for (int i = 0; i < AllPopulation.Count; i++) { int eatingTime = AllPopulation[i].EatingTime; AllPopulation[i].EatingTime--; if (AllPopulation[i].EatingTime <= 0) { AllPopulation[i].EatingTime = 0; GameManager.I.GetResourceDataByID("Food").Value -= AllPopulation[i].FoodRequirements; if (AllPopulation[i].EatingTime <= 0) { AllPopulation[i].EatingTime = eatingTime; } #region morte di fame if (GameManager.I.GetResourceDataByID("Food").Value <= 0) { GameManager.I.GetResourceDataByID("Food").Value = 0; GameManager.I.uiManager.FoodText.color = Color.red; UnitDeath(AllPopulation[i]); } #endregion } } } }