public SectorUnity GetSectorUnityFromCache(Sector sector) { if (goContainer == null) { goContainer = new GameObject(); goContainer.name = "Sectors"; goContainer.transform.position = new Vector3(0, 0, 0); goContainer.transform.rotation = Quaternion.identity; goContainer.transform.localScale = new Vector3(1, 1, 1); } SectorUnity sectorUnity = null; if (lastSectorAssignmentCache.ContainsKey(sector.sectorPosition)) { sectorUnity = lastSectorAssignmentCache[sector.sectorPosition]; if (sectorUnity.IsInUse()) { sectorUnity = null; } else { cacheSectors.Remove(sectorUnity); } } if (sectorUnity == null) { if (cacheSectors.Count > 0) { sectorUnity = cacheSectors[cacheSectors.Count - 1]; cacheSectors.RemoveAt(cacheSectors.Count - 1); } else { GameObject g = new GameObject(); sectorUnity = (SectorUnity)g.AddComponent(typeof(SectorUnity)); sectorUnity.gameManagerUnity = gameManagerUnity; sectorUnity.transform.parent = goContainer.transform; unitySectors.Add(sectorUnity); } } sectorUnity.transform.position = GraphicsUnity.TilePositionToVector3(sector.tileOffset); sector.SetSectorGraphics(sectorUnity); sectorUnity.name = sector.sectorPosition.y + "," + sector.sectorPosition.x + "," + sector.sectorPosition.z; return(sectorUnity); }
public void ReturnSectorUnityToCache(SectorUnity sectorUnity) { lastSectorAssignmentCache[sectorUnity.GetSector().sectorPosition] = sectorUnity; cacheSectors.Add(sectorUnity); sectorUnity.GetSector().SetSectorGraphics(null); }
public void ReturnSectorUnityToCache(SectorUnity sectorUnity) { lastSectorAssignmentCache[sectorUnity.GetSector().sectorPosition] = sectorUnity; cacheSectors.Add(sectorUnity); sectorUnity.GetSector().SetSectorGraphics(null); }