コード例 #1
0
    public void CreateLink(int id)
    {
        PagePanelItem newItem = Instantiate(linksPrefab, linksParent).GetComponent <PagePanelItem>();

        if (newItem)
        {
            newItem.Init(GameManager.CurrentCampaign.GetPageById(id));
            newItem.onOpenPage.AddListener(delegate { GameManager.Instance.OpenPage(newItem.page.id); });
            newItem.onRemove.AddListener(delegate { RemoveItem(newItem); });
            items.Add(newItem);
        }
    }
コード例 #2
0
    public void CreatePageItem(Page page)
    {
        PagePanelItem newItem = Instantiate(panelPrefab, pagesParent).GetComponent <PagePanelItem>();

        if (newItem)
        {
            newItem.Init(page);
            newItem.onOpenPage.AddListener(delegate { GameManager.Instance.OpenPage(newItem.page.id); });
            newItem.onRemove.AddListener(delegate { RemoveItem(newItem); });
            items.Add(newItem);
        }
    }
コード例 #3
0
 private void RemoveItem(PagePanelItem item)
 {
     for (int i = 0; i < GameManager.CurrentCampaign.pages.Count; i++)
     {
         GameManager.CurrentCampaign.pages[i].links.Remove(item.page.id);
     }
     if (GameManager.Instance.mainPanel.currentPageId == item.page.id)
     {
         GameManager.Instance.mainPanel.ActivateAllPages(false);
         GameManager.Instance.linksPanel.Clear();
     }
     else
     {
         GameManager.Instance.linksPanel.SetLinksToCurrentPage();
     }
     GameManager.CurrentCampaign.pages.Remove(item.page);
     items.Remove(item);
     Destroy(item.gameObject);
 }
コード例 #4
0
 private void RemoveItem(PagePanelItem newItem)
 {
     if (newItem.page.pageType == PageTypes.Map)
     {
         for (int i = 1; i < newItem.page.texts.Count; i++)
         {
             if (MapItemDataConverter.GetId(newItem.page.texts[i]) == GameManager.Instance.mainPanel.currentPageId)
             {
                 newItem.page.texts.RemoveAt(i);
                 break;
             }
         }
     }
     else
     {
         GameManager.Instance.currentCampaign.GetPageById(newItem.page.id).links.Remove(GameManager.Instance.mainPanel.currentPageId);
     }
     GameManager.CurrentCampaign.GetPageById(GameManager.Instance.mainPanel.currentPageId).links.Remove(newItem.page.id);
     items.Remove(newItem);
     Destroy(newItem.gameObject);
 }