Esempio n. 1
0
        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();
        }
Esempio n. 3
0
        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)";
        }
Esempio n. 4
0
        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);
            });
        }
Esempio n. 5
0
        //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;
        }
Esempio n. 6
0
        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();
        }