少年修仙传客户端代码仓库
client_Hale
2019-05-05 915d2c70f3b24fedd1a6cadc1dbb185ae88980f5
382 地图编辑器相关逻辑
6个文件已修改
79 ■■■■ 已修改文件
Core/MapEditor/Behavior/Bhv_Evt_RefreshMonster.cs 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/MapEditor/Behavior/Bhv_MapData.cs 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/MapEditor/Behavior/Bhv_MapTrigger.cs 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/MapEditor/Behavior/Bhv_MonsterData.cs 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/MapEditor/Behavior/Bhv_TransferPoint.cs 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/MapEditor/Editor/MapEditor.cs 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/MapEditor/Behavior/Bhv_Evt_RefreshMonster.cs
@@ -78,9 +78,9 @@
        {
            type = (Evt.E_EventType)(byte)json["type"];
            id = (int)json["id"];
            float _pX = (float)json["px"];
            float _pY = (float)json["py"];
            float _pZ = (float)json["pz"];
            float _pX = Bhv_MapData.GetJsonFloat(json["px"]);
            float _pY = Bhv_MapData.GetJsonFloat(json["py"]);
            float _pZ = Bhv_MapData.GetJsonFloat(json["pz"]);
            transform.position = new Vector3(_pX, _pY, _pZ);
            overCondition = (Evt_RefreshMonster.E_OverCondition)(byte)json["overCondition"];
            refreshType = (Evt_RefreshMonster.E_RefreshType)(byte)json["refreshType"];
@@ -275,6 +275,8 @@
                        monsterList[i].npcID = (uint)EditorGUILayout.IntField((int)monsterList[i].npcID, guiSkin.textField, GUILayout.Height(20), GUILayout.Width(70));
                        EditorGUILayout.LabelField("模型名", guiSkin.customStyles[0], GUILayout.Height(20), GUILayout.Width(50));
                        monsterList[i].resName = EditorGUILayout.TextField(monsterList[i].resName, guiSkin.textField, GUILayout.Height(20), GUILayout.Width(70));
                        EditorGUILayout.LabelField("朝向", guiSkin.customStyles[0], GUILayout.Height(22), GUILayout.Width(50));
                        monsterList[i].faceDir = EditorGUILayout.IntField(monsterList[i].faceDir, guiSkin.textField, GUILayout.Height(22), GUILayout.Width(70));
                        if (GUILayout.Button("定高", guiSkin.button, GUILayout.Width(60), GUILayout.Height(20)))
                        {
                            Vector3 _pos = monsterList[i].transform.position;
Core/MapEditor/Behavior/Bhv_MapData.cs
@@ -279,6 +279,22 @@
                }
            }
        }
        public static float GetJsonFloat(LitJson.JsonData jsonData)
        {
            if (jsonData.IsDouble)
            {
                return (float)(double)jsonData;
            }
            else if (jsonData.IsInt)
            {
                return (float)(int)jsonData;
            }
            else
            {
                return 0f;
            }
        }
#endif
    }
}
Core/MapEditor/Behavior/Bhv_MapTrigger.cs
@@ -87,12 +87,12 @@
            type = (Evt.E_EventType)(byte)json["type"];
            prevID = (int)json["prevID"];
            nextID = (int)json["nextID"];
            float _pX = (float)json["px"];
            float _pY = (float)json["py"];
            float _pZ = (float)json["pz"];
            float _x = (float)json["sx"];
            float _z = (float)json["sz"];
            float _eY = (float)json["ey"];
            float _pX = Bhv_MapData.GetJsonFloat(json["px"]);
            float _pY = Bhv_MapData.GetJsonFloat(json["py"]);
            float _pZ = Bhv_MapData.GetJsonFloat(json["pz"]);
            float _x = Bhv_MapData.GetJsonFloat(json["sx"]);
            float _z = Bhv_MapData.GetJsonFloat(json["sz"]);
            float _eY = Bhv_MapData.GetJsonFloat(json["ey"]);
            transform.position = new Vector3(_pX, _pY, _pZ);
            boxCollider.size = new Vector3(_x, 1, _z);
            transform.eulerAngles = new Vector3(0, _eY, 0);
Core/MapEditor/Behavior/Bhv_MonsterData.cs
@@ -11,6 +11,8 @@
        public string resName;
        [HideInInspector]
        public byte ai;
        [HideInInspector]
        public int faceDir;
#if UNITY_EDITOR
@@ -30,6 +32,7 @@
            stringBuilder.Append("\"resName\":\"").Append(resName).Append("\",");
            stringBuilder.Append("\"npcID\":").Append(npcID).Append(",");
            stringBuilder.Append("\"ai\":").Append(npcID).Append(",");
            stringBuilder.Append("\"faceDir\":").Append(faceDir).Append(",");
            stringBuilder.Append("\"px\":").Append((float)System.Math.Round(transform.position.x, 2)).Append(",");
            stringBuilder.Append("\"py\":").Append((float)System.Math.Round(transform.position.y, 2)).Append(",");
            stringBuilder.Append("\"pz\":").Append((float)System.Math.Round(transform.position.z, 2));
@@ -41,9 +44,10 @@
            resName = jsonData["resName"].ToString();
            npcID = (uint)(int)jsonData["npcID"];
            ai = (byte)jsonData["ai"];
            float _pX = (float)jsonData["px"];
            float _pY = (float)jsonData["py"];
            float _pZ = (float)jsonData["pz"];
            faceDir = (int)jsonData["faceDir"];
            float _pX = Bhv_MapData.GetJsonFloat(jsonData["px"]);
            float _pY = Bhv_MapData.GetJsonFloat(jsonData["py"]);
            float _pZ = Bhv_MapData.GetJsonFloat(jsonData["pz"]);
            transform.position = new Vector3(_pX, _pY, _pZ);
            name = "RefreshMonster_" + npcID;
        }
@@ -63,6 +67,7 @@
        {
            bw.Write(npcID);
            bw.Write(ai);
            bw.Write(faceDir);
            bw.Write((float)System.Math.Round(transform.position.x, 2));
            bw.Write((float)System.Math.Round(transform.position.y, 2));
            bw.Write((float)System.Math.Round(transform.position.z, 2));
Core/MapEditor/Behavior/Bhv_TransferPoint.cs
@@ -54,11 +54,11 @@
            flyTimeFront = (int)json["flyTimeFront"];
            stateNameBack = json["stateNameBack"].ToString();
            flyTimeBack = (int)json["flyTimeBack"];
            float _pX = (float)json["px"];
            float _pY = (float)json["py"];
            float _pZ = (float)json["pz"];
            float _pX = Bhv_MapData.GetJsonFloat(json["px"]);
            float _pY = Bhv_MapData.GetJsonFloat(json["py"]);
            float _pZ = Bhv_MapData.GetJsonFloat(json["pz"]);
            transform.position = new Vector3(_pX, _pY, _pZ);
            float _r = (float)json["r"];
            float _r = Bhv_MapData.GetJsonFloat(json["r"]);
            capsuleCollider.radius = _r;
            if (EffectConfig.Has(effectID))
            {
Core/MapEditor/Editor/MapEditor.cs
@@ -121,6 +121,10 @@
            {
                SaveJson();
            }
            if (GUILayout.Button("加载1", gUISkin.button, GUILayout.Width(60), GUILayout.Height(22)))
            {
                LoadJson();
            }
            EditorGUILayout.EndHorizontal();
            /// --------------------------------------------------------------------------------
@@ -344,13 +348,31 @@
            {
                return;
            }
            EditorPrefs.SetString(LS_KEY_SAVEPATH, Path.GetDirectoryName(_path));
            File.WriteAllText(_path, _mapData.SaveJson());
        }
        private void LoadJson()
        {
            var _mapData = target as Bhv_MapData;
            var _defaultPath = EditorPrefs.GetString(LS_KEY_SAVEPATH);
            if (string.IsNullOrEmpty(_defaultPath))
            {
                _defaultPath = System.Environment.CurrentDirectory;
            }
            var _loadPath = EditorUtility.OpenFilePanel("读取Json数据", _defaultPath, "json");
            if (string.IsNullOrEmpty(_loadPath))
            {
                return;
            }
            var _mapData = target as Bhv_MapData;
            _mapData.Clear();
            var _strJson = File.ReadAllText(_loadPath);
            var _jsonData = LitJson.JsonMapper.ToObject(_strJson);
            _mapData.LoadJson(_jsonData);
        }
        private void Export()