public void Clear() { foreach (var item in fogMaskFixGroupX) { FogMaskFixGroupX.Recover(item.Value); } fogMaskFixGroupX.Clear(); for (int i = 0; i < CACHENUM; i++) { cache [i] = null; } }
public static FogMaskFixGroupX Get(int x) { if (_poolX.Count > 0) { FogMaskFixGroupX tmp = _poolX.Dequeue(); tmp.SetX(x); return(tmp); } else { return(new FogMaskFixGroupX(x)); } }
public void Add(int x, int y, Color color) { int cacheID = x % CACHENUM; FogMaskFixGroupX ptr = cache [cacheID]; if (ptr != null && ptr.X == x) { ptr.Add(y, color); } else { if (!fogMaskFixGroupX.ContainsKey(x)) { ptr = FogMaskFixGroupX.Get(x); fogMaskFixGroupX [x] = ptr; } else { ptr = fogMaskFixGroupX [x]; } ptr.Add(y, color); cache [cacheID] = ptr; } }
public static void Recover(FogMaskFixGroupX item) { item.Clear(); _poolX.Enqueue(item); }