public WorldRenderingService(Model.World world, IVoxelWorldRenderer voxelWorldRenderer, LocalPlayerService localPlayerS, VoxelContentsFactory factory)
        {
            this.world = world;
            this.voxelWorldRenderer = voxelWorldRenderer;
            this.localPlayer        = localPlayerS.Player;

            Debug.Assert(Math.Abs(world.VoxelSize.X - world.VoxelSize.Y) < 0.001f);



            light1 = TW.Graphics.AcquireRenderer().CreateSpotLight();
            light2 = TW.Graphics.AcquireRenderer().CreateSpotLight();
            customVoxelsRenderer = new CustomVoxelsRenderer(world);
        }
        public ChunkedVoxelWorldRenderer(IMeshProvider meshProvider, Model.World world)
        {
            this.meshProvider = meshProvider;
            this.world        = world;

            numChunks = world.WorldSize / ChunkSize + 1;

            chunkEntities = new Array2D <Entity>(new Point2(numChunks, numChunks));
            chunkEntities.ForEach((_, p) =>
            {
                chunkEntities[p]             = new Entity();
                chunkEntities[p].WorldMatrix = Matrix.Translation((p.ToVector2() * ChunkSize * world.VoxelSize.X).ToXZ());
            });
        }
示例#3
0
 public _Analyzer(Memory memory, Model.World world)
 {
     World  = world;
     Memory = memory;
 }
 public WorldRenderingService(Model.World world, LocalPlayerService localPlayerS, VoxelContentsFactory factory)
     : this(world, new PerEntityVoxelWorldRenderer(world, new Point2(RenderSize, RenderSize)), localPlayerS, factory)
 {
 }
示例#5
0
		public Api()
		{
			Logger = NLog.LogManager.GetCurrentClassLogger();

			GameThread = new Thread(GameMainThread);
			MoveThread = new Thread(MoveStuffThread)
			{
				IsBackground = true
			};

			Network = new Network();
			Network.Readed += (Network sender, Packet.Packet packet) =>
			{
				lock (IdleLock)
					if (IsIdle)
					{
						IsIdle = false;
						Monitor.Pulse(IdleLock);
					}
			};

			World = new Model.World();
		}
 public PerEntityVoxelWorldRenderer(Model.World world, Point2 windowSize)
 {
     this.world = world;
     entities   = new Array2D <Entity>(windowSize);
     entities.ForEach((e, p) => entities[p] = new Entity());
 }
示例#7
0
 public CustomVoxelsRenderer(Model.World world)
 {
     this.world = world;
     world.Created.Subscribe(v => typeChangedVoxels.Add(v));
 }
示例#8
0
 public Factory(Memory memory, Model.World world)
 {
 }