public void SendMonsterInfo(BaseObject obj)
{
if (this.GetGameSession() == null) return;
NetMsg.MsgMonsterInfo info = new NetMsg.MsgMonsterInfo();
info.Create(null, GetGamePackKeyEx());
MonsterObject o = obj as MonsterObject;
info.id = o.GetTypeId();
info.typeid = o.GetBasicAttribute().id;
info.lookface = o.GetBasicAttribute().lookface;
info.x = o.GetCurrentX();
info.y = o.GetCurrentY();
info.level = o.GetBasicAttribute().level;
info.maxhp = o.GetAttribute().life_max;
info.hp = o.GetAttribute().life;
info.dir = o.GetDir();
if (obj.GetType().FullName == "MapServer.AnShaXieLongObject")
{
info.param = (int)(obj as AnShaXieLongObject).mPlay.GetTypeId();
}
this.SendData(info.GetBuffer());
//加到怪物可视列表
if (!obj.GetVisibleList().ContainsKey(this.GetGameID()))
{
//RefreshObject refobj = new RefreshObject();
//refobj.obj = this;
//obj.GetVisibleList()[this.GetGameID()] = refobj;
obj.AddVisibleObject(this, false);
}
//自己的可视列表 //人物不走动的情况下,怪物进入了视野范围
if (!this.GetVisibleList().ContainsKey(obj.GetGameID()))
{
//RefreshObject refobj = new RefreshObject();
//refobj.bRefreshTag = true;
//refobj.obj = obj;
//this.GetVisibleList()[this.GetGameID()] = refobj;
this.AddVisibleObject(obj, true);
}
}