예제 #1
0
    private void LoadQuestFormFile(string fileName)
    {
        HexQuest quest = new HexQuest();

        quest.type = HexQuestType.MAIN;
        quest.Load(fileName);
        questList.Add(quest);
    }
예제 #2
0
 private void InitCustomQuest()
 {
     for (int i = 0; i < CustomModel.Instance.questList.Count; i++)
     {
         HexQuest quest = CustomModel.Instance.questList[i];
         CreateCustomNode(quest);
     }
 }
예제 #3
0
 private void InitMainQuest()
 {
     for (int i = 0; i < MainQuestModel.Instance.questList.Count; i++)
     {
         HexQuest quest = MainQuestModel.Instance.questList[i];
         CreateMainNode(quest);
     }
 }
예제 #4
0
    public HexQuest CreateQuest()
    {
        HexQuest quest = new HexQuest();

        quest.id       = ++CustomModel.MAX_QUEST_ID;
        quest.type     = HexQuestType.CUSTOM;
        quest.needSave = true;
        questList.Add(quest);
        quest.grid = HexGridModel.Instance.CreateEmptyGrid(HexGridModel.WIDTH, HexGridModel.HEIGHT);
        return(quest);
    }
예제 #5
0
 private int GetQuestIndex(HexQuest quest)
 {
     for (int i = 0; i < questList.Count; i++)
     {
         if (questList[i] == quest)
         {
             return(i + 1);
         }
     }
     return(-1);
 }
예제 #6
0
    private void OnSelectQuest(HexQuest quest)
    {
        CustomModel.Instance.AttemptSave();
        CustomModel.Instance.crtQuest = quest;

        tip.text = "";
        UpdateCustomList();
        newButton.gameObject.SetActive(false);
        nodeList.gameObject.SetActive(true);
        markerList.gameObject.SetActive(true);
        questList.gameObject.SetActive(true);
    }
예제 #7
0
 private void OnNodeUpdate(HexNode node)
 {
     foreach (var cell in cells)
     {
         if (cell.data.id == node.id)
         {
             cell.UpdateIcon();
             HexQuest crtQuest = CustomModel.Instance.crtQuest;
             tip.text = " route: " + crtQuest.grid.routes.Count + " step: " + crtQuest.grid.allStep + " rating: " + crtQuest.grid.rating;
             return;
         }
     }
 }
예제 #8
0
    private void CreateQuestNode(HexQuest quest)
    {
        QuestNodeUI nodeQuest = prefabQuest;

        if (quest.id != 1)
        {
            nodeQuest = Instantiate <QuestNodeUI>(prefabQuest);
            nodeQuest.transform.SetParent(prefabQuest.transform.parent, false);
        }
        nodeQuest.gameObject.SetActive(true);
        nodeQuest.InitData(quest);
        nodeQuest.onSelect = OnSelectQuest;
        quests.Add(nodeQuest);
        prefabQuestNew.transform.SetAsLastSibling();
    }
예제 #9
0
    public void Init()
    {
        if (questList != null)
        {
            return;
        }

        questList = new List <HexQuest>();

        FindAllFiles.ListFiles(PathUtil.GetQuestDir(HexQuestType.CUSTOM), false, (fileName) =>
        {
            HexQuest quest = new HexQuest();
            quest.type     = HexQuestType.CUSTOM;
            quest.Load(fileName);
            questList.Add(quest);
            CustomModel.MAX_QUEST_ID = Mathf.Max(CustomModel.MAX_QUEST_ID, quest.id);
        });
    }
예제 #10
0
    private void CreateCustomNode(HexQuest quest)
    {
        QuestNodeUI nodeQuest = customPrefab;

        if (quest.id != 1)
        {
            nodeQuest = Instantiate <QuestNodeUI>(customPrefab);
            nodeQuest.transform.SetParent(customPrefab.transform.parent, false);
        }
        nodeQuest.gameObject.SetActive(true);
        nodeQuest.InitData(quest);

        EventTriggerListener.Get(nodeQuest.gameObject).onClick =
            (go) => {
            CustomModel.Instance.crtQuest = quest;
            UIManager.Instance.OpenUI("CustomView");
        };
    }
예제 #11
0
 public void InitData(HexQuest _data)
 {
     data = _data;
     ShowTip(data.id.ToString());
 }