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