using CommonAI.ZoneClient;
using XmdsCommon.Message;
using XmdsCommon.Plugin;
namespace XmdsCommon.ZoneClient.XmdsClientVirtual
{
public class XmdsClientVirtual_Pet : XmdsClientVirtual
{
private PetVisibleDataB2C mData = null;
public override void OnInit(ZoneUnit owner)
{
base.OnInit(owner);
if (owner == null || owner.SyncInfo == null || !(owner.SyncInfo.VisibleInfo is PetVisibleDataB2C))
{
mLog.Error("XmdsClientVirtual_Pet Init Error");
}
else
{
mData = owner.SyncInfo.VisibleInfo as PetVisibleDataB2C;
}
}
public override void OnDispose(ZoneUnit owner)
{
mData = null;
base.OnDispose(owner);
}
protected override void MOwner_OnDoEvent(ZoneObject obj, CommonAI.Zone.ObjectEvent e)
{
if (e is PetBaseInfoChangeEventB2C)
{
mData.BaseInfo = (e as PetBaseInfoChangeEventB2C).BaseInfo;
}
base.MOwner_OnDoEvent(obj, e);
}
public string GetName()
{
if (mData != null && mData.BaseInfo != null)
{
return mData.BaseInfo.name;
}
return null;
}
///
/// 获得怪物品质.
///
///
public byte GetMonsterQcolor()
{
if (mData != null && mData.BaseInfo != null)
{
return mData.BaseInfo.QColor;
}
return 0;
}
public PetBaseInfo GetBaseInfo()
{
if (mData != null)
{
return mData.BaseInfo;
}
return null;
}
public XmdsClientVirtual GetMasterVirtual()
{
if (mData != null && mData.BaseInfo != null)
{
return GetUnitVirtual(mData.BaseInfo.MasterID);
}
return null;
}
///
/// 进阶等级.
///
///
public byte GetStateLv()
{
if (mData != null && mData.BaseInfo != null)
{
return mData.BaseInfo.StateLv;
}
return 0;
}
}
}