예제 #1
0
    public void Action() // Permet de déterminer l'action à effectuer en fonction du type de l'objet et de son état
    {
        switch (myType)
        {
        case Type.Door:
        {
            doorScript.SelectAndPlayAnimation(myState);
            if (contactSensor != null)
            {
                contactSensor.Switch();
            }
            return;
        }

        case Type.Drawer:
        {
            drawerScript.PlayAnim(this.gameObject.name);
            if (contactSensor != null)
            {
                contactSensor.Switch();
            }
            return;
        }

        case Type.Electronic:
        {
            electronicScript.ActOn();
            return;
        }

        case Type.Light:
        {
            electronicScript.ActOn();
            if (myState == State.Open)
            {
                this.transform.GetChild(0).GetComponent <Light>().enabled = false;
            }
            else if (myState == State.Close)
            {
                this.transform.GetChild(0).GetComponent <Light>().enabled = true;
            }
            return;
        }

        case Type.PickUp:
        {
            if (myState == State.Pick)
            {
//					Debug.Log ("Take");
                this.transform.parent = null;
                rb.useGravity         = true;
                rb.isKinematic        = false;
            }

            else if (myState == State.Drop)
            {
//					Debug.Log ("Release");
                this.transform.parent = characterTransform;
                rb.useGravity         = false;
                rb.isKinematic        = true;
            }

            return;
        }
        }
    }