Beispiel #1
0
    private void HandleState(float deltaTime)
    {
        switch (m_state)
        {
        case eBrainBaseState.hungry:
            if (m_body.FindFood(m_hunger, deltaTime))
            {
                ChangeStateBy(eBrainBaseState.hungry, -1f);
            }
            break;

        case eBrainBaseState.thirsty:
            if (m_body.FindDrink(m_thirst, deltaTime))
            {
                ChangeStateBy(eBrainBaseState.thirsty, -1f);
            }
            break;

        case eBrainBaseState.fatigued:
            if (m_body.FindSleep(m_fatigue, deltaTime))
            {
                ChangeStateBy(eBrainBaseState.fatigued, -1f);
            }
            break;

        case eBrainBaseState.injured:
            if (m_body.FindHealing(m_injury, deltaTime))
            {
                ChangeStateBy(eBrainBaseState.injured, -1f);
            }
            break;

        case eBrainBaseState.stressed:
            if (m_body.FindCatharsis(m_stress, deltaTime))
            {
                ChangeStateBy(eBrainBaseState.stressed, -1f);
            }
            break;

        case eBrainBaseState.lonely:
            if (m_body.FindMates(m_loneliness, deltaTime))
            {
                ChangeStateBy(eBrainBaseState.lonely, -1f);
            }
            break;

        case eBrainBaseState.happy:
            m_job.Execute(deltaTime);
            break;
        }
    }