From da8327bb478ff84e3eb150ef5f1c88d5b48b2d89 Mon Sep 17 00:00:00 2001
From: client_Hale <339726288@qq.com>
Date: 星期五, 18 一月 2019 21:48:21 +0800
Subject: [PATCH] 382 地图布场景物件编辑器逻辑

---
 Core/MapEditor/Behavior/Bhv_MapTrigger.cs                  |    4 
 Core/MapEditor/Editor/MapEditor.cs                         |   38 ++++
 Core/MapEditor/Behavior/Bhv_Trasfer.cs                     |    2 
 Core/MapEditor/Behavior/Bhv_Evt_RefreshSceneObject.cs      |   93 +++++++++++++
 Core/MapEditor/Behavior/Bhv_SceneObjectData.cs.meta        |   12 +
 Core/MapEditor/Data/Event/Evt.cs                           |    3 
 Core/MapEditor/Editor/EditorResources/arrow_right.png.meta |   68 +++++++++
 Core/MapEditor/Behavior/Bhv_SceneObjectData.cs             |   23 +++
 Core/MapEditor/Behavior/Bhv_Evt.cs                         |    4 
 Core/MapEditor/Behavior/Bhv_MonsterData.cs                 |    8 
 Core/MapEditor/Editor/EditorResources/arrow_right.png      |    0 
 Core/MapEditor/Behavior/Bhv_Evt_RefreshSceneObject.cs.meta |   12 +
 Core/MapEditor/Behavior/Bhv_Evt_RefreshMonster.cs          |   11 
 Core/MapEditor/Editor/EditorResources/arrow_down.png.meta  |   68 +++++++++
 Core/MapEditor/Editor/EditorResources/EditorSkin.guiskin   |   68 +++++++++
 Core/MapEditor/Editor/EditorResources/arrow_down.png       |    0 
 16 files changed, 395 insertions(+), 19 deletions(-)

diff --git a/Core/MapEditor/Behavior/Bhv_Evt.cs b/Core/MapEditor/Behavior/Bhv_Evt.cs
index c02087e..0b01ea1 100644
--- a/Core/MapEditor/Behavior/Bhv_Evt.cs
+++ b/Core/MapEditor/Behavior/Bhv_Evt.cs
@@ -9,10 +9,12 @@
         public int id;
         [HideInInspector]
         public Evt.E_EventType type;
+
+#if UNITY_EDITOR
+
         [HideInInspector]
         protected bool showDetail = false;
 
-#if UNITY_EDITOR
         public abstract bool DrawUI(GUISkin guiSkin);
         public virtual void Save(BinaryWriter bw)
         {
diff --git a/Core/MapEditor/Behavior/Bhv_Evt_RefreshMonster.cs b/Core/MapEditor/Behavior/Bhv_Evt_RefreshMonster.cs
index f6f20d8..25b5cef 100644
--- a/Core/MapEditor/Behavior/Bhv_Evt_RefreshMonster.cs
+++ b/Core/MapEditor/Behavior/Bhv_Evt_RefreshMonster.cs
@@ -20,10 +20,11 @@
         public int conditionParam;
         [HideInInspector]
         public int overParam;
-        [HideInInspector]
-        private bool showMonsterList = false;
 
 #if UNITY_EDITOR
+
+        [HideInInspector]
+        private bool showMonsterList = false;
 
         public override void Save(BinaryWriter bw)
         {
@@ -82,7 +83,7 @@
             EditorGUILayout.BeginVertical(guiSkin.box);
             EditorGUILayout.BeginHorizontal(GUILayout.Height(22));
             EditorGUI.indentLevel += 1;
-            showDetail = EditorGUILayout.Foldout(showDetail, "  ID:" + id + " | Type: " + type, true, guiSkin.toggle);
+            showDetail = EditorGUILayout.Foldout(showDetail, "  ID:" + id + " | Type: " + type, true, guiSkin.customStyles[3]);
             if (GUILayout.Button("瀹氫綅", guiSkin.button, GUILayout.Width(60), GUILayout.Height(22)))
             {
                 Selection.activeGameObject = gameObject;
@@ -131,7 +132,7 @@
 
                 EditorGUILayout.BeginVertical(guiSkin.customStyles[1]);
                 EditorGUILayout.BeginHorizontal(GUILayout.Height(22));
-                showMonsterList = EditorGUILayout.Foldout(showMonsterList, "  鍒锋�垪琛�", true, guiSkin.toggle);
+                showMonsterList = EditorGUILayout.Foldout(showMonsterList, "  鍒锋�垪琛�", true, guiSkin.customStyles[3]);
                 if (GUILayout.Button("娣诲姞", guiSkin.button, GUILayout.Width(60), GUILayout.Height(22)))
                 {
                     var _go = new GameObject("RefreshMonster");
@@ -165,7 +166,7 @@
                             RaycastHit _hit;
 
                             Ray _ray = new Ray(_pos + Vector3.up * 100, Vector3.down);
-                            if (Physics.Raycast(_ray, out _hit, 200, 1 << LayerMask.NameToLayer("Walkable")))
+                            if (Physics.Raycast(_ray, out _hit, 200, LayerUtility.WalkbleMask))
                             {
                                 monsterList[i].transform.position = _hit.point;
                             }
diff --git a/Core/MapEditor/Behavior/Bhv_Evt_RefreshSceneObject.cs b/Core/MapEditor/Behavior/Bhv_Evt_RefreshSceneObject.cs
new file mode 100644
index 0000000..167e219
--- /dev/null
+++ b/Core/MapEditor/Behavior/Bhv_Evt_RefreshSceneObject.cs
@@ -0,0 +1,93 @@
+锘縰sing System.Collections.Generic;
+using UnityEngine;
+using System.IO;
+
+#if UNITY_EDITOR
+using UnityEditor;
+#endif
+
+namespace H2Engine
+{
+    public class Bhv_Evt_RefreshSceneObject : Bhv_Evt
+    {
+        [HideInInspector]
+        public List<Bhv_SceneObjectData> sceneObjList = new List<Bhv_SceneObjectData>();
+
+#if UNITY_EDITOR
+
+        [HideInInspector]
+        private bool showSceneObjList = false;
+        [HideInInspector]
+        private string newSceneObjResName = "";
+
+        public override bool DrawUI(GUISkin guiSkin)
+        {
+            bool _result = false;
+            EditorGUILayout.BeginVertical(guiSkin.box);
+            EditorGUILayout.BeginHorizontal(GUILayout.Height(22));
+            EditorGUI.indentLevel += 1;
+            showDetail = EditorGUILayout.Foldout(showDetail, "  ID:" + id + " | Type: " + type, true, guiSkin.customStyles[3]);
+            if (GUILayout.Button("瀹氫綅", guiSkin.button, GUILayout.Width(60), GUILayout.Height(22)))
+            {
+                Selection.activeGameObject = gameObject;
+                if (Selection.activeGameObject)
+                {
+                    SceneView.lastActiveSceneView.LookAt(Selection.activeGameObject.transform.position);
+                }
+            }
+            if (GUILayout.Button("鍒犻櫎", guiSkin.button, GUILayout.Width(60), GUILayout.Height(22)))
+            {
+                _result = true;
+            }
+            EditorGUILayout.EndHorizontal();
+
+            if (showDetail)
+            {
+                EditorGUILayout.BeginVertical(guiSkin.customStyles[1]);
+                EditorGUILayout.BeginHorizontal(GUILayout.Height(22));
+                if (sceneObjList.Count > 0)
+                {
+                    showSceneObjList = EditorGUILayout.Foldout(showSceneObjList, "  鍦烘櫙鐗╀欢鍒楄〃", true, guiSkin.customStyles[3]);
+                }
+                else
+                {
+                    EditorGUILayout.LabelField("  鍦烘櫙鐗╀欢鍒楄〃:", guiSkin.customStyles[0], GUILayout.Height(22), GUILayout.Width(100));
+                    GUILayout.FlexibleSpace();
+                }
+                EditorGUILayout.LabelField("ResName:", guiSkin.customStyles[0], GUILayout.Height(22), GUILayout.Width(60));
+                newSceneObjResName = EditorGUILayout.TextField(newSceneObjResName, guiSkin.textField, GUILayout.Width(100), GUILayout.Height(20));
+                if (GUILayout.Button("娣诲姞", guiSkin.button, GUILayout.Width(60), GUILayout.Height(22)))
+                {
+                    var _go = new GameObject("RefreshSceneObj");
+                    _go.transform.SetParent(transform);
+                    RaycastHit _hit;
+                    Ray _ray = SceneView.lastActiveSceneView.camera.ViewportPointToRay(new Vector3(.5f, .5f, 0));
+                    if (Physics.Raycast(_ray, out _hit, 1000f, LayerUtility.WalkbleMask))
+                    {
+                        _go.transform.position = _hit.point;
+                    }
+                    _go.transform.eulerAngles = Vector3.zero;
+                    _go.transform.localScale = Vector3.one;
+
+                    var _sceneObject = _go.AddComponent<Bhv_SceneObjectData>();
+                    sceneObjList.Add(_sceneObject);
+
+                    showSceneObjList = true;
+                }
+                EditorGUILayout.EndHorizontal();
+
+                if (showSceneObjList)
+                {
+
+                }
+                EditorGUILayout.EndVertical();
+            }
+
+            EditorGUI.indentLevel -= 1;
+            EditorGUILayout.EndVertical();
+            return _result;
+        }
+#endif
+
+    }
+}
\ No newline at end of file
diff --git a/Core/MapEditor/Behavior/Bhv_Evt_RefreshSceneObject.cs.meta b/Core/MapEditor/Behavior/Bhv_Evt_RefreshSceneObject.cs.meta
new file mode 100644
index 0000000..54cb695
--- /dev/null
+++ b/Core/MapEditor/Behavior/Bhv_Evt_RefreshSceneObject.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 2dbb0276e4facaa42986e94f476fc552
+timeCreated: 1547811633
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/Core/MapEditor/Behavior/Bhv_MapTrigger.cs b/Core/MapEditor/Behavior/Bhv_MapTrigger.cs
index 084ee12..c482dbe 100644
--- a/Core/MapEditor/Behavior/Bhv_MapTrigger.cs
+++ b/Core/MapEditor/Behavior/Bhv_MapTrigger.cs
@@ -75,7 +75,7 @@
             EditorGUILayout.BeginVertical(guiSkin.box);
             EditorGUILayout.BeginHorizontal(GUILayout.Height(22));
             EditorGUI.indentLevel += 1;
-            showDetail = EditorGUILayout.Foldout(showDetail, "  瑙﹀彂鍣↖D:" + id, true, guiSkin.toggle);
+            showDetail = EditorGUILayout.Foldout(showDetail, "  瑙﹀彂鍣↖D:" + id, true, guiSkin.customStyles[3]);
             if (GUILayout.Button("鏌ユ壘", guiSkin.button, GUILayout.Width(60), GUILayout.Height(22)))
             {
                 Selection.activeGameObject = gameObject;
@@ -97,7 +97,7 @@
                 EditorGUILayout.EndHorizontal();
                 EditorGUILayout.BeginVertical(guiSkin.customStyles[1]);
                 EditorGUILayout.BeginHorizontal(GUILayout.Height(22));
-                showEventList = EditorGUILayout.Foldout(showEventList, "  瑙﹀彂浜嬩欢鍒楄〃", true, guiSkin.toggle);
+                showEventList = EditorGUILayout.Foldout(showEventList, "  瑙﹀彂浜嬩欢鍒楄〃", true, guiSkin.customStyles[3]);
                 if (GUILayout.Button("娣诲姞", guiSkin.button, GUILayout.Width(60), GUILayout.Height(22)))
                 {
                     eventIDList.Add(0);
diff --git a/Core/MapEditor/Behavior/Bhv_MonsterData.cs b/Core/MapEditor/Behavior/Bhv_MonsterData.cs
index 6eac0a7..65ce843 100644
--- a/Core/MapEditor/Behavior/Bhv_MonsterData.cs
+++ b/Core/MapEditor/Behavior/Bhv_MonsterData.cs
@@ -14,9 +14,9 @@
         {
             bw.Write(npcID);
             bw.Write(ai);
-            bw.Write((float)System.Math.Round(transform.position.x));
-            bw.Write((float)System.Math.Round(transform.position.y));
-            bw.Write((float)System.Math.Round(transform.position.z));
+            bw.Write(Mathf.Round(transform.position.x));
+            bw.Write(Mathf.Round(transform.position.y));
+            bw.Write(Mathf.Round(transform.position.z));
         }
 
         public void Load(BinaryReader br)
@@ -27,7 +27,7 @@
             float _y = br.ReadSingle();
             float _z = br.ReadSingle();
             transform.position = new Vector3(_x, _y, _z);
-            name = npcID + "_RefreshMonster";
+            name = "RefreshMonster_" + npcID;
         }
 
         public void Export(BinaryWriter bw)
diff --git a/Core/MapEditor/Behavior/Bhv_SceneObjectData.cs b/Core/MapEditor/Behavior/Bhv_SceneObjectData.cs
new file mode 100644
index 0000000..f097e90
--- /dev/null
+++ b/Core/MapEditor/Behavior/Bhv_SceneObjectData.cs
@@ -0,0 +1,23 @@
+锘縰sing System.IO;
+using UnityEngine;
+
+public class Bhv_SceneObjectData : MonoBehaviour
+{
+    public string resName;
+
+    public void Save(BinaryWriter bw)
+    {
+        bw.Write(resName);
+    }
+
+    public void Load(BinaryReader br)
+    {
+        resName = br.ReadString();
+        name = "RefreshMonster_" + resName;
+    }
+
+    public void Export(BinaryWriter bw)
+    {
+        Save(bw);
+    }
+}
diff --git a/Core/MapEditor/Behavior/Bhv_SceneObjectData.cs.meta b/Core/MapEditor/Behavior/Bhv_SceneObjectData.cs.meta
new file mode 100644
index 0000000..82d3a64
--- /dev/null
+++ b/Core/MapEditor/Behavior/Bhv_SceneObjectData.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: f67c2459d3466914fa155e24aeaf5eb0
+timeCreated: 1547812535
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/Core/MapEditor/Behavior/Bhv_Trasfer.cs b/Core/MapEditor/Behavior/Bhv_Trasfer.cs
index 8a5859b..b5392ed 100644
--- a/Core/MapEditor/Behavior/Bhv_Trasfer.cs
+++ b/Core/MapEditor/Behavior/Bhv_Trasfer.cs
@@ -70,7 +70,7 @@
             EditorGUILayout.BeginVertical(guiSkin.box);
             EditorGUILayout.BeginHorizontal(GUILayout.Height(20));
             EditorGUI.indentLevel += 1;
-            showDetail = EditorGUILayout.Foldout(showDetail, "  No." + mapData.transferList.IndexOf(this), true, guiSkin.toggle);
+            showDetail = EditorGUILayout.Foldout(showDetail, "  No." + mapData.transferList.IndexOf(this), true, guiSkin.customStyles[3]);
             if (GUILayout.Button("鍒犻櫎", guiSkin.button, GUILayout.Width(60), GUILayout.Height(20)))
             {
                 _result = true;
diff --git a/Core/MapEditor/Data/Event/Evt.cs b/Core/MapEditor/Data/Event/Evt.cs
index 8cfa01a..cbfb208 100644
--- a/Core/MapEditor/Data/Event/Evt.cs
+++ b/Core/MapEditor/Data/Event/Evt.cs
@@ -7,7 +7,8 @@
     {
         public enum E_EventType
         {
-            Enemy
+            Enemy,
+            SceneObject
         }
 
         public int id;
diff --git a/Core/MapEditor/Editor/EditorResources/EditorSkin.guiskin b/Core/MapEditor/Editor/EditorResources/EditorSkin.guiskin
index 47c819d..8ec4c19 100644
--- a/Core/MapEditor/Editor/EditorResources/EditorSkin.guiskin
+++ b/Core/MapEditor/Editor/EditorResources/EditorSkin.guiskin
@@ -3,7 +3,7 @@
 --- !u!114 &11400000
 MonoBehaviour:
   m_ObjectHideFlags: 0
-  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabParentObject: {fileID: 0}
   m_PrefabInternal: {fileID: 0}
   m_GameObject: {fileID: 0}
   m_Enabled: 1
@@ -1551,6 +1551,72 @@
     m_FixedHeight: 0
     m_StretchWidth: 1
     m_StretchHeight: 0
+  - m_Name: foldout
+    m_Normal:
+      m_Background: {fileID: 2800000, guid: 01e032f4a2cce914faef70fb2d628a27, type: 3}
+      m_ScaledBackgrounds: []
+      m_TextColor: {r: 1, g: 1, b: 1, a: 1}
+    m_Hover:
+      m_Background: {fileID: 2800000, guid: 01e032f4a2cce914faef70fb2d628a27, type: 3}
+      m_ScaledBackgrounds: []
+      m_TextColor: {r: 1, g: 1, b: 1, a: 1}
+    m_Active:
+      m_Background: {fileID: 2800000, guid: 2c7e968c8a062644f8f0634fbfcbaf6f, type: 3}
+      m_ScaledBackgrounds: []
+      m_TextColor: {r: 1, g: 1, b: 1, a: 1}
+    m_Focused:
+      m_Background: {fileID: 2800000, guid: 01e032f4a2cce914faef70fb2d628a27, type: 3}
+      m_ScaledBackgrounds: []
+      m_TextColor: {r: 1, g: 1, b: 1, a: 1}
+    m_OnNormal:
+      m_Background: {fileID: 2800000, guid: 2c7e968c8a062644f8f0634fbfcbaf6f, type: 3}
+      m_ScaledBackgrounds: []
+      m_TextColor: {r: 1, g: 1, b: 1, a: 1}
+    m_OnHover:
+      m_Background: {fileID: 2800000, guid: 2c7e968c8a062644f8f0634fbfcbaf6f, type: 3}
+      m_ScaledBackgrounds: []
+      m_TextColor: {r: 1, g: 1, b: 1, a: 1}
+    m_OnActive:
+      m_Background: {fileID: 2800000, guid: 2c7e968c8a062644f8f0634fbfcbaf6f, type: 3}
+      m_ScaledBackgrounds: []
+      m_TextColor: {r: 1, g: 1, b: 1, a: 1}
+    m_OnFocused:
+      m_Background: {fileID: 2800000, guid: 2c7e968c8a062644f8f0634fbfcbaf6f, type: 3}
+      m_ScaledBackgrounds: []
+      m_TextColor: {r: 1, g: 1, b: 1, a: 1}
+    m_Border:
+      m_Left: 16
+      m_Right: 0
+      m_Top: 16
+      m_Bottom: 0
+    m_Margin:
+      m_Left: 4
+      m_Right: 4
+      m_Top: 4
+      m_Bottom: 4
+    m_Padding:
+      m_Left: 15
+      m_Right: 0
+      m_Top: 3
+      m_Bottom: 0
+    m_Overflow:
+      m_Left: 0
+      m_Right: 0
+      m_Top: 0
+      m_Bottom: 0
+    m_Font: {fileID: 0}
+    m_FontSize: 12
+    m_FontStyle: 0
+    m_Alignment: 0
+    m_WordWrap: 0
+    m_RichText: 1
+    m_TextClipping: 1
+    m_ImagePosition: 0
+    m_ContentOffset: {x: 0, y: 0}
+    m_FixedWidth: 0
+    m_FixedHeight: 0
+    m_StretchWidth: 1
+    m_StretchHeight: 0
   m_Settings:
     m_DoubleClickSelectsWord: 1
     m_TripleClickSelectsLine: 1
diff --git a/Core/MapEditor/Editor/EditorResources/arrow_down.png b/Core/MapEditor/Editor/EditorResources/arrow_down.png
new file mode 100644
index 0000000..80632fc
--- /dev/null
+++ b/Core/MapEditor/Editor/EditorResources/arrow_down.png
Binary files differ
diff --git a/Core/MapEditor/Editor/EditorResources/arrow_down.png.meta b/Core/MapEditor/Editor/EditorResources/arrow_down.png.meta
new file mode 100644
index 0000000..281a3c0
--- /dev/null
+++ b/Core/MapEditor/Editor/EditorResources/arrow_down.png.meta
@@ -0,0 +1,68 @@
+fileFormatVersion: 2
+guid: 2c7e968c8a062644f8f0634fbfcbaf6f
+timeCreated: 1547802123
+licenseType: Pro
+TextureImporter:
+  fileIDToRecycleName: {}
+  serializedVersion: 4
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 1
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    filterMode: -1
+    aniso: -1
+    mipBias: -1
+    wrapMode: -1
+  nPOTScale: 1
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 0
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spritePixelsToUnits: 100
+  alphaUsage: 1
+  alphaIsTransparency: 0
+  spriteTessellationDetail: -1
+  textureType: 0
+  textureShape: 1
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+  spritePackingTag: 
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/Core/MapEditor/Editor/EditorResources/arrow_right.png b/Core/MapEditor/Editor/EditorResources/arrow_right.png
new file mode 100644
index 0000000..d5b1ab0
--- /dev/null
+++ b/Core/MapEditor/Editor/EditorResources/arrow_right.png
Binary files differ
diff --git a/Core/MapEditor/Editor/EditorResources/arrow_right.png.meta b/Core/MapEditor/Editor/EditorResources/arrow_right.png.meta
new file mode 100644
index 0000000..517f876
--- /dev/null
+++ b/Core/MapEditor/Editor/EditorResources/arrow_right.png.meta
@@ -0,0 +1,68 @@
+fileFormatVersion: 2
+guid: 01e032f4a2cce914faef70fb2d628a27
+timeCreated: 1547802123
+licenseType: Pro
+TextureImporter:
+  fileIDToRecycleName: {}
+  serializedVersion: 4
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 1
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    filterMode: -1
+    aniso: -1
+    mipBias: -1
+    wrapMode: -1
+  nPOTScale: 1
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 0
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spritePixelsToUnits: 100
+  alphaUsage: 1
+  alphaIsTransparency: 0
+  spriteTessellationDetail: -1
+  textureType: 0
+  textureShape: 1
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+  spritePackingTag: 
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/Core/MapEditor/Editor/MapEditor.cs b/Core/MapEditor/Editor/MapEditor.cs
index c56e25c..346e3ef 100644
--- a/Core/MapEditor/Editor/MapEditor.cs
+++ b/Core/MapEditor/Editor/MapEditor.cs
@@ -100,7 +100,7 @@
             EditorGUILayout.BeginVertical(gUISkin.box);
             EditorGUILayout.BeginHorizontal(GUILayout.Height(22));
             EditorGUI.indentLevel += 1;
-            _mapData.showTriggerList = EditorGUILayout.Foldout(_mapData.showTriggerList, "  瑙﹀彂鍣ㄥ垪琛�", true, gUISkin.toggle);
+            _mapData.showTriggerList = EditorGUILayout.Foldout(_mapData.showTriggerList, "  瑙﹀彂鍣ㄥ垪琛�", true, gUISkin.customStyles[3]);
             EditorGUI.indentLevel -= 1;
             if (GUILayout.Button("娣诲姞", gUISkin.button, GUILayout.Width(60), GUILayout.Height(22)))
             {
@@ -134,7 +134,7 @@
             EditorGUILayout.BeginVertical(gUISkin.box);
             EditorGUILayout.BeginHorizontal(GUILayout.Height(22));
             EditorGUI.indentLevel += 1;
-            _mapData.showEventList = EditorGUILayout.Foldout(_mapData.showEventList, "  浜嬩欢鍒楄〃", true, gUISkin.toggle);
+            _mapData.showEventList = EditorGUILayout.Foldout(_mapData.showEventList, "  浜嬩欢鍒楄〃", true, gUISkin.customStyles[3]);
             EditorGUI.indentLevel -= 1;
             eventType = (Evt.E_EventType)EditorGUILayout.EnumPopup(eventType, gUISkin.box, GUILayout.Height(22), GUILayout.Width(100));
             if (GUILayout.Button("娣诲姞", gUISkin.button, GUILayout.Width(60), GUILayout.Height(22)))
@@ -169,7 +169,7 @@
             EditorGUILayout.BeginVertical(gUISkin.box);
             EditorGUILayout.BeginHorizontal(GUILayout.Height(22));
             EditorGUI.indentLevel += 1;
-            _mapData.showTransferList = EditorGUILayout.Foldout(_mapData.showTransferList, "  浼犻�佺粍鍒楄〃", true, gUISkin.toggle);
+            _mapData.showTransferList = EditorGUILayout.Foldout(_mapData.showTransferList, "  浼犻�佺粍鍒楄〃", true, gUISkin.customStyles[3]);
             EditorGUI.indentLevel -= 1;
             if (GUILayout.Button("娣诲姞", gUISkin.button, GUILayout.Width(60), GUILayout.Height(22)))
             {
@@ -198,6 +198,12 @@
             /// 浼犻�佺偣鍒楄〃 End
             /// --------------------------------------------------------------------------------
 
+            /// --------------------------------------------------------------------------------
+            /// 鍦烘櫙鐗╀欢鍒楄〃 Start
+
+            /// 鍦烘櫙鐗╀欢鍒楄〃 End
+            /// --------------------------------------------------------------------------------
+
             EditorGUILayout.EndVertical();
 
             if (GUI.changed)
@@ -223,11 +229,23 @@
 
             if (type == Evt.E_EventType.Enemy)
             {
-                var _event = CreateNewGO(Bhv_MapData.NodeName_Event + RequestEventID());
+                var _event = CreateNewGO(Bhv_MapData.NodeName_Event + "RefreshEvemy_" + RequestEventID());
                 var _eventBhv = _event.AddComponent<Bhv_Evt_RefreshMonster>();
                 _eventBhv.type = type;
                 _event.transform.SetParent(_mapData.transform.Find(Bhv_MapData.NodeName_EventList));
                 _mapData.eventList.Add(_eventBhv);
+
+                _event.transform.position = SceneCameraRaycastPosition();
+            }
+            else if (type == Evt.E_EventType.SceneObject)
+            {
+                var _event = CreateNewGO(Bhv_MapData.NodeName_Event + "RefreshSceneObject_" +  RequestEventID());
+                var _eventBhv = _event.AddComponent<Bhv_Evt_RefreshSceneObject>();
+                _eventBhv.type = type;
+                _event.transform.SetParent(_mapData.transform.Find(Bhv_MapData.NodeName_EventList));
+                _mapData.eventList.Add(_eventBhv);
+
+                _event.transform.position = SceneCameraRaycastPosition();
             }
         }
 
@@ -296,5 +314,17 @@
                 }
             }
         }
+
+        public static Vector3 SceneCameraRaycastPosition()
+        {
+            RaycastHit _hit;
+            Ray _ray = SceneView.lastActiveSceneView.camera.ViewportPointToRay(new Vector3(.5f, .5f, 0));
+            if (Physics.Raycast(_ray, out _hit, 1000f, LayerUtility.WalkbleMask))
+            {
+                return _hit.point;
+            }
+
+            return Vector3.zero;
+        }
     }
 }
\ No newline at end of file

--
Gitblit v1.8.0