Exemplo n.º 1
0
    /// <summary>
    /// Меняем режим поведения привидения
    /// </summary>
    public void ChangeMode(ModeBehavior NewMode)
    {
        BehaviorMode = NewMode;
        TimeFear     = 0f;
        switch (NewMode)
        {
        case ModeBehavior.outrun:
            // цвет привидения меняется на испуганный
            TimeFear = prm.MaxTimeFear;
            rend.materials[0].color = new Color32(30, 0, 255, 255);
            break;

        case ModeBehavior.backtobase:
            // привидение становится прозрачным и возвращается на базу
            rend.materials[0].shader = Shader.Find("Mobile/Particles/Additive");
            BuffSpeed = 2f;
            // Вычисляем путь до респауна
            CurrentPath = GetShortPath(GetAllPathes(), CurrentPathPoint, GetCloserPathPoint(RespawnPoint));

            break;

        default:
            // Цвет привидения становится нормальным
            rend.materials[0].shader = Shader.Find("Toon/Basic");
            rend.materials[0].color  = new Color32(128, 128, 128, 255);
            BuffSpeed = 1f;
            break;
        }
    }
Exemplo n.º 2
0
    void ChangeMode(Mode m)
    {
        if (currentMode != m)
        {
            previousMode = currentMode;
            currentMode  = m;

            switch (m)
            {
            case Mode.Chase:
                currentModeBehavior = chaseBehavior;
                break;

            case Mode.Scatter:
                currentModeBehavior = scatterBehavior;
                break;

            case Mode.Frightened:
                currentModeBehavior = frightenedBehavior;
                break;

            case Mode.Consumed:
                currentModeBehavior = consumedBehavior;
                break;

            default:
                break;
            }
        }

        UpdateAnimatorController();
    }