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;
}
}
}