Ejemplo n.º 1
0
    /// <summary>
    /// Initialization for all event-related things
    /// </summary>
    void InitializeEvents()
    {
        reachedFinish = new UnitReachedFinish();
        deathEvent    = new UnitDied();

        EventManager.AddTimeChangeListener(GoToTime);
        EventManager.AddPauseTimeListener(Pause);
        EventManager.AddReachedFinishInvoker(this);
        EventManager.AddUnitDeadInvoker(this);
    }
Ejemplo n.º 2
0
    /// <summary>
    /// Like SetActive(), but script is responsive to Events
    /// </summary>
    void EnableObject(bool state)
    {
        enabled = state;
        transform.GetChild(0).gameObject.SetActive(state);
        //thisCollider.enabled = paused == state ? state : paused;
        thisCollider.enabled = state;

        if (state)
        {
            if (reachedFinish == null)
            {
                reachedFinish = new UnitReachedFinish();
            }
            if (deathEvent == null)
            {
                deathEvent = new UnitDied();
            }
        }

        if (!state)
        {
            deathEvent.Invoke(transform);
        }
    }