public void PushMap(MapInstance map) { lock (LogicProcessorManager.Instance) { LogicProcessor processor = null; Int32 minMap = Int32.MaxValue; for (int i = 0; i < mProcessors.Length; i++) { if (mProcessors[i].InProcessor(map)) { return; } int count = mProcessors[i].GetMapCount(); if (minMap > count) { minMap = count; processor = mProcessors[i]; } } if (processor == null) { return; } processor.PushMap(map); } }
public void StartProcessors(int count) { mProcessors = new LogicProcessor[count]; for (int i = 0; i < mProcessors.Length; i++) { mProcessors[i] = new LogicProcessor(); mProcessors[i].StartThread(i); } }