Exemple #1
0
        /// <summary>
        /// Create a new window for editng Text tiles, eg signs
        /// </summary>
        /// <param name="manager">UI Manager Object</param>
        /// <param name="interact">Interaction Parameters, includes level and position of sign</param>
        public TaskSign(Manager manager, InteractBlockEventArgs interact) : base(manager)
        {
            //Set up the window
            Text      = "Sign";
            Resizable = false;
            Init();
            ClientWidth         = 320;
            ClientHeight        = 172;
            TopPanel.Visible    = false;
            BottomPanel.Visible = true;
            Center();

            //Create the input box for text editing
            Input = new TextBox(manager);
            Input.Init();
            Input.Left   = 8;
            Input.Top    = 8;
            Input.Width  = ClientArea.Width - 16;
            Input.Height = ClientArea.Height - 54;
            Input.Anchor = Anchors.All;
            Input.Mode   = TextBoxMode.Multiline;
            Input.Text   = (interact.level.tiles[interact.x, interact.y] as TextTile).Text;
            Input.SelectAll();
            Input.Focused    = true;
            Input.ScrollBars = ScrollBars.Both;
            Add(Input);

            //Saves the text, Durrr
            Save = new Button(manager);
            Save.Init();
            Save.Text   = "Save";
            Save.Width  = 64;
            Save.Height = 24;
            Save.Top    = 8;
            Save.Left   = (ClientWidth / 2) - Save.Width - 8;
            Save.Click += new TomShane.Neoforce.Controls.EventHandler(delegate(object sender, TomShane.Neoforce.Controls.EventArgs e)
            {
                //If the tile is still a text tile (Incase it got destroyed) then set it's text
                if (interact.level.tiles[interact.x, interact.y] is TextTile)
                {
                    (interact.level.tiles[interact.x, interact.y] as TextTile).Text = Input.Text;
                }
                //Close up here
                Close();
            });

            //What could this do?
            Cancel = new Button(manager);
            Cancel.Init();
            Cancel.Text   = "Cancel";
            Cancel.Width  = 64;
            Cancel.Height = 24;
            Cancel.Top    = 8;
            Cancel.Left   = (ClientWidth / 2) + 8;
            Cancel.Click += new TomShane.Neoforce.Controls.EventHandler(delegate(object sender, TomShane.Neoforce.Controls.EventArgs e)
            {
                Close(); //Self-Explanitory
            });

            //Add the new controls
            BottomPanel.Add(Save);
            BottomPanel.Add(Cancel);
        }
Exemple #2
0
        /// <summary>
        /// Create a new window for editng Text tiles, eg signs
        /// </summary>
        /// <param name="manager">UI Manager Object</param>
        /// <param name="interact">Interaction Parameters, includes level and position of sign</param>
        public TaskTimer(Manager manager, InteractBlockEventArgs interact) : base(manager)
        {
            this.interact = interact;

            if (interact.level.tiles[interact.x, interact.y] is TimerTile)
            {
                orgTime   = (interact.level.tiles[interact.x, interact.y] as TimerTile).Time;
                orgLength = (interact.level.tiles[interact.x, interact.y] as TimerTile).Length;
            }
            //Set up the window
            Text      = "Edit Timer";
            Resizable = false;
            Init();
            Width               = 300 + 16;
            ClientHeight        = 142;
            TopPanel.Visible    = false;
            TopPanel.Height     = 0;
            BottomPanel.Visible = true;
            DefaultControl      = timeBar;
            Center();

            timeLabel = new Label(manager);
            timeLabel.Init();
            timeLabel.Top   = TopPanel.Height + 6;
            timeLabel.Left  = 8;
            timeLabel.Width = ClientWidth - 32;
            Add(timeLabel);

            timeBar = new TrackBar(manager);
            timeBar.Init();
            timeBar.Top           = timeLabel.Top + timeLabel.Height + 4;
            timeBar.Range         = (30 * 10) - 5;
            timeBar.Value         = 0;
            timeBar.Width         = ClientWidth - 12;
            timeBar.Height        = 24;
            timeBar.Left          = (ClientWidth / 2) - (timeBar.Width / 2);
            timeBar.ValueChanged += timeBar_ValueChanged;
            Add(timeBar);

            lengthLabel = new Label(manager);
            lengthLabel.Init();
            lengthLabel.Top   = timeBar.Top + timeBar.Height + 4;
            lengthLabel.Left  = 8;
            lengthLabel.Width = ClientWidth - 32;
            Add(lengthLabel);

            lengthBar = new TrackBar(manager);
            lengthBar.Init();
            lengthBar.Top           = lengthLabel.Top + lengthLabel.Height + 4;
            lengthBar.Range         = (30 * 10) - 5;
            lengthBar.Value         = 0;
            lengthBar.Width         = ClientWidth - 12;
            lengthBar.Height        = 24;
            lengthBar.Left          = (ClientWidth / 2) - (timeBar.Width / 2);
            lengthBar.ValueChanged += lengthBar_ValueChanged;
            Add(lengthBar);

            //Saves the text, Durrr
            Save = new Button(manager);
            Save.Init();
            Save.Text   = "Save";
            Save.Width  = 64;
            Save.Height = 24;
            Save.Top    = 8;
            Save.Left   = (ClientWidth / 2) - Save.Width - 8;
            Save.Click += new TomShane.Neoforce.Controls.EventHandler(delegate(object sender, TomShane.Neoforce.Controls.EventArgs e)
            {
                if (interact.level.tiles[interact.x, interact.y] is TimerTile)
                {
                    (interact.level.tiles[interact.x, interact.y] as TimerTile).Time   = time;
                    (interact.level.tiles[interact.x, interact.y] as TimerTile).Length = length;
                }
                Close();
            });

            //What could this do?
            Cancel = new Button(manager);
            Cancel.Init();
            Cancel.Text   = "Cancel";
            Cancel.Width  = 64;
            Cancel.Height = 24;
            Cancel.Top    = 8;
            Cancel.Left   = (ClientWidth / 2) + 8;
            Cancel.Click += new TomShane.Neoforce.Controls.EventHandler(delegate(object sender, TomShane.Neoforce.Controls.EventArgs e)
            {
                if (interact.level.tiles[interact.x, interact.y] is TimerTile)
                {
                    (interact.level.tiles[interact.x, interact.y] as TimerTile).Time   = orgTime;
                    (interact.level.tiles[interact.x, interact.y] as TimerTile).Length = orgLength;
                }
                Close(); //Self-Explanitory
            });

            //Add the new controls
            BottomPanel.Add(Save);
            BottomPanel.Add(Cancel);

            if (interact.level.tiles[interact.x, interact.y] is TimerTile)
            {
                timeBar.Value   = (int)(((interact.level.tiles[interact.x, interact.y] as TimerTile).Time * 10) - 5);
                lengthBar.Value = (int)(((interact.level.tiles[interact.x, interact.y] as TimerTile).Length * 10) - 5);
                timeBar_ValueChanged(null, null);
                lengthBar_ValueChanged(null, null);
            }
        }