Exemplo n.º 1
0
 void OnUnitEvent(TimedEventData _eventData)
 {
     if (_eventData.ID == "EnemySpawn")
     {
         StartCoroutine(SpawnEnemy(2));
     }
 }
Exemplo n.º 2
0
        // -------------------------------------------

        /*
         * 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;
                }
            }
        }
Exemplo n.º 3
0
        // -------------------------------------------

        /*
         * 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;
                }
            }
        }
Exemplo n.º 4
0
    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
    }
Exemplo n.º 5
0
 public void Init(TimedEventData _timedEventData)
 {
     Data = _timedEventData;
     UpdateGraphic();
 }
Exemplo n.º 6
0
        // -------------------------------------------

        /*
         * Clone a delayed event
         */
        public void DelayEthereumEvent(TimedEventData _timeEvent)
        {
            m_listEvents.Add(new TimedEventData(_timeEvent.NameEvent, _timeEvent.Time, _timeEvent.List));
        }
Exemplo n.º 7
0
    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;
        }
    }
Exemplo n.º 8
0
    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
                }
            }
        }
    }