少年修仙传客户端代码仓库
client_Wu Xijin
2019-01-19 bc8ab62645f726da15c2252b65b68b374191cf2c
Merge branch 'master' of http://192.168.0.87:10010/r/snxxz_scripts
1个文件已修改
51 ■■■■ 已修改文件
Core/MapEditor/Behavior/Bhv_Evt_RefreshSceneObject.cs 51 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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;
                    }
                    _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
    }