少年修仙传客户端代码仓库
client_linchunjie
2019-01-19 ec4e041e6ffabcd4c7c317164b516ba31b9d5322
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
using 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
 
    }
}