// 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); }); }); }
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(); }