public void OnAwake() { _canvas = SceneObject.Instantiate <Canvas>(Root); _log = _canvas.AddComponent <Text> (); _log.Alignment = Alignment.TopLeft; Camera.Current = Owner.AddComponent <Camera> (); Camera.Current.OnPlayerEntityAssigned += InitCamera; Mouse.ShowCursor(); InitCamera(Camera.Current); Program.OnSignal += OnFlowNodeSignal; }
/// <summary> /// Generates a specified style sheet by call /// </summary> #region Templates for Style Sheets private void MainMenu() { var startButton = new StartButton(GraphicsDevice, new Vector2(200, 140), new Point(400, 50), Color.LightGreen, "Start", this); var settings = new PageButton(GraphicsDevice, new Vector2(200, 200), new Point(400, 50), Color.LightGreen, "Settings", this, "SettingsPage.ss", 1); var exitButton = new ExitButton(GraphicsDevice, new Vector2(200, 260), new Point(400, 50), Color.LightGreen, "Exit", this); startButton.Scale = 1; settings.Scale = 1; exitButton.Scale = 1; canv.AddComponent(startButton); canv.AddComponent(settings); canv.AddComponent(exitButton); ss.SaveStyleSheet(canv.Components, "MainMenu.ss"); canv.RemoveAllComponents(); }
private void CreateCanvas() { Canvas = Object.Instantiate(_optionsPanel, _optionsPanel !.transform.parent); Canvas.GetComponent <RectTransform>().anchorMax = new Vector2(1f, 1f); Object.DestroyImmediate(Canvas.GetComponent <SettingsPanelController>()); Object.DestroyImmediate(Canvas.GetComponent <Image>()); Object.DestroyImmediate(Canvas.GetComponent <HGButtonHistory>()); Object.DestroyImmediate(Canvas.transform.Find("Scroll View").gameObject); Canvas.AddComponent <GenericDescriptionController>(); Canvas.name = "SettingsSubPanel, (Mod Options)"; }
public UiFrontend() { canvas = SceneObject.Instantiate <Canvas>(null); canvas.AddComponent <Image>().Color = Color.Black.WithAlpha(0.8f); // Start Game button AddButton(AssetLibrary.Strings.StartGame).Ctrl.OnPressed += () => StartGamePressed?.Invoke(); // Debug button AddButton("Load Debug Level", (button) => { button.Ctrl.OnPressed += () => DebugPressed?.Invoke(); button.RectTransform.Padding = new Padding(0, 35f); }); // Quit Game button AddButton(AssetLibrary.Strings.Quit, (button) => { button.Ctrl.OnPressed += () => QuitGamePressed?.Invoke(); button.RectTransform.Padding = new Padding(0, 70f); }); }
//UI Creation private void createUI() //Right here is the UI, obviously you'll see that in the full game, The UI isn't fully finished, right now we've got a button and I'm working through placements but it's coming along nicely { _canvas = SceneObject.Instantiate <Canvas>(null); text = _canvas.AddComponent <Text>(); text.Alignment = Alignment.Center; text.Height = 24; //text.Content = "Basic UI example"; text.Offset = new Point(0f, 120f); var pnl = SceneObject.Instantiate <Panel>(_canvas); clickableText = _canvas.AddComponent <Text>(); clickableText.Height = 15; //Create a button that shows the total amount of produce that's been gained so far. Gaining produce is automatic. var btn = SceneObject.Instantiate <Button>(_canvas); btn.RectTransform.Alignment = Alignment.BottomLeft; btn.RectTransform.Padding = new Padding(0f, -160.0f); btn.RectTransform.Size = new Point(300f, 30f); btn.Ctrl.Text.Content = "FarmhouseA turnover"; btn.Ctrl.Text.Height = 18; btn.Ctrl.Text.DropsShadow = true; btn.Ctrl.Text.Alignment = Alignment.Center; //When the btn thats been created is pressed, method OnUIbtnPressed is called btn.Ctrl.OnPressed += OnUIbtnPressed; //WIP - Button that changes position of camera so that the player can move the camera around var btnLeft = SceneObject.Instantiate <Button>(_canvas); btnLeft.RectTransform.Alignment = Alignment.BottomRight; btnLeft.RectTransform.Padding = new Padding(0f, -160f); btnLeft.RectTransform.Size = new Point(100f, 20f); btnLeft.Ctrl.Text.Content = "<"; btnLeft.Ctrl.Text.Height = 10; btnLeft.Ctrl.Text.DropsShadow = true; btnLeft.Ctrl.Text.Alignment = Alignment.Center; btnLeft.Ctrl.OnPressed += OnLeftBtnPressed; var btnAddCow = SceneObject.Instantiate <Button>(_canvas); btnAddCow.RectTransform.Alignment = Alignment.Center; btnAddCow.RectTransform.Padding = new Padding(200f, 150f); btnAddCow.RectTransform.Size = new Point(238.5f, 57.5f); btnAddCow.Background.Source = ResourceManager.ImageFromFile("Assets/UI/cowfactory.png", false); btnAddCow.Background.SliceType = SliceType.None; btnAddCow.Ctrl.OnPressed += addpen; btnAddCow.BackgroundImageInvertedUrl = "Assets/UI/cowfactory.png"; var btnAddCowUnit = SceneObject.Instantiate <Button>(_canvas); btnAddCowUnit.RectTransform.Alignment = Alignment.Center; btnAddCowUnit.RectTransform.Size = new Point(238.5f, 57.5f); btnAddCowUnit.RectTransform.Padding = new Padding(200f, 200f); btnAddCowUnit.Ctrl.Text.Content = "Add Cow"; btnAddCowUnit.Ctrl.OnPressed += addcow; }
public void OnAwake() { Debug.Log("Editor Awaken"); _canvas = SceneObject.Instantiate <Canvas>(Root); const int RES = 768; byte[] data = new byte[RES * RES * 4]; _canvas.TargetTexture = new Texture(RES, RES, data, true, false, true); var vSpl = SceneObject.Instantiate <Splitter> (_canvas); vSpl.RectTransform.Alignment = Alignment.Stretch; vSpl.SplitterPos = 30; vSpl.CanCollapse = true; var hSpl = SceneObject.Instantiate <Splitter> (vSpl.PaneA); hSpl.RectTransform.Alignment = Alignment.Stretch; hSpl.SplitterPos = 40; hSpl.SplitterSpanMin = 15; hSpl.SplitterSpanMax = 85; hSpl.IsVertical = false; hSpl.CanCollapse = true; // SceneTreeView var stv = SceneObject.Instantiate <Views.SceneTreeView>(hSpl.PaneA); stv.Caption = "Scene Tree"; stv.RectTransform.Alignment = Alignment.Stretch; // ComponentView var iv = SceneObject.Instantiate <Views.InspectorView>(hSpl.PaneB); iv.RectTransform.Alignment = Alignment.Stretch; // Window var wndPanel = SceneObject.Instantiate <Window>(_canvas); wndPanel.Caption = "Settings"; wndPanel.RectTransform.Alignment = Alignment.BottomRight; wndPanel.RectTransform.Padding = new Padding(-90, -60); wndPanel.RectTransform.Size = new Point(160, 100); // Checkbox "Show Side Bar" var cbt = wndPanel.AddComponent <Text> (); cbt.Height = 16; cbt.Offset = new Point(20, 0); cbt.Content = "Side Panel"; var cb1 = SceneObject.Instantiate <CheckBox>(wndPanel); cb1.RectTransform.Padding = new Padding(130, 50); cb1.Ctrl.CheckedChanged += (isChecked) => { if (!isChecked) { _prevVSplitterPos = Math.Max(20, vSpl.SplitterPos); } vSpl.SplitterPos = isChecked ? _prevVSplitterPos : 0; }; vSpl.CollapsedChanged += (collapsed) => cb1.Ctrl.IsChecked = !collapsed; // Image var imgPanel = SceneObject.Instantiate <Panel>(vSpl.PaneB); imgPanel.Name = "TestImage"; imgPanel.Background.Source = ResourceManager.ImageFromFile(UIPath + "TestImage.png"); imgPanel.Background.KeepRatio = true; imgPanel.Background.Color = Color.White.WithAlpha(0.8f); imgPanel.RectTransform.Padding = new Padding(50, 50); imgPanel.RectTransform.Size = new Point(120, 100); // Checkbox "Show Image" cbt = wndPanel.AddComponent <Text> (); cbt.Height = 16; cbt.Offset = new Point(20, 20); cbt.Content = "Show Image"; var cb2 = SceneObject.Instantiate <CheckBox>(wndPanel); cb2.RectTransform.Padding = new Padding(130, 70); cb2.Ctrl.CheckedChanged += (b) => imgPanel.Active = b; imgPanel.ActiveChanged += (so) => cb2.Ctrl.IsChecked = so.Active; cb2.Ctrl.IsChecked = false; // Visualize Root stv.SelectionChanged += obj => { iv.Context = obj; }; stv.SceneRoot = Root; // Some Log output _log = _canvas.AddComponent <Text> (); _log.Height = 15; _log.Alignment = Alignment.Bottom; SystemHandler.EditorGameStart += TryInitTargetTexture; SystemHandler.PrecacheEnded += TryInitTargetTexture; TryInitTargetTexture(); }