From f46aa42023bfffad6209e7015d45ec334369e2a0 Mon Sep 17 00:00:00 2001
From: client_Hale <339726288@qq.com>
Date: 星期一, 08 四月 2019 21:08:01 +0800
Subject: [PATCH] 382 地图编辑器json存储逻辑
---
Core/MapEditor/Behavior/Bhv_Evt_RefreshMonster.cs | 73 +++++++++++++++++++++++++++---------
1 files changed, 55 insertions(+), 18 deletions(-)
diff --git a/Core/MapEditor/Behavior/Bhv_Evt_RefreshMonster.cs b/Core/MapEditor/Behavior/Bhv_Evt_RefreshMonster.cs
index 5fa9a97..f9e0b09 100644
--- a/Core/MapEditor/Behavior/Bhv_Evt_RefreshMonster.cs
+++ b/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;
--
Gitblit v1.8.0