Пример #1
0
    public void UpdateGlobeParticlesForStat(EStat stat)
    {
        EGoodBadNeutral status    = EGoodBadNeutral.Neutral;
        float           parameter = 0;
        PlayerState     player    = SaveManager.instance.GetCurrentPlayerState();

        if (stat == EStat.MAX)
        {
            parameter = (player.GetStat(EStat.ECOLOGY) + player.GetStat(EStat.PEACE) + player.GetStat(EStat.PROSPERITY) + player.GetStat(EStat.HEALTH)) / 4;

            if (parameter > GameManager.instance.ChaosThresholds[(int)EChaosThreshold.Good])
            {
                status = EGoodBadNeutral.Good;
            }
            else if (parameter < GameManager.instance.ChaosThresholds[(int)EChaosThreshold.Dire])
            {
                status = EGoodBadNeutral.Bad;
            }
        }
        else
        {
            parameter = player.GetStat(stat);

            if (parameter > 0)
            {
                status = EGoodBadNeutral.Good;
            }
            else if (parameter < 0)
            {
                status = EGoodBadNeutral.Bad;
            }
        }



        switch (stat)
        {
        case EStat.MAX:
            ParticleInside.SetStatus(status);
            break;

        case EStat.ECOLOGY_DAILY:
            ParticleEcology.SetStatus(status);
            break;

        case EStat.HEALTH_DAILY:
            ParticleHealth.SetStatus(status);
            break;

        case EStat.PROSPERITY_DAILY:
            ParticleProsperity.SetStatus(status);
            break;

        case EStat.PEACE_DAILY:
            ParticlePeace.SetStatus(status);
            break;
        }
    }
Пример #2
0
    public void SetStatus(EGoodBadNeutral status)
    {
        CurrentStatus = status;
        if (PORTIKULRENDERER == null)
        {
            return;
        }

        switch (status)
        {
        case EGoodBadNeutral.Good:
            PORTIKULRENDERER.material.SetTexture("_MainTex", SpriteGood);
            if (!PORTIKUL.isPlaying)
            {
                PORTIKUL.Play();
            }
            break;

        case EGoodBadNeutral.Bad:
            PORTIKULRENDERER.material.SetTexture("_MainTex", SpriteBad);
            if (!PORTIKUL.isPlaying)
            {
                PORTIKUL.Play();
            }
            break;

        case EGoodBadNeutral.Neutral:
            if (SpriteNeutral == null)
            {
                PORTIKUL.Stop();
            }
            else
            {
                PORTIKULRENDERER.material.SetTexture("_MainTex", SpriteNeutral);
                if (!PORTIKUL.isPlaying)
                {
                    PORTIKUL.Play();
                }
            }
            break;
        }
    }