Пример #1
0
    /**********************************************************************************/
    // функция FixedUpdate
    // основной процессинг происходит здесь
    //
    /**********************************************************************************/
    protected virtual void FixedUpdate()
    {
        if (!IsInitialized())
        {
            return;
        }

        // стопим все процессы, если игра поставлена на паузу
        if (GameManager.GamePaused)
        {
            return;
        }

        // если с монстром всё ок - исполняем алгоритм
        if (m_state == UNIT_STATE.ACTIVE)
        {
            m_drive.Update();
            m_effectMaster.Update();
            m_armor.Update();

            foreach (IRadar radar in m_radars)
            {
                radar.Update();
            }

            m_weaponMaster.Update();
        }
        // проверка на окончание анимации смерти
        // после неё объект возвращается в пулл объектов фабрики
        else if (m_state == UNIT_STATE.FAILING)
        {
            OnFailing();
        }
    }