Пример #1
0
 public AreaSpawnPointHelper(TerrainContext terrainContext)
 {
     this.terrainContext = terrainContext;
     boundingBoxHelper = new BoundingBoxHelper();
     areaCollisionHelper = new AreaCollisionHelper();
     info = new SpawnPointInfo();
 }
Пример #2
0
        public CollisionHelper(TerrainContext terrainContext)
        {
            this.terrainContext = terrainContext;

            collisionAreas = new List<Area>();
            collisionTiles = new List<CollisionTile>();
            boxCollisionPoints = new List<Vector3>();
        }
Пример #3
0
        public VisibilityQueue(TerrainContext terrainContext)
        {
            this.terrainContext = terrainContext;

            queue = new List<VisibilityQueueJob>();

            renderingAreasBatchSize = 10;
            pauseUntilNextBatch = DateTime.MinValue;

            Logger.RegisterLogLevelsFor<VisibilityQueue>(Logger.LogLevels.Adaptive);
        }
Пример #4
0
        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);
        }
Пример #5
0
 public void Initialize(GameContext context, Vector2i viewDistance, Vector3 gravity, int seed)
 {
     TerrainContext = new TerrainContext(context, viewDistance, seed);
     PhysicsHandler = new JitterPhysicsHandler(gravity);
     EntityHandler = new EntityHandler();
 }