// 此函数由场景物体类调用,因此函数中要判断主从关系,发包频率 static public void SubmitNewStatus(string objMgPath, string statueName, SyncImportant improtant, params object[] values) { if (improtant == SyncImportant.Immediate) { PushNewStatus(objMgPath, statueName, values); } else { string key = objMgPath + statueName; if (Timer.ContainsKey(key)) { float leftTime = Timer[key]; switch (improtant) { case SyncImportant.HighFrequency: if (leftTime > 0) { PushNewStatus(objMgPath, statueName, values); Timer[key] = -highSpace; } break; case SyncImportant.MidFrequency: if (leftTime > 0) { PushNewStatus(objMgPath, statueName, values); Timer[key] = -midSpace; } break; case SyncImportant.LowFrequency: if (leftTime > 0) { PushNewStatus(objMgPath, statueName, values); Timer[key] = -lowSpace; } break; default: break; } } else { switch (improtant) { case SyncImportant.HighFrequency: Timer.Add(key, -highSpace); break; case SyncImportant.MidFrequency: Timer.Add(key, -midSpace); break; case SyncImportant.LowFrequency: Timer.Add(key, -lowSpace); break; default: break; } } } }