using UnityEngine; using System.Collections.Generic; public class SoMapView : MonoBehaviour { public Transform m_MissionTriggerRoot; public Transform m_AreaTriggerRoot; public int mapID; public List m_MissionTriggerViewList = new List(); public List m_AreaTriggerViewList = new List(); public static RefreshNPCView GeneralRefreshNpcView(SoMap.RefreshNPC source, Transform parent) { GameObject _refreshNpcGo = GameObject.CreatePrimitive(PrimitiveType.Cube); _refreshNpcGo.transform.localScale = .5f * Vector3.one; _refreshNpcGo.name = string.Format("RefreshNPC: {0}", source.NpcID); RefreshNPCView _refreshNPCView = _refreshNpcGo.AddComponent(); _refreshNPCView.NpcID = source.NpcID; _refreshNPCView.npcType = source.npcType; _refreshNPCView.randomPostion = source.randomPostion; _refreshNPCView.randomDist = source.randomDist; _refreshNPCView.count = source.count; _refreshNPCView.refreshInterval = source.refreshInterval; _refreshNPCView.waveCount = source.waveCount; _refreshNPCView.waveInterval = source.waveInterval; _refreshNPCView.transform.position = source.position; _refreshNPCView.transform.eulerAngles = source.eulerAngles; _refreshNPCView.transform.SetParent(parent); return _refreshNPCView; } public static RefreshNPCView GeneralRefreshNpcView(Transform parent) { GameObject _refreshNpcGo = GameObject.CreatePrimitive(PrimitiveType.Cube); _refreshNpcGo.name = "RefreshNPC: -"; _refreshNpcGo.transform.localScale = .5f * Vector3.one; RefreshNPCView _refreshNPCView = _refreshNpcGo.AddComponent(); _refreshNPCView.evenType = SoMap.E_EventType.RefreshNpc; _refreshNPCView.NpcID = 0; _refreshNPCView.randomPostion = false; _refreshNPCView.randomDist = 0; _refreshNPCView.count = 1; _refreshNPCView.refreshInterval = 0; _refreshNPCView.waveCount = 1; _refreshNPCView.waveInterval = 0; _refreshNPCView.transform.position = Vector3.zero; _refreshNPCView.transform.eulerAngles = Vector3.zero; _refreshNPCView.transform.SetParent(parent); return _refreshNPCView; } public static CreateImpasseView GeneralCreateImpasseView(SoMap.CreateImpasse source, Transform parent) { GameObject _createImpasseGo = GameObject.CreatePrimitive(PrimitiveType.Cube); _createImpasseGo.name = string.Format("Impasse: {0}", source.id); CreateImpasseView _createImpasseView = _createImpasseGo.AddComponent(); _createImpasseView.id = source.id; _createImpasseView.effectID = source.effectID; _createImpasseView.transform.position = source.position; _createImpasseView.transform.eulerAngles = source.eulerAngles; _createImpasseView.transform.localScale = source.localScale; _createImpasseView.transform.SetParent(parent); return _createImpasseView; } public static CreateImpasseView GeneralCreateImpasseView(Transform parent) { GameObject _createImpasseGo = GameObject.CreatePrimitive(PrimitiveType.Cube); _createImpasseGo.name = "Impasse: -"; _createImpasseGo.transform.localScale = .5f * Vector3.one; CreateImpasseView _createImpasseView = _createImpasseGo.AddComponent(); _createImpasseView.id = 0; _createImpasseView.evenType = SoMap.E_EventType.CreateImpasse; _createImpasseView.transform.SetParent(parent); return _createImpasseView; } public static SoMap.RefreshNPC GeneralRefreshNpc(RefreshNPCView data) { SoMap.RefreshNPC _refreshNpc = new SoMap.RefreshNPC { position = data.transform.position, npcType = data.npcType, eulerAngles = data.transform.eulerAngles, NpcID = data.NpcID, randomPostion = data.randomPostion, randomDist = data.randomDist, count = data.count, refreshInterval = data.refreshInterval, waveCount = data.waveCount, waveInterval = data.waveInterval }; return _refreshNpc; } public static SoMap.CreateImpasse GeneralCreateImpasse(CreateImpasseView source) { SoMap.CreateImpasse _soCreateImpasse = new SoMap.CreateImpasse { id = source.id, effectID = source.effectID, position = source.transform.position, eulerAngles = source.transform.eulerAngles, localScale = source.transform.localScale, }; return _soCreateImpasse; } }