コード例 #1
0
    // Start is called before the first frame update
    void Start()
    {
        canvas      = FindObjectOfType <Canvas>();
        scrollRect  = GetComponentInChildren <ScrollRect>();
        workEntries = new List <WorkEntryUI>();
        GameManager.Instance.onWorkAdded   += Instance_onWorkAdded;
        GameManager.Instance.onWorkDeleted += Instance_onWorkDeleted;

        deleteWorkButton.onClick.AddListener(() =>
        {
            if (selectedWorkEntry != null)
            {
                GameManager.Instance.RemoveWork(selectedWorkEntry.work);
                selectedWorkEntry = null;
                UpdateWorkEntries();
            }
        });

        addNewWorkButton.onClick.AddListener(() =>
        {
            if (workSelectionWindow.gameObject.activeSelf)
            {
                return;
            }
            else
            {
                workSelectionWindow.gameObject.SetActive(true);
            }


            workSelectionWindow.selectButton.onClick.AddListener(() =>
            {
                Work.WorkType worktype;
                Debug.Log(workSelectionWindow.selected);
                worktype = (Work.WorkType)Enum.Parse(typeof(Work.WorkType), workSelectionWindow.selected, true);
                switch (worktype)
                {
                case Work.WorkType.STONE_HARVEST_WORK:
                    {
                        GameManager.Instance.CreateHarvestStoneWork();
                    }
                    break;

                case Work.WorkType.WOOD_HARVEST_WORK:
                    {
                        GameManager.Instance.CreateHarvestWoodWork();
                    }
                    break;
                }
                workSelectionWindow.gameObject.SetActive(false);
            });
        });
    }
コード例 #2
0
    private void Instance_onWorkAdded(Work work)
    {
        Debug.Log("here");
        var workEntry = Instantiate(workEntryRef, canvas.transform, false);

/*        var butt = UIManager.Instance.GetCorrectWorkIconRef(work.GetWorkType());
 *
 *      butt.onClick.AddListener(() => {
 *          Debug.Log("Spawn Correct UI Window");
 *      });
 *
 *      butt.transform.SetParent(workEntry.interactionButtonOrigin.transform);
 *      workEntry.interactionButton = butt;
 */
        workEntry.transform.SetParent(scrollRect.content);

        var rect = workEntry.GetComponent <RectTransform>();

        rect.anchorMin = new Vector2(0.5f, 1);
        rect.anchorMax = new Vector2(0.5f, 1);
        rect.pivot     = new Vector2(0, 1);

        workEntry.transform.localPosition = new Vector3(0, -workEntries.Count * rect.localScale.y * rect.sizeDelta.y);

        workEntry.toggleButton.onValueChanged.AddListener(delegate(bool isSelected)
        {
            if (isSelected)
            {
                Debug.Log("Selected ");
                selectedWorkEntry = workEntry;
            }
        });
        workEntries.Add(workEntry);
        workEntry.Show(work);
        workEntry.DynamicShow();
        UpdateWorkEntries();
    }