Beispiel #1
0
    // Update is called once per frame
    void Update()
    {
        if (objectType == 1)
        {
            if (pnjScript.GetItemTrigger() == true)
            {
                functions.AddItem(idElement, quantity);

                pnjScript.SetItemTrigger(false);
                pnjScript.SetItemGiven(true);
            }
        }
        else
        {
            //Si l'objet est visible
            if (this.GetComponent <MeshRenderer>().enabled == true)
            {
                playerPosition     = GameObject.Find("Tempus").transform.position;
                distanceItemPlayer = functions.DistanceBetween(playerPosition, itemPosition);
                //Si le joueur est proche de l'objet
                if (distanceItemPlayer.x < hitBoxDistance && distanceItemPlayer.y < hitBoxDistance && distanceItemPlayer.z < hitBoxDistance)
                {
                    playerDetected = true;
                    this.transform.GetChild(0).GetComponent <MeshRenderer>().enabled = true;
                    if (Input.GetKeyDown(KeyCode.Return) || mouseTrigger == true)
                    {
                        mouseTrigger = false;
                        //Le Mesh renderer de l’objet 3d est désactivé
                        this.GetComponent <MeshRenderer>().enabled = false;
                        this.transform.GetChild(0).GetComponent <MeshRenderer>().enabled = false;
                        //On ajoute l'objet à l'invenaire du joueur et on le lui signal dans la fen^tre de dialogue centrale
                        functions.AddItem(idElement, quantity);
                        functions.SetCentralWindow(true, "Received " + quantity + " " + linkedItem.GetComponent <ItemOld>().GetName());
                        functions.SetDialogueMode(true);
                    }
                }
                else
                {
                    this.transform.GetChild(0).GetComponent <MeshRenderer>().enabled = false;
                }
            }            //Si le mode dialogue est activé ici, cela signifie que le joueur vient de recevoir un objet et le jeu attend simplement que le joueur ferme la fenêtre centrale
            else if (functions.GetDialogueMode() == true)
            {
                if (Input.GetKeyDown(KeyCode.Return) || Input.GetMouseButtonDown(0) == true)
                {
                    functions.SetCentralWindow(false);
                    functions.SetDialogueMode(false);
                }
            }
        }
    }