| Core/MapEditor/Behavior/Bhv_Evt_RefreshMonster.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| Core/MapEditor/Behavior/Bhv_MapData.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| Core/MapEditor/Behavior/Bhv_TransferPoint.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| Core/MapEditor/Behavior/Bhv_Trasfer.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| Core/MapEditor/Editor/MapEditor.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| Utility/RuntimeLogUtility.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
Core/MapEditor/Behavior/Bhv_Evt_RefreshMonster.cs
@@ -49,11 +49,6 @@ public override void SaveJson(StringBuilder stringBuilder) { // bw.Write((byte)type); // bw.Write(id); // 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)); stringBuilder.Append("{"); stringBuilder.Append("\"type\":").Append((byte)type).Append(","); stringBuilder.Append("\"id\":").Append((byte)type).Append(","); @@ -81,20 +76,47 @@ public override void LoadJson(JsonData json) { } public override void Export(BinaryWriter bw) { base.Export(bw); bw.Write((byte)overCondition); bw.Write((byte)refreshType); bw.Write(conditionParam); bw.Write(overParam); bw.Write(nextEventID); bw.Write(monsterList.Count); foreach (var _monster in monsterList) 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"]; transform.position = new Vector3(_pX, _pY, _pZ); overCondition = (Evt_RefreshMonster.E_OverCondition)(byte)json["overCondition"]; refreshType = (Evt_RefreshMonster.E_RefreshType)(byte)json["refreshType"]; conditionParam = (int)json["conditionParam"]; overParam = (int)json["overParam"]; nextEventID = (int)json["nextEventID"]; var _monsterList = json["monsterList"]; for (int i = 0; i < _monsterList.Count; ++i) { _monster.Export(bw); var _resName = _monsterList[i]["resName"].ToString(); GameObject _go = null; if (!string.IsNullOrEmpty(_resName.Trim())) { string _path = "Assets/ResourcesOut/Mob/Prefab_Race_" + _resName + ".prefab"; _go = AssetDatabase.LoadAssetAtPath<GameObject>(_path); if (_go) { _go = Instantiate(_go); } } else { _go = GameObject.CreatePrimitive(PrimitiveType.Capsule); } _go.transform.SetParent(transform); _go.transform.localPosition = Vector3.zero; _go.transform.eulerAngles = Vector3.zero; _go.transform.localScale = Vector3.one; var _monsterData = _go.AddComponent<Bhv_MonsterData>(); _monsterData.resName = _resName; monsterList.Add(_monsterData); _monsterData.LoadJson(_monsterList[i]); } } @@ -139,6 +161,21 @@ } } public override void Export(BinaryWriter bw) { base.Export(bw); bw.Write((byte)overCondition); bw.Write((byte)refreshType); bw.Write(conditionParam); bw.Write(overParam); bw.Write(nextEventID); bw.Write(monsterList.Count); foreach (var _monster in monsterList) { _monster.Export(bw); } } public override bool DrawUI(GUISkin guiSkin) { bool _result = false; Core/MapEditor/Behavior/Bhv_MapData.cs
@@ -90,8 +90,7 @@ triggerList[i].SaveJson(_stringBuilder); } } _stringBuilder.Append("]"); _stringBuilder.Append("},"); _stringBuilder.Append("],"); _stringBuilder.Append("\"eventList\": ["); if (eventList.Count > 0) { @@ -100,6 +99,17 @@ { _stringBuilder.Append(","); eventList[i].SaveJson(_stringBuilder); } } _stringBuilder.Append("],"); _stringBuilder.Append("\"transferList\": ["); if (transferList.Count > 0) { transferList[0].SaveJson(_stringBuilder); for (int i = 1; i < transferList.Count; ++i) { _stringBuilder.Append(","); transferList[i].SaveJson(_stringBuilder); } } _stringBuilder.Append("]"); @@ -131,6 +141,69 @@ } } public void LoadJson(LitJson.JsonData json) { id = (int)json["id"]; var _triggerList = json["triggerList"]; GameObject _go = null; if (_triggerList.Count > 0) { for (int i = 0; i < _triggerList.Count; ++i) { _go = new GameObject(NodeName_Trigger + i); _go.transform.position = Vector3.zero; _go.transform.eulerAngles = Vector3.zero; _go.transform.localScale = Vector3.one; var _triggerBhv = _go.AddComponent<Bhv_MapTrigger>(); _triggerBhv.boxCollider = _go.AddComponent<BoxCollider>(); _triggerBhv.transform.SetParent(transform.Find(NodeName_TriggerList)); triggerList.Add(_triggerBhv); _triggerBhv.LoadJson(_triggerList[i]); } } var _eventList = json["eventList"]; if (_eventList.Count > 0) { for (int i = 0; i < _eventList.Count; ++i) { _go = new GameObject(NodeName_Event + i); _go.transform.position = Vector3.zero; _go.transform.eulerAngles = Vector3.zero; _go.transform.localScale = Vector3.one; var _type = (Evt.E_EventType)(byte)_eventList[i]["type"];//br.ReadByte(); if (_type == Evt.E_EventType.Enemy) { var _eventBhv = _go.AddComponent<Bhv_Evt_RefreshMonster>(); _eventBhv.type = _type; _eventBhv.transform.SetParent(transform.Find(NodeName_EventList)); eventList.Add(_eventBhv); _eventBhv.LoadJson(_eventList[i]); } else if (_type == Evt.E_EventType.SceneObject) { var _eventBhv = _go.AddComponent<Bhv_Evt_RefreshSceneObject>(); _eventBhv.type = _type; _eventBhv.transform.SetParent(transform.Find(NodeName_EventList)); eventList.Add(_eventBhv); _eventBhv.LoadJson(_eventList[i]); } } } var _transferList = json["transferList"]; for (int i = 0; i < _transferList.Count; ++i) { _go = new GameObject(NodeName_Transfer + i); _go.transform.position = Vector3.zero; _go.transform.eulerAngles = Vector3.zero; _go.transform.localScale = Vector3.one; var _transferBhv = _go.AddComponent<Bhv_Trasfer>(); _transferBhv.transform.SetParent(transform.Find(NodeName_TransferList)); transferList.Add(_transferBhv); _transferBhv.LoadJson(_transferList[i]); } } public void Load(BinaryReader br) { id = br.ReadInt32(); Core/MapEditor/Behavior/Bhv_TransferPoint.cs
@@ -32,6 +32,45 @@ bw.Write((float)System.Math.Round(capsuleCollider.radius, 2)); } public void SaveJson(System.Text.StringBuilder stringBuilder) { stringBuilder.Append("{"); stringBuilder.Append("\"effectID\":").Append(effectID).Append(","); stringBuilder.Append("\"stateNameFront\":\"").Append(stateNameFront).Append("\","); stringBuilder.Append("\"flyTimeFront\":").Append(flyTimeFront).Append(","); stringBuilder.Append("\"stateNameBack\":\"").Append(stateNameBack).Append("\","); stringBuilder.Append("\"flyTimeBack\":").Append(flyTimeBack).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)).Append(","); stringBuilder.Append("\"r\":").Append((float)System.Math.Round(capsuleCollider.radius, 2)); stringBuilder.Append("}"); } public void LoadJson(LitJson.JsonData json) { effectID = (int)json["effectID"]; stateNameFront = json["stateNameFront"].ToString(); 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"]; transform.position = new Vector3(_pX, _pY, _pZ); float _r = (float)json["r"]; capsuleCollider.radius = _r; if (EffectConfig.Has(effectID)) { var _prefab = InstanceResourcesLoader.LoadEffect(effectID); Effect = Instantiate(_prefab); Effect.transform.SetParent(transform); Effect.transform.localPosition = Vector3.zero; Effect.transform.localScale = Vector3.one; Effect.transform.rotation = Quaternion.identity; } } public void Load(BinaryReader br) { effectID = br.ReadInt32(); Core/MapEditor/Behavior/Bhv_Trasfer.cs
@@ -34,6 +34,45 @@ } } public void SaveJson(System.Text.StringBuilder stringBuilder) { stringBuilder.Append("{"); stringBuilder.Append("\"transferType\":").Append((byte)transferType).Append(","); stringBuilder.Append("\"param\":").Append(param).Append(","); stringBuilder.Append("\"pointList\":["); if (pointList.Count > 0) { pointList[0].SaveJson(stringBuilder); for (int i = 1; i < pointList.Count; ++i) { stringBuilder.Append(","); pointList[i].SaveJson(stringBuilder); } } stringBuilder.Append("]"); stringBuilder.Append("}"); } public void LoadJson(LitJson.JsonData json) { transferType = (MapTrasfer.E_TransferType)(byte)json["transferType"]; param = (int)json["param"]; var _pointList = json["pointList"]; for (int i = 0; i < _pointList.Count; ++i) { var _go = new GameObject(pointList.Count + "_TransferPoint"); _go.transform.SetParent(transform); _go.transform.localPosition = Vector3.zero; _go.transform.eulerAngles = Vector3.zero; _go.transform.localScale = Vector3.one; var _transferPoint = _go.AddComponent<Bhv_TransferPoint>(); _transferPoint.capsuleCollider = _go.AddComponent<CapsuleCollider>(); pointList.Add(_transferPoint); _transferPoint.LoadJson(_pointList[i]); } } public void Export(BinaryWriter bw) { bw.Write((byte)transferType); Core/MapEditor/Editor/MapEditor.cs
@@ -328,47 +328,18 @@ private void SaveJson() { var _mapData = target as Bhv_MapData; // string _defaultPath = EditorPrefs.GetString(LS_KEY_SAVEPATH, System.Environment.CurrentDirectory); // string _path = EditorUtility.SaveFilePanel("保存数据", _defaultPath, "map_" + _mapData.id, "ed"); // if (string.IsNullOrEmpty(_path)) // { // return; // } // LitJson.JsonMapper.RegisterExporter<System.Type>((v, w) => // { // w.Write(v.FullName); // }); // LitJson.JsonMapper.RegisterImporter<string, System.Type>((s) => // { // return System.Type.GetType(s); // }); // System.Action<Vector3, LitJson.JsonWriter> writeVector3 = (v, w) => // { // w.WriteObjectStart(); // w.WritePropertyName("x"); // w.Write((float)v.x); // w.WritePropertyName("y"); // w.Write((float)v.y); // w.WritePropertyName("z"); // w.Write((float)v.z); // w.WriteObjectEnd(); // }; // LitJson.JsonMapper.RegisterExporter<Vector3>((v, w) => // { // writeVector3(v, w); // }); // LitJson.UnityTypeBindings.Register(); // var _json = LitJson.JsonMapper.ToJson(_mapData); Debug.Log(_mapData.SaveJson()); string _defaultPath = EditorPrefs.GetString(LS_KEY_SAVEPATH, System.Environment.CurrentDirectory); string _path = EditorUtility.SaveFilePanel("保存数据", _defaultPath, "map_" + _mapData.id, "json"); if (string.IsNullOrEmpty(_path)) { return; } File.WriteAllText(_path, _mapData.SaveJson()); } private class _JsonWritter : LitJson.JsonWriter private void LoadJson() { var _mapData = target as Bhv_MapData; } Utility/RuntimeLogUtility.cs
@@ -187,8 +187,9 @@ private int _param2; private Vector2 _start; private Vector2 _end; private int _triggerID; private Vector3 _start3; private Vector3 _end3; private int _triggerID = 8; public override void OnInspectorGUI() { @@ -198,16 +199,17 @@ _triggerID = EditorGUILayout.IntField("触发器ID", _triggerID); if (GUILayout.Button("触发客户端触发器")) { // ClientSceneManager.Instance.TriggerTest(_triggerID); GA_NpcFunc.SetNpcFuncVisible(10104003, true); } EditorGUILayout.EndHorizontal(); if (GUILayout.Button("清空任务")) _start3 = EditorGUILayout.Vector3Field("起点: ", _start3); _end3 = EditorGUILayout.Vector3Field("终点: ", _end3); if (GUILayout.Button("测试寻路")) { CA225_tagCMClientTaskCount _a225 = new CA225_tagCMClientTaskCount { CountID = 10000 }; GameNetSystem.Instance.SendInfo(_a225); Debug.Log(PathFinder.WalkAble(_start3, _end3)); } EditorGUILayout.LabelField("Log存储路径", RuntimeLogUtility.s_LogPath); @@ -237,9 +239,12 @@ if (GUILayout.Button("创建PVP敌方")) { var _npc = GAMgr.Instance.ReqClntFightNpc<GA_NpcClientFightNorm>(10101003, E_ActorGroup.Enemy); // var _npc = GAMgr.Instance.ReqClntFightNpc<GA_NpcClientFightNorm>(10101003, E_ActorGroup.Enemy); // _npc.BornPos = _npc.Pos = PlayerDatas.Instance.hero.Pos; // _npc.ActorInfo.ResetHp(9999999, -1, 9999999); var _npc = GAMgr.Instance.ReqClntFightNpc<GA_NpcClientFightBoss>(10103001, E_ActorGroup.Enemy); _npc.BornPos = _npc.Pos = PlayerDatas.Instance.hero.Pos; _npc.ActorInfo.ResetHp(9999999, -1, 9999999); // GActorPlayerBase.PlayerInfo _playerInfo = new GActorPlayerBase.PlayerInfo(); // _playerInfo.maxHp = (uint)PlayerDatas.Instance.extersion.MaxMP;