public static IBin2DManager GetReplicationBin2DManager(float minX, float minY, float maxX, float maxY, int visibleRadius, Dictionary <int, int> customVisibleRadiusDict) { IBin2DManager bin2DManager = new Bin2DManager(); for (int i = 0; i < (int)EEntityType.End; i++) { var v = visibleRadius; if (customVisibleRadiusDict.ContainsKey(i)) { v = customVisibleRadiusDict[i]; } var cell = next_p2(v) / 4 > 8 ? next_p2(v) / 4 : 8; Bin2DConfig _config = new Bin2DConfig(minX, minY, maxX, maxY, cell, v); if (i == (int)EEntityType.SceneObject || i == (int)EEntityType.MapObject) { bin2DManager.AddBin2D(i, new Bin2D <IGameEntity>(_config), v, SceneObjectFilter); } else { bin2DManager.AddBin2D(i, new Bin2D <IGameEntity>(_config), v); } } return(bin2DManager); }
public void Dispose() { Bin2DManager.Dispose(); contexts.session.commonSession.Dispose(); contexts.session.serverSessionObjects.Dispose(); contexts.Reset(); contexts = null; }