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; } } }