Ejemplo n.º 1
0
        /// <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());
            }
        }
Ejemplo n.º 2
0
 /// <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);
 }