/// <summary> /// 设置菜单内容 /// </summary> /// <param name="items"></param> /// <returns></returns> public IEnumerator SetMenu(List <BuildingsEntryInfo> items) { yield return(StartCoroutine(closeMenu())); StartCoroutine(openMenu()); //切换时取消编辑状态 mPreSelectMenuItem = null; GameView.SetEditor(false); MenuContent.DestroyChildren(); if (items == null) { yield break; } for (int i = 0; i < items.Count; i++) { var go = Instantiate(Item); go.transform.SetParent(MenuContent); go.transform.localScale = Vector3.one; var buildingItem = go.GetComponent <BuildMenuItem>(); buildingItem.Init(this, items[i]); yield return(new WaitForEndOfFrame()); } }
/// <summary> /// 选中建筑元素 /// </summary> /// <param name="menuItem"></param> public void SelectBuildItem(BuildMenuItem menuItem) { if (menuItem == null) { //取消编辑状态 GameView.SetEditor(false); mPreSelectMenuItem = null; return; } if (mPreSelectMenuItem != null) { if (mPreSelectMenuItem != menuItem) { mPreSelectMenuItem.SetStatus(); } } mPreSelectMenuItem = menuItem; //进入编辑状态 GameView.SetEditor(true, menuItem.BuildingItemInfo); }