Example #1
0
        public override bool HandleIn(RegionSyncModule pRegionContext)
        {
            bool ret = false;
            if (base.HandleIn(pRegionContext))
            {
            //check if this is a duplicate event message that we have received before
            if (pRegionContext.EventRecord.IsSEQReceived(SyncID, SequenceNum))
            {
                m_log.ErrorFormat("Duplicate event {0} originated from {1}, seq# {2} has been received", MType, SyncID, SequenceNum);
                return false;
            }
            else
            {
                pRegionContext.EventRecord.RecordEventReceived(SyncID, SequenceNum);
            }

            // if this is a relay node, forward the message
            if (pRegionContext.IsSyncRelay)
            {
                pRegionContext.SendSceneEventToRelevantSyncConnectors(ConnectorContext.otherSideActorID, this, null);
            }
            ret = true;
            }
            return ret;
        }