private LODSystem getRequestSystem(string type) { LODSystem value = null; if (!systems.TryGetValue(type, out value)) { throw new ArgumentException("Unable to get an LODSystem for a request of type " + type); } return(value); }
private void addSystem(LODSystem system) { bool flag = false; string name = system.gameObject.name; List <LODSystemDataReference> lODSystemData = Service.Get <ZoneTransitionService>().CurrentZone.LODSystemData; for (int i = 0; i < lODSystemData.Count; i++) { LODSystemDataReference lODSystemDataReference = lODSystemData[i]; if (lODSystemDataReference.SystemName == name) { system.Initialize(lODSystemDataReference.Data); systems.Add(name, system); flag = true; break; } } if (!flag) { throw new NotImplementedException("Unable to find LOD System Data for " + name); } }
//later will have many parameters public Planet(float r, LongPos pos, int _seed) : base(_seed, r, pos) //Vector3 sp, float r) { //generate the planet surface data ModuleBase finalTerrain, finalTexture; List <Blueprint> blueprints; PlanetBuilder.genPlanetData(seed, out finalTerrain, out finalTexture, out blueprints); noise = new NoiseHandler(radius, finalTerrain, finalTexture); //terrain = new TerrainSystem(this, radius); //surface = new SurfaceSystem(radius, 400); surface = new SurfaceSystem(this, radius, (int)(radius / 50), blueprints); //number of surface units per side is radius/50 lod = new LODSystem(this); //TODO: does this 16 hold relavance? startLev = Mathf.CeilToInt(Mathf.Log(radius / TerrainObject.chunkWidth, 2)) - 1; createRep(); }
public void Awake() { lodSystem = GetComponent <LODSystem>(); refreshCounter = 0f; }