protected override void ProcessAction_Move(GameStruct.Action act)
{
byte runvalue = 1;
if (act.GetObjectCount() > 0)
{
runvalue = (byte)act.GetObject(0);
}
RefreshVisibleObject();
if (mVisibleList.Count > 0)
{
foreach (RefreshObject obj in mVisibleList.Values)
{
BaseObject o = obj.obj;
switch (o.type)
{
case OBJECTTYPE.NPC:
{
if (obj.bRefreshTag) break;
this.SendNpcInfo(o);
obj.bRefreshTag = true;
break;
}
case OBJECTTYPE.MONSTER:
case OBJECTTYPE.CALLOBJECT:
{
if (obj.bRefreshTag) break;
this.SendMonsterInfo(o);
obj.bRefreshTag = true;
break;
}
case OBJECTTYPE.PLAYER:
{
this.SendRoleMoveInfo(o, runvalue, obj);
break;
}
case OBJECTTYPE.DROPITEM:
{
if (obj.bRefreshTag) break;
this.SendDropItemInfo(o);
obj.bRefreshTag = true;
break;
}
case OBJECTTYPE.EUDEMON:
{
if (obj.bRefreshTag) break;
(o as EudemonObject).SendEudemonInfo(this);
obj.bRefreshTag = true;
break;
}
case OBJECTTYPE.ROBOT:
{
if (obj.bRefreshTag) break;
(o as RobotObject).SendRobotInfo(this);
obj.bRefreshTag = true;
break;
}
case OBJECTTYPE.GUARDKNIGHT:
{
if (obj.bRefreshTag) break;
(o as GuardKnightObject).SendInfo(this);
obj.bRefreshTag = true;
break;
}
case OBJECTTYPE.EFFECT:
{
if (obj.bRefreshTag) break;
(o as EffectObject).SendInfo(this);
obj.bRefreshTag = true;
break;
}
case OBJECTTYPE.PTICH: //摊位
{
if (obj.bRefreshTag) break;
(o as PtichObject).SendInfo(this);
obj.bRefreshTag = true;
break;
}
}
//加入到对方视野中-
o.AddVisibleObject(this);
}
// mRefreshList.Clear();
}
}