Example #1
0
        public void Initialize(Cockpit cockpit)
        {
            Frame3 cockpitF = cockpit.GetLocalFrame(CoordSpace.WorldCoords);

            float fHUDRadius = 0.7f;
            Color bgColor    = new Color(0.7f, 0.7f, 1.0f);

            Material bgMaterial   = MaterialUtil.CreateTransparentMaterial(bgColor, 0.7f);
            Material primMaterial = MaterialUtil.CreateStandardMaterial(Color.yellow);

            HUDButton addCylinderButton = new HUDButton()
            {
                Radius = 0.08f
            };

            addCylinderButton.Create(PrimitiveType.Cylinder, bgMaterial, primMaterial);
            Frame3 cylFrame    = addCylinderButton.GetObjectFrame();
            Frame3 cylHUDFrame = make_hud_sphere_frame(fHUDRadius, -45.0f, 0.0f);

            addCylinderButton.SetObjectFrame(
                cylFrame.Translated(cylHUDFrame.Origin)
                .Rotated(Quaternion.FromToRotation(cylFrame.Z, cylHUDFrame.Z)));
            addCylinderButton.OnClicked += (s, e) => {
                cockpit.Parent.Scene.AddCylinder();
            };
            cockpit.AddUIElement(addCylinderButton, true);


            HUDButton addBoxButton = new HUDButton()
            {
                Radius = 0.08f
            };

            addBoxButton.Create(PrimitiveType.Cube, bgMaterial, primMaterial);
            Frame3 boxFrame    = addBoxButton.GetObjectFrame();
            Frame3 boxHUDFrame = make_hud_sphere_frame(fHUDRadius, -45.0f, -15.0f);

            addBoxButton.SetObjectFrame(
                boxFrame.Translated(boxHUDFrame.Origin)
                .Rotated(Quaternion.FromToRotation(boxFrame.Z, boxHUDFrame.Z)));
            addBoxButton.OnClicked += (s, e) => {
                cockpit.Parent.Scene.AddBox();
            };
            cockpit.AddUIElement(addBoxButton, true);
        }