protected override void UnloadData() { base.UnloadData(); Static = null; m_aabbTree.Clear(); foreach (var item in m_envItems) { item.Value.ItemAdded -= item_ItemAdded; item.Value.ItemRemoved -= item_ItemRemoved; } MyEntities.OnEntityAdd -= MyEntities_OnEntityAdd; MyEntities.OnEntityRemove -= MyEntities_OnEntityRemove; }
public override void LoadData() { base.LoadData(); m_updateCounter = 0; m_envItems = new Dictionary<long, MyEnvironmentItems>(10); m_forestAreas = new List<Area>(100); m_highLevelBoxes = new List<BoundingBoxD>(); m_tmpItemInfos = new List<ItemInfo>(500); m_tmpAreas = new List<Area>(); m_tmpAreas2 = new List<Area>(); m_checkedSectors = new HashSet<Vector3I>(); m_checkQueue = new Queue<long>(); m_initialForestLocations = new Queue<Vector3D>(); m_tmpSectors = new List<Vector3I>(); m_aabbTree = new MyDynamicAABBTreeD(Vector3D.Zero); // MW:TODO growing items on allowed materials m_allowedMaterials = new HashSet<MyStringHash>(); m_loadPhase = true; m_findValidForestPhase = false; MyEntities.OnEntityAdd += MyEntities_OnEntityAdd; MyEntities.OnEntityRemove += MyEntities_OnEntityRemove; Static = this; }