Exemple #1
0
 void Start()
 {
     currentNpc = null;
     foreach (QuestInfo q in QuestsLists)
     {
         q.requirementCount = q.requirement.Count;
     }
     foreach (Trader t in traderList)
     {
         t.requirementCount = t.requirement.Count;
     }
 }
Exemple #2
0
    void Update()
    {
        if (RoomController.playerSpawned && !variableObtained)
        {
            player           = GameObject.FindGameObjectWithTag("Player").transform;
            variableObtained = true;
        }

        if (currentNpc != null)
        {
            if (Vector2.Distance(currentNpc.NPC.transform.position, player.position) > currentNpc.distance)
            {
                Destroy(popupInstance);
                popupInstantiated           = false;
                currentNpc                  = null;
                NPCInteraction.interactable = false;
            }
        }
    }
Exemple #3
0
    IEnumerator DistanceCheck(float time)
    {
        while (true)
        {
            yield return(new WaitForSeconds(time));

            foreach (NPCPopUp n in npcList)
            {
                float dist = Vector2.Distance(n.NPC.transform.position, player.position);

                Vector2 parent = n.NPC.transform.position;
                parent.x += n.offsetX;
                parent.y += n.offsetY;

                if (dist <= n.distance && !popupInstantiated)
                {
                    popupInstance               = Instantiate(popup, parent, Quaternion.identity);
                    currentNpc                  = n;
                    popupInstantiated           = true;
                    NPCInteraction.interactable = true;
                }
            }
        }
    }