Esempio n. 1
0
 // Use this for initialization
 public void Start()
 {
     //Debug.Log ("mode EXTENSION");
     etat             = PistonEtat.REPLI;
     tempsFin         = -1.0f;
     deplacementRepli = (transform.position - this.transform.parent.position).magnitude;
     rb = GetComponent <Rigidbody> ();
     vitesseExtension  = deplacementMax / tempsExtension;
     vitesseRepli      = -deplacementMax / tempsRepli;
     doitEtreEnclanche = false;
     actif             = false;
     GameObject.FindGameObjectWithTag("GameManager").GetComponent <GameManager>().myDelegate += setActif;
 }
Esempio n. 2
0
    void FixedUpdate()
    {
        if (Time.time >= tempsFin)
        {
            //On passe à l'état suivant
            switch (etat)
            {
            case PistonEtat.EXTENSION:
                //Debug.Log ("mode PAUSE");
                etat               = PistonEtat.PAUSE;
                tempsFin           = Time.time + tempsPause;
                rb.velocity        = Vector3.zero;
                transform.position = transform.parent.position + transform.parent.up * deplacementMax;
                doitEtreEnclanche  = false;
                break;

            case PistonEtat.PAUSE:
                //Debug.Log ("mode REPLI");
                etat        = PistonEtat.REPLI;
                tempsFin    = Time.time + tempsRepli;
                rb.velocity = Vector3.zero;
                rb.AddForce(transform.up * vitesseRepli, ForceMode.VelocityChange);
                break;

            case PistonEtat.REPLI:
                rb.velocity        = Vector3.zero;
                transform.position = transform.parent.position + transform.parent.up * deplacementRepli;
                if (doitEtreEnclanche && actif)
                {
                    //Debug.Log ("mode EXTENSION");
                    etat     = PistonEtat.EXTENSION;
                    tempsFin = Time.time + tempsExtension;
                    rb.AddForce(transform.up * vitesseExtension, ForceMode.VelocityChange);
                    source.PlayOneShot(sonActivation);
                }
                break;
            }
        }
    }