Пример #1
0
    // Use this for initialization
    void Start()
    {
        test = this.transform.GetChild(1);

        availableButtonList = new Dictionary <string, GameObject>();
        progressButtonList  = new Dictionary <string, GameObject>();
        completedButtonList = new Dictionary <string, GameObject>();

        questList = new Dictionary <string, int>();

        QuestNode questA = QuestSystem.instance.GetQuestA().GetComponent <QuestNode>();
        QuestNode questB = QuestSystem.instance.GetQuestA().GetComponent <QuestNode>();

        do
        {
            if (questA != null)
            {
                if (questA.isCompleted)
                {
                    Vector3    pos = new Vector3(xPos, topPos - completedButtonList.Count * 30.0f, 0);
                    GameObject obj = Instantiate(Resources.Load("QuestButton"), completedContent.transform, false) as GameObject;
                    obj.GetComponent <RectTransform>().sizeDelta        = buttonSize;
                    obj.GetComponent <RectTransform>().anchoredPosition = new Vector2(pos.x, pos.y);
                    completedButtonList.Add(questA.GetQuestName(), obj);
                    questList.Add(questA.GetQuestName(), 1);
                    obj.GetComponent <QuestButton>().SetQuestNode(questA);
                    SetQuestButton(obj);
                }
                else if (questA.isInProgress)
                {
                    Vector3    pos = new Vector3(xPos, topPos - progressButtonList.Count * 30.0f, 0);
                    GameObject obj = Instantiate(Resources.Load("QuestButton"), progressContent.transform, false) as GameObject;
                    obj.GetComponent <RectTransform>().sizeDelta        = buttonSize;
                    obj.GetComponent <RectTransform>().anchoredPosition = new Vector2(pos.x, pos.y);
                    progressButtonList.Add(questA.GetQuestName(), obj);
                    questList.Add(questA.GetQuestName(), 2);
                    obj.GetComponent <QuestButton>().SetQuestNode(questA);
                    SetQuestButton(obj);
                }
                else if (questA.GetParentNode() == null || questA.GetParentNode().isCompleted)
                {
                    Vector3    pos = new Vector3(xPos, topPos - availableButtonList.Count * 30.0f, 0);
                    GameObject obj = Instantiate(Resources.Load("QuestButton"), availableContent.transform, false) as GameObject;
                    obj.GetComponent <QuestButton>().SetQuestNode(questA);
                    obj.GetComponent <RectTransform>().sizeDelta        = buttonSize;
                    obj.GetComponent <RectTransform>().anchoredPosition = new Vector2(pos.x, pos.y);
                    availableButtonList.Add(questA.GetQuestName(), obj);
                    questList.Add(questA.GetQuestName(), 3);
                    SetQuestButton(obj);
                }

                questA = questA.GetNextNode();
            }

            if (QuestSystem.instance.GetSameQuest())
            {
                questB = questB.GetNextNode();
            }

            if (questB != null && !QuestSystem.instance.GetSameQuest())
            {
                if (questB.isCompleted)
                {
                    Vector3    pos = new Vector3(xPos, topPos - completedButtonList.Count * 30.0f, 0);
                    GameObject obj = Instantiate(Resources.Load("QuestButton"), completedContent.transform, false) as GameObject;
                    obj.GetComponent <RectTransform>().sizeDelta        = buttonSize;
                    obj.GetComponent <RectTransform>().anchoredPosition = new Vector2(pos.x, pos.y);
                    completedButtonList.Add(questB.GetQuestName(), obj);
                    questList.Add(questB.GetQuestName(), 1);
                    obj.GetComponent <QuestButton>().SetQuestNode(questB);
                    SetQuestButton(obj);
                }
                else if (questB.isInProgress)
                {
                    Vector3    pos = new Vector3(xPos, topPos - progressButtonList.Count * 30.0f, 0);
                    GameObject obj = Instantiate(Resources.Load("QuestButton"), progressContent.transform, false) as GameObject;
                    obj.GetComponent <RectTransform>().sizeDelta        = buttonSize;
                    obj.GetComponent <RectTransform>().anchoredPosition = new Vector2(pos.x, pos.y);
                    progressButtonList.Add(questB.GetQuestName(), obj);
                    questList.Add(questB.GetQuestName(), 2);
                    obj.GetComponent <QuestButton>().SetQuestNode(questB);
                    SetQuestButton(obj);
                }
                else if (questB.GetParentNode() == null || questB.GetParentNode().isCompleted)
                {
                    Vector3    pos = new Vector3(xPos, topPos - availableButtonList.Count * 30.0f, 0);
                    GameObject obj = Instantiate(Resources.Load("QuestButton"), availableContent.transform, false) as GameObject;
                    obj.GetComponent <RectTransform>().sizeDelta        = buttonSize;
                    obj.GetComponent <RectTransform>().anchoredPosition = new Vector2(pos.x, pos.y);
                    availableButtonList.Add(questB.GetQuestName(), obj);
                    questList.Add(questB.GetQuestName(), 3);
                    obj.GetComponent <QuestButton>().SetQuestNode(questB);
                    SetQuestButton(obj);
                }

                questB = questB.GetNextNode();
            }
        } while (questA != null || questB != null);
    }