|
@@ -389,7 +389,7 @@ namespace CommonAIServer.Node
|
|
|
|
|
|
if (he.senderId != mActor.ID && he.object_id != mActor.ID && he.senderMasterId != mActor.ID && he.hitMasterId != mActor.ID)
|
|
|
{
|
|
|
- if(he.InViewForceSend && he.sender != null && client.IsInView(he.sender as InstanceZoneObject))
|
|
|
+ if(he.InViewForceSend && he.sender != null && client.IsInView(he.object_id))
|
|
|
{
|
|
|
return msg;
|
|
|
}
|
|
@@ -427,13 +427,9 @@ namespace CommonAIServer.Node
|
|
|
{
|
|
|
|
|
|
ObjectEvent om = msg as ObjectEvent;
|
|
|
- if (om.ObjectID != mActor.ID && om.sender is InstanceZoneObject)
|
|
|
+ if (om.ObjectID != mActor.ID && !client.IsInView(om.ObjectID))
|
|
|
{
|
|
|
- InstanceZoneObject obj = om.sender as InstanceZoneObject;
|
|
|
- if (!client.IsInView(obj))
|
|
|
- {
|
|
|
- return null;
|
|
|
- }
|
|
|
+ return null;
|
|
|
}
|
|
|
}
|
|
|
else if (msg is ClientEvent)
|
|
@@ -682,6 +678,13 @@ namespace CommonAIServer.Node
|
|
|
else
|
|
|
return true;
|
|
|
}
|
|
|
+ public bool IsInView(uint id)
|
|
|
+ {
|
|
|
+ if (mNode.mEnableAOI)
|
|
|
+ return mInViewList.ContainsKey(id);
|
|
|
+ else
|
|
|
+ return true;
|
|
|
+ }
|
|
|
public bool IsLookInRange(float x, float y)
|
|
|
{
|
|
|
if (mNode.mEnableAOI)
|