From 2bcf02ccf514973e38acd289130f28ba73b1a451 Mon Sep 17 00:00:00 2001
From: client_Hale <339726288@qq.com>
Date: 星期二, 06 十一月 2018 17:39:55 +0800
Subject: [PATCH] Update
---
Core/GameEngine/Model/ConfigManager.cs | 3
Fight/GameActor/GActorNpcNoFight.cs | 181 +-
Core/MapEditor/Editor/MapEditor.cs | 300 +++++
Core/MapEditor/Editor/EditorResources/EditorSkin.guiskin.meta | 8
Core/MapEditor/Data/Event/MonsterData.cs.meta | 11
Core/MapEditor/Editor/EditorResources/box_white.png | 0
Core/MapEditor/Data/Transfer/MapTrasfer.cs.meta | 11
Fight/Stage/Dungeon/FrontEndDungeon/FrontEndDungeon.cs.meta | 12
Core/MapEditor/Data/Transfer/MapTransferPoint.cs | 24
Core/MapEditor/Data/Transfer/MapTransferPoint.cs.meta | 11
Core/MapEditor/Editor/EditorResources/box_white.png.meta | 88 +
Fight/Stage/Dungeon/FrontEndDungeon.meta | 9
Core/MapEditor/Behavior/Bhv_MapData.cs | 140 ++
Core/MapEditor/Data/Transfer/MapTrasfer.cs | 32
Core/MapEditor/Behavior/Bhv_MapTrigger.cs.meta | 11
Core/MapEditor/Editor/EditorResources/EditorSkin.guiskin | 1559 +++++++++++++++++++++++++
Core/MapEditor/Behavior/Bhv_MapTrigger.cs | 130 ++
Core/MapEditor/Behavior/Bhv_TransferPoint.cs.meta | 11
Core/MapEditor/Editor.meta | 8
Fight/Stage/Dungeon/FrontEndDungeon/FrontEndDungeon.cs | 13
Core/MapEditor/Behavior/Bhv_Evt.cs.meta | 11
Core/MapEditor/Behavior/Bhv_Trasfer.cs.meta | 11
Core/MapEditor.meta | 9
Core/MapEditor/Data/Event/Evt.cs.meta | 11
Core/MapEditor/Editor/EditorResources.meta | 8
Core/MapEditor/Data/Event/Evt_RefreshMonster.cs.meta | 11
Fight/Stage/Dungeon/FrontEndDungeon/MapTransferSystem.cs.meta | 12
Core/MapEditor/Data/Event.meta | 8
Core/ResModule/AssetBundle/AssetBundleUtility.cs | 4
Core/MapEditor/Data.meta | 8
Core/MapEditor/Editor/MapEditor.cs.meta | 11
Core/MapEditor/Data/MapTrigger.cs | 39
Core/MapEditor/Behavior/Bhv_Trasfer.cs | 159 ++
Core/MapEditor/Data/MapData.cs | 75 +
Core/MapEditor/Behavior/Bhv_MapData.cs.meta | 11
Fight/Stage/Dungeon/FrontEndDungeon/MapTransferSystem.cs | 4
Core/MapEditor/Behavior/Bhv_Evt.cs | 42
Core/MapEditor/Behavior/Bhv_MonsterData.cs.meta | 11
Core/MapEditor/Behavior.meta | 8
Fight/Stage/StageManager.cs | 6
Core/MapEditor/Data/MapTrigger.cs.meta | 11
Fight/GameActor/GA_NpcFunc.cs | 9
Core/MapEditor/Data/Event/Evt_RefreshMonster.cs | 85 +
Core/MapEditor/Data/Event/Evt.cs | 22
Fight/GameActor/GActor.cs | 6
/dev/null | 9
Core/MapEditor/Behavior/Bhv_Evt_RefreshMonster.cs.meta | 11
Core/MapEditor/Data/Event/MonsterData.cs | 23
Core/MapEditor/Data/Transfer.meta | 8
Core/MapEditor/Behavior/Bhv_MonsterData.cs | 38
Core/MapEditor/Behavior/Bhv_Evt_RefreshMonster.cs | 198 +++
Core/ResModule/InstanceResourcesLoader.cs | 60 +
Core/MapEditor/Data/MapData.cs.meta | 11
Core/MapEditor/Behavior/Bhv_TransferPoint.cs | 38
54 files changed, 3,468 insertions(+), 82 deletions(-)
diff --git a/Core/GameEngine/Model/ConfigManager.cs b/Core/GameEngine/Model/ConfigManager.cs
index 606f64f..9581612 100644
--- a/Core/GameEngine/Model/ConfigManager.cs
+++ b/Core/GameEngine/Model/ConfigManager.cs
@@ -14,7 +14,8 @@
bool isPlaying = true;
bool m_Inited = false;
- public bool inited {
+ public bool inited
+ {
get { return m_Inited; }
private set { m_Inited = value; }
}
diff --git a/Core/MapEditor.meta b/Core/MapEditor.meta
new file mode 100644
index 0000000..5c754bd
--- /dev/null
+++ b/Core/MapEditor.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: b0344dc10812b4a459780c854ec6b5cc
+folderAsset: yes
+timeCreated: 1541130161
+licenseType: Free
+DefaultImporter:
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Core/MapEditor/Behavior.meta b/Core/MapEditor/Behavior.meta
new file mode 100644
index 0000000..202e5fa
--- /dev/null
+++ b/Core/MapEditor/Behavior.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 4638bdf69b2751946b84fa0b126f7d22
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Core/MapEditor/Behavior/Bhv_Evt.cs b/Core/MapEditor/Behavior/Bhv_Evt.cs
new file mode 100644
index 0000000..c02087e
--- /dev/null
+++ b/Core/MapEditor/Behavior/Bhv_Evt.cs
@@ -0,0 +1,42 @@
+using UnityEngine;
+using System.IO;
+
+namespace H2Engine
+{
+ public abstract class Bhv_Evt : MonoBehaviour
+ {
+ [HideInInspector]
+ public int id;
+ [HideInInspector]
+ public Evt.E_EventType type;
+ [HideInInspector]
+ protected bool showDetail = false;
+
+#if UNITY_EDITOR
+ public abstract bool DrawUI(GUISkin guiSkin);
+ public virtual void Save(BinaryWriter bw)
+ {
+ bw.Write((byte)type);
+ bw.Write(id);
+ bw.Write((float)System.Math.Round(transform.position.x));
+ bw.Write((float)System.Math.Round(transform.position.y));
+ bw.Write((float)System.Math.Round(transform.position.z));
+ }
+
+ public virtual void Load(BinaryReader br)
+ {
+ id = br.ReadInt32();
+ float _x = br.ReadSingle();
+ float _y = br.ReadSingle();
+ float _z = br.ReadSingle();
+ transform.position = new Vector3(_x, _y, _z);
+ }
+
+ public virtual void Export(BinaryWriter bw)
+ {
+ bw.Write((byte)type);
+ bw.Write(id);
+ }
+#endif
+ }
+}
\ No newline at end of file
diff --git a/Core/MapEditor/Behavior/Bhv_Evt.cs.meta b/Core/MapEditor/Behavior/Bhv_Evt.cs.meta
new file mode 100644
index 0000000..bfc838e
--- /dev/null
+++ b/Core/MapEditor/Behavior/Bhv_Evt.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: ad56736fc2a1a6a4ebed455e40f3c338
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Core/MapEditor/Behavior/Bhv_Evt_RefreshMonster.cs b/Core/MapEditor/Behavior/Bhv_Evt_RefreshMonster.cs
new file mode 100644
index 0000000..f6f20d8
--- /dev/null
+++ b/Core/MapEditor/Behavior/Bhv_Evt_RefreshMonster.cs
@@ -0,0 +1,198 @@
+using System.Collections.Generic;
+using UnityEngine;
+using System.IO;
+
+#if UNITY_EDITOR
+using UnityEditor;
+#endif
+
+namespace H2Engine
+{
+ public class Bhv_Evt_RefreshMonster : Bhv_Evt
+ {
+ [HideInInspector]
+ public Evt_RefreshMonster.E_OverCondition overCondition = Evt_RefreshMonster.E_OverCondition.None;
+ [HideInInspector]
+ public Evt_RefreshMonster.E_RefreshType refreshType = Evt_RefreshMonster.E_RefreshType.All;
+ [HideInInspector]
+ public List<Bhv_MonsterData> monsterList = new List<Bhv_MonsterData>();
+ [HideInInspector]
+ public int conditionParam;
+ [HideInInspector]
+ public int overParam;
+ [HideInInspector]
+ private bool showMonsterList = false;
+
+#if UNITY_EDITOR
+
+ public override void Save(BinaryWriter bw)
+ {
+ base.Save(bw);
+ bw.Write((byte)overCondition);
+ bw.Write((byte)refreshType);
+ bw.Write(conditionParam);
+ bw.Write(overParam);
+ bw.Write(monsterList.Count);
+ foreach (var _monster in monsterList)
+ {
+ _monster.Save(bw);
+ }
+ }
+
+ 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(monsterList.Count);
+ foreach (var _monster in monsterList)
+ {
+ _monster.Export(bw);
+ }
+ }
+
+ public override void Load(BinaryReader br)
+ {
+ base.Load(br);
+ overCondition = (Evt_RefreshMonster.E_OverCondition)br.ReadByte();
+ refreshType = (Evt_RefreshMonster.E_RefreshType)br.ReadByte();
+ conditionParam = br.ReadInt32();
+ overParam = br.ReadInt32();
+ int _count = br.ReadInt32();
+ for (int i = 0; i < _count; ++i)
+ {
+ var _go = new GameObject();
+ _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>();
+ monsterList.Add(_monsterData);
+
+ _monsterData.Load(br);
+ }
+ }
+
+ 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.toggle);
+ 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.BeginHorizontal(GUILayout.Height(22));
+ EditorGUILayout.LabelField("鍒锋�柟寮�", guiSkin.customStyles[0], GUILayout.Height(22), GUILayout.Width(60));
+ refreshType = (Evt_RefreshMonster.E_RefreshType)EditorGUILayout.EnumPopup(refreshType, guiSkin.box, GUILayout.Height(20));
+ EditorGUILayout.EndHorizontal();
+
+ EditorGUILayout.BeginHorizontal(GUILayout.Height(22));
+ if (refreshType == Evt_RefreshMonster.E_RefreshType.OneByOneTime)
+ {
+ EditorGUILayout.LabelField("绛夊緟鏃堕棿", guiSkin.customStyles[0], GUILayout.Height(22), GUILayout.Width(60));
+ conditionParam = EditorGUILayout.IntField(conditionParam, guiSkin.textField, GUILayout.Height(20));
+ }
+ EditorGUILayout.EndHorizontal();
+
+ EditorGUILayout.BeginHorizontal(GUILayout.Height(22));
+ EditorGUILayout.LabelField("瀹屾垚鏂瑰紡", guiSkin.customStyles[0], GUILayout.Height(22), GUILayout.Width(60));
+ overCondition = (Evt_RefreshMonster.E_OverCondition)EditorGUILayout.EnumPopup(overCondition, guiSkin.box, GUILayout.Height(20));
+ EditorGUILayout.EndHorizontal();
+
+ EditorGUILayout.BeginHorizontal(GUILayout.Height(22));
+ if (overCondition == Evt_RefreshMonster.E_OverCondition.DeadCount)
+ {
+ EditorGUILayout.LabelField("姝讳骸鏁伴噺", guiSkin.customStyles[0], GUILayout.Height(22), GUILayout.Width(60));
+ overParam = EditorGUILayout.IntField(overParam, guiSkin.textField, GUILayout.Height(20));
+ }
+ else if (overCondition == Evt_RefreshMonster.E_OverCondition.Time)
+ {
+ EditorGUILayout.LabelField("缁撴潫鏃堕棿", guiSkin.customStyles[0], GUILayout.Height(22), GUILayout.Width(60));
+ overParam = EditorGUILayout.IntField(overParam, guiSkin.textField, GUILayout.Height(20));
+ }
+ EditorGUILayout.EndHorizontal();
+
+ EditorGUILayout.BeginVertical(guiSkin.customStyles[1]);
+ EditorGUILayout.BeginHorizontal(GUILayout.Height(22));
+ showMonsterList = EditorGUILayout.Foldout(showMonsterList, " 鍒锋�垪琛�", true, guiSkin.toggle);
+ if (GUILayout.Button("娣诲姞", guiSkin.button, GUILayout.Width(60), GUILayout.Height(22)))
+ {
+ var _go = new GameObject("RefreshMonster");
+ _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>();
+ monsterList.Add(_monsterData);
+
+ showMonsterList = true;
+ }
+ EditorGUILayout.EndHorizontal();
+ if (showMonsterList)
+ {
+ for (int i = monsterList.Count - 1; i >= 0; --i)
+ {
+ EditorGUILayout.BeginHorizontal(GUILayout.Height(22));
+ EditorGUILayout.LabelField("NPCID", guiSkin.customStyles[0], GUILayout.Height(22), GUILayout.Width(60));
+ var _npcID = monsterList[i].npcID;
+ monsterList[i].npcID = EditorGUILayout.IntField(monsterList[i].npcID, guiSkin.textField, GUILayout.Height(20));
+ if (_npcID != monsterList[i].npcID)
+ {
+ monsterList[i].name = monsterList[i].npcID + "_RefreshNPC";
+ }
+ if (GUILayout.Button("瀹氶珮", guiSkin.button, GUILayout.Width(60), GUILayout.Height(20)))
+ {
+ Vector3 _pos = monsterList[i].transform.position;
+ _pos.y = 0;
+ RaycastHit _hit;
+
+ Ray _ray = new Ray(_pos + Vector3.up * 100, Vector3.down);
+ if (Physics.Raycast(_ray, out _hit, 200, 1 << LayerMask.NameToLayer("Walkable")))
+ {
+ monsterList[i].transform.position = _hit.point;
+ }
+ }
+ if (GUILayout.Button("鏌ユ壘", guiSkin.button, GUILayout.Width(60), GUILayout.Height(20)))
+ {
+ Selection.activeGameObject = monsterList[i].gameObject;
+ if (Selection.activeGameObject)
+ {
+ SceneView.lastActiveSceneView.LookAt(Selection.activeGameObject.transform.position);
+ }
+ }
+ if (GUILayout.Button("鍒犻櫎", guiSkin.button, GUILayout.Width(60), GUILayout.Height(20)))
+ {
+ DestroyImmediate(monsterList[i].gameObject);
+ monsterList.RemoveAt(i);
+ }
+ EditorGUILayout.EndHorizontal();
+ }
+ }
+ EditorGUILayout.EndVertical();
+ }
+
+ EditorGUI.indentLevel -= 1;
+ EditorGUILayout.EndVertical();
+ return _result;
+ }
+#endif
+ }
+}
\ No newline at end of file
diff --git a/Core/MapEditor/Behavior/Bhv_Evt_RefreshMonster.cs.meta b/Core/MapEditor/Behavior/Bhv_Evt_RefreshMonster.cs.meta
new file mode 100644
index 0000000..904e437
--- /dev/null
+++ b/Core/MapEditor/Behavior/Bhv_Evt_RefreshMonster.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 86cb95cb9f7327a45b701b48c6d717d2
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Core/MapEditor/Behavior/Bhv_MapData.cs b/Core/MapEditor/Behavior/Bhv_MapData.cs
new file mode 100644
index 0000000..2aba8a9
--- /dev/null
+++ b/Core/MapEditor/Behavior/Bhv_MapData.cs
@@ -0,0 +1,140 @@
+using UnityEngine;
+using System.Collections.Generic;
+using System.IO;
+
+namespace H2Engine
+{
+ public class Bhv_MapData : MonoBehaviour
+ {
+ [HideInInspector]
+ public int id;
+ public bool showTriggerList = false;
+ public bool showEventList = false;
+ public bool showTransferList = false;
+ [HideInInspector]
+ public List<Bhv_MapTrigger> triggerList = new List<Bhv_MapTrigger>();
+ [HideInInspector]
+ public List<Bhv_Evt> eventList = new List<Bhv_Evt>();
+ [HideInInspector]
+ public List<Bhv_Trasfer> transferList = new List<Bhv_Trasfer>();
+
+#if UNITY_EDITOR
+
+ public const string NodeName_Root = "MapEditor";
+ public const string NodeName_TriggerList = "TriggerList";
+ public const string NodeName_EventList = "EventList";
+ public const string NodeName_TransferList = "TransferList";
+ public const string NodeName_Trigger = "Trigger_";
+ public const string NodeName_Event = "Event_";
+ public const string NodeName_Transfer = "Transfer_";
+
+ public void Save(BinaryWriter bw)
+ {
+ bw.Write(id);
+ bw.Write(triggerList.Count);
+ foreach (var _trigger in triggerList)
+ {
+ _trigger.Save(bw);
+ }
+ bw.Write(eventList.Count);
+ foreach (var _event in eventList)
+ {
+ _event.Save(bw);
+ }
+ bw.Write(transferList.Count);
+ foreach (var _transfer in transferList)
+ {
+ _transfer.Save(bw);
+ }
+ }
+
+ public void Export(BinaryWriter bw)
+ {
+ bw.Write(id);
+ bw.Write(triggerList.Count);
+ foreach (var _trigger in triggerList)
+ {
+ _trigger.Export(bw);
+ }
+ bw.Write(eventList.Count);
+ foreach (var _event in eventList)
+ {
+ _event.Export(bw);
+ }
+ bw.Write(transferList.Count);
+ foreach (var _transfer in transferList)
+ {
+ _transfer.Export(bw);
+ }
+ }
+
+ public void Load(BinaryReader br)
+ {
+ id = br.ReadInt32();
+ int _count = br.ReadInt32();
+ GameObject _go = null;
+ for (int i = 0; i < _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.Load(br);
+ }
+ _count = br.ReadInt32();
+ for (int i = 0; i < _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)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.Load(br);
+ }
+ }
+ _count = br.ReadInt32();
+ for (int i = 0; i < _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.Load(br);
+ }
+
+ }
+
+ public void Clear()
+ {
+ showTriggerList = false;
+ showEventList = false;
+ showTriggerList = false;
+
+ triggerList.Clear();
+ eventList.Clear();
+ transferList.Clear();
+
+ for (int i = 0; i < transform.childCount; ++i)
+ {
+ for (int j = transform.GetChild(i).childCount - 1; j >= 0; --j)
+ {
+ DestroyImmediate(transform.GetChild(i).GetChild(j).gameObject);
+ }
+ }
+ }
+#endif
+ }
+}
\ No newline at end of file
diff --git a/Core/MapEditor/Behavior/Bhv_MapData.cs.meta b/Core/MapEditor/Behavior/Bhv_MapData.cs.meta
new file mode 100644
index 0000000..9d07758
--- /dev/null
+++ b/Core/MapEditor/Behavior/Bhv_MapData.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: dc90d6f805d82a24a83203b93f99deba
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Core/MapEditor/Behavior/Bhv_MapTrigger.cs b/Core/MapEditor/Behavior/Bhv_MapTrigger.cs
new file mode 100644
index 0000000..084ee12
--- /dev/null
+++ b/Core/MapEditor/Behavior/Bhv_MapTrigger.cs
@@ -0,0 +1,130 @@
+using System.Collections.Generic;
+using UnityEngine;
+using System.IO;
+
+#if UNITY_EDITOR
+using UnityEditor;
+#endif
+
+namespace H2Engine
+{
+ public class Bhv_MapTrigger : MonoBehaviour
+ {
+ [HideInInspector]
+ public int id;
+ [HideInInspector]
+ public Evt.E_EventType type = Evt.E_EventType.Enemy;
+ [HideInInspector]
+ public int prevID = -1;
+ [HideInInspector]
+ public BoxCollider boxCollider;
+ private bool showDetail = false;
+ private bool showEventList = false;
+ [HideInInspector]
+ public List<int> eventIDList = new List<int>();
+
+#if UNITY_EDITOR
+
+ public void Save(BinaryWriter bw)
+ {
+ bw.Write(id);
+ bw.Write((byte)type);
+ bw.Write(prevID);
+ 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));
+ bw.Write((float)System.Math.Round(boxCollider.size.x, 2));
+ bw.Write((float)System.Math.Round(boxCollider.size.z, 2));
+ bw.Write((float)System.Math.Round(transform.eulerAngles.y, 2));
+ bw.Write(eventIDList.Count);
+ foreach (var _eventID in eventIDList)
+ {
+ bw.Write(_eventID);
+ }
+ }
+
+ public void Export(BinaryWriter bw)
+ {
+ Save(bw);
+ }
+
+ public void Load(BinaryReader br)
+ {
+ id = br.ReadInt32();
+ type = (Evt.E_EventType)br.ReadByte();
+ prevID = br.ReadInt32();
+ float _pX = br.ReadSingle();
+ float _pY = br.ReadSingle();
+ float _pZ = br.ReadSingle();
+ float _x = br.ReadSingle();
+ float _z = br.ReadSingle();
+ float _eY = br.ReadSingle();
+ int _count = br.ReadInt32();
+ for (int i = 0; i < _count; ++i)
+ {
+ eventIDList.Add(br.ReadInt32());
+ }
+ transform.position = new Vector3(_pX, _pY, _pZ);
+ boxCollider.size = new Vector3(_x, 1, _z);
+ transform.eulerAngles = new Vector3(0, _eY, 0);
+ }
+
+ public bool DrawUI(GUISkin guiSkin)
+ {
+ bool _result = false;
+ EditorGUILayout.BeginVertical(guiSkin.box);
+ EditorGUILayout.BeginHorizontal(GUILayout.Height(22));
+ EditorGUI.indentLevel += 1;
+ showDetail = EditorGUILayout.Foldout(showDetail, " 瑙﹀彂鍣↖D:" + id, true, guiSkin.toggle);
+ 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.BeginHorizontal(GUILayout.Height(22));
+ EditorGUILayout.LabelField("鍓嶇疆瑙﹀彂鍣↖D", guiSkin.customStyles[0], GUILayout.Height(22), GUILayout.Width(80));
+ prevID = EditorGUILayout.IntField(prevID, guiSkin.textField, GUILayout.Height(20));
+ EditorGUILayout.EndHorizontal();
+ EditorGUILayout.BeginVertical(guiSkin.customStyles[1]);
+ EditorGUILayout.BeginHorizontal(GUILayout.Height(22));
+ showEventList = EditorGUILayout.Foldout(showEventList, " 瑙﹀彂浜嬩欢鍒楄〃", true, guiSkin.toggle);
+ if (GUILayout.Button("娣诲姞", guiSkin.button, GUILayout.Width(60), GUILayout.Height(22)))
+ {
+ eventIDList.Add(0);
+ showEventList = true;
+ }
+ EditorGUILayout.EndHorizontal();
+ if (showEventList)
+ {
+ for (int i = eventIDList.Count - 1; i >= 0; --i)
+ {
+ EditorGUILayout.BeginHorizontal(guiSkin.box, GUILayout.Height(22));
+ EditorGUILayout.LabelField("浜嬩欢ID", guiSkin.customStyles[0], GUILayout.Height(20), GUILayout.Width(60));
+ eventIDList[i] = EditorGUILayout.IntField(eventIDList[i], guiSkin.textField, GUILayout.Height(22));
+ if (GUILayout.Button("鍒犻櫎", guiSkin.button, GUILayout.Width(60), GUILayout.Height(22)))
+ {
+ eventIDList.RemoveAt(i);
+ }
+ EditorGUILayout.EndHorizontal();
+ }
+ }
+ EditorGUILayout.EndVertical();
+ }
+ EditorGUI.indentLevel -= 1;
+ EditorGUILayout.EndVertical();
+
+ return _result;
+ }
+#endif
+ }
+}
\ No newline at end of file
diff --git a/Core/MapEditor/Behavior/Bhv_MapTrigger.cs.meta b/Core/MapEditor/Behavior/Bhv_MapTrigger.cs.meta
new file mode 100644
index 0000000..c18272e
--- /dev/null
+++ b/Core/MapEditor/Behavior/Bhv_MapTrigger.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 5bac32a5b5beec741993b2c88f45f4da
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Core/MapEditor/Behavior/Bhv_MonsterData.cs b/Core/MapEditor/Behavior/Bhv_MonsterData.cs
new file mode 100644
index 0000000..6eac0a7
--- /dev/null
+++ b/Core/MapEditor/Behavior/Bhv_MonsterData.cs
@@ -0,0 +1,38 @@
+using UnityEngine;
+using System.IO;
+
+namespace H2Engine
+{
+ public class Bhv_MonsterData : MonoBehaviour
+ {
+ [HideInInspector]
+ public int npcID;
+ [HideInInspector]
+ public byte ai;
+
+ public void Save(BinaryWriter bw)
+ {
+ bw.Write(npcID);
+ bw.Write(ai);
+ bw.Write((float)System.Math.Round(transform.position.x));
+ bw.Write((float)System.Math.Round(transform.position.y));
+ bw.Write((float)System.Math.Round(transform.position.z));
+ }
+
+ public void Load(BinaryReader br)
+ {
+ npcID = br.ReadInt32();
+ ai = br.ReadByte();
+ float _x = br.ReadSingle();
+ float _y = br.ReadSingle();
+ float _z = br.ReadSingle();
+ transform.position = new Vector3(_x, _y, _z);
+ name = npcID + "_RefreshMonster";
+ }
+
+ public void Export(BinaryWriter bw)
+ {
+ Save(bw);
+ }
+ }
+}
\ No newline at end of file
diff --git a/Core/MapEditor/Behavior/Bhv_MonsterData.cs.meta b/Core/MapEditor/Behavior/Bhv_MonsterData.cs.meta
new file mode 100644
index 0000000..c747064
--- /dev/null
+++ b/Core/MapEditor/Behavior/Bhv_MonsterData.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 74afc638dfa0d2b42b7e4f0b2c07cfa3
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Core/MapEditor/Behavior/Bhv_TransferPoint.cs b/Core/MapEditor/Behavior/Bhv_TransferPoint.cs
new file mode 100644
index 0000000..2991e7b
--- /dev/null
+++ b/Core/MapEditor/Behavior/Bhv_TransferPoint.cs
@@ -0,0 +1,38 @@
+using UnityEngine;
+using System.IO;
+
+namespace H2Engine
+{
+ public class Bhv_TransferPoint : MonoBehaviour
+ {
+ [HideInInspector]
+ public int effectID = -1;
+ [HideInInspector]
+ public CapsuleCollider capsuleCollider;
+
+ public void Save(BinaryWriter bw)
+ {
+ bw.Write(effectID);
+ bw.Write((float)System.Math.Round(transform.position.x));
+ bw.Write((float)System.Math.Round(transform.position.y));
+ bw.Write((float)System.Math.Round(transform.position.z));
+ bw.Write((float)System.Math.Round(capsuleCollider.radius));
+ }
+
+ public void Load(BinaryReader br)
+ {
+ effectID = br.ReadInt32();
+ float _x = br.ReadSingle();
+ float _y = br.ReadSingle();
+ float _z = br.ReadSingle();
+ transform.position = new Vector3(_x, _y, _z);
+ float _r = br.ReadSingle();
+ capsuleCollider.radius = _r;
+ }
+
+ public void Export(BinaryWriter bw)
+ {
+ Save(bw);
+ }
+ }
+}
\ No newline at end of file
diff --git a/Core/MapEditor/Behavior/Bhv_TransferPoint.cs.meta b/Core/MapEditor/Behavior/Bhv_TransferPoint.cs.meta
new file mode 100644
index 0000000..864ec0e
--- /dev/null
+++ b/Core/MapEditor/Behavior/Bhv_TransferPoint.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 0d831f11e6aad15478664877854852c1
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Core/MapEditor/Behavior/Bhv_Trasfer.cs b/Core/MapEditor/Behavior/Bhv_Trasfer.cs
new file mode 100644
index 0000000..8a5859b
--- /dev/null
+++ b/Core/MapEditor/Behavior/Bhv_Trasfer.cs
@@ -0,0 +1,159 @@
+using UnityEngine;
+using System.Collections.Generic;
+using System.IO;
+
+#if UNITY_EDITOR
+using UnityEditor;
+#endif
+
+namespace H2Engine
+{
+ public class Bhv_Trasfer : MonoBehaviour
+ {
+ [HideInInspector]
+ public int id;
+ [HideInInspector]
+ public MapTrasfer.E_TransferType transferType = MapTrasfer.E_TransferType.None;
+ [HideInInspector]
+ public int param;
+ [HideInInspector]
+ public List<Bhv_TransferPoint> pointList = new List<Bhv_TransferPoint>();
+ private bool showDetail;
+
+#if UNITY_EDITOR
+
+ public void Save(BinaryWriter bw)
+ {
+ bw.Write((byte)transferType);
+ bw.Write(param);
+ bw.Write(pointList.Count);
+ foreach (var _point in pointList)
+ {
+ _point.Save(bw);
+ }
+ }
+
+ public void Export(BinaryWriter bw)
+ {
+ bw.Write((byte)transferType);
+ bw.Write(param);
+ bw.Write(pointList.Count);
+ foreach (var _point in pointList)
+ {
+ _point.Export(bw);
+ }
+ }
+
+ public void Load(BinaryReader br)
+ {
+ transferType = (MapTrasfer.E_TransferType)br.ReadByte();
+ param = br.ReadInt32();
+ int _count = br.ReadInt32();
+ for (int i = 0; i < _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.Load(br);
+ }
+ }
+
+ public bool DrawUI(Bhv_MapData mapData, GUISkin guiSkin)
+ {
+ bool _result = false;
+ EditorGUILayout.BeginVertical(guiSkin.box);
+ EditorGUILayout.BeginHorizontal(GUILayout.Height(20));
+ EditorGUI.indentLevel += 1;
+ showDetail = EditorGUILayout.Foldout(showDetail, " No." + mapData.transferList.IndexOf(this), true, guiSkin.toggle);
+ if (GUILayout.Button("鍒犻櫎", guiSkin.button, GUILayout.Width(60), GUILayout.Height(20)))
+ {
+ _result = true;
+ }
+ EditorGUILayout.EndHorizontal();
+ if (showDetail)
+ {
+ EditorGUILayout.BeginHorizontal(GUILayout.Height(22));
+ EditorGUILayout.LabelField("绫诲瀷", guiSkin.customStyles[0], GUILayout.Height(20), GUILayout.Width(40));
+ transferType = (MapTrasfer.E_TransferType)EditorGUILayout.EnumPopup(transferType, guiSkin.box, GUILayout.Height(20));
+ EditorGUILayout.EndHorizontal();
+ if (transferType == MapTrasfer.E_TransferType.Other)
+ {
+ EditorGUILayout.BeginHorizontal(GUILayout.Height(22));
+ EditorGUILayout.LabelField("MapID", guiSkin.customStyles[0], GUILayout.Height(20), GUILayout.Width(40));
+ param = EditorGUILayout.IntField(param, guiSkin.textField, GUILayout.Height(20));
+ EditorGUILayout.EndHorizontal();
+ }
+
+ EditorGUILayout.BeginVertical(guiSkin.customStyles[1]);
+
+ EditorGUILayout.BeginHorizontal(GUILayout.Height(22));
+ EditorGUILayout.LabelField("浼犻�佺偣鍒楄〃", guiSkin.customStyles[0], GUILayout.Height(20));
+ if (GUILayout.Button("娣诲姞", guiSkin.button, GUILayout.Width(60), GUILayout.Height(20)))
+ {
+ 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);
+ }
+ EditorGUILayout.EndHorizontal();
+ if (pointList.Count > 0)
+ {
+ for (int i = pointList.Count - 1; i >= 0; --i)
+ {
+ if (pointList[i] == null)
+ {
+ pointList.RemoveAt(i);
+ continue;
+ }
+ EditorGUILayout.BeginHorizontal(guiSkin.box, GUILayout.Height(22));
+ EditorGUILayout.LabelField("[" + (i + 1) + "]", guiSkin.customStyles[0], GUILayout.Height(20), GUILayout.Width(40));
+ EditorGUILayout.LabelField("鐗规晥ID", guiSkin.customStyles[0], GUILayout.Height(20), GUILayout.Width(40));
+ pointList[i].effectID = EditorGUILayout.IntField(pointList[i].effectID, guiSkin.textField, GUILayout.Height(20));
+ if (GUILayout.Button("瀹氶珮", guiSkin.button, GUILayout.Width(60), GUILayout.Height(20)))
+ {
+ Vector3 _pos = pointList[i].transform.position;
+ _pos.y = 0;
+ RaycastHit _hit;
+
+ Ray _ray = new Ray(_pos + Vector3.up * 100, Vector3.down);
+ if (Physics.Raycast(_ray, out _hit, 200, 1 << LayerMask.NameToLayer("Walkable")))
+ {
+ pointList[i].transform.position = _hit.point;
+ }
+ }
+ if (GUILayout.Button("鏌ユ壘", guiSkin.button, GUILayout.Width(60), GUILayout.Height(20)))
+ {
+ Selection.activeGameObject = pointList[i].gameObject;
+ if (Selection.activeGameObject)
+ {
+ SceneView.lastActiveSceneView.LookAt(Selection.activeGameObject.transform.position);
+ }
+ }
+ if (GUILayout.Button("鍒犻櫎", guiSkin.button, GUILayout.Width(60), GUILayout.Height(20)))
+ {
+ DestroyImmediate(pointList[i].gameObject);
+ pointList.RemoveAt(i);
+ }
+ EditorGUILayout.EndHorizontal();
+ }
+ }
+ EditorGUILayout.EndVertical();
+ }
+
+ EditorGUI.indentLevel -= 1;
+ EditorGUILayout.EndVertical();
+ return _result;
+ }
+#endif
+ }
+}
\ No newline at end of file
diff --git a/Core/MapEditor/Behavior/Bhv_Trasfer.cs.meta b/Core/MapEditor/Behavior/Bhv_Trasfer.cs.meta
new file mode 100644
index 0000000..1b63940
--- /dev/null
+++ b/Core/MapEditor/Behavior/Bhv_Trasfer.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 88dd76332d137b74d8602981120d28af
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Core/MapEditor/Data.meta b/Core/MapEditor/Data.meta
new file mode 100644
index 0000000..9ce9e81
--- /dev/null
+++ b/Core/MapEditor/Data.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: e56a787a1268b094095d54b1de99d288
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Core/MapEditor/Data/Event.meta b/Core/MapEditor/Data/Event.meta
new file mode 100644
index 0000000..1a24315
--- /dev/null
+++ b/Core/MapEditor/Data/Event.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: fe4bd498013ad644e942356fbf3ec201
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Core/MapEditor/Data/Event/Evt.cs b/Core/MapEditor/Data/Event/Evt.cs
new file mode 100644
index 0000000..8cfa01a
--- /dev/null
+++ b/Core/MapEditor/Data/Event/Evt.cs
@@ -0,0 +1,22 @@
+using System.IO;
+
+namespace H2Engine
+{
+ [System.Serializable]
+ public class Evt
+ {
+ public enum E_EventType
+ {
+ Enemy
+ }
+
+ public int id;
+
+ public E_EventType type;
+
+ public virtual void Load(BinaryReader br)
+ {
+ id = br.ReadInt32();
+ }
+ }
+}
\ No newline at end of file
diff --git a/Core/MapEditor/Data/Event/Evt.cs.meta b/Core/MapEditor/Data/Event/Evt.cs.meta
new file mode 100644
index 0000000..e357be5
--- /dev/null
+++ b/Core/MapEditor/Data/Event/Evt.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: fab56c4da5511ec439e595f422819588
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Core/MapEditor/Data/Event/Evt_RefreshMonster.cs b/Core/MapEditor/Data/Event/Evt_RefreshMonster.cs
new file mode 100644
index 0000000..5ba0b93
--- /dev/null
+++ b/Core/MapEditor/Data/Event/Evt_RefreshMonster.cs
@@ -0,0 +1,85 @@
+using System.IO;
+
+namespace H2Engine
+{
+ [System.Serializable]
+ public class Evt_RefreshMonster : Evt
+ {
+ public enum E_OverCondition
+ {
+ None,
+ DeadCount,
+ Time,
+ }
+
+ public enum E_RefreshType
+ {
+ All,
+ OneByOneTime,// 鏍规嵁鏃堕棿鍒锋柊
+ OneByOnePrevDie,// 鍓嶄竴鍙埛鍑哄凡姝讳骸
+ }
+
+ public MonsterData[] monsters;
+ public E_OverCondition overCondition = E_OverCondition.None;
+ public E_RefreshType refreshType = E_RefreshType.All;
+ /// <summary>
+ /// 鍙傛暟
+ /// <para>褰撲娇鐢∣verCondition绫诲瀷涓篋eadCount鐨勬椂鍊欎负涓暟</para>
+ /// <para>褰撲娇鐢∣verCondition绫诲瀷涓篢ime鐨勬椂鍊欎负鏃堕棿(姣)</para>
+ /// </summary>
+ public int conditionParam;
+ /// <summary>
+ /// 鍒锋柊鍙傛暟
+ /// <para>鍒锋柊绫诲瀷: OneByOneTime, 浣滀负鏃堕棿(姣)</para>
+ /// </summary>
+ public int refreshParam;
+
+ public override void Load(BinaryReader br)
+ {
+ base.Load(br);
+ overCondition = (Evt_RefreshMonster.E_OverCondition)br.ReadByte();
+ refreshType = (Evt_RefreshMonster.E_RefreshType)br.ReadByte();
+ refreshParam = br.ReadInt32();
+ conditionParam = br.ReadInt32();
+ int _count = br.ReadInt32();
+ monsters = new MonsterData[_count];
+ for (int i = 0; i < _count; ++i)
+ {
+ monsters[i] = new MonsterData();
+ monsters[i].Load(br);
+ }
+ }
+
+ /*
+ float delay = Time.now
+ float interval
+ int index
+
+ update
+ if refreshType == all
+ for index = 0; index < monsters.Length; ++index
+ doRefresh(monsters[index]);
+ else if refreshType == onebyoneTime
+ if Time.now - delay > interval
+ doRefresh(monster[index]);
+ index++;
+ delay = Time.now;
+ else if refreshType == onebyoneDie
+ if prevNpc.isDie
+ prevNpc = doRefresh(monster[index]);
+ index++;
+
+ int deadCount
+ float overTime = conditionParam * 0.001f;
+ float timePast = Time.now
+
+ over
+ if condition == None
+ return true;
+ else if condition == DeadCount
+ return deadCount > monsters.Length || deadCount > conditionParam;
+ else if condition == Time
+ return Time.now - timePast >= overTime;
+ */
+ }
+}
\ No newline at end of file
diff --git a/Core/MapEditor/Data/Event/Evt_RefreshMonster.cs.meta b/Core/MapEditor/Data/Event/Evt_RefreshMonster.cs.meta
new file mode 100644
index 0000000..33e7573
--- /dev/null
+++ b/Core/MapEditor/Data/Event/Evt_RefreshMonster.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: d5b73b47c82904a45965261e4e2ab644
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Core/MapEditor/Data/Event/MonsterData.cs b/Core/MapEditor/Data/Event/MonsterData.cs
new file mode 100644
index 0000000..05851cb
--- /dev/null
+++ b/Core/MapEditor/Data/Event/MonsterData.cs
@@ -0,0 +1,23 @@
+using UnityEngine;
+using System.IO;
+
+namespace H2Engine
+{
+ [System.Serializable]
+ public class MonsterData
+ {
+ public int npcID;
+ public Vector3 position;
+ public int ai;
+
+ public void Load(BinaryReader br)
+ {
+ npcID = br.ReadInt32();
+ ai = br.ReadByte();
+ float _x = br.ReadSingle();
+ float _y = br.ReadSingle();
+ float _z = br.ReadSingle();
+ position = new Vector3(_x, _y, _z);
+ }
+ }
+}
\ No newline at end of file
diff --git a/Core/MapEditor/Data/Event/MonsterData.cs.meta b/Core/MapEditor/Data/Event/MonsterData.cs.meta
new file mode 100644
index 0000000..6db0cac
--- /dev/null
+++ b/Core/MapEditor/Data/Event/MonsterData.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: fe4b1c68c1bbb2548b31ee3fc81227e9
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Core/MapEditor/Data/MapData.cs b/Core/MapEditor/Data/MapData.cs
new file mode 100644
index 0000000..a704731
--- /dev/null
+++ b/Core/MapEditor/Data/MapData.cs
@@ -0,0 +1,75 @@
+using UnityEngine;
+using System.IO;
+using System.Collections.Generic;
+
+namespace H2Engine
+{
+ [System.Serializable]
+ public class MapData
+ {
+ public int id;
+ public MapTrigger[] triggers;
+ public Dictionary<int, Evt> eventDict = new Dictionary<int, Evt>();
+ public MapTrasfer[] transfers;
+
+ public static MapData LoadFormFile(string fileName)
+ {
+ string _path = null;
+ if (AssetSource.refdataFromEditor)
+ {
+ _path = ResourcesPath.ResourcesOutPath + "Refdata/MapData/" + fileName + ".gd";
+ }
+ else
+ {
+ _path = AssetVersionUtility.GetAssetFilePath(StringUtility.Contact("mapdata/", fileName, ".gd"));
+ }
+ MapData _mapData = null;
+ if (File.Exists(_path))
+ {
+ using (var _fileStream = File.OpenRead(_path))
+ {
+ using (var _br = new BinaryReader(_fileStream))
+ {
+ _mapData = new MapData();
+ _mapData.Load(_br);
+ }
+ }
+ }
+ return _mapData;
+ }
+
+ public void Load(BinaryReader br)
+ {
+ id = br.ReadInt32();
+ int _count = br.ReadInt32();
+ triggers = new MapTrigger[_count];
+ for (int i = 0; i < _count; ++i)
+ {
+ triggers[i] = new MapTrigger();
+ triggers[i].Load(br);
+ }
+ _count = br.ReadInt32();
+ for (int i = 0; i < _count; ++i)
+ {
+ var _type = (Evt.E_EventType)br.ReadByte();
+ Evt _event = null;
+ if (_type == Evt.E_EventType.Enemy)
+ {
+ _event = new Evt_RefreshMonster();
+ }
+ if (_event != null)
+ {
+ _event.Load(br);
+ eventDict[_event.id] = _event;
+ }
+ }
+ _count = br.ReadInt32();
+ transfers = new MapTrasfer[_count];
+ for (int i = 0; i < _count; ++i)
+ {
+ transfers[i] = new MapTrasfer();
+ transfers[i].Load(br);
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/Core/MapEditor/Data/MapData.cs.meta b/Core/MapEditor/Data/MapData.cs.meta
new file mode 100644
index 0000000..40cbfca
--- /dev/null
+++ b/Core/MapEditor/Data/MapData.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: f75edd0d82af12043ae3ad0b00caf91f
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Core/MapEditor/Data/MapTrigger.cs b/Core/MapEditor/Data/MapTrigger.cs
new file mode 100644
index 0000000..cd04dae
--- /dev/null
+++ b/Core/MapEditor/Data/MapTrigger.cs
@@ -0,0 +1,39 @@
+using UnityEngine;
+using System.IO;
+
+namespace H2Engine
+{
+ [System.Serializable]
+ public class MapTrigger
+ {
+ public Evt.E_EventType type;
+ public int prevID;
+ public int id;
+ public int[] evevntIDs;
+ public Vector3 position;
+ public float rotationY;
+ public Vector3 size;
+
+ public void Load(BinaryReader br)
+ {
+ id = br.ReadInt32();
+ type = (Evt.E_EventType)br.ReadByte();
+ prevID = br.ReadInt32();
+ float _pX = br.ReadSingle();
+ float _pY = br.ReadSingle();
+ float _pZ = br.ReadSingle();
+ float _x = br.ReadSingle();
+ float _z = br.ReadSingle();
+ float _eY = br.ReadSingle();
+ int _count = br.ReadInt32();
+ evevntIDs = new int[_count];
+ for (int i = 0; i < _count; ++i)
+ {
+ evevntIDs[i] = br.ReadInt32();
+ }
+ position = new Vector3(_pX, _pY, _pZ);
+ size = new Vector3(_x, 1, _z);
+ rotationY = _eY;
+ }
+ }
+}
\ No newline at end of file
diff --git a/Core/MapEditor/Data/MapTrigger.cs.meta b/Core/MapEditor/Data/MapTrigger.cs.meta
new file mode 100644
index 0000000..1363cda
--- /dev/null
+++ b/Core/MapEditor/Data/MapTrigger.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 73e3f521830f9854bad41fef4ad96f15
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Core/MapEditor/Data/Transfer.meta b/Core/MapEditor/Data/Transfer.meta
new file mode 100644
index 0000000..a5a654f
--- /dev/null
+++ b/Core/MapEditor/Data/Transfer.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: a69b49b0350da7846baa3c669009d8af
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Core/MapEditor/Data/Transfer/MapTransferPoint.cs b/Core/MapEditor/Data/Transfer/MapTransferPoint.cs
new file mode 100644
index 0000000..c90c417
--- /dev/null
+++ b/Core/MapEditor/Data/Transfer/MapTransferPoint.cs
@@ -0,0 +1,24 @@
+using UnityEngine;
+using System.IO;
+
+namespace H2Engine
+{
+ [System.Serializable]
+ public class MapTransferPoint
+ {
+ public int effectID;
+ public float radius;
+ public Vector3 position;
+
+ public void Load(BinaryReader br)
+ {
+ effectID = br.ReadInt32();
+ float _x = br.ReadSingle();
+ float _y = br.ReadSingle();
+ float _z = br.ReadSingle();
+ position = new Vector3(_x, _y, _z);
+ float _r = br.ReadSingle();
+ radius = _r;
+ }
+ }
+}
\ No newline at end of file
diff --git a/Core/MapEditor/Data/Transfer/MapTransferPoint.cs.meta b/Core/MapEditor/Data/Transfer/MapTransferPoint.cs.meta
new file mode 100644
index 0000000..2dfe6b3
--- /dev/null
+++ b/Core/MapEditor/Data/Transfer/MapTransferPoint.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: a08607a0e6ea4ad4997da27d036e9059
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Core/MapEditor/Data/Transfer/MapTrasfer.cs b/Core/MapEditor/Data/Transfer/MapTrasfer.cs
new file mode 100644
index 0000000..66d97a6
--- /dev/null
+++ b/Core/MapEditor/Data/Transfer/MapTrasfer.cs
@@ -0,0 +1,32 @@
+using System.IO;
+
+namespace H2Engine
+{
+ [System.Serializable]
+ public class MapTrasfer
+ {
+ public int id;
+ public enum E_TransferType
+ {
+ None,
+ Current,
+ Other,
+ }
+ public E_TransferType transferType;
+ public int param;
+ public MapTransferPoint[] transferPoints;
+
+ public void Load(BinaryReader br)
+ {
+ transferType = (MapTrasfer.E_TransferType)br.ReadByte();
+ param = br.ReadInt32();
+ int _count = br.ReadInt32();
+ transferPoints = new MapTransferPoint[_count];
+ for (int i = 0; i < _count; ++i)
+ {
+ transferPoints[i] = new MapTransferPoint();
+ transferPoints[i].Load(br);
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/Core/MapEditor/Data/Transfer/MapTrasfer.cs.meta b/Core/MapEditor/Data/Transfer/MapTrasfer.cs.meta
new file mode 100644
index 0000000..89aaa56
--- /dev/null
+++ b/Core/MapEditor/Data/Transfer/MapTrasfer.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 548fffb2921aaba4b96139b1976f7ba7
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Core/MapEditor/Editor.meta b/Core/MapEditor/Editor.meta
new file mode 100644
index 0000000..d4d5e36
--- /dev/null
+++ b/Core/MapEditor/Editor.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 6c3fdea6dbf8f6c44b0b1f941f63c7c0
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Core/MapEditor/Editor/EditorResources.meta b/Core/MapEditor/Editor/EditorResources.meta
new file mode 100644
index 0000000..af869b1
--- /dev/null
+++ b/Core/MapEditor/Editor/EditorResources.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 5607bcbf23a156943a0e0162e30605c8
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Core/MapEditor/Editor/EditorResources/EditorSkin.guiskin b/Core/MapEditor/Editor/EditorResources/EditorSkin.guiskin
new file mode 100644
index 0000000..47c819d
--- /dev/null
+++ b/Core/MapEditor/Editor/EditorResources/EditorSkin.guiskin
@@ -0,0 +1,1559 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 0}
+ m_Enabled: 1
+ m_EditorHideFlags: 1
+ m_Script: {fileID: 12001, guid: 0000000000000000e000000000000000, type: 0}
+ m_Name: EditorSkin
+ m_EditorClassIdentifier:
+ m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
+ m_box:
+ m_Name: box
+ m_Normal:
+ m_Background: {fileID: 11001, guid: 0000000000000000e000000000000000, type: 0}
+ m_ScaledBackgrounds: []
+ m_TextColor: {r: 0.79999995, g: 0.79999995, b: 0.79999995, a: 1}
+ m_Hover:
+ m_Background: {fileID: 0}
+ m_ScaledBackgrounds: []
+ m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+ m_Active:
+ m_Background: {fileID: 0}
+ m_ScaledBackgrounds: []
+ m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+ m_Focused:
+ m_Background: {fileID: 0}
+ m_ScaledBackgrounds: []
+ m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+ m_OnNormal:
+ m_Background: {fileID: 0}
+ m_ScaledBackgrounds: []
+ m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+ m_OnHover:
+ m_Background: {fileID: 0}
+ m_ScaledBackgrounds: []
+ m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+ m_OnActive:
+ m_Background: {fileID: 0}
+ m_ScaledBackgrounds: []
+ m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+ m_OnFocused:
+ m_Background: {fileID: 0}
+ m_ScaledBackgrounds: []
+ m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+ m_Border:
+ m_Left: 6
+ m_Right: 6
+ m_Top: 6
+ m_Bottom: 6
+ m_Margin:
+ m_Left: 4
+ m_Right: 4
+ m_Top: 4
+ m_Bottom: 4
+ m_Padding:
+ m_Left: 4
+ m_Right: 4
+ m_Top: 4
+ m_Bottom: 4
+ m_Overflow:
+ m_Left: 0
+ m_Right: 0
+ m_Top: 0
+ m_Bottom: 0
+ m_Font: {fileID: 0}
+ m_FontSize: 0
+ m_FontStyle: 0
+ m_Alignment: 1
+ m_WordWrap: 0
+ m_RichText: 1
+ m_TextClipping: 1
+ m_ImagePosition: 0
+ m_ContentOffset: {x: 0, y: 0}
+ m_FixedWidth: 0
+ m_FixedHeight: 0
+ m_StretchWidth: 1
+ m_StretchHeight: 0
+ m_button:
+ m_Name: button
+ m_Normal:
+ m_Background: {fileID: 11006, guid: 0000000000000000e000000000000000, type: 0}
+ m_ScaledBackgrounds: []
+ m_TextColor: {r: 0.9, g: 0.9, b: 0.9, a: 1}
+ m_Hover:
+ m_Background: {fileID: 11003, guid: 0000000000000000e000000000000000, type: 0}
+ m_ScaledBackgrounds: []
+ m_TextColor: {r: 1, g: 1, b: 1, a: 1}
+ m_Active:
+ m_Background: {fileID: 11002, guid: 0000000000000000e000000000000000, type: 0}
+ m_ScaledBackgrounds: []
+ m_TextColor: {r: 0.9, g: 0.9, b: 0.9, a: 1}
+ m_Focused:
+ m_Background: {fileID: 0}
+ m_ScaledBackgrounds: []
+ m_TextColor: {r: 1, g: 1, b: 1, a: 1}
+ m_OnNormal:
+ m_Background: {fileID: 11005, guid: 0000000000000000e000000000000000, type: 0}
+ m_ScaledBackgrounds: []
+ m_TextColor: {r: 0.9019608, g: 0.9019608, b: 0.9019608, a: 1}
+ m_OnHover:
+ m_Background: {fileID: 11004, guid: 0000000000000000e000000000000000, type: 0}
+ m_ScaledBackgrounds: []
+ m_TextColor: {r: 1, g: 1, b: 1, a: 1}
+ m_OnActive:
+ m_Background: {fileID: 11002, guid: 0000000000000000e000000000000000, type: 0}
+ m_ScaledBackgrounds: []
+ m_TextColor: {r: 0.9, g: 0.9, b: 0.9, a: 1}
+ m_OnFocused:
+ m_Background: {fileID: 0}
+ m_ScaledBackgrounds: []
+ m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+ m_Border:
+ m_Left: 6
+ m_Right: 6
+ m_Top: 6
+ m_Bottom: 4
+ m_Margin:
+ m_Left: 4
+ m_Right: 4
+ m_Top: 4
+ m_Bottom: 4
+ m_Padding:
+ m_Left: 6
+ m_Right: 6
+ m_Top: 3
+ m_Bottom: 3
+ m_Overflow:
+ m_Left: 0
+ m_Right: 0
+ m_Top: 0
+ m_Bottom: 0
+ m_Font: {fileID: 0}
+ m_FontSize: 0
+ m_FontStyle: 0
+ m_Alignment: 4
+ m_WordWrap: 0
+ m_RichText: 1
+ m_TextClipping: 1
+ m_ImagePosition: 0
+ m_ContentOffset: {x: 0, y: 0}
+ m_FixedWidth: 0
+ m_FixedHeight: 0
+ m_StretchWidth: 1
+ m_StretchHeight: 0
+ m_toggle:
+ m_Name: toggle
+ m_Normal:
+ m_Background: {fileID: 11018, guid: 0000000000000000e000000000000000, type: 0}
+ m_ScaledBackgrounds: []
+ m_TextColor: {r: 0.89112896, g: 0.89112896, b: 0.89112896, a: 1}
+ m_Hover:
+ m_Background: {fileID: 11014, guid: 0000000000000000e000000000000000, type: 0}
+ m_ScaledBackgrounds: []
+ m_TextColor: {r: 1, g: 1, b: 1, a: 1}
+ m_Active:
+ m_Background: {fileID: 11013, guid: 0000000000000000e000000000000000, type: 0}
+ m_ScaledBackgrounds: []
+ m_TextColor: {r: 1, g: 1, b: 1, a: 1}
+ m_Focused:
+ m_Background: {fileID: 0}
+ m_ScaledBackgrounds: []
+ m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+ m_OnNormal:
+ m_Background: {fileID: 11016, guid: 0000000000000000e000000000000000, type: 0}
+ m_ScaledBackgrounds: []
+ m_TextColor: {r: 0.8901961, g: 0.8901961, b: 0.8901961, a: 1}
+ m_OnHover:
+ m_Background: {fileID: 11015, guid: 0000000000000000e000000000000000, type: 0}
+ m_ScaledBackgrounds: []
+ m_TextColor: {r: 1, g: 1, b: 1, a: 1}
+ m_OnActive:
+ m_Background: {fileID: 11017, guid: 0000000000000000e000000000000000, type: 0}
+ m_ScaledBackgrounds: []
+ m_TextColor: {r: 1, g: 1, b: 1, a: 1}
+ m_OnFocused:
+ m_Background: {fileID: 0}
+ m_ScaledBackgrounds: []
+ m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+ m_Border:
+ m_Left: 14
+ m_Right: 0
+ m_Top: 14
+ m_Bottom: 0
+ m_Margin:
+ m_Left: 4
+ m_Right: 4
+ m_Top: 4
+ m_Bottom: 4
+ m_Padding:
+ m_Left: 15
+ m_Right: 0
+ m_Top: 3
+ m_Bottom: 0
+ m_Overflow:
+ m_Left: -1
+ m_Right: 0
+ m_Top: -4
+ m_Bottom: 0
+ m_Font: {fileID: 0}
+ m_FontSize: 12
+ m_FontStyle: 0
+ m_Alignment: 0
+ m_WordWrap: 0
+ m_RichText: 1
+ m_TextClipping: 1
+ m_ImagePosition: 0
+ m_ContentOffset: {x: 0, y: 0}
+ m_FixedWidth: 0
+ m_FixedHeight: 0
+ m_StretchWidth: 1
+ m_StretchHeight: 0
+ m_label:
+ m_Name: label
+ m_Normal:
+ m_Background: {fileID: 0}
+ m_ScaledBackgrounds: []
+ m_TextColor: {r: 0.9, g: 0.9, b: 0.9, a: 1}
+ m_Hover:
+ m_Background: {fileID: 0}
+ m_ScaledBackgrounds: []
+ m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+ m_Active:
+ m_Background: {fileID: 0}
+ m_ScaledBackgrounds: []
+ m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+ m_Focused:
+ m_Background: {fileID: 0}
+ m_ScaledBackgrounds: []
+ m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+ m_OnNormal:
+ m_Background: {fileID: 0}
+ m_ScaledBackgrounds: []
+ m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+ m_OnHover:
+ m_Background: {fileID: 0}
+ m_ScaledBackgrounds: []
+ m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+ m_OnActive:
+ m_Background: {fileID: 0}
+ m_ScaledBackgrounds: []
+ m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+ m_OnFocused:
+ m_Background: {fileID: 0}
+ m_ScaledBackgrounds: []
+ m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+ m_Border:
+ m_Left: 0
+ m_Right: 0
+ m_Top: 0
+ m_Bottom: 0
+ m_Margin:
+ m_Left: 4
+ m_Right: 4
+ m_Top: 4
+ m_Bottom: 4
+ m_Padding:
+ m_Left: 0
+ m_Right: 0
+ m_Top: 3
+ m_Bottom: 3
+ m_Overflow:
+ m_Left: 0
+ m_Right: 0
+ m_Top: 0
+ m_Bottom: 0
+ m_Font: {fileID: 0}
+ m_FontSize: 0
+ m_FontStyle: 0
+ m_Alignment: 0
+ m_WordWrap: 1
+ m_RichText: 1
+ m_TextClipping: 1
+ m_ImagePosition: 0
+ m_ContentOffset: {x: 0, y: 0}
+ m_FixedWidth: 0
+ m_FixedHeight: 0
+ m_StretchWidth: 1
+ m_StretchHeight: 0
+ m_textField:
+ m_Name: textfield
+ m_Normal:
+ m_Background: {fileID: 11024, guid: 0000000000000000e000000000000000, type: 0}
+ m_ScaledBackgrounds: []
+ m_TextColor: {r: 0.79999995, g: 0.79999995, b: 0.79999995, a: 1}
+ m_Hover:
+ m_Background: {fileID: 11026, guid: 0000000000000000e000000000000000, type: 0}
+ m_ScaledBackgrounds: []
+ m_TextColor: {r: 0.9, g: 0.9, b: 0.9, a: 1}
+ m_Active:
+ m_Background: {fileID: 0}
+ m_ScaledBackgrounds: []
+ m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+ m_Focused:
+ m_Background: {fileID: 11026, guid: 0000000000000000e000000000000000, type: 0}
+ m_ScaledBackgrounds: []
+ m_TextColor: {r: 1, g: 1, b: 1, a: 1}
+ m_OnNormal:
+ m_Background: {fileID: 11025, guid: 0000000000000000e000000000000000, type: 0}
+ m_ScaledBackgrounds: []
+ m_TextColor: {r: 1, g: 1, b: 1, a: 1}
+ m_OnHover:
+ m_Background: {fileID: 0}
+ m_ScaledBackgrounds: []
+ m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+ m_OnActive:
+ m_Background: {fileID: 0}
+ m_ScaledBackgrounds: []
+ m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+ m_OnFocused:
+ m_Background: {fileID: 0}
+ m_ScaledBackgrounds: []
+ m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+ m_Border:
+ m_Left: 4
+ m_Right: 4
+ m_Top: 4
+ m_Bottom: 4
+ m_Margin:
+ m_Left: 4
+ m_Right: 4
+ m_Top: 4
+ m_Bottom: 4
+ m_Padding:
+ m_Left: 3
+ m_Right: 3
+ m_Top: 3
+ m_Bottom: 3
+ m_Overflow:
+ m_Left: 0
+ m_Right: 0
+ m_Top: 0
+ m_Bottom: 0
+ m_Font: {fileID: 0}
+ m_FontSize: 0
+ m_FontStyle: 0
+ m_Alignment: 0
+ m_WordWrap: 0
+ m_RichText: 0
+ m_TextClipping: 1
+ m_ImagePosition: 3
+ m_ContentOffset: {x: 0, y: 0}
+ m_FixedWidth: 0
+ m_FixedHeight: 0
+ m_StretchWidth: 1
+ m_StretchHeight: 0
+ m_textArea:
+ m_Name: textarea
+ m_Normal:
+ m_Background: {fileID: 11024, guid: 0000000000000000e000000000000000, type: 0}
+ m_ScaledBackgrounds: []
+ m_TextColor: {r: 0.9019608, g: 0.9019608, b: 0.9019608, a: 1}
+ m_Hover:
+ m_Background: {fileID: 11026, guid: 0000000000000000e000000000000000, type: 0}
+ m_ScaledBackgrounds: []
+ m_TextColor: {r: 0.79999995, g: 0.79999995, b: 0.79999995, a: 1}
+ m_Active:
+ m_Background: {fileID: 0}
+ m_ScaledBackgrounds: []
+ m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+ m_Focused:
+ m_Background: {fileID: 0}
+ m_ScaledBackgrounds: []
+ m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+ m_OnNormal:
+ m_Background: {fileID: 11025, guid: 0000000000000000e000000000000000, type: 0}
+ m_ScaledBackgrounds: []
+ m_TextColor: {r: 1, g: 1, b: 1, a: 1}
+ m_OnHover:
+ m_Background: {fileID: 0}
+ m_ScaledBackgrounds: []
+ m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+ m_OnActive:
+ m_Background: {fileID: 0}
+ m_ScaledBackgrounds: []
+ m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+ m_OnFocused:
+ m_Background: {fileID: 0}
+ m_ScaledBackgrounds: []
+ m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+ m_Border:
+ m_Left: 4
+ m_Right: 4
+ m_Top: 4
+ m_Bottom: 4
+ m_Margin:
+ m_Left: 4
+ m_Right: 4
+ m_Top: 4
+ m_Bottom: 4
+ m_Padding:
+ m_Left: 3
+ m_Right: 3
+ m_Top: 3
+ m_Bottom: 3
+ m_Overflow:
+ m_Left: 0
+ m_Right: 0
+ m_Top: 0
+ m_Bottom: 0
+ m_Font: {fileID: 0}
+ m_FontSize: 0
+ m_FontStyle: 0
+ m_Alignment: 0
+ m_WordWrap: 1
+ m_RichText: 0
+ m_TextClipping: 1
+ m_ImagePosition: 0
+ m_ContentOffset: {x: 0, y: 0}
+ m_FixedWidth: 0
+ m_FixedHeight: 0
+ m_StretchWidth: 1
+ m_StretchHeight: 0
+ m_window:
+ m_Name: window
+ m_Normal:
+ m_Background: {fileID: 11023, guid: 0000000000000000e000000000000000, type: 0}
+ m_ScaledBackgrounds: []
+ m_TextColor: {r: 1, g: 1, b: 1, a: 1}
+ m_Hover:
+ m_Background: {fileID: 0}
+ m_ScaledBackgrounds: []
+ m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+ m_Active:
+ m_Background: {fileID: 0}
+ m_ScaledBackgrounds: []
+ m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+ m_Focused:
+ m_Background: {fileID: 0}
+ m_ScaledBackgrounds: []
+ m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+ m_OnNormal:
+ m_Background: {fileID: 11022, guid: 0000000000000000e000000000000000, type: 0}
+ m_ScaledBackgrounds: []
+ m_TextColor: {r: 1, g: 1, b: 1, a: 1}
+ m_OnHover:
+ m_Background: {fileID: 0}
+ m_ScaledBackgrounds: []
+ m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+ m_OnActive:
+ m_Background: {fileID: 0}
+ m_ScaledBackgrounds: []
+ m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+ m_OnFocused:
+ m_Background: {fileID: 0}
+ m_ScaledBackgrounds: []
+ m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+ m_Border:
+ m_Left: 8
+ m_Right: 8
+ m_Top: 18
+ m_Bottom: 8
+ m_Margin:
+ m_Left: 0
+ m_Right: 0
+ m_Top: 0
+ m_Bottom: 0
+ m_Padding:
+ m_Left: 10
+ m_Right: 10
+ m_Top: 20
+ m_Bottom: 10
+ m_Overflow:
+ m_Left: 0
+ m_Right: 0
+ m_Top: 0
+ m_Bottom: 0
+ m_Font: {fileID: 0}
+ m_FontSize: 0
+ m_FontStyle: 0
+ m_Alignment: 1
+ m_WordWrap: 0
+ m_RichText: 1
+ m_TextClipping: 1
+ m_ImagePosition: 0
+ m_ContentOffset: {x: 0, y: -18}
+ m_FixedWidth: 0
+ m_FixedHeight: 0
+ m_StretchWidth: 1
+ m_StretchHeight: 0
+ m_horizontalSlider:
+ m_Name: horizontalslider
+ m_Normal:
+ m_Background: {fileID: 11009, guid: 0000000000000000e000000000000000, type: 0}
+ m_ScaledBackgrounds: []
+ m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+ m_Hover:
+ m_Background: {fileID: 0}
+ m_ScaledBackgrounds: []
+ m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+ m_Active:
+ m_Background: {fileID: 0}
+ m_ScaledBackgrounds: []
+ m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+ m_Focused:
+ m_Background: {fileID: 0}
+ m_ScaledBackgrounds: []
+ m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+ m_OnNormal:
+ m_Background: {fileID: 0}
+ m_ScaledBackgrounds: []
+ m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+ m_OnHover:
+ m_Background: {fileID: 0}
+ m_ScaledBackgrounds: []
+ m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+ m_OnActive:
+ m_Background: {fileID: 0}
+ m_ScaledBackgrounds: []
+ m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+ m_OnFocused:
+ m_Background: {fileID: 0}
+ m_ScaledBackgrounds: []
+ m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+ m_Border:
+ m_Left: 3
+ m_Right: 3
+ m_Top: 0
+ m_Bottom: 0
+ m_Margin:
+ m_Left: 4
+ m_Right: 4
+ m_Top: 4
+ m_Bottom: 4
+ m_Padding:
+ m_Left: -1
+ m_Right: -1
+ m_Top: 0
+ m_Bottom: 0
+ m_Overflow:
+ m_Left: 0
+ m_Right: 0
+ m_Top: -2
+ m_Bottom: -3
+ m_Font: {fileID: 0}
+ m_FontSize: 0
+ m_FontStyle: 0
+ m_Alignment: 0
+ m_WordWrap: 0
+ m_RichText: 1
+ m_TextClipping: 1
+ m_ImagePosition: 2
+ m_ContentOffset: {x: 0, y: 0}
+ m_FixedWidth: 0
+ m_FixedHeight: 12
+ m_StretchWidth: 1
+ m_StretchHeight: 0
+ m_horizontalSliderThumb:
+ m_Name: horizontalsliderthumb
+ m_Normal:
+ m_Background: {fileID: 11011, guid: 0000000000000000e000000000000000, type: 0}
+ m_ScaledBackgrounds: []
+ m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+ m_Hover:
+ m_Background: {fileID: 11012, guid: 0000000000000000e000000000000000, type: 0}
+ m_ScaledBackgrounds: []
+ m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+ m_Active:
+ m_Background: {fileID: 11010, guid: 0000000000000000e000000000000000, type: 0}
+ m_ScaledBackgrounds: []
+ m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+ m_Focused:
+ m_Background: {fileID: 0}
+ m_ScaledBackgrounds: []
+ m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+ m_OnNormal:
+ m_Background: {fileID: 0}
+ m_ScaledBackgrounds: []
+ m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+ m_OnHover:
+ m_Background: {fileID: 0}
+ m_ScaledBackgrounds: []
+ m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+ m_OnActive:
+ m_Background: {fileID: 0}
+ m_ScaledBackgrounds: []
+ m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+ m_OnFocused:
+ m_Background: {fileID: 0}
+ m_ScaledBackgrounds: []
+ m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+ m_Border:
+ m_Left: 4
+ m_Right: 4
+ m_Top: 0
+ m_Bottom: 0
+ m_Margin:
+ m_Left: 0
+ m_Right: 0
+ m_Top: 0
+ m_Bottom: 0
+ m_Padding:
+ m_Left: 7
+ m_Right: 7
+ m_Top: 0
+ m_Bottom: 0
+ m_Overflow:
+ m_Left: -1
+ m_Right: -1
+ m_Top: 0
+ m_Bottom: 0
+ m_Font: {fileID: 0}
+ m_FontSize: 0
+ m_FontStyle: 0
+ m_Alignment: 0
+ m_WordWrap: 0
+ m_RichText: 1
+ m_TextClipping: 1
+ m_ImagePosition: 2
+ m_ContentOffset: {x: 0, y: 0}
+ m_FixedWidth: 0
+ m_FixedHeight: 12
+ m_StretchWidth: 1
+ m_StretchHeight: 0
+ m_verticalSlider:
+ m_Name: verticalslider
+ m_Normal:
+ m_Background: {fileID: 11021, guid: 0000000000000000e000000000000000, type: 0}
+ m_ScaledBackgrounds: []
+ m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+ m_Hover:
+ m_Background: {fileID: 0}
+ m_ScaledBackgrounds: []
+ m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+ m_Active:
+ m_Background: {fileID: 0}
+ m_ScaledBackgrounds: []
+ m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+ m_Focused:
+ m_Background: {fileID: 0}
+ m_ScaledBackgrounds: []
+ m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+ m_OnNormal:
+ m_Background: {fileID: 0}
+ m_ScaledBackgrounds: []
+ m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+ m_OnHover:
+ m_Background: {fileID: 0}
+ m_ScaledBackgrounds: []
+ m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+ m_OnActive:
+ m_Background: {fileID: 0}
+ m_ScaledBackgrounds: []
+ m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+ m_OnFocused:
+ m_Background: {fileID: 0}
+ m_ScaledBackgrounds: []
+ m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+ m_Border:
+ m_Left: 0
+ m_Right: 0
+ m_Top: 3
+ m_Bottom: 3
+ m_Margin:
+ m_Left: 4
+ m_Right: 4
+ m_Top: 4
+ m_Bottom: 4
+ m_Padding:
+ m_Left: 0
+ m_Right: 0
+ m_Top: -1
+ m_Bottom: -1
+ m_Overflow:
+ m_Left: -2
+ m_Right: -3
+ m_Top: 0
+ m_Bottom: 0
+ m_Font: {fileID: 0}
+ m_FontSize: 0
+ m_FontStyle: 0
+ m_Alignment: 0
+ m_WordWrap: 0
+ m_RichText: 1
+ m_TextClipping: 0
+ m_ImagePosition: 0
+ m_ContentOffset: {x: 0, y: 0}
+ m_FixedWidth: 12
+ m_FixedHeight: 0
+ m_StretchWidth: 0
+ m_StretchHeight: 1
+ m_verticalSliderThumb:
+ m_Name: verticalsliderthumb
+ m_Normal:
+ m_Background: {fileID: 11011, guid: 0000000000000000e000000000000000, type: 0}
+ m_ScaledBackgrounds: []
+ m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+ m_Hover:
+ m_Background: {fileID: 11012, guid: 0000000000000000e000000000000000, type: 0}
+ m_ScaledBackgrounds: []
+ m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+ m_Active:
+ m_Background: {fileID: 11010, guid: 0000000000000000e000000000000000, type: 0}
+ m_ScaledBackgrounds: []
+ m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+ m_Focused:
+ m_Background: {fileID: 0}
+ m_ScaledBackgrounds: []
+ m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+ m_OnNormal:
+ m_Background: {fileID: 0}
+ m_ScaledBackgrounds: []
+ m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+ m_OnHover:
+ m_Background: {fileID: 0}
+ m_ScaledBackgrounds: []
+ m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+ m_OnActive:
+ m_Background: {fileID: 0}
+ m_ScaledBackgrounds: []
+ m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+ m_OnFocused:
+ m_Background: {fileID: 0}
+ m_ScaledBackgrounds: []
+ m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+ m_Border:
+ m_Left: 0
+ m_Right: 0
+ m_Top: 0
+ m_Bottom: 0
+ m_Margin:
+ m_Left: 0
+ m_Right: 0
+ m_Top: 0
+ m_Bottom: 0
+ m_Padding:
+ m_Left: 0
+ m_Right: 0
+ m_Top: 7
+ m_Bottom: 7
+ m_Overflow:
+ m_Left: 0
+ m_Right: 0
+ m_Top: -1
+ m_Bottom: -1
+ m_Font: {fileID: 0}
+ m_FontSize: 0
+ m_FontStyle: 0
+ m_Alignment: 0
+ m_WordWrap: 0
+ m_RichText: 1
+ m_TextClipping: 1
+ m_ImagePosition: 0
+ m_ContentOffset: {x: 0, y: 0}
+ m_FixedWidth: 12
+ m_FixedHeight: 0
+ m_StretchWidth: 0
+ m_StretchHeight: 1
+ m_horizontalScrollbar:
+ m_Name: horizontalscrollbar
+ m_Normal:
+ m_Background: {fileID: 11008, guid: 0000000000000000e000000000000000, type: 0}
+ m_ScaledBackgrounds: []
+ m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+ m_Hover:
+ m_Background: {fileID: 0}
+ m_ScaledBackgrounds: []
+ m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+ m_Active:
+ m_Background: {fileID: 0}
+ m_ScaledBackgrounds: []
+ m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+ m_Focused:
+ m_Background: {fileID: 0}
+ m_ScaledBackgrounds: []
+ m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+ m_OnNormal:
+ m_Background: {fileID: 0}
+ m_ScaledBackgrounds: []
+ m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+ m_OnHover:
+ m_Background: {fileID: 0}
+ m_ScaledBackgrounds: []
+ m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+ m_OnActive:
+ m_Background: {fileID: 0}
+ m_ScaledBackgrounds: []
+ m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+ m_OnFocused:
+ m_Background: {fileID: 0}
+ m_ScaledBackgrounds: []
+ m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+ m_Border:
+ m_Left: 9
+ m_Right: 9
+ m_Top: 0
+ m_Bottom: 0
+ m_Margin:
+ m_Left: 4
+ m_Right: 4
+ m_Top: 1
+ m_Bottom: 4
+ m_Padding:
+ m_Left: 0
+ m_Right: 0
+ m_Top: 0
+ m_Bottom: 0
+ m_Overflow:
+ m_Left: 0
+ m_Right: 0
+ m_Top: 0
+ m_Bottom: 0
+ m_Font: {fileID: 0}
+ m_FontSize: 0
+ m_FontStyle: 0
+ m_Alignment: 0
+ m_WordWrap: 0
+ m_RichText: 1
+ m_TextClipping: 1
+ m_ImagePosition: 2
+ m_ContentOffset: {x: 0, y: 0}
+ m_FixedWidth: 0
+ m_FixedHeight: 15
+ m_StretchWidth: 1
+ m_StretchHeight: 0
+ m_horizontalScrollbarThumb:
+ m_Name: horizontalscrollbarthumb
+ m_Normal:
+ m_Background: {fileID: 11007, guid: 0000000000000000e000000000000000, type: 0}
+ m_ScaledBackgrounds: []
+ m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+ m_Hover:
+ m_Background: {fileID: 0}
+ m_ScaledBackgrounds: []
+ m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+ m_Active:
+ m_Background: {fileID: 0}
+ m_ScaledBackgrounds: []
+ m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+ m_Focused:
+ m_Background: {fileID: 0}
+ m_ScaledBackgrounds: []
+ m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+ m_OnNormal:
+ m_Background: {fileID: 0}
+ m_ScaledBackgrounds: []
+ m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+ m_OnHover:
+ m_Background: {fileID: 0}
+ m_ScaledBackgrounds: []
+ m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+ m_OnActive:
+ m_Background: {fileID: 0}
+ m_ScaledBackgrounds: []
+ m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+ m_OnFocused:
+ m_Background: {fileID: 0}
+ m_ScaledBackgrounds: []
+ m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+ m_Border:
+ m_Left: 6
+ m_Right: 6
+ m_Top: 6
+ m_Bottom: 6
+ m_Margin:
+ m_Left: 0
+ m_Right: 0
+ m_Top: 0
+ m_Bottom: 0
+ m_Padding:
+ m_Left: 6
+ m_Right: 6
+ m_Top: 0
+ m_Bottom: 0
+ m_Overflow:
+ m_Left: 0
+ m_Right: 0
+ m_Top: -1
+ m_Bottom: 1
+ m_Font: {fileID: 0}
+ m_FontSize: 0
+ m_FontStyle: 0
+ m_Alignment: 0
+ m_WordWrap: 0
+ m_RichText: 1
+ m_TextClipping: 1
+ m_ImagePosition: 0
+ m_ContentOffset: {x: 0, y: 0}
+ m_FixedWidth: 0
+ m_FixedHeight: 13
+ m_StretchWidth: 1
+ m_StretchHeight: 0
+ m_horizontalScrollbarLeftButton:
+ m_Name: horizontalscrollbarleftbutton
+ m_Normal:
+ m_Background: {fileID: 0}
+ m_ScaledBackgrounds: []
+ m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+ m_Hover:
+ m_Background: {fileID: 0}
+ m_ScaledBackgrounds: []
+ m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+ m_Active:
+ m_Background: {fileID: 0}
+ m_ScaledBackgrounds: []
+ m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+ m_Focused:
+ m_Background: {fileID: 0}
+ m_ScaledBackgrounds: []
+ m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+ m_OnNormal:
+ m_Background: {fileID: 0}
+ m_ScaledBackgrounds: []
+ m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+ m_OnHover:
+ m_Background: {fileID: 0}
+ m_ScaledBackgrounds: []
+ m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+ m_OnActive:
+ m_Background: {fileID: 0}
+ m_ScaledBackgrounds: []
+ m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+ m_OnFocused:
+ m_Background: {fileID: 0}
+ m_ScaledBackgrounds: []
+ m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+ m_Border:
+ m_Left: 0
+ m_Right: 0
+ m_Top: 0
+ m_Bottom: 0
+ m_Margin:
+ m_Left: 0
+ m_Right: 0
+ m_Top: 0
+ m_Bottom: 0
+ m_Padding:
+ m_Left: 0
+ m_Right: 0
+ m_Top: 0
+ m_Bottom: 0
+ m_Overflow:
+ m_Left: 0
+ m_Right: 0
+ m_Top: 0
+ m_Bottom: 0
+ m_Font: {fileID: 0}
+ m_FontSize: 0
+ m_FontStyle: 0
+ m_Alignment: 0
+ m_WordWrap: 0
+ m_RichText: 1
+ m_TextClipping: 1
+ m_ImagePosition: 0
+ m_ContentOffset: {x: 0, y: 0}
+ m_FixedWidth: 0
+ m_FixedHeight: 0
+ m_StretchWidth: 1
+ m_StretchHeight: 0
+ m_horizontalScrollbarRightButton:
+ m_Name: horizontalscrollbarrightbutton
+ m_Normal:
+ m_Background: {fileID: 0}
+ m_ScaledBackgrounds: []
+ m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+ m_Hover:
+ m_Background: {fileID: 0}
+ m_ScaledBackgrounds: []
+ m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+ m_Active:
+ m_Background: {fileID: 0}
+ m_ScaledBackgrounds: []
+ m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+ m_Focused:
+ m_Background: {fileID: 0}
+ m_ScaledBackgrounds: []
+ m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+ m_OnNormal:
+ m_Background: {fileID: 0}
+ m_ScaledBackgrounds: []
+ m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+ m_OnHover:
+ m_Background: {fileID: 0}
+ m_ScaledBackgrounds: []
+ m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+ m_OnActive:
+ m_Background: {fileID: 0}
+ m_ScaledBackgrounds: []
+ m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+ m_OnFocused:
+ m_Background: {fileID: 0}
+ m_ScaledBackgrounds: []
+ m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+ m_Border:
+ m_Left: 0
+ m_Right: 0
+ m_Top: 0
+ m_Bottom: 0
+ m_Margin:
+ m_Left: 0
+ m_Right: 0
+ m_Top: 0
+ m_Bottom: 0
+ m_Padding:
+ m_Left: 0
+ m_Right: 0
+ m_Top: 0
+ m_Bottom: 0
+ m_Overflow:
+ m_Left: 0
+ m_Right: 0
+ m_Top: 0
+ m_Bottom: 0
+ m_Font: {fileID: 0}
+ m_FontSize: 0
+ m_FontStyle: 0
+ m_Alignment: 0
+ m_WordWrap: 0
+ m_RichText: 1
+ m_TextClipping: 1
+ m_ImagePosition: 0
+ m_ContentOffset: {x: 0, y: 0}
+ m_FixedWidth: 0
+ m_FixedHeight: 0
+ m_StretchWidth: 1
+ m_StretchHeight: 0
+ m_verticalScrollbar:
+ m_Name: verticalscrollbar
+ m_Normal:
+ m_Background: {fileID: 11020, guid: 0000000000000000e000000000000000, type: 0}
+ m_ScaledBackgrounds: []
+ m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+ m_Hover:
+ m_Background: {fileID: 0}
+ m_ScaledBackgrounds: []
+ m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+ m_Active:
+ m_Background: {fileID: 0}
+ m_ScaledBackgrounds: []
+ m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+ m_Focused:
+ m_Background: {fileID: 0}
+ m_ScaledBackgrounds: []
+ m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+ m_OnNormal:
+ m_Background: {fileID: 0}
+ m_ScaledBackgrounds: []
+ m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+ m_OnHover:
+ m_Background: {fileID: 0}
+ m_ScaledBackgrounds: []
+ m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+ m_OnActive:
+ m_Background: {fileID: 0}
+ m_ScaledBackgrounds: []
+ m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+ m_OnFocused:
+ m_Background: {fileID: 0}
+ m_ScaledBackgrounds: []
+ m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+ m_Border:
+ m_Left: 0
+ m_Right: 0
+ m_Top: 9
+ m_Bottom: 9
+ m_Margin:
+ m_Left: 1
+ m_Right: 4
+ m_Top: 4
+ m_Bottom: 4
+ m_Padding:
+ m_Left: 0
+ m_Right: 0
+ m_Top: 1
+ m_Bottom: 1
+ m_Overflow:
+ m_Left: 0
+ m_Right: 0
+ m_Top: 0
+ m_Bottom: 0
+ m_Font: {fileID: 0}
+ m_FontSize: 0
+ m_FontStyle: 0
+ m_Alignment: 0
+ m_WordWrap: 0
+ m_RichText: 1
+ m_TextClipping: 1
+ m_ImagePosition: 0
+ m_ContentOffset: {x: 0, y: 0}
+ m_FixedWidth: 15
+ m_FixedHeight: 0
+ m_StretchWidth: 1
+ m_StretchHeight: 0
+ m_verticalScrollbarThumb:
+ m_Name: verticalscrollbarthumb
+ m_Normal:
+ m_Background: {fileID: 11019, guid: 0000000000000000e000000000000000, type: 0}
+ m_ScaledBackgrounds: []
+ m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+ m_Hover:
+ m_Background: {fileID: 0}
+ m_ScaledBackgrounds: []
+ m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+ m_Active:
+ m_Background: {fileID: 0}
+ m_ScaledBackgrounds: []
+ m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+ m_Focused:
+ m_Background: {fileID: 0}
+ m_ScaledBackgrounds: []
+ m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+ m_OnNormal:
+ m_Background: {fileID: 0}
+ m_ScaledBackgrounds: []
+ m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+ m_OnHover:
+ m_Background: {fileID: 0}
+ m_ScaledBackgrounds: []
+ m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+ m_OnActive:
+ m_Background: {fileID: 0}
+ m_ScaledBackgrounds: []
+ m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+ m_OnFocused:
+ m_Background: {fileID: 0}
+ m_ScaledBackgrounds: []
+ m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+ m_Border:
+ m_Left: 6
+ m_Right: 6
+ m_Top: 6
+ m_Bottom: 6
+ m_Margin:
+ m_Left: 0
+ m_Right: 0
+ m_Top: 0
+ m_Bottom: 0
+ m_Padding:
+ m_Left: 0
+ m_Right: 0
+ m_Top: 6
+ m_Bottom: 6
+ m_Overflow:
+ m_Left: -1
+ m_Right: -1
+ m_Top: 0
+ m_Bottom: 0
+ m_Font: {fileID: 0}
+ m_FontSize: 0
+ m_FontStyle: 0
+ m_Alignment: 0
+ m_WordWrap: 0
+ m_RichText: 1
+ m_TextClipping: 1
+ m_ImagePosition: 2
+ m_ContentOffset: {x: 0, y: 0}
+ m_FixedWidth: 15
+ m_FixedHeight: 0
+ m_StretchWidth: 0
+ m_StretchHeight: 1
+ m_verticalScrollbarUpButton:
+ m_Name: verticalscrollbarupbutton
+ m_Normal:
+ m_Background: {fileID: 0}
+ m_ScaledBackgrounds: []
+ m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+ m_Hover:
+ m_Background: {fileID: 0}
+ m_ScaledBackgrounds: []
+ m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+ m_Active:
+ m_Background: {fileID: 0}
+ m_ScaledBackgrounds: []
+ m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+ m_Focused:
+ m_Background: {fileID: 0}
+ m_ScaledBackgrounds: []
+ m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+ m_OnNormal:
+ m_Background: {fileID: 0}
+ m_ScaledBackgrounds: []
+ m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+ m_OnHover:
+ m_Background: {fileID: 0}
+ m_ScaledBackgrounds: []
+ m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+ m_OnActive:
+ m_Background: {fileID: 0}
+ m_ScaledBackgrounds: []
+ m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+ m_OnFocused:
+ m_Background: {fileID: 0}
+ m_ScaledBackgrounds: []
+ m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+ m_Border:
+ m_Left: 0
+ m_Right: 0
+ m_Top: 0
+ m_Bottom: 0
+ m_Margin:
+ m_Left: 0
+ m_Right: 0
+ m_Top: 0
+ m_Bottom: 0
+ m_Padding:
+ m_Left: 0
+ m_Right: 0
+ m_Top: 0
+ m_Bottom: 0
+ m_Overflow:
+ m_Left: 0
+ m_Right: 0
+ m_Top: 0
+ m_Bottom: 0
+ m_Font: {fileID: 0}
+ m_FontSize: 0
+ m_FontStyle: 0
+ m_Alignment: 0
+ m_WordWrap: 0
+ m_RichText: 1
+ m_TextClipping: 1
+ m_ImagePosition: 0
+ m_ContentOffset: {x: 0, y: 0}
+ m_FixedWidth: 0
+ m_FixedHeight: 0
+ m_StretchWidth: 1
+ m_StretchHeight: 0
+ m_verticalScrollbarDownButton:
+ m_Name: verticalscrollbardownbutton
+ m_Normal:
+ m_Background: {fileID: 0}
+ m_ScaledBackgrounds: []
+ m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+ m_Hover:
+ m_Background: {fileID: 0}
+ m_ScaledBackgrounds: []
+ m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+ m_Active:
+ m_Background: {fileID: 0}
+ m_ScaledBackgrounds: []
+ m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+ m_Focused:
+ m_Background: {fileID: 0}
+ m_ScaledBackgrounds: []
+ m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+ m_OnNormal:
+ m_Background: {fileID: 0}
+ m_ScaledBackgrounds: []
+ m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+ m_OnHover:
+ m_Background: {fileID: 0}
+ m_ScaledBackgrounds: []
+ m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+ m_OnActive:
+ m_Background: {fileID: 0}
+ m_ScaledBackgrounds: []
+ m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+ m_OnFocused:
+ m_Background: {fileID: 0}
+ m_ScaledBackgrounds: []
+ m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+ m_Border:
+ m_Left: 0
+ m_Right: 0
+ m_Top: 0
+ m_Bottom: 0
+ m_Margin:
+ m_Left: 0
+ m_Right: 0
+ m_Top: 0
+ m_Bottom: 0
+ m_Padding:
+ m_Left: 0
+ m_Right: 0
+ m_Top: 0
+ m_Bottom: 0
+ m_Overflow:
+ m_Left: 0
+ m_Right: 0
+ m_Top: 0
+ m_Bottom: 0
+ m_Font: {fileID: 0}
+ m_FontSize: 0
+ m_FontStyle: 0
+ m_Alignment: 0
+ m_WordWrap: 0
+ m_RichText: 1
+ m_TextClipping: 1
+ m_ImagePosition: 0
+ m_ContentOffset: {x: 0, y: 0}
+ m_FixedWidth: 0
+ m_FixedHeight: 0
+ m_StretchWidth: 1
+ m_StretchHeight: 0
+ m_ScrollView:
+ m_Name: scrollview
+ m_Normal:
+ m_Background: {fileID: 0}
+ m_ScaledBackgrounds: []
+ m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+ m_Hover:
+ m_Background: {fileID: 0}
+ m_ScaledBackgrounds: []
+ m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+ m_Active:
+ m_Background: {fileID: 0}
+ m_ScaledBackgrounds: []
+ m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+ m_Focused:
+ m_Background: {fileID: 0}
+ m_ScaledBackgrounds: []
+ m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+ m_OnNormal:
+ m_Background: {fileID: 0}
+ m_ScaledBackgrounds: []
+ m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+ m_OnHover:
+ m_Background: {fileID: 0}
+ m_ScaledBackgrounds: []
+ m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+ m_OnActive:
+ m_Background: {fileID: 0}
+ m_ScaledBackgrounds: []
+ m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+ m_OnFocused:
+ m_Background: {fileID: 0}
+ m_ScaledBackgrounds: []
+ m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+ m_Border:
+ m_Left: 0
+ m_Right: 0
+ m_Top: 0
+ m_Bottom: 0
+ m_Margin:
+ m_Left: 0
+ m_Right: 0
+ m_Top: 0
+ m_Bottom: 0
+ m_Padding:
+ m_Left: 0
+ m_Right: 0
+ m_Top: 0
+ m_Bottom: 0
+ m_Overflow:
+ m_Left: 0
+ m_Right: 0
+ m_Top: 0
+ m_Bottom: 0
+ m_Font: {fileID: 0}
+ m_FontSize: 0
+ m_FontStyle: 0
+ m_Alignment: 0
+ m_WordWrap: 0
+ m_RichText: 1
+ m_TextClipping: 1
+ m_ImagePosition: 0
+ m_ContentOffset: {x: 0, y: 0}
+ m_FixedWidth: 0
+ m_FixedHeight: 0
+ m_StretchWidth: 1
+ m_StretchHeight: 0
+ m_CustomStyles:
+ - m_Name: label_12
+ m_Normal:
+ m_Background: {fileID: 0}
+ m_ScaledBackgrounds: []
+ m_TextColor: {r: 1, g: 1, b: 1, a: 1}
+ m_Hover:
+ m_Background: {fileID: 0}
+ m_ScaledBackgrounds: []
+ m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+ m_Active:
+ m_Background: {fileID: 0}
+ m_ScaledBackgrounds: []
+ m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+ m_Focused:
+ m_Background: {fileID: 0}
+ m_ScaledBackgrounds: []
+ m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+ m_OnNormal:
+ m_Background: {fileID: 0}
+ m_ScaledBackgrounds: []
+ m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+ m_OnHover:
+ m_Background: {fileID: 0}
+ m_ScaledBackgrounds: []
+ m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+ m_OnActive:
+ m_Background: {fileID: 0}
+ m_ScaledBackgrounds: []
+ m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+ m_OnFocused:
+ m_Background: {fileID: 0}
+ m_ScaledBackgrounds: []
+ m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+ m_Border:
+ m_Left: 0
+ m_Right: 0
+ m_Top: 0
+ m_Bottom: 0
+ m_Margin:
+ m_Left: 0
+ m_Right: 0
+ m_Top: 0
+ m_Bottom: 0
+ m_Padding:
+ m_Left: 0
+ m_Right: 0
+ m_Top: 0
+ m_Bottom: 0
+ m_Overflow:
+ m_Left: 0
+ m_Right: 0
+ m_Top: 0
+ m_Bottom: 0
+ m_Font: {fileID: 0}
+ m_FontSize: 12
+ m_FontStyle: 0
+ m_Alignment: 4
+ m_WordWrap: 0
+ m_RichText: 1
+ m_TextClipping: 0
+ m_ImagePosition: 0
+ m_ContentOffset: {x: 0, y: 0}
+ m_FixedWidth: 0
+ m_FixedHeight: 0
+ m_StretchWidth: 1
+ m_StretchHeight: 0
+ - m_Name: box_gray
+ m_Normal:
+ m_Background: {fileID: 2800000, guid: 974bc19b782e5c241897a5476ecbbe36, type: 3}
+ m_ScaledBackgrounds: []
+ m_TextColor: {r: 1, g: 1, b: 1, a: 1}
+ m_Hover:
+ m_Background: {fileID: 0}
+ m_ScaledBackgrounds: []
+ m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+ m_Active:
+ m_Background: {fileID: 0}
+ m_ScaledBackgrounds: []
+ m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+ m_Focused:
+ m_Background: {fileID: 0}
+ m_ScaledBackgrounds: []
+ m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+ m_OnNormal:
+ m_Background: {fileID: 0}
+ m_ScaledBackgrounds: []
+ m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+ m_OnHover:
+ m_Background: {fileID: 0}
+ m_ScaledBackgrounds: []
+ m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+ m_OnActive:
+ m_Background: {fileID: 0}
+ m_ScaledBackgrounds: []
+ m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+ m_OnFocused:
+ m_Background: {fileID: 0}
+ m_ScaledBackgrounds: []
+ m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+ m_Border:
+ m_Left: 6
+ m_Right: 6
+ m_Top: 6
+ m_Bottom: 6
+ m_Margin:
+ m_Left: 4
+ m_Right: 4
+ m_Top: 4
+ m_Bottom: 4
+ m_Padding:
+ m_Left: 4
+ m_Right: 4
+ m_Top: 4
+ m_Bottom: 4
+ m_Overflow:
+ m_Left: 0
+ m_Right: 0
+ m_Top: 0
+ m_Bottom: 0
+ m_Font: {fileID: 0}
+ m_FontSize: 0
+ m_FontStyle: 0
+ m_Alignment: 4
+ m_WordWrap: 0
+ m_RichText: 1
+ m_TextClipping: 0
+ m_ImagePosition: 0
+ m_ContentOffset: {x: 0, y: 0}
+ m_FixedWidth: 0
+ m_FixedHeight: 0
+ m_StretchWidth: 1
+ m_StretchHeight: 0
+ - m_Name: label_11
+ m_Normal:
+ m_Background: {fileID: 0}
+ m_ScaledBackgrounds: []
+ m_TextColor: {r: 1, g: 1, b: 1, a: 1}
+ m_Hover:
+ m_Background: {fileID: 0}
+ m_ScaledBackgrounds: []
+ m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+ m_Active:
+ m_Background: {fileID: 0}
+ m_ScaledBackgrounds: []
+ m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+ m_Focused:
+ m_Background: {fileID: 0}
+ m_ScaledBackgrounds: []
+ m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+ m_OnNormal:
+ m_Background: {fileID: 0}
+ m_ScaledBackgrounds: []
+ m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+ m_OnHover:
+ m_Background: {fileID: 0}
+ m_ScaledBackgrounds: []
+ m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+ m_OnActive:
+ m_Background: {fileID: 0}
+ m_ScaledBackgrounds: []
+ m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+ m_OnFocused:
+ m_Background: {fileID: 0}
+ m_ScaledBackgrounds: []
+ m_TextColor: {r: 0, g: 0, b: 0, a: 1}
+ m_Border:
+ m_Left: 6
+ m_Right: 6
+ m_Top: 6
+ m_Bottom: 6
+ m_Margin:
+ m_Left: 4
+ m_Right: 4
+ m_Top: 4
+ m_Bottom: 4
+ m_Padding:
+ m_Left: 4
+ m_Right: 4
+ m_Top: 4
+ m_Bottom: 4
+ m_Overflow:
+ m_Left: 0
+ m_Right: 0
+ m_Top: 0
+ m_Bottom: 0
+ m_Font: {fileID: 0}
+ m_FontSize: 11
+ m_FontStyle: 0
+ m_Alignment: 4
+ m_WordWrap: 0
+ m_RichText: 1
+ m_TextClipping: 0
+ m_ImagePosition: 0
+ m_ContentOffset: {x: 0, y: 0}
+ m_FixedWidth: 0
+ m_FixedHeight: 0
+ m_StretchWidth: 1
+ m_StretchHeight: 0
+ m_Settings:
+ m_DoubleClickSelectsWord: 1
+ m_TripleClickSelectsLine: 1
+ m_CursorColor: {r: 1, g: 1, b: 1, a: 1}
+ m_CursorFlashSpeed: -1
+ m_SelectionColor: {r: 1, g: 0.38403907, b: 0, a: 0.7}
diff --git a/Core/MapEditor/Editor/EditorResources/EditorSkin.guiskin.meta b/Core/MapEditor/Editor/EditorResources/EditorSkin.guiskin.meta
new file mode 100644
index 0000000..af5831b
--- /dev/null
+++ b/Core/MapEditor/Editor/EditorResources/EditorSkin.guiskin.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 62a8bf0ea5371314fa045af4833ad1f1
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 11400000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Core/MapEditor/Editor/EditorResources/box_white.png b/Core/MapEditor/Editor/EditorResources/box_white.png
new file mode 100644
index 0000000..a173857
--- /dev/null
+++ b/Core/MapEditor/Editor/EditorResources/box_white.png
Binary files differ
diff --git a/Core/MapEditor/Editor/EditorResources/box_white.png.meta b/Core/MapEditor/Editor/EditorResources/box_white.png.meta
new file mode 100644
index 0000000..28d8116
--- /dev/null
+++ b/Core/MapEditor/Editor/EditorResources/box_white.png.meta
@@ -0,0 +1,88 @@
+fileFormatVersion: 2
+guid: 974bc19b782e5c241897a5476ecbbe36
+TextureImporter:
+ fileIDToRecycleName: {}
+ externalObjects: {}
+ serializedVersion: 7
+ mipmaps:
+ mipMapMode: 0
+ enableMipMap: 1
+ sRGBTexture: 1
+ linearTexture: 0
+ fadeOut: 0
+ borderMipMap: 0
+ mipMapsPreserveCoverage: 0
+ alphaTestReferenceValue: 0.5
+ mipMapFadeDistanceStart: 1
+ mipMapFadeDistanceEnd: 3
+ bumpmap:
+ convertToNormalMap: 0
+ externalNormalMap: 0
+ heightScale: 0.25
+ normalMapFilter: 0
+ isReadable: 0
+ streamingMipmaps: 0
+ streamingMipmapsPriority: 0
+ grayScaleToAlpha: 0
+ generateCubemap: 6
+ cubemapConvolution: 0
+ seamlessCubemap: 0
+ textureFormat: 1
+ maxTextureSize: 2048
+ textureSettings:
+ serializedVersion: 2
+ filterMode: -1
+ aniso: -1
+ mipBias: -100
+ wrapU: -1
+ wrapV: -1
+ wrapW: -1
+ nPOTScale: 1
+ lightmap: 0
+ compressionQuality: 50
+ spriteMode: 0
+ spriteExtrude: 1
+ spriteMeshType: 1
+ alignment: 0
+ spritePivot: {x: 0.5, y: 0.5}
+ spritePixelsToUnits: 100
+ spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+ spriteGenerateFallbackPhysicsShape: 1
+ alphaUsage: 1
+ alphaIsTransparency: 0
+ spriteTessellationDetail: -1
+ textureType: 0
+ textureShape: 1
+ singleChannelComponent: 0
+ maxTextureSizeSet: 0
+ compressionQualitySet: 0
+ textureFormatSet: 0
+ platformSettings:
+ - serializedVersion: 2
+ buildTarget: DefaultTexturePlatform
+ maxTextureSize: 2048
+ resizeAlgorithm: 0
+ textureFormat: -1
+ textureCompression: 1
+ compressionQuality: 50
+ crunchedCompression: 0
+ allowsAlphaSplitting: 0
+ overridden: 0
+ androidETC2FallbackOverride: 0
+ spriteSheet:
+ serializedVersion: 2
+ sprites: []
+ outline: []
+ physicsShape: []
+ bones: []
+ spriteID:
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ spritePackingTag:
+ pSDRemoveMatte: 0
+ pSDShowRemoveMatteOption: 0
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Core/MapEditor/Editor/MapEditor.cs b/Core/MapEditor/Editor/MapEditor.cs
new file mode 100644
index 0000000..c56e25c
--- /dev/null
+++ b/Core/MapEditor/Editor/MapEditor.cs
@@ -0,0 +1,300 @@
+using System.IO;
+using UnityEditor;
+using UnityEngine;
+
+namespace H2Engine
+{
+ [CustomEditor(typeof(Bhv_MapData))]
+ public class MapEditor : Editor
+ {
+ private string LS_KEY_SAVEPATH;
+
+ private int m_TriggerSeed;
+ private int m_EventSeed;
+ private int m_TransferSeed;
+ private int RequestTriggerID()
+ {
+ return m_TriggerSeed++;
+ }
+ private int RequestEventID()
+ {
+ return m_EventSeed++;
+ }
+
+ private Evt.E_EventType eventType = Evt.E_EventType.Enemy;
+
+ [MenuItem("绋嬪簭/MapEditor | 鍦板浘缂栬緫鍣�")]
+ static void Init()
+ {
+ var _mono = GameObject.FindObjectOfType<Bhv_MapData>();
+ if (_mono == null)
+ {
+ var _root = CreateNewGO(Bhv_MapData.NodeName_Root);
+ _root.AddComponent<Bhv_MapData>();
+ Selection.activeGameObject = _root;
+
+ var _child = CreateNewGO(Bhv_MapData.NodeName_TriggerList);
+ _child.transform.SetParent(_root.transform);
+
+ _child = CreateNewGO(Bhv_MapData.NodeName_EventList);
+ _child.transform.SetParent(_root.transform);
+
+ _child = CreateNewGO(Bhv_MapData.NodeName_TransferList);
+ _child.transform.SetParent(_root.transform);
+ }
+ }
+
+ public static GameObject CreateNewGO(string name)
+ {
+ var _go = new GameObject(name);
+ _go.transform.position = Vector3.zero;
+ _go.transform.eulerAngles = Vector3.zero;
+ _go.transform.localScale = Vector3.one;
+ return _go;
+ }
+
+ private GUISkin gUISkin;
+
+ /// <summary>
+ /// This function is called when the object becomes enabled and active.
+ /// </summary>
+ void OnEnable()
+ {
+ target.name = "MapEditor";
+ LS_KEY_SAVEPATH = System.Environment.CurrentDirectory + "/MapEditor/Save";
+ }
+
+ public override void OnInspectorGUI()
+ {
+ if (gUISkin == null)
+ {
+ gUISkin = AssetDatabase.LoadAssetAtPath<GUISkin>("Assets/Scripts/Core/MapEditor/Editor/EditorResources/EditorSkin.guiskin");
+ }
+
+ serializedObject.Update();
+
+ var _mapData = target as Bhv_MapData;
+ GUILayout.Space(5);
+
+ EditorGUILayout.BeginVertical(gUISkin.box);
+
+ EditorGUILayout.BeginHorizontal(gUISkin.box, GUILayout.Height(24));
+ EditorGUILayout.LabelField("鏁版嵁ID", gUISkin.customStyles[0], GUILayout.Height(22), GUILayout.Width(60));
+ _mapData.id = EditorGUILayout.IntField(_mapData.id, gUISkin.textField, GUILayout.Height(22));
+ if (GUILayout.Button("鍔犺浇", gUISkin.button, GUILayout.Width(60), GUILayout.Height(22)))
+ {
+ Load();
+ }
+ if (GUILayout.Button("淇濆瓨", gUISkin.button, GUILayout.Width(60), GUILayout.Height(22)))
+ {
+ Save();
+ }
+ if (GUILayout.Button("瀵煎嚭", gUISkin.button, GUILayout.Width(60), GUILayout.Height(22)))
+ {
+ Export();
+ }
+ EditorGUILayout.EndHorizontal();
+
+ /// --------------------------------------------------------------------------------
+ /// 瑙﹀彂鍣ㄥ垪琛� Start
+ EditorGUILayout.BeginVertical(gUISkin.box);
+ EditorGUILayout.BeginHorizontal(GUILayout.Height(22));
+ EditorGUI.indentLevel += 1;
+ _mapData.showTriggerList = EditorGUILayout.Foldout(_mapData.showTriggerList, " 瑙﹀彂鍣ㄥ垪琛�", true, gUISkin.toggle);
+ EditorGUI.indentLevel -= 1;
+ if (GUILayout.Button("娣诲姞", gUISkin.button, GUILayout.Width(60), GUILayout.Height(22)))
+ {
+ CreateTrigger();
+ _mapData.showTriggerList = true;
+ }
+ EditorGUILayout.EndHorizontal();
+ if (_mapData.showTriggerList)
+ {
+ for (int i = _mapData.triggerList.Count - 1; i >= 0; --i)
+ {
+ var _trigger = _mapData.triggerList[i];
+ if (_trigger == null)
+ {
+ _mapData.triggerList.RemoveAt(i);
+ continue;
+ }
+ if (_trigger.DrawUI(gUISkin))
+ {
+ _mapData.triggerList.RemoveAt(i);
+ DestroyImmediate(_trigger.gameObject);
+ }
+ }
+ }
+ EditorGUILayout.EndVertical();
+ /// 瑙﹀彂鍣ㄥ垪琛� End
+ /// --------------------------------------------------------------------------------
+
+ /// --------------------------------------------------------------------------------
+ /// 浜嬩欢鍒楄〃 Start
+ EditorGUILayout.BeginVertical(gUISkin.box);
+ EditorGUILayout.BeginHorizontal(GUILayout.Height(22));
+ EditorGUI.indentLevel += 1;
+ _mapData.showEventList = EditorGUILayout.Foldout(_mapData.showEventList, " 浜嬩欢鍒楄〃", true, gUISkin.toggle);
+ EditorGUI.indentLevel -= 1;
+ eventType = (Evt.E_EventType)EditorGUILayout.EnumPopup(eventType, gUISkin.box, GUILayout.Height(22), GUILayout.Width(100));
+ if (GUILayout.Button("娣诲姞", gUISkin.button, GUILayout.Width(60), GUILayout.Height(22)))
+ {
+ CreateEvent(eventType);
+ _mapData.showEventList = true;
+ }
+ EditorGUILayout.EndHorizontal();
+ if (_mapData.showEventList)
+ {
+ for (int i = _mapData.eventList.Count - 1; i >= 0; --i)
+ {
+ var _event = _mapData.eventList[i];
+ if (_event == null)
+ {
+ _mapData.eventList.RemoveAt(i);
+ continue;
+ }
+ if (_event.DrawUI(gUISkin))
+ {
+ _mapData.eventList.RemoveAt(i);
+ DestroyImmediate(_event.gameObject);
+ }
+ }
+ }
+ EditorGUILayout.EndVertical();
+ /// 浜嬩欢鍒楄〃 End
+ /// --------------------------------------------------------------------------------
+
+ /// --------------------------------------------------------------------------------
+ /// 浼犻�佺偣鍒楄〃 Start
+ EditorGUILayout.BeginVertical(gUISkin.box);
+ EditorGUILayout.BeginHorizontal(GUILayout.Height(22));
+ EditorGUI.indentLevel += 1;
+ _mapData.showTransferList = EditorGUILayout.Foldout(_mapData.showTransferList, " 浼犻�佺粍鍒楄〃", true, gUISkin.toggle);
+ EditorGUI.indentLevel -= 1;
+ if (GUILayout.Button("娣诲姞", gUISkin.button, GUILayout.Width(60), GUILayout.Height(22)))
+ {
+ CreateTransferPoint();
+ _mapData.showTransferList = true;
+ }
+ EditorGUILayout.EndHorizontal();
+ if (_mapData.showTransferList)
+ {
+ for (int i = _mapData.transferList.Count - 1; i >= 0; --i)
+ {
+ var _transfer = _mapData.transferList[i];
+ if (_transfer == null)
+ {
+ _mapData.transferList.RemoveAt(i);
+ continue;
+ }
+ if (_transfer.DrawUI(_mapData, gUISkin))
+ {
+ _mapData.transferList.RemoveAt(i);
+ DestroyImmediate(_transfer.gameObject);
+ }
+ }
+ }
+ EditorGUILayout.EndVertical();
+ /// 浼犻�佺偣鍒楄〃 End
+ /// --------------------------------------------------------------------------------
+
+ EditorGUILayout.EndVertical();
+
+ if (GUI.changed)
+ {
+ EditorUtility.SetDirty(target);
+ serializedObject.ApplyModifiedProperties();
+ }
+ }
+
+ private void CreateTrigger()
+ {
+ var _mapData = target as Bhv_MapData;
+ var _trigger = CreateNewGO(Bhv_MapData.NodeName_Trigger + RequestTriggerID());
+ var _triggerBhv = _trigger.AddComponent<Bhv_MapTrigger>();
+ _triggerBhv.boxCollider = _trigger.AddComponent<BoxCollider>();
+ _trigger.transform.SetParent(_mapData.transform.Find(Bhv_MapData.NodeName_TriggerList));
+ _mapData.triggerList.Add(_triggerBhv);
+ }
+
+ private void CreateEvent(Evt.E_EventType type)
+ {
+ var _mapData = target as Bhv_MapData;
+
+ if (type == Evt.E_EventType.Enemy)
+ {
+ var _event = CreateNewGO(Bhv_MapData.NodeName_Event + RequestEventID());
+ var _eventBhv = _event.AddComponent<Bhv_Evt_RefreshMonster>();
+ _eventBhv.type = type;
+ _event.transform.SetParent(_mapData.transform.Find(Bhv_MapData.NodeName_EventList));
+ _mapData.eventList.Add(_eventBhv);
+ }
+ }
+
+ private void CreateTransferPoint()
+ {
+ var _mapData = target as Bhv_MapData;
+ var _transfer = CreateNewGO(Bhv_MapData.NodeName_Transfer + _mapData.transferList.Count);
+ var _transferBhv = _transfer.AddComponent<Bhv_Trasfer>();
+ _transfer.transform.SetParent(_mapData.transform.Find(Bhv_MapData.NodeName_TransferList));
+ _mapData.transferList.Add(_transferBhv);
+ }
+
+ private void Save()
+ {
+ 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;
+ }
+ using (var _fileStream = File.OpenWrite(_path))
+ {
+ using (var _binaryWriter = new BinaryWriter(_fileStream))
+ {
+ _mapData.Save(_binaryWriter);
+ }
+ }
+ }
+
+ private void Export()
+ {
+ var _mapData = target as Bhv_MapData;
+ string _defaultPath = EditorPrefs.GetString(LS_KEY_SAVEPATH, System.Environment.CurrentDirectory);
+ string _path = EditorUtility.SaveFilePanel("瀵煎嚭鏁版嵁", _defaultPath, "map_" + _mapData.id, "gd");
+ if (string.IsNullOrEmpty(_path))
+ {
+ return;
+ }
+ using (var _fileStream = File.OpenWrite(_path))
+ {
+ using (var _binaryWriter = new BinaryWriter(_fileStream))
+ {
+ _mapData.Save(_binaryWriter);
+ }
+ }
+ }
+
+ private void Load()
+ {
+ var _mapData = target as Bhv_MapData;
+ string _defaultPath = EditorPrefs.GetString(LS_KEY_SAVEPATH, System.Environment.CurrentDirectory);
+ string _path = EditorUtility.OpenFilePanel("鎵撳紑鏁版嵁", _defaultPath, "ed");
+ if (string.IsNullOrEmpty(_path))
+ {
+ return;
+ }
+
+ _mapData.Clear();
+
+ using (var _fileStream = File.OpenRead(_path))
+ {
+ using (var _binaryReader = new BinaryReader(_fileStream))
+ {
+ _mapData.Load(_binaryReader);
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/Core/MapEditor/Editor/MapEditor.cs.meta b/Core/MapEditor/Editor/MapEditor.cs.meta
new file mode 100644
index 0000000..e5f1723
--- /dev/null
+++ b/Core/MapEditor/Editor/MapEditor.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: bf0eaba683a1e8a49bb87626ce3a7568
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Core/NetworkPackage/DTCFile/ClientPack.meta b/Core/NetworkPackage/DTCFile/ClientPack.meta
deleted file mode 100644
index a5a6f03..0000000
--- a/Core/NetworkPackage/DTCFile/ClientPack.meta
+++ /dev/null
@@ -1,9 +0,0 @@
-fileFormatVersion: 2
-guid: 722e5e3d30096674e811f5bd191246a0
-folderAsset: yes
-timeCreated: 1539228128
-licenseType: Pro
-DefaultImporter:
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/Core/ResModule/AssetBundle/AssetBundleUtility.cs b/Core/ResModule/AssetBundle/AssetBundleUtility.cs
index 559f1b9..6b3cc16 100644
--- a/Core/ResModule/AssetBundle/AssetBundleUtility.cs
+++ b/Core/ResModule/AssetBundle/AssetBundleUtility.cs
@@ -241,6 +241,10 @@
private IEnumerator Co_DoLoadAsset(string assetBundleName, string assetName, Action<bool, UnityEngine.Object> callBack = null)
{
+#if UNITY_5
+ assetBundleName = assetBundleName.ToLower();
+#endif
+
#if UNITY_EDITOR
RunTimeABLoadLog.AddLog(assetBundleName, assetName, UnityEngine.SceneManagement.SceneManager.GetActiveScene().name);
#endif
diff --git a/Core/ResModule/InstanceResourcesLoader.cs b/Core/ResModule/InstanceResourcesLoader.cs
index 1a3d2f9..1f37b9f 100644
--- a/Core/ResModule/InstanceResourcesLoader.cs
+++ b/Core/ResModule/InstanceResourcesLoader.cs
@@ -62,6 +62,13 @@
GeneralDefine.ModeDefaultConfig[0][1]);
}
+ public static void AsyncLoadDefaultFuncNpc(Action<bool, UnityEngine.Object> callBack)
+ {
+ AsyncLoadNpc(GeneralDefine.ModeDefaultConfig[0][0],
+ GeneralDefine.ModeDefaultConfig[0][1],
+ callBack);
+ }
+
public static GameObject LoadDefaultHorse()
{
return LoadMob(GeneralDefine.ModeDefaultConfig[3][0],
@@ -334,4 +341,57 @@
AssetBundleUtility.Instance.Co_LoadAsset(bundleName, config.fxName, _callBack);
}
}
+
+ public static void AsyncLoadNpc(int npcID, Action<bool, UnityEngine.Object> callBack = null)
+ {
+ NPCConfig _m = Config.Instance.Get<NPCConfig>(npcID);
+
+ if (_m == null || _m.MODE.Equals("0"))
+ {
+ if (callBack != null)
+ {
+ callBack(false, null);
+ }
+ }
+
+ string _assetName;
+ string _assetBundleName;
+
+ if (GAMgr.Instance.s_NpcID2Assetname.TryGetValue(npcID, out _assetName))
+ {
+ _assetBundleName = GAMgr.Instance.s_NpcID2BundleName[npcID];
+ }
+ else
+ {
+ _assetName = StringUtility.Contact(raceSuffix, _m.MODE);
+ _assetBundleName = StringUtility.Contact(ResourcesPath.MOB_FOLDER_NAME, _assetName);
+ GAMgr.Instance.s_NpcID2Assetname[npcID] = _assetName;
+ GAMgr.Instance.s_NpcID2BundleName[npcID] = _assetBundleName;
+ }
+
+ AsyncLoadNpc(_assetBundleName, _assetName, callBack);
+ }
+
+ public static void AsyncLoadNpc(string assetBundleName, string assetName, Action<bool, UnityEngine.Object> callBack = null)
+ {
+ if (AssetSource.mobFromEditor)
+ {
+#if UNITY_EDITOR
+ string _resourcePath = StringUtility.Contact(ResourcesPath.ResourcesOutAssetPath,
+ "Mob/",
+ assetName,
+ ".prefab");
+
+ var _p = AssetDatabase.LoadAssetAtPath<GameObject>(_resourcePath);
+ if (callBack != null)
+ {
+ callBack(true, _p);
+ }
+#endif
+ }
+ else
+ {
+ AssetBundleUtility.Instance.Co_LoadAsset(assetBundleName, assetName, callBack);
+ }
+ }
}
diff --git a/Fight/GameActor/GA_NpcFunc.cs b/Fight/GameActor/GA_NpcFunc.cs
index 67edfe4..ad3358d 100644
--- a/Fight/GameActor/GA_NpcFunc.cs
+++ b/Fight/GameActor/GA_NpcFunc.cs
@@ -119,9 +119,14 @@
}
}
- public override void InitPerformance(uint clientInstID, int npcID)
+ protected override void OnPrefabLoadFinished(bool result, Object prefab)
{
- base.InitPerformance(clientInstID, npcID);
+ base.OnPrefabLoadFinished(result, prefab);
+
+ if (!result)
+ {
+ return;
+ }
if (string.IsNullOrEmpty(NpcConfig.Equips))
{
diff --git a/Fight/GameActor/GActor.cs b/Fight/GameActor/GActor.cs
index 3514de7..8973d42 100644
--- a/Fight/GameActor/GActor.cs
+++ b/Fight/GameActor/GActor.cs
@@ -14,8 +14,8 @@
public Transform MP_Stun { get; protected set; }
public Transform MP_Weapon { get; protected set; }
- public uint ClientInstID { get; private set; }
- public uint ServerInstID { get; private set; }
+ public uint ClientInstID { get; protected set; }
+ public uint ServerInstID { get; protected set; }
protected Transform m_Root = null;
public Transform Root { get { return m_Root; } }
@@ -93,7 +93,7 @@
public GameObjType ActorType { get; protected set; }
- public E_ActorGroup Group { get; private set; }
+ public E_ActorGroup Group { get; protected set; }
public GActorInfo ActorInfo { get; protected set; }
private E_ActorState m_State;
diff --git a/Fight/GameActor/GActorNpcNoFight.cs b/Fight/GameActor/GActorNpcNoFight.cs
index 8cd150f..9c69a97 100644
--- a/Fight/GameActor/GActorNpcNoFight.cs
+++ b/Fight/GameActor/GActorNpcNoFight.cs
@@ -25,17 +25,57 @@
}
}
+ protected GameNetPackBasic m_Package = null;
+
public void Init(uint serverInstID, uint clientInstID, uint npcID, E_ActorGroup group, GameNetPackBasic package)
{
m_LoadDefaultRes = false;
+ m_Package = package;
NpcConfig = Config.Instance.Get<NPCConfig>((int)npcID);
+ ClientInstID = clientInstID;
if (NpcConfig == null)
{
// 鎶ラ敊
return;
}
+
+ ShowOrHide = true;
+ needSyncGroundHeight = true;
+
+ if (!m_Root)
+ {
+ m_Root = new GameObject().transform;
+ // 灏嗚澶嶇敤,涓嶈閿�姣�
+ Object.DontDestroyOnLoad(m_Root);
+ }
+
+ m_Root.localScale = Vector3.one;
+ Forward = m_Root.forward;
+ // 瑙掕壊灞炴��
+ if (ActorInfo == null)
+ {
+ ActorInfo = new GActorInfo();
+ }
+
+ ActorInfo.sid = serverInstID;
+ ActorInfo.ownerSID = 0;
+ ActorInfo.serverDie = false;
+
+#if UNITY_EDITOR
+ m_Root.name = string.Format("{0}_{1}_{2}",
+ GetType().ToString(),
+ serverInstID,
+ clientInstID);
+#endif
+
+ ServerInstID = serverInstID;
+ ClientInstID = clientInstID;
+
+ Group = group;
+
+ State = E_ActorState.Idle;
// if (!m_AudioSource)
// {
@@ -48,15 +88,7 @@
// _audioSourceNode.transform.localPosition = new Vector3(0, 0.5f, 0);
// m_AudioSource = _audioSourceNode.GetComponent<AudioSource>();
// }
-
-
ActorType = GameObjType.gotNPC;
-
- // 鍒濆鍖栬〃鐜板眰
- InitPerformance(clientInstID, (int)npcID);
-
- // 鎵ц鐖剁被鐨勫垵濮嬪寲
- Init(serverInstID, clientInstID, group, package);
Root.gameObject.layer = LayerUtility.Monster;
@@ -74,7 +106,6 @@
}
RequestShadow();
- RequestName();
// 杩欓噷閽堝鎸囧畾鐨凬PC鐗规畩鐭浣嶇疆
if (GeneralDefine.NpcPosOffset.ContainsKey(NpcConfig.NPCID))
@@ -97,6 +128,9 @@
// SoundPlayer.Instance.PlayAudio(m_AudioSource, _effectConfig.audio);
//}
}
+
+ // 鍒濆鍖栬〃鐜板眰
+ InitPerformance(clientInstID, (int)npcID);
}
protected override void OnUnit()
@@ -145,76 +179,89 @@
{
}
- public virtual void InitPerformance(uint clientInstID, int npcID)
+ protected virtual void OnPrefabLoadFinished(bool result, UnityEngine.Object prefab)
{
- GameObject _prefab = InstanceResourcesLoader.LoadNpcPrefab(npcID);
-
- if (_prefab == null)
+ if (!result)
{
- _prefab = InstanceResourcesLoader.LoadDefaultFuncNPC();
-
- if (_prefab)
- {
- m_LoadDefaultRes = true;
- }
+ return;
}
- if (_prefab != null)
+ if (prefab == null)
{
- if (PreFightMission.Instance.IsFinished())
+ if (!m_LoadDefaultRes)
{
- GAMgr.Instance.AddNeedDestroyPrefab(_prefab);
- }
- if (this is GA_Guard)
- {
- GAMgr.Instance.RemoveNeedDestroyPrefab(_prefab);
- }
-
- if (m_LoadDefaultRes)
- {
- m_Model = GameObjectPoolManager.Instance.RequestDefaultFuncNpc();
+ InstanceResourcesLoader.AsyncLoadDefaultFuncNpc(OnPrefabLoadFinished);
+ m_LoadDefaultRes = true;
}
else
{
- m_Model = GameObjectPoolManager.Instance.RequestNpcGameObject(npcID);
+ m_LoadDefaultRes = false;
}
- if (m_Model)
- {
- m_Animator = m_Model.GetComponent<Animator>();
- if (m_Animator)
- {
- RuntimeAnimatorController _controller = null;
- if (m_LoadDefaultRes)
- {
- _controller = InstanceResourcesLoader.LoadDefaultMobAnimatorController_Func();
- }
- else
- {
- string _name = NpcConfig.MODE;
- if (_name.Contains("A_Zs"))
- {
- _name = "A_Zs";
- GameObjectPoolManager.Instance.AddDontDestroyGoInstID(m_Model.GetInstanceID());
- }
- else if (_name.Contains("A_Fs"))
- {
- _name = "A_Fs";
- GameObjectPoolManager.Instance.AddDontDestroyGoInstID(m_Model.GetInstanceID());
- }
- _controller = AnimatorControllerLoader.LoadMobController(AnimatorControllerLoader.controllerSuffix, _name);
- }
- if (_controller)
- {
- m_Animator.runtimeAnimatorController = _controller;
- }
- m_Animator.enabled = true;
- m_Animator.SetInteger(GAStaticDefine.Param_ActorInstID, (int)clientInstID);
- }
-
- SetupBindNode(m_Model.transform);
- }
+ return;
}
+
+ if (PreFightMission.Instance.IsFinished())
+ {
+ GAMgr.Instance.AddNeedDestroyPrefab(prefab as GameObject);
+ }
+ if (this is GA_Guard)
+ {
+ GAMgr.Instance.RemoveNeedDestroyPrefab(prefab as GameObject);
+ }
+
+ if (m_LoadDefaultRes)
+ {
+ m_Model = GameObjectPoolManager.Instance.RequestDefaultFuncNpc();
+ }
+ else
+ {
+ m_Model = GameObjectPoolManager.Instance.RequestGameObject(prefab as GameObject);
+ }
+
+ if (m_Model)
+ {
+ m_Animator = m_Model.GetComponent<Animator>();
+ if (m_Animator)
+ {
+ RuntimeAnimatorController _controller = null;
+ if (m_LoadDefaultRes)
+ {
+ _controller = InstanceResourcesLoader.LoadDefaultMobAnimatorController_Func();
+ }
+ else
+ {
+ string _name = NpcConfig.MODE;
+ if (_name.Contains("A_Zs"))
+ {
+ _name = "A_Zs";
+ GameObjectPoolManager.Instance.AddDontDestroyGoInstID(m_Model.GetInstanceID());
+ }
+ else if (_name.Contains("A_Fs"))
+ {
+ _name = "A_Fs";
+ GameObjectPoolManager.Instance.AddDontDestroyGoInstID(m_Model.GetInstanceID());
+ }
+ _controller = AnimatorControllerLoader.LoadMobController(AnimatorControllerLoader.controllerSuffix, _name);
+ }
+ if (_controller)
+ {
+ m_Animator.runtimeAnimatorController = _controller;
+ }
+ m_Animator.enabled = true;
+ m_Animator.SetInteger(GAStaticDefine.Param_ActorInstID, (int)ClientInstID);
+ }
+
+ SetupBindNode(m_Model.transform);
+ }
+
+ OnInit(m_Package);
+ }
+
+ public virtual void InitPerformance(uint clientInstID, int npcID)
+ {
+ GameObject _prefab = InstanceResourcesLoader.LoadNpcPrefab(npcID);
+ InstanceResourcesLoader.AsyncLoadNpc(npcID, OnPrefabLoadFinished);
}
public sealed override void SetAnimatorSpeed(float speed)
diff --git a/Fight/Stage/Dungeon/FrontEndDungeon.meta b/Fight/Stage/Dungeon/FrontEndDungeon.meta
new file mode 100644
index 0000000..78db471
--- /dev/null
+++ b/Fight/Stage/Dungeon/FrontEndDungeon.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 26d1f2a39b41ff94189c36bf8259f9a3
+folderAsset: yes
+timeCreated: 1541424855
+licenseType: Free
+DefaultImporter:
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Fight/Stage/Dungeon/FrontEndDungeon/FrontEndDungeon.cs b/Fight/Stage/Dungeon/FrontEndDungeon/FrontEndDungeon.cs
new file mode 100644
index 0000000..6133098
--- /dev/null
+++ b/Fight/Stage/Dungeon/FrontEndDungeon/FrontEndDungeon.cs
@@ -0,0 +1,13 @@
+public class FrontEndDungeon : Singleton<FrontEndDungeon>
+{
+ public void Build(H2Engine.MapData mapData)
+ {
+
+ }
+
+ public void CreateTrasfer(H2Engine.MapTrasfer transfer)
+ {
+
+ }
+
+}
\ No newline at end of file
diff --git a/Fight/Stage/Dungeon/FrontEndDungeon/FrontEndDungeon.cs.meta b/Fight/Stage/Dungeon/FrontEndDungeon/FrontEndDungeon.cs.meta
new file mode 100644
index 0000000..6c75221
--- /dev/null
+++ b/Fight/Stage/Dungeon/FrontEndDungeon/FrontEndDungeon.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: daf42844aeeb3ce48a661b3e1cdf146b
+timeCreated: 1541424855
+licenseType: Free
+MonoImporter:
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Fight/Stage/Dungeon/FrontEndDungeon/MapTransferSystem.cs b/Fight/Stage/Dungeon/FrontEndDungeon/MapTransferSystem.cs
new file mode 100644
index 0000000..64036cc
--- /dev/null
+++ b/Fight/Stage/Dungeon/FrontEndDungeon/MapTransferSystem.cs
@@ -0,0 +1,4 @@
+public class MapTransferSystem
+{
+
+}
\ No newline at end of file
diff --git a/Fight/Stage/Dungeon/FrontEndDungeon/MapTransferSystem.cs.meta b/Fight/Stage/Dungeon/FrontEndDungeon/MapTransferSystem.cs.meta
new file mode 100644
index 0000000..e0e959b
--- /dev/null
+++ b/Fight/Stage/Dungeon/FrontEndDungeon/MapTransferSystem.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 5e82b2edb21ac044c9cc21aa0d31038b
+timeCreated: 1541424855
+licenseType: Free
+MonoImporter:
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Fight/Stage/StageManager.cs b/Fight/Stage/StageManager.cs
index 7f76c19..020d1fb 100644
--- a/Fight/Stage/StageManager.cs
+++ b/Fight/Stage/StageManager.cs
@@ -336,6 +336,12 @@
mapOk.MapID = PlayerDatas.Instance.baseData.MapID;
mapOk.Type = 0;
GameNetSystem.Instance.SendInfo(mapOk);
+
+ var _mapData = H2Engine.MapData.LoadFormFile("map_" + _stageId);
+ if (_mapData != null)
+ {
+
+ }
}
else
{
--
Gitblit v1.8.0