public ClientWorld(MasterRenderer renderer) { Renderer = renderer; debugRenderer = Renderer.GetRenderer3D <DebugRenderer>(); entRenderer = Renderer.GetRenderer3D <EntityRenderer>(); }
public Player(MasterRenderer renderer, World world, SimpleCamera camera, Vector3 position, Team team) : base(position, 11, 5, 2.5f) { this.masterRenderer = renderer; this.World = world; this.camera = camera; Team = team; if (!GlobalNetwork.IsServer) { debugRenderer = renderer.GetRenderer3D <DebugRenderer>(); entRenderer = renderer.GetRenderer3D <EntityRenderer>(); base.Renderer.VoxelObject = new DebugVOCube(world.GetTeamColor(team).ToColor4(), 1); flashlight = new Light(Vector3.Zero, LightType.Spot, 2, Color.White, new Vector3(1, 0, 0.002f)) { Radius = MathHelper.ToRadians(45), Visible = false }; renderer.Lights.Add(flashlight); } HitFeedbackPositions = new List <Vector3>(); Viewbob = GlobalNetwork.IsClient ? new ItemViewbob(this) : null; ItemManager = new ItemManager(renderer, this, world, Viewbob); }
public VoxelTranslationHandles(MasterRenderer renderer) { xAxisVo = new VoxelTranslationHandle(6, cubeSize, Color.Blue); xAxisVo.MeshRotation = new Vector3(0, 0, -90); yAxisVo = new VoxelTranslationHandle(6, cubeSize, Color.Red); zAxisVo = new VoxelTranslationHandle(6, cubeSize, Color.Green); zAxisVo.MeshRotation = new Vector3(90, 0, 0); entRenderer = renderer.GetRenderer3D <EntityRenderer>(); debugRenderer = renderer.GetRenderer3D <DebugRenderer>(); }
public Terrain(MasterRenderer renderer) { if (!GlobalNetwork.IsServer) { entRenderer = renderer.GetRenderer3D <EntityRenderer>(); chunkRenderer = renderer.GetRenderer3D <ChunkRenderer>(); MeshReadyChunks = new ConcurrentQueue <Chunk>(); } Chunks = new ConcurrentDictionary <IndexPosition, Chunk>(); AllChanges = new List <BlockChange>(); TrackChanges = GlobalNetwork.IsServer; }
public EditorScreen(MainWindow window, MasterRenderer renderer) { this.Window = window; this.renderer = renderer; this.entReneder = renderer.GetRenderer3D <EntityRenderer>(); UI = new EditorUI(renderer, this); debug = new DashCMDScreen("modeldebug", "", true, (s) => { s.WriteLine("Mouse POS {0} {1}", Input.ClampedCursorX, Input.ClampedCursorY); s.WriteLine("Camera POS {0}", Camera.Active.Position); s.WriteLine("VoxelEditorObject POS {0}", (Model != null ? Model.CenterPosition : Vector3.Zero)); s.WriteLine(""); s.WriteLine("Current File {0}", CurrentFile); s.WriteLine("Fog: {0}; Enabled? {1}", renderer.GFXSettings.FogQuality, renderer.FogEnabled); s.WriteLine("FXAA: {0}", renderer.GFXSettings.ApplyFXAA); s.WriteLine("Shadows: {0}", renderer.GFXSettings.RenderShadows); s.WriteLine("PCF Samples: {0}", renderer.GFXSettings.ShadowPCFSamples); s.WriteLine("Wireframe: {0}", renderer.GlobalWireframe); }) { SleepTime = 40, }; DashCMD.AddScreen(debug); DashCMD.ExecuteCommand("screen modeldebug"); Camera.Active.Speeds[0] = .5f; LoadNewModel(); }
public EditorWorld(EditorScreen screen) { this.screen = screen; terrainPhys = new TerrainPhysicsExtension(); renderer = MasterRenderer.Instance; debugRenderer = renderer.GetRenderer3D <DebugRenderer>(); }
public TerrainEditor(EditorScreen screen) { this.screen = screen; editor = screen.WorldEditor; renderer = screen.Window.Renderer; terrainPhys = new TerrainPhysicsExtension(); entRenderer = renderer.GetRenderer3D <EntityRenderer>(); colorPicker = screen.UI.ColorWindow.ColorPicker; blockCursorCube = new DebugCube(Color4.White, Block.CUBE_SIZE); SelectionBox = new EditorSelectionBox(); undoStack = new Stack <TerrainOperationBatch>(); redoStack = new Stack <TerrainOperationBatch>(); operationBatch = new TerrainOperationBatch(); rayIntersection = new TerrainRaycastResult(new Ray(Vector3.Zero, Vector3.UnitZ)); }
public Spade(ItemManager itemManager, MasterRenderer renderer) : base(renderer, itemManager, ItemType.Spade) { ModelOffset = new Vector3(-3f, -5f, 3f); LoadModel("Models/spade.aosm"); if (GlobalNetwork.IsClient) { entRenderer = renderer.GetRenderer3D <EntityRenderer>(); if (cursorCube == null) { cursorCube = new DebugCube(Color4.Black, Block.CUBE_SIZE); cursorCube.RenderAsWireframe = true; cursorCube.ApplyNoLighting = true; cursorCube.OnlyRenderFor = RenderPass.Normal; } if (!itemManager.IsReplicated) { AudioBuffer hitBlockAudioBuffer = AssetManager.LoadSound("Weapons/Spade/hit-block.wav"); if (hitBlockAudioBuffer != null) { hitBlockAudioSource = new AudioSource(hitBlockAudioBuffer); hitBlockAudioSource.IsSourceRelative = true; hitBlockAudioSource.Gain = 0.2f; } AudioBuffer missAudioBuffer = AssetManager.LoadSound("Weapons/Spade/miss.wav"); if (missAudioBuffer != null) { missAudioSource = new AudioSource(missAudioBuffer); missAudioSource.IsSourceRelative = true; missAudioSource.Gain = 0.5f; } } } }
public BlockItem(ItemManager itemManager, MasterRenderer renderer) : base(itemManager, ItemType.BlockItem) { this.renderer = renderer; ModelOffset = new Vector3(-1.75f, -1.75f, 2.5f); ownerPlayerPhysicsBody = OwnerPlayer.GetComponent <PhysicsBodyComponent>(); if (!GlobalNetwork.IsServer) { entRenderer = renderer.GetRenderer3D <EntityRenderer>(); cube = new DebugCube(Color4.White, 1.5f); Renderer.VoxelObject = cube.VoxelObject; if (cursorCube == null) { cursorCube = new DebugCube(Color4.White, Block.CUBE_SIZE); cursorCube.RenderAsWireframe = true; cursorCube.ApplyNoLighting = true; cursorCube.OnlyRenderFor = RenderPass.Normal; } Colors = new Color[PaletteHeight, PaletteWidth]; for (int y = 0; y < PaletteHeight; y++) { for (int x = 0; x < PaletteWidth; x++) { if (y == 0) { Colors[y, x] = Maths.HSVToRGB(0, 0, Math.Max(x / (float)PaletteWidth, 0.05f)); } else { int halfPalette = PaletteWidth / 2; if (x > halfPalette) { Colors[y, x] = Maths.HSVToRGB( (y - 1) / ((float)PaletteHeight - 1) * 360, 1f - Math.Max((x - halfPalette) / (float)halfPalette, 0.05f), 1f); } else { Colors[y, x] = Maths.HSVToRGB( (y - 1) / ((float)PaletteHeight - 1) * 360, 1f, Math.Max(x / (float)halfPalette, 0.05f)); } } } } BlockColor = Colors[ColorY, ColorX]; if (!itemManager.IsReplicated) { AudioBuffer buildAudioBuffer = AssetManager.LoadSound("Weapons/Block/build.wav"); if (buildAudioBuffer != null) { buildAudioSource = new AudioSource(buildAudioBuffer); buildAudioSource.IsSourceRelative = true; buildAudioSource.Gain = 0.5f; } } } }