using System.Collections; using System.Collections.Generic; using UnityEngine; using AX.MessageSystem; using System; /// /// 灾情库记录基类 /// public abstract class DisasterLibraryRecord : MonoBehaviour { public virtual void OnEnable() { MessageDispatcher.AddListener("DISASTER_LIBRARY_RECORD",DLRecord); } public virtual void OnDestroy() { MessageDispatcher.RemoveListener("DISASTER_LIBRARY_RECORD", DLRecord); } public abstract void DLRecord(IMessage obj); /// /// 记录灾情的基础信息 /// /// public virtual void DisasterRecord(Disaster disaster) { disaster.Position = transform.position; disaster.Rotation = transform.rotation; disaster.Scale = transform.localScale; var baseInfo = transform.GetComponent(); if (baseInfo) { disaster.GameObjID = baseInfo.gameObjID; disaster.GameObjType = baseInfo.gameObjType; disaster.UserID = baseInfo.UserID; } var info = transform.GetComponent(); if (info) { disaster.BuildNum = info.buildNum; disaster.FloorNum = info.floorNum; disaster.InterlayerNum = info.interlayerNum; disaster.ShoworHidden = info.ShoworHidden; } } }