コード例 #1
0
    void SetMatterState(MaS state, bool canChange)
    {
        if (canPhaseChange || canChange) {
            //if (state != matterState)
                StartCoroutine (DelayPhaseChange ());

            matterState = state;
            int stateVal;

            switch (state) {
            case MaS.liquid:
                stateVal = 0;
                GetComponent <CircleCollider2D> ().sharedMaterial = matLiq;
                rb.constraints = RigidbodyConstraints2D.FreezeRotation;
                transform.localRotation = Quaternion.identity;
                break;
            case MaS.solid:
                stateVal = 1;
                GetComponent <CircleCollider2D> ().sharedMaterial = matSol;
                rb.constraints = RigidbodyConstraints2D.None;
                break;
            case MaS.gas:
                stateVal = 2;
                rb.constraints = RigidbodyConstraints2D.FreezeRotation;
                break;
            default:
                stateVal = 0;
                break;
            }

            rb.simulated = false;
            rb.simulated = true;

            anim.SetInteger ("MaState", stateVal);
        }
    }
コード例 #2
0
 void SetMatterState(MaS state)
 {
     SetMatterState (state, false);
 }