public AreaSpawnPointHelper(TerrainContext terrainContext) { this.terrainContext = terrainContext; boundingBoxHelper = new BoundingBoxHelper(); areaCollisionHelper = new AreaCollisionHelper(); info = new SpawnPointInfo(); }
public CollisionHelper(TerrainContext terrainContext) { this.terrainContext = terrainContext; collisionAreas = new List<Area>(); collisionTiles = new List<CollisionTile>(); boxCollisionPoints = new List<Vector3>(); }
public VisibilityQueue(TerrainContext terrainContext) { this.terrainContext = terrainContext; queue = new List<VisibilityQueueJob>(); renderingAreasBatchSize = 10; pauseUntilNextBatch = DateTime.MinValue; Logger.RegisterLogLevelsFor<VisibilityQueue>(Logger.LogLevels.Adaptive); }
public void Initialize(Vector2i viewDistance, TerrainContext terrainContext) { this.terrainContext = terrainContext; areasAlwaysVisibleWithinDistance = Area.Size.X * 2; view = new ViewSettings(viewDistance); AreaCollection = new AreaCollection(); AreaCache = new AreaCacheCollection(); areaRange = new AreaRange(); viewDistanceAreaRange = new AreaRange(); visibilityQueue = new VisibilityQueue(terrainContext); Statistics = new TerrainVisibilityStatistics(this, AreaCache); SpawnPointHelper = new AreaSpawnPointHelper(terrainContext); Logger.RegisterLogLevelsFor<TerrainVisibility>(Logger.LogLevels.Adaptive); }
public void Initialize(GameContext context, Vector2i viewDistance, Vector3 gravity, int seed) { TerrainContext = new TerrainContext(context, viewDistance, seed); PhysicsHandler = new JitterPhysicsHandler(gravity); EntityHandler = new EntityHandler(); }