public void ChangeMode(PlayerState playerState)
    {
        this.playerState = playerState;

        switch(this.playerState)
        {
        case PlayerState.Normal:
            this.parallaxMode = ParallaxMode.Normal;
            Debug.Log("----- Normal Mode -----");
        break;
        // ------------------------------------------------------------------------------
        case PlayerState.BoostMode:
            this.parallaxMode = ParallaxMode.Boost;
            AudioPlayer.Play(AudioPlayer.PLAYER_BOOST);
            gameVel = this.boostInfo.boostVel;
        break;
        // ------------------------------------------------------------------------------
        case PlayerState.LaserMode:
            AudioPlayer.Play(AudioPlayer.PLAYER_LASER);

        break;
        // ------------------------------------------------------------------------------
        case PlayerState.ScaryDogMode:
            AudioPlayer.Play(AudioPlayer.PLAYER_WOOF);

        break;
        // ------------------------------------------------------------------------------
        case PlayerState.DyingMode:
            this.parallaxMode = ParallaxMode.Dying;
        break;

        }
    }
    public void SetParallax(ParallaxMode parallaxMode)
    {
        switch(parallaxMode)
        {
            case ParallaxMode.Normal:
                parallaxOffset -= speed;
                break;

            case ParallaxMode.Boost:
                parallaxOffset -= speed * 3;
                break;

            case ParallaxMode.Dying:
                parallaxOffset -= speed;
                break;

        case ParallaxMode.Break:

            break;

            default:

                break;
        }

        renderer.material.mainTextureOffset = new Vector2(parallaxOffset * speed, 0);
    }
 public override void DrawFeatureGUI(MicroSplatKeywords keywords)
 {
     if (!keywords.IsKeywordEnabled("_MICROVERTEXMESH") || (keywords.IsKeywordEnabled("_MSRENDERLOOP_UNITYLD")))
     {
         isTessellated = EditorGUILayout.Toggle(CShaderTessellation, isTessellated);
     }
     parallax = (ParallaxMode)EditorGUILayout.EnumPopup(CParallax, parallax);
 }
        public override void Unpack(string[] keywords)
        {
            isTessellated  = (HasFeature(keywords, DefineFeature._TESSDISTANCE));
            perTexDisplace = (HasFeature(keywords, DefineFeature._PERTEXTESSDISPLACE));
            perTexUpBias   = (HasFeature(keywords, DefineFeature._PERTEXTESSUPBIAS));
            perTexOffset   = (HasFeature(keywords, DefineFeature._PERTEXTESSOFFSET));
            perTexShaping  = (HasFeature(keywords, DefineFeature._PERTEXTESSSHAPING));
            perTexMipLevel = (HasFeature(keywords, DefineFeature._PERTEXTESSMIPLEVEL));
            if (HasFeature(keywords, DefineFeature._PARALLAX))
            {
                parallax       = ParallaxMode.Offset;
                perTexParallax = HasFeature(keywords, DefineFeature._PERTEXPARALLAX);
            }

            //if (HasFeature(keywords, DefineFeature._POM))
            {
                //  parallax = ParallaxMode.POM;
            }
        }
    void Awake()
    {
        this.playerGo = this.gameObject;
        this.tag = Tags.PLAYER;

        this.scaryDogInfo.Awake();
        this.boostInfo.Awake();
        this.lazerInfo.Awake();

        this.parallaxMode = ParallaxMode.Normal;
    }