Example #1
0
        /// <summary>
        /// 刷新右键MapPreview的界面
        /// </summary>
        private void RefreshAreaPreviewUI(List <GUIContent> contentList, AreaPreview areaPreview)
        {
            if (areaPreview == null)
            {
                return;
            }

            Vector2    mousePosition = Event.current.mousePosition;
            GameObject userData      = Selection.activeGameObject;
            int        selected      = -1;

            EditorUtility.DisplayCustomMenu(new Rect(mousePosition.x, mousePosition.y, 0, 0), contentList.ToArray(), selected,
                                            delegate(object data, string[] opt, int select)
            {
                switch (select)
                {
                case 0:        //生成所有Unit
                    areaPreview.InstantiateAllUnit = true;
                    break;

                case 1:        //删除所有Unit
                    areaPreview.DestroyAllUnit = true;
                    break;
                }
            }, userData);
            Event.current.Use();
        }
Example #2
0
        private void DoInstantiateAllArea()
        {
            if (m_AreaPreviews != null)
            {
                DoDestroyAllArea();
            }

            m_AreaPreviews = new AreaPreview[MapInfo.AreaInfos.Length];
            for (int iArea = 0; iArea < MapInfo.AreaInfos.Length; iArea++)
            {
                AreaInfo    iterAreaInfo    = MapInfo.AreaInfos[iArea];
                GameObject  iterArea        = new GameObject();
                AreaPreview iterAreaPreview = iterArea.AddComponent <AreaPreview>();
                m_AreaPreviews[iArea] = iterAreaPreview;
                iterAreaPreview.Initialie(this, iterAreaInfo);
            }
        }
Example #3
0
 /// <summary>
 /// 右键响应
 /// </summary>
 /// <param name="instanceID"></param>
 /// <param name="selectionRect"></param>
 private void OnHierarchyGUI(int instanceID, Rect selectionRect)
 {
     if (Event.current != null && selectionRect.Contains(Event.current.mousePosition) &&
         Event.current.button == 1 && Event.current.type <= EventType.MouseUp)
     {
         GameObject selectedGameObject = EditorUtility.InstanceIDToObject(instanceID) as GameObject;
         if (selectedGameObject)
         {
             AreaPreview areaPreview = selectedGameObject.GetComponent <AreaPreview>();
             if (areaPreview != null)
             {
                 List <GUIContent> contentList = new List <GUIContent>();
                 contentList.Add(new GUIContent("生成所有Unit"));
                 contentList.Add(new GUIContent("删除所有Unit"));
                 RefreshAreaPreviewUI(contentList, areaPreview);
             }
         }
     }
 }