Ejemplo n.º 1
0
    public void ReleaseQuest()
    {
        _lockedQuest = null;
        UIEvents.LockedQuest_Release();

        foreach (OpenQuest oq in _openQuests)
        {
            oq.gameObject.SetActive(true);
        }
    }
Ejemplo n.º 2
0
    public void LockQuest(OpenQuest openQuest)
    {
        _lockedQuest = openQuest;
        UIEvents.LockedQuest_Lock(_lockedQuest);

        foreach (OpenQuest oq in _openQuests)
        {
            oq.gameObject.SetActive(false);
        }
    }
Ejemplo n.º 3
0
    public void RemoveOpenQuest(OpenQuest oq)
    {
        _openQuests.Remove(oq);
        UIEvents.OpenQuests_Set(_openQuests);

        if (_openQuests.Count == 0)
        {
            foreach (GameObject go in _questGameObjects)
            {
                go.SetActive(false);
            }
        }
    }
Ejemplo n.º 4
0
    public void AddOpenQuest(OpenQuest oq)
    {
        _openQuests.Add(oq);
        UIEvents.OpenQuests_Set(_openQuests);

        if (_openQuests.Count == 1)
        {
            foreach (GameObject go in _questGameObjects)
            {
                go.SetActive(true);
            }
        }
    }
Ejemplo n.º 5
0
    public Vector3 GetClosestTargetPosition()
    {
        Vector3 closestPosition = Vector3.zero;

        if (QuestsActive())
        {
            Vector3     playerPos       = Core.instance.GetPlayer().transform.position;
            ActiveQuest closestTarget   = null;
            float       closestDistance = -1;

            foreach (ActiveQuest aq in _activeQuests)
            {
                float distance = Vector3.Distance(playerPos, aq.transform.position);

                if (distance < closestDistance || closestDistance < 0)
                {
                    closestTarget   = aq;
                    closestDistance = distance;
                }
            }

            closestPosition = closestTarget.transform.position;
        }
        else if (QuestsOpen())
        {
            Vector3   playerPos       = Core.instance.GetPlayer().transform.position;
            OpenQuest closestTarget   = null;
            float     closestDistance = -1;

            foreach (OpenQuest oq in _openQuests)
            {
                float distance = Vector3.Distance(playerPos, oq.transform.position);

                if (distance < closestDistance || closestDistance < 0)
                {
                    closestTarget   = oq;
                    closestDistance = distance;
                }
            }

            closestPosition = closestTarget.transform.position;
        }



        return(closestPosition);
    }
Ejemplo n.º 6
0
    void LockedQuestChanged()
    {
        lockedQuest = events.LockedQuest_Get();

        TextUpdate();
    }
Ejemplo n.º 7
0
 public void LockedQuest_Release()
 {
     _lockedQuest = null;
     LockedQuest_Changed.Invoke();
 }
Ejemplo n.º 8
0
    //-----------------------------------------------------------------------------

    // LOCKED QUESTS

    public void LockedQuest_Lock(OpenQuest quest)
    {
        _lockedQuest = quest;
        LockedQuest_Changed.Invoke();
    }
Ejemplo n.º 9
0
 void Awake()
 {
     instance = this;
 }