Ejemplo n.º 1
0
    private void LateUpdate()
    {
        if (!GameManager.gameStarted)
        {
            return;
        }

        state.hapinessPoint -= Time.deltaTime / GameParams.Main.hapinessDecreaseSpeedUpgrade[GameState.CurrentState.upgrades.hapinessDecreaseSpeedUpgrade];
        state.hapinessPoint  = Mathf.Clamp(state.hapinessPoint, 0, (GameParams.Main.happinessPointsNeededPerLevel[3] * GameParams.Main.hapinessLevelUpgrade[GameState.CurrentState.upgrades.hapinessLevelUpgrade]) + 1);

        if (!focused)
        {
            timer -= Time.deltaTime;
            if (timer <= 0)
            {
                timer = UnityEngine.Random.Range(1, 5);
                SetLookAtTarget(new Vector2(UnityEngine.Random.Range(-1, 1), UnityEngine.Random.Range(-1, 1)));
            }
        }

        LookAtPoint();

        GetNewHapinessState();

        lastFrameHapiness = hapiness;
    }
Ejemplo n.º 2
0
    public void GetNewHapinessState(bool forceUpdate = false)
    {
        if (forceUpdate == false)
        {
            switch (hapiness)
            {
            case Hapiness.asleep:
                if (state.hapinessPoint >= GameParams.Main.happinessPointsNeededPerLevel[1] * GameParams.Main.hapinessLevelUpgrade[GameState.CurrentState.upgrades.hapinessLevelUpgrade])
                {
                    hapiness = Hapiness.bored;
                }
                break;

            case Hapiness.bored:
                if (state.hapinessPoint >= GameParams.Main.happinessPointsNeededPerLevel[2] * GameParams.Main.hapinessLevelUpgrade[GameState.CurrentState.upgrades.hapinessLevelUpgrade])
                {
                    hapiness = Hapiness.happy;
                }
                else if (state.hapinessPoint <= GameParams.Main.happinessPointsNeededPerLevel[0] * GameParams.Main.hapinessLevelUpgrade[GameState.CurrentState.upgrades.hapinessLevelUpgrade])
                {
                    hapiness = Hapiness.asleep;
                }
                break;

            case Hapiness.happy:
                if (state.hapinessPoint >= GameParams.Main.happinessPointsNeededPerLevel[3] * GameParams.Main.hapinessLevelUpgrade[GameState.CurrentState.upgrades.hapinessLevelUpgrade])
                {
                    hapiness = Hapiness.maximumJoy;
                }
                else if (state.hapinessPoint <= GameParams.Main.happinessPointsNeededPerLevel[1] * GameParams.Main.hapinessLevelUpgrade[GameState.CurrentState.upgrades.hapinessLevelUpgrade])
                {
                    hapiness = Hapiness.bored;
                }
                break;

            case Hapiness.maximumJoy:
                if (state.hapinessPoint <= GameParams.Main.happinessPointsNeededPerLevel[2] * GameParams.Main.hapinessLevelUpgrade[GameState.CurrentState.upgrades.hapinessLevelUpgrade])
                {
                    hapiness = Hapiness.happy;
                }
                break;

            default:
                break;
            }
            if (hapiness != lastFrameHapiness)
            {
                UpdateBehaviour();
            }
        }
        else
        {
            if (state.hapinessPoint <= GameParams.Main.happinessPointsNeededPerLevel[0] * GameParams.Main.hapinessLevelUpgrade[GameState.CurrentState.upgrades.hapinessLevelUpgrade])
            {
                hapiness = Hapiness.asleep;
            }
            else if (state.hapinessPoint <= GameParams.Main.happinessPointsNeededPerLevel[1] * GameParams.Main.hapinessLevelUpgrade[GameState.CurrentState.upgrades.hapinessLevelUpgrade])
            {
                hapiness = Hapiness.bored;
            }
            else if (state.hapinessPoint <= GameParams.Main.happinessPointsNeededPerLevel[2] * GameParams.Main.hapinessLevelUpgrade[GameState.CurrentState.upgrades.hapinessLevelUpgrade])
            {
                hapiness = Hapiness.happy;
            }
            else if (state.hapinessPoint <= GameParams.Main.happinessPointsNeededPerLevel[3] * GameParams.Main.hapinessLevelUpgrade[GameState.CurrentState.upgrades.hapinessLevelUpgrade])
            {
                hapiness = Hapiness.maximumJoy;
            }
            UpdateBehaviour();
        }

        //set the multiplier
        switch (hapiness)
        {
        case Hapiness.asleep:
            multiplier = GameParams.Main.baseMultiplierPerHapniessLevel[0] * GameParams.Main.multiplicatorUpgrade[GameState.CurrentState.upgrades.multiplicatorUpgrade];
            break;

        case Hapiness.bored:
            multiplier = GameParams.Main.baseMultiplierPerHapniessLevel[1] * GameParams.Main.multiplicatorUpgrade[GameState.CurrentState.upgrades.multiplicatorUpgrade];
            break;

        case Hapiness.happy:
            multiplier = GameParams.Main.baseMultiplierPerHapniessLevel[2] * GameParams.Main.multiplicatorUpgrade[GameState.CurrentState.upgrades.multiplicatorUpgrade];
            break;

        case Hapiness.maximumJoy:
            multiplier = GameParams.Main.baseMultiplierPerHapniessLevel[3] * GameParams.Main.multiplicatorUpgrade[GameState.CurrentState.upgrades.multiplicatorUpgrade];
            break;

        default:
            break;
        }
    }