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);
        }
    }
Beispiel #3
0
    //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();
    }
Beispiel #4
0
 public void Awake()
 {
     lodSystem      = GetComponent <LODSystem>();
     refreshCounter = 0f;
 }