public virtual void Render() { if (!entity.Initialized) { return; } for (int i = 0; i < entity.Behaviors.Count; i++) { entity.Behaviors[i].RenderDebug(); } //SceneManager.LineManager.AddGroundCircle(Position, IntObj2D.bracketSize, Color.Green); //SceneManager.LineManager.AddLine(Position, Position, Color.Green); //SceneManager.LineManager.AddLine(Position, Position+normal, Color.Green); Color color = Color.White; batch.Add(new VertexTextureColor(RotateToScreen(Position, new Vector3(-1, 0, 0)), new Vector2(1, 1), color)); batch.Add(new VertexTextureColor(RotateToScreen(Position, new Vector3(1, 0, 0)), new Vector2(0, 1), color)); batch.Add(new VertexTextureColor(RotateToScreen(Position, new Vector3(-1, 3, 0)), new Vector2(1, 0), color)); batch.Add(new VertexTextureColor(RotateToScreen(Position, new Vector3(-1, 3, 0)), new Vector2(1, 0), color)); batch.Add(new VertexTextureColor(RotateToScreen(Position, new Vector3(1, 3, 0)), new Vector2(0, 0), color)); batch.Add(new VertexTextureColor(RotateToScreen(Position, new Vector3(1, 0, 0)), new Vector2(0, 1), color)); }
public void Render() { if (SceneManager.Pass != RenderPass.Transparent || StrategicMode) { return; } float height = 0.5f, bracketSizeDefault = 1, radiusSize = 0; float bracketSize; Vector2 texD1 = new Vector2(0.0f, 0.0f), texD2 = new Vector2(0.0f, 1.5f), texD3 = new Vector2(0.75f, 0.0f); Vector2 tex1, tex2, tex3, tex4; tex4 = new Vector2(1); Color4 color = Color.White; foreach (InteractiveObject2D obj in list) { if (obj.onScreen && (obj.focused || obj.selected)) { radiusSize = obj.bracketSize - 1; bracketSize = bracketSizeDefault + radiusSize; tex1 = texD1; tex2 = texD2; tex3 = texD3; if (!obj.selected) { tex1.X += 0.5f; tex2.X += 0.5f; tex3.X += 0.5f; } /*if (obj.side==Main.network.me.id) { * color = new Color4(0.75f, 1, 0,1); * } else { * color = Color.OrangeRed; * }*/ Vector3 pos = obj.entity.IntObj3D.Position; batch.Add(new VertexTextureColor(pos + new Vector3(bracketSize, height, bracketSize), tex1, color)); batch.Add(new VertexTextureColor(pos + new Vector3(radiusSize, height, bracketSize), tex3, color)); batch.Add(new VertexTextureColor(pos + new Vector3(bracketSize, height, radiusSize), tex2, color)); batch.Add(new VertexTextureColor(pos + new Vector3(-bracketSize, height, -bracketSize), tex1, color)); batch.Add(new VertexTextureColor(pos + new Vector3(-radiusSize, height, -bracketSize), tex3, color)); batch.Add(new VertexTextureColor(pos + new Vector3(-bracketSize, height, -radiusSize), tex2, color)); batch.Add(new VertexTextureColor(pos + new Vector3(-bracketSize, height, bracketSize), tex1, color)); batch.Add(new VertexTextureColor(pos + new Vector3(-bracketSize, height, radiusSize), tex2, color)); batch.Add(new VertexTextureColor(pos + new Vector3(-radiusSize, height, bracketSize), tex3, color)); batch.Add(new VertexTextureColor(pos + new Vector3(bracketSize, height, -bracketSize), tex1, color)); batch.Add(new VertexTextureColor(pos + new Vector3(bracketSize, height, -radiusSize), tex2, color)); batch.Add(new VertexTextureColor(pos + new Vector3(radiusSize, height, -bracketSize), tex3, color)); } } if (batch.Count > 0) { GraphicsManager.SetBlendState(DeviceStates.blendStateTrans); GraphicsManager.SetDepthState(DeviceStates.depthWriteOff); GraphicsManager.SetPrimitiveTopology(SharpDX.Direct3D.PrimitiveTopology.TriangleList); ShaderManager.Apply("VS_UI3D"); ShaderManager.Apply("PS_UI3D"); Display.context.PixelShader.SetShaderResource(0, ForegroundGame.selectionBrackets.ressource); batch.Draw(); } }