From bc8ab62645f726da15c2252b65b68b374191cf2c Mon Sep 17 00:00:00 2001
From: client_Wu Xijin <364452445@qq.com>
Date: 星期六, 19 一月 2019 18:07:08 +0800
Subject: [PATCH] Merge branch 'master' of http://192.168.0.87:10010/r/snxxz_scripts

---
 Core/MapEditor/Behavior/Bhv_Evt_RefreshSceneObject.cs |   53 ++++++++++++++++++++++++++++++++++++++++-------------
 1 files changed, 40 insertions(+), 13 deletions(-)

diff --git a/Core/MapEditor/Behavior/Bhv_Evt_RefreshSceneObject.cs b/Core/MapEditor/Behavior/Bhv_Evt_RefreshSceneObject.cs
index 167e219..21ef2bf 100644
--- a/Core/MapEditor/Behavior/Bhv_Evt_RefreshSceneObject.cs
+++ b/Core/MapEditor/Behavior/Bhv_Evt_RefreshSceneObject.cs
@@ -58,21 +58,13 @@
                 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))
+                    Debug.Log("!!!");
+                    var _sceneObject = CreateSceneObject();
+                    if (_sceneObject)
                     {
-                        _go.transform.position = _hit.point;
+                        sceneObjList.Add(_sceneObject);
+                        showSceneObjList = true;
                     }
-                    _go.transform.eulerAngles = Vector3.zero;
-                    _go.transform.localScale = Vector3.one;
-
-                    var _sceneObject = _go.AddComponent<Bhv_SceneObjectData>();
-                    sceneObjList.Add(_sceneObject);
-
-                    showSceneObjList = true;
                 }
                 EditorGUILayout.EndHorizontal();
 
@@ -87,6 +79,41 @@
             EditorGUILayout.EndVertical();
             return _result;
         }
+
+        private Bhv_SceneObjectData CreateSceneObject()
+        {
+            if (!string.IsNullOrEmpty(newSceneObjResName))
+            {
+                string _path = "Assets/ResourcesOut/Mob/Prefab_Race_" + newSceneObjResName + ".prefab";
+                var _obj = AssetDatabase.LoadAssetAtPath<GameObject>(_path);
+                if (!_obj)
+                {
+                    Debug.LogError("鎵�瑕佸垱寤虹殑璧勬簮涓嶅瓨鍦�: " + _path);
+                    return null;
+                }
+                _obj = Instantiate(_obj);
+                var _sceneObjData = _obj.AddComponent<Bhv_SceneObjectData>();
+                _sceneObjData.resName = newSceneObjResName;
+                RaycastHit _hit;
+                Ray _ray = SceneView.lastActiveSceneView.camera.ViewportPointToRay(new Vector3(.5f, .5f, 0));
+                if (Physics.Raycast(_ray, out _hit, 1000f, LayerUtility.WalkbleMask))
+                {
+                    _sceneObjData.transform.position = _hit.point;
+                }
+                _sceneObjData.transform.SetParent(transform);
+                _sceneObjData.transform.eulerAngles = Vector3.zero;
+                _sceneObjData.transform.localScale = Vector3.one;
+
+                Selection.activeGameObject = _sceneObjData.gameObject;
+                if (Selection.activeGameObject)
+                {
+                    SceneView.lastActiveSceneView.LookAt(Selection.activeGameObject.transform.position);
+                }
+
+                return _sceneObjData;
+            }
+            return null;
+        }
 #endif
 
     }

--
Gitblit v1.8.0