Example #1
0
        private void Browser_Navigating(object sender, WebBrowserNavigatingEventArgs e)
        {
            string url = e.Url.OriginalString;

            if (GuiUtils.IsRunningOnMono() && url.StartsWith("wyciwyg"))
            {
                return;
            }

            if (url.StartsWith("about:blank"))
            {
                return;
            }

            url = url.Replace("http://", "");
            url = url.TrimEnd('/');

            string[] command = url.Split('/');

            if (command.Length > 0)
            {
                if (command[0] == "edit")
                {
                    EditMenu.PerformClick();
                }
            }

            e.Cancel = true;
        }
Example #2
0
    public void OpenEditMenu()
    {
        EditMenuScript = (EditMenu)gameObject.GetComponent(typeof(EditMenu));

        MenuUI.SetActive(false);
        EditMenuScript.OpenMenu(originalPie);
    }
Example #3
0
        public async Task <IActionResult> UpdateMenu([FromBody] EditMenu model, Guid CompanyId)
        {
            var url     = $"{IDPSettings.Current.LunchAppUrl}Menus/UpdateMenus/{model.Id}/{CompanyId}";
            var results = await _services.PutAsync <string>(url, model);

            return(new JsonResult(results));
        }
Example #4
0
    void OnGUI()
    {
        if (_currMap == null)
        {
            SrpgMap[] maps = GameObject.FindObjectsOfType <SrpgMap>();
            if (maps.Length == 0)
            {
                toolMode = ToolMode.Generate;
                editMenu = EditMenu.None;
            }
        }

        _scrollPos = EditorGUILayout.BeginScrollView(_scrollPos);
        {
            switch (toolMode)
            {
            case ToolMode.Generate:
                GUI_GenerateMode();
                break;

            case ToolMode.Edit:
                GUI_EditMode();
                break;
            }
        }
        EditorGUILayout.EndScrollView();
    }
Example #5
0
        public Form1()
        {
            ExitMenu exitMenu = new ExitMenu();

            exitMenu.ExitMenuClick += new EventHandler(exitMenu_ExitMenuClick);

            InitializeComponent();

            InitDefaultHost();
            HostSelected hostSelected = CreateHostSelected();
            EditMenu     editMenu     = CreateEditMenu();

            this.contextMenuStrip1.Items.AddRange(
                AppMenu.CreateAppMenu().
                Builder(HostManagerFactory.GetInstance().GetHostList(),
                        hostSelected,
                        Server.GetInstance().ReadCurrentHostKey()).
                Builder("-").
                Builder("编辑", editMenu).
                Builder("退出", exitMenu).ToMenuList().ToArray()
                );

            this.Hide();
            this.WindowState   = FormWindowState.Minimized;
            this.ShowInTaskbar = false;
        }
Example #6
0
 // Start is called before the first frame update
 void Start()
 {
     unitList    = new List <Unit>();
     unitEntries = new List <UnitEntry>();
     editMenu    = GameObject.Find("EditMenu").GetComponent <EditMenu>();
     saveMenu    = GameObject.Find("SaveMenu").GetComponent <SaveMenu>();
 }
Example #7
0
        private EditMenu CreateEditMenu()
        {
            EditMenu editMenu = new EditMenu();

            editMenu.EditMenuClick += new EventHandler(editMenu_EditMenuClick);
            return(editMenu);
        }
Example #8
0
        private void EditButton_Click(object sender, EventArgs e)
        {
            EditButton.ImageKey = "PanelDropDown_Down.bmp";

            Rectangle rect = EditButton.RectangleToScreen(EditButton.ClientRectangle);

            EditMenu.Show(rect.X - (EditMenu.Width - EditButton.Width) - 4, rect.Y + (EditButton.Height - 6));
        }
Example #9
0
        private void EditButton_Click(object sender, EventArgs e)
        {
            Point p = new System.Drawing.Point(0, EditButton.Height);

            EditMenu.Show(EditButton, p);

            return;
        }
Example #10
0
    private void SetupMap()
    {
        if (_currMap == null)
        {
            SrpgMap[] foundMaps = GameObject.FindObjectsOfType <SrpgMap>();
            if (foundMaps.Length > 0)
            {
                Array.Sort(foundMaps, (map1, map2) =>
                {
                    if (map1.lastEditedTime < map2.lastEditedTime)
                    {
                        return(1);
                    }
                    else if (map1.lastEditedTime > map2.lastEditedTime)
                    {
                        return(-1);
                    }
                    else
                    {
                        return(0);
                    }
                });

                SetCurrentMap(foundMaps[0]);
                toolMode = ToolMode.Edit;
                editMenu = EditMenu.Brush;
            }
        }
        else
        {
            if (_currMap.gameObject.activeSelf)
            {
                SetupLayer();
            }
            else
            {
                _currMap = null;
            }
        }

        if (_currMap != null)
        {
            _currMap.transform.position = Vector3.zero;

            Camera mainCamera = GameObject.FindWithTag("MainCamera").GetComponent <Camera>();
            if (mainCamera != null)
            {
                float cameraX = (_currMap.mapWidth * _currMap.tileWidth) / 2;
                //float cameraY = (_currMap.mapHeight * _currMap.tileHeight + _currMap.altitude) / 2;
                float cameraY = (_currMap.mapHeight * _currMap.tileHeight) / 2;
                mainCamera.transform.position = new Vector3(cameraX, cameraY, -10);
                mainCamera.orthographicSize   = Mathf.Max(cameraX, cameraY);
            }
        }
    }
        public void AddingDish(EditMenu edit)
        {
            Dish dish = new Dish(5, "Test", 12, 33.1);
            Dictionary <Ingredient, double> recipy = new Dictionary <Ingredient, double>();

            recipy.Add(edit.GetIngredients().Find(q => q.Id == 6), 33.1);
            dish.ingridients = recipy;
            edit.AddDish(dish);
            IMenu menu = edit.GetMenu(DateTime.Now);

            menu.Dishes.ForEach(d => Console.WriteLine(d));
            edit.RemoveDish(dish);
            menu = edit.GetMenu(DateTime.Now);
            menu.Dishes.ForEach(d => Console.WriteLine(d));
        }
Example #12
0
    /// <summary>
    /// Registers the header action buttons.
    /// </summary>
    private void RegisterHeaderActionButtons()
    {
        // Place actions to the main menu if required
        if (UseMainMenu && Visible)
        {
            // Try get current menu
            EditMenu em = PagePlaceholder.PortalManager.CurrentEditMenu;
            if (em != null)
            {
                // Add button
                if (DisplayAddButton)
                {
                    HeaderAction ha = new HeaderAction()
                    {
                        Enabled       = WidgetActionsEnabled,
                        Text          = GetAddWidgetButtonText(),
                        OnClientClick = addScript,
                        Tooltip       = PortalHelper.LocalizeStringForUI("addwidget.tooltip"),
                        GenerateSeparatorBeforeAction = true,
                        ButtonStyle = ButtonStyle.Default
                    };

                    btnAddWidget.Visible = false;
                    em.AddExtraAction(ha);
                }

                // Reset button
                if (DisplayResetButton)
                {
                    HeaderAction ha = new HeaderAction
                    {
                        Enabled       = WidgetActionsEnabled,
                        Text          = GetResetButtonText(),
                        OnClientClick = "if (!confirm(" + ScriptHelper.GetString(PortalHelper.LocalizeStringForUI("widgets.resetzoneconfirmtext")) + ")) { return false; } else { " + ControlsHelper.GetPostBackEventReference(this, "reset") + " }",
                        Tooltip       = PortalHelper.LocalizeStringForUI("resetwidget.tooltip"),
                        GenerateSeparatorBeforeAction = !DisplayAddButton,
                        ButtonStyle = ButtonStyle.Default
                    };

                    btnReset.Visible = false;
                    em.AddExtraAction(ha);
                }

                // Hide empty widget action panel
                pnlWidgetActions.Visible = false;
            }
        }
    }
Example #13
0
        static void Main(string[] args)
        {
            InputConverter input     = new InputConverter();
            OutputService  output    = new OutputService();
            MenuExplorer   menu      = new MenuExplorer();
            string         closeTime = "23:30";
            DateTime       time      = DateTime.Parse(closeTime);

            output.callMenu(time, menu);
            input.readOrder(time, output, menu);
            output.order(2, menu);
            EditMenu edit = new EditMenu();

            input.AddingDish(edit);
            input.readOrder(time, output, menu);
        }
    protected override void OnLoad(EventArgs e)
    {
        // Place actions to the main menu if required
        if (UseMainMenu && Visible)
        {
            // Try get current menu
            EditMenu em = PagePlaceholder.PortalManager.CurrentEditMenu;
            if (em != null)
            {
                // Add button
                if (DisplayAddButton)
                {
                    HeaderAction ha = new HeaderAction()
                    {
                        Text          = lnkAddWidget.Text,
                        OnClientClick = addScript,
                        ImageUrl      = GetImageUrl("Design/Controls/WidgetActions/addMenu.png"),
                        SmallImageUrl = GetImageUrl("Design/Controls/WidgetActions/16/addMenu.png"),
                        Tooltip       = GetString("addwidget.tooltip"),
                        GenerateSeparatorBeforeAction = true,
                    };

                    pnlAdd.Visible = false;
                    em.AddExtraAction(ha);
                }

                // Reset button
                if (DisplayResetButton)
                {
                    HeaderAction ha = new HeaderAction()
                    {
                        Text          = btnReset.Text,
                        OnClientClick = "if (!confirm('" + GetString("widgets.resetzoneconfirmtext") + "')) { return false; } else { " + CMS.ExtendedControls.ControlsHelper.GetPostBackEventReference(this.btnReset, "") + " }",
                        ImageUrl      = GetImageUrl("Design/Controls/WidgetActions/clearMenu.png"),
                        SmallImageUrl = GetImageUrl("Design/Controls/WidgetActions/16/clearMenu.png"),
                        Tooltip       = GetString("resetwidget.tooltip"),
                        GenerateSeparatorBeforeAction = !DisplayAddButton
                    };

                    pnlReset.Visible = false;
                    em.AddExtraAction(ha);
                }
            }
        }

        base.OnLoad(e);
    }
Example #15
0
    public static void Init()
    {
        thisWindowReference = EditorWindow.GetWindow(typeof(EditorWindowBase));
        windowWidth         = EditorWindow.focusedWindow.position.width;
        windowHeight        = EditorWindow.focusedWindow.position.height;
        buttonMenuRect      = new Rect(0.01f * windowWidth, 0.01f * windowHeight, windowWidth * 0.98f, windowHeight * 0.10f);
        leftMenuRect        = new Rect(0.01f * windowWidth, 0.12f * windowHeight, windowWidth * 0.14f, windowHeight * 0.87f);
        windowRect          = new Rect(0.16f * windowWidth, 0.12f * windowHeight, windowWidth * 0.83f, windowHeight * 0.85f);

        leftSubMenuSkin             = (GUISkin)Resources.Load("Editor/EditorLeftMenuItemSkin", typeof(GUISkin));
        leftSubMenuConcreteItemSkin =
            (GUISkin)Resources.Load("Editor/EditorLeftMenuItemSkinConcreteOptions", typeof(GUISkin));

        redoTexture = (Texture2D)Resources.Load("EAdventureData/img/icons/redo", typeof(Texture2D));
        undoTexture = (Texture2D)Resources.Load("EAdventureData/img/icons/undo", typeof(Texture2D));

        addTexture = (Texture2D)Resources.Load("EAdventureData/img/icons/addNode", typeof(Texture2D));

        deleteImg    = (Texture2D)Resources.Load("EAdventureData/img/icons/deleteContent", typeof(Texture2D));
        duplicateImg = (Texture2D)Resources.Load("EAdventureData/img/icons/duplicateNode", typeof(Texture2D));

        sceneTexture        = (Texture2D)Resources.Load("EAdventureData/img/icons/scenes", typeof(Texture2D));
        cutsceneTexture     = (Texture2D)Resources.Load("EAdventureData/img/icons/cutscenes", typeof(Texture2D));
        bookTexture         = (Texture2D)Resources.Load("EAdventureData/img/icons/books", typeof(Texture2D));
        itemTexture         = (Texture2D)Resources.Load("EAdventureData/img/icons/items", typeof(Texture2D));
        setItemTexture      = (Texture2D)Resources.Load("EAdventureData/img/icons/Atrezzo-List-1", typeof(Texture2D));
        playerTexture       = (Texture2D)Resources.Load("EAdventureData/img/icons/player", typeof(Texture2D));
        characterTexture    = (Texture2D)Resources.Load("EAdventureData/img/icons/npcs", typeof(Texture2D));
        conversationTexture = (Texture2D)Resources.Load("EAdventureData/img/icons/conversations", typeof(Texture2D));
        advancedTexture     = (Texture2D)Resources.Load("EAdventureData/img/icons/advanced", typeof(Texture2D));
        adaptationTexture   =
            (Texture2D)Resources.Load("EAdventureData/img/icons/adaptationProfiles", typeof(Texture2D));
        assessmentTexture =
            (Texture2D)Resources.Load("EAdventureData/img/icons/assessmentProfiles", typeof(Texture2D));

        thisWindowReference.Show();

        fileMenu          = new FileMenu();
        editMenu          = new EditMenu();
        adventureMenu     = new AdventureMenu();
        chaptersMenu      = new ChaptersMenu();
        runMenu           = new RunMenu();
        configurationMenu = new ConfigurationMenu();
        aboutMenu         = new AboutMenu();

        InitGUI();
    }
Example #16
0
    // Editable menus
    public void EnableEditMenu(GameObject element)
    {
        CloseEditMenus();

        EditMenu menu = null;

        if (element == null)
        {
            menu = FindEditMenu("AutoPeopleEdit");
            menu?.Open();
        }
        else if (element.name == "alg")
        {
            menu = FindEditMenu("AlgorithmEdit");
            menu?.Open();
        }
        else
        {
            switch (element.tag)
            {
            case "door": menu = FindEditMenu("DoorEdit"); break;

            case "tile": menu = FindEditMenu("SectionEdit"); break;

            case "node": menu = FindEditMenu("NodeEdit"); break;

            case "edge": menu = FindEditMenu("EdgeEdit"); break;

            case "person": menu = FindEditMenu("PersonEdit"); break;

            default: break;
            }

            if (menu != null)
            {
                menu.Open(); menu.SetEditableElement(element);
            }
        }
    }
Example #17
0
        public OptionsMenu()
        {
            AdminUser manager = new AdminUser();

            bool firstChoise = true;
            int  select;

            while (firstChoise)
            {
                bool correctNum = false;
                do
                {
                    Console.WriteLine("1.Application Login\n2.Login As Super Admin\n3.Create Account\n0.Close Application");
                    Console.WriteLine("=================");
                    Console.WriteLine("Select from Menu:");



                    bool isNum = int.TryParse(Console.ReadLine(), out select);
                    if (select < 0 || select > 3)
                    {
                        Console.ForegroundColor = ConsoleColor.DarkYellow;
                        Console.WriteLine("Your choose it's out of range.");
                        Console.ResetColor();
                        break;
                    }
                    else
                    {
                        correctNum = true;
                    }
                } while (!correctNum);

                switch (select)
                {
                case 1:
                    //This bool become true only if username and pass it's correct
                    //otherwise still ask insert username and pass
                    bool c = false;

                    do
                    {
                        string   user = CreateUser("Give", "username");
                        string   pass = CreateUser("Give", "password");
                        AccessId x    = manager.Login(user, pass);
                        if (x != 0 && x != AccessId.Admin)
                        {
                            Console.WriteLine($"Welcome {user}");

                            switch (x)
                            {
                            case AccessId.Simple:
                                SimpleMenu simpleMenu = new SimpleMenu(user);
                                break;

                            case AccessId.Basic:
                                BasicMenu basicMenu = new BasicMenu(user);
                                break;

                            case AccessId.Edit:
                                EditMenu editMenu = new EditMenu(user);
                                break;

                            case AccessId.Delete:
                                DeleteMenu deleteMenu = new DeleteMenu(user);
                                break;
                            }
                            c = true;
                        }
                        else
                        {
                            Console.ForegroundColor = ConsoleColor.DarkRed;
                            Console.WriteLine("Your username or password it's incorrect.Try again.");
                            Console.ResetColor();
                        }
                    } while (!c);
                    break;

                case 2:
                    Console.Clear();
                    Console.WriteLine(String.Format("{0," + Console.WindowWidth / 2 + "}", "Admin Login Form"));
                    string   userAdmin = CreateUser("Give", "username");
                    string   password  = CreateUser("Give", "password");
                    AccessId adm       = manager.Login(userAdmin, password);
                    if (adm == AccessId.Admin)
                    {
                        Console.WriteLine($"Welcome {userAdmin}\n");
                        bool take = false;
                        do
                        {
                            Console.Clear();
                            Console.WriteLine("1.Create a user\n2.View the user of system\n3.Delete a user\n4.Update a user\n0.Log Out");
                            int    val;
                            string email;
                            bool   n = int.TryParse(Console.ReadLine(), out val);
                            switch (val)
                            {
                            case 1:
                                try
                                {
                                    userAdmin = CreateUser("Give", "username");
                                    password  = CreateUser("Give", "password");
                                    email     = CreateUser("Give", "email");
                                    manager.Register(userAdmin, password, email);
                                }
                                catch (Exception ex)
                                {
                                    Console.WriteLine(ex.Message);
                                    Console.WriteLine("Press any button to exit.");
                                    Console.ReadKey();
                                    return;
                                }

                                break;

                            case 2:
                                manager.ViewUser();
                                break;

                            case 3:
                                try
                                {
                                    int  userId;
                                    bool id = int.TryParse(CreateUser("Give", "user id"), out userId);
                                    User a  = new User()
                                    {
                                        Id = userId
                                    };
                                    manager.DeleteUser(a);
                                }
                                catch (Exception ex)
                                {
                                    Console.WriteLine(ex.Message);
                                    Console.WriteLine("Press any button to exit.");
                                    Console.ReadKey();
                                    return;
                                }
                                break;

                            case 4:
                                Console.WriteLine("1.Change Password\n2.Change Access id\n3.Change email");
                                int      takeVal, _id;
                                bool     _take = int.TryParse(Console.ReadLine(), out takeVal);
                                string   success, _email;
                                AccessId e;
                                switch (takeVal)
                                {
                                case 1:
                                    try
                                    {
                                        _take    = int.TryParse(CreateUser("Give", "user id"), out _id);
                                        password = CreateUser("Give", "password");
                                        manager.UpdateUser(_id, password);
                                    }
                                    catch (Exception ex)
                                    {
                                        Console.WriteLine(ex.Message);
                                        Console.WriteLine("Press any button to exit.");
                                        Console.ReadKey();
                                        return;
                                    }

                                    break;

                                case 2:
                                    try
                                    {
                                        bool _successBool = false;
                                        _take = int.TryParse(CreateUser("Give", "user id"), out _id);
                                        do
                                        {
                                            success = CreateUser("Give", "access id");
                                            if (!ValidAccessId(success))
                                            {
                                                Console.WriteLine("Not valid access id");
                                            }
                                            else
                                            {
                                                _successBool = true;
                                            }
                                        } while (!_successBool);
                                        e = (AccessId)Enum.Parse(typeof(AccessId), success);
                                        manager.UpdateUser(_id, e);
                                    }
                                    catch (Exception ex)
                                    {
                                        Console.WriteLine(ex.Message);
                                        Console.WriteLine("Press any button to exit.");
                                        Console.ReadKey();
                                        return;
                                    }

                                    break;

                                case 3:
                                    try
                                    {
                                        _take  = int.TryParse(CreateUser("Give", "user id"), out _id);
                                        _email = CreateUser("Give", "email");
                                        manager.UpdateEmail(_id, _email);
                                    }
                                    catch (Exception ex)
                                    {
                                        Console.WriteLine(ex.Message);
                                        Console.WriteLine("Press any button to exit.");
                                        Console.ReadKey();
                                        return;
                                    }
                                    break;
                                }
                                break;

                            case 0:
                                Environment.Exit(0);
                                break;
                            }

                            Console.WriteLine("Do you want to continue?(Y/N)");
                            string answer = Console.ReadLine();

                            if (answer == "Y" || answer == "y")
                            {
                                take = false;
                            }
                            else
                            {
                                take = true;
                                manager.Logout();
                            }
                        } while (!take);
                    }
                    else
                    {
                        Console.WriteLine("You enter invalid details!");
                        Environment.Exit(0);
                    }

                    break;

                case 3:
                    string usernameOne, passOne, emailOne;
                    bool   first  = false;
                    bool   second = false;
                    bool   third  = false;

                    do
                    {
                        usernameOne = CreateUser("Give", "username").Trim();
                        var x = manager.ExistUser(usernameOne);
                        if (!x)
                        {
                            Console.ForegroundColor = ConsoleColor.DarkYellow;
                            Console.WriteLine("The username already exist.");
                            Console.ResetColor();
                        }
                        else if (usernameOne == "" || usernameOne.Length < 6 || usernameOne.Length > 12 || !x)
                        {
                            Console.ForegroundColor = ConsoleColor.DarkYellow;
                            Console.WriteLine("The username must be between 6 and 12 characters.");
                            Console.ResetColor();
                            first = false;
                        }
                        else
                        {
                            first = true;
                        }
                    } while (!first);

                    do
                    {
                        passOne = CreateUser("Give", "password");
                        bool isValidPass = Regex.IsMatch(passOne, passPattern);
                        if (!isValidPass)
                        {
                            Console.ForegroundColor = ConsoleColor.DarkYellow;
                            Console.WriteLine("The password must contain between 8 and 15 characters." +
                                              "Also must contain 2 letters,one special character and one number.");
                            Console.ResetColor();
                            second = false;
                        }
                        else
                        {
                            second = true;
                        }
                    } while (!second);

                    do
                    {
                        emailOne = CreateUser("Give", "email").Trim();
                        bool isValidEmail = Regex.IsMatch(emailOne, emailPattern);
                        if (!isValidEmail)
                        {
                            Console.ForegroundColor = ConsoleColor.DarkYellow;
                            Console.WriteLine("The email doesn't have the correct format.");
                            Console.ResetColor();
                        }
                        else
                        {
                            third = true;
                        }
                    } while (!third);

                    try
                    {
                        bool p = manager.Register(usernameOne, passOne, emailOne);
                        if (p)
                        {
                            Console.ForegroundColor = ConsoleColor.DarkGreen;
                            Console.WriteLine("Your account create succesfully.");
                            Console.ResetColor();
                            Console.WriteLine($"Your username: {usernameOne}");
                        }
                    }
                    catch (Exception ex)
                    {
                        Console.WriteLine(ex.Message);
                        Console.WriteLine("Press any button to exit.");
                        Console.ReadKey();
                        return;
                    }

                    Console.WriteLine("Do you want to continue? Y/N");
                    string yourChoose = Console.ReadLine();
                    if (yourChoose == "Y" || yourChoose == "y")
                    {
                        firstChoise = true;
                    }
                    else
                    {
                        firstChoise = false;
                        manager.Logout();
                    }
                    break;

                case 0:
                    Environment.Exit(0);
                    break;
                }
            }
            Console.ReadKey();
        }
Example #18
0
 //Displays the context menu when called from outside explicitly
 public override void DisplayContextMenu(int x, int y)
 {
     EditMenu.displayContextMenu(new System.Windows.Point(x, y));
 }
Example #19
0
    private void GUI_EditMode()
    {
        if (_currMap == null)
        {
            return;
        }

        EditorGUILayout.BeginHorizontal("box");
        {
            if (GUILayout.Button("Generate map"))
            {
                toolMode = ToolMode.Generate;
                editMenu = EditMenu.None;
            }
        }
        EditorGUILayout.EndHorizontal();

        GUI_Title("Edit map: " + _currMap.gameObject.name);

        EditorGUILayout.BeginVertical("box");
        {
            EditorGUILayout.LabelField("Layers (z-index rank. name)");

            GUIStyle buttonStyle = GUI.skin.GetStyle("Button");
            buttonStyle.padding = new RectOffset(2, 2, 1, 1);

            String[] toolbars = { "↑", "↓", "x" };

            for (int i = 0; i < _sortedLayer.Count; i++)
            {
                SrpgLayer layer = _sortedLayer[i];
                if (layer == null)
                {
                    Debug.LogWarning("layer is null");
                    continue;
                }

                EditorGUILayout.BeginHorizontal();
                {
                    Texture2D layerTex = layer.gameObject.activeSelf ?
                                         config.layerVisibleIcon :
                                         config.layerHiddenIcon;

                    if (GUILayout.Button(layerTex, buttonStyle, GUILayout.Width(20), GUILayout.Height(15)))
                    {
                        layer.gameObject.SetActive(!layer.gameObject.activeSelf);
                    }

                    string layerName = (i + 1) + ". " + layer.gameObject.name;
                    if (EditorGUILayout.ToggleLeft(layerName, layer == _currLayer))
                    {
                        _currLayer = layer;
                    }

                    int clickedButton = GUILayout.Toolbar(-1, toolbars, GUILayout.Width(60));
                    if (clickedButton == 0)                     // up
                    {
                        _currMap.ZIndexUp(i);
                        SetupLayer();
                    }
                    else if (clickedButton == 1)                     // down
                    {
                        _currMap.ZIndexDown(i);
                        SetupLayer();
                    }
                    if (clickedButton == 2) // remove
                    {
                        if (_sortedLayer.Count > 1)
                        {
                            _sortedLayer.RemoveAt(i);
                            Undo.DestroyObjectImmediate(layer.gameObject);
                        }
                    }
                }
                EditorGUILayout.EndHorizontal();
            }

            if (!_layerAdding)
            {
                if (GUILayout.Button("Add Layer"))
                {
                    _layerAdding = true;
                }
            }
            else
            {
                EditorGUILayout.BeginHorizontal();
                {
                    EditorGUILayout.LabelField("Name", GUILayout.Width(40));
                    _genLayerName = EditorGUILayout.TextField(_genLayerName);

                    EditorGUILayout.LabelField("", GUILayout.Width(10)); // space

                    //_genLayerTouchable = GUILayout.Toggle(_genLayerTouchable, "Touchable", GUILayout.Width(80));

                    if (GUILayout.Button("Add", GUILayout.Width(50)))
                    {
                        string layerName = _genLayerName;
                        if (layerName.Length == 0)
                        {
                            layerName = "Layer";
                        }

                        _currLayer = _currMap.CreateLayer(layerName, _genLayerTouchable);
                        Undo.RegisterCreatedObjectUndo(_currLayer.gameObject, _currLayer.name);

                        _layerAdding  = false;
                        _genLayerName = "";
                    }

                    if (GUILayout.Button("Cancel", GUILayout.Width(50)))
                    {
                        _layerAdding = false;
                    }
                }
                EditorGUILayout.EndHorizontal();
            }
        }
        EditorGUILayout.EndVertical();

        Texture2D prevTex = _tileset.texture;
        Rect      boxRect = EditorGUILayout.BeginVertical("box");

        {
            string tilesetName = (_tileset.texture == null ? "not selected" : _tileset.texture.name);
            _tileset.texture = (Texture2D)EditorGUILayout.ObjectField("Tileset: " + tilesetName, _tileset.texture, typeof(Texture2D), true, GUILayout.Height(40));

            if (_tileset.texture == null && _currMap.lastTileset != null)
            {
                _tileset.texture = _currMap.lastTileset;
            }

            Sprite firstSprite = null;
            if (_tileset.texture != null)
            {
                string tilesetPath = AssetDatabase.GetAssetPath(_tileset.texture.GetInstanceID());
                firstSprite = AssetDatabase.LoadAssetAtPath <Sprite>(tilesetPath);
                if (firstSprite != null)
                {
                    _tileset.spriteWidth  = firstSprite.rect.width;
                    _tileset.spriteHeight = firstSprite.rect.height;

                    EditorGUILayout.BeginHorizontal();
                    EditorGUILayout.HelpBox("Texture Size: " + _tileset.texture.width + " X " + _tileset.texture.height, MessageType.Info);
                    EditorGUILayout.HelpBox("Sprite Size: " + _tileset.spriteWidth + " X " + _tileset.spriteHeight, MessageType.Info);
                    EditorGUILayout.EndHorizontal();

                    _currMap.lastTileset = _tileset.texture;

                    _tilesetBackColor = EditorGUILayout.ColorField("Background Color", _tilesetBackColor);
                }
            }
        }
        EditorGUILayout.EndVertical();

        if (_tileset.texture == null)
        {
            return;
        }

        // draw background and tileset
        float sideMargin     = 5;
        float rightMargin    = 15;
        float tilesetOriginX = sideMargin;
        float tilesetOriginY = boxRect.y + boxRect.height + sideMargin;

#if UNITY_EDITOR_OSX
        float scaledTilesetWidth = (Screen.width / 2) - (sideMargin + rightMargin);
#else
        float scaledTilesetWidth = Screen.width - (sideMargin + rightMargin);
#endif

        float tilesetScale        = _tileset.texture.width / scaledTilesetWidth;
        float scaledTilesetHeight = _tileset.texture.height / tilesetScale;
        Rect  tilesetRect         = new Rect(tilesetOriginX, tilesetOriginY, scaledTilesetWidth, scaledTilesetHeight);

        EditorGUILayout.LabelField("", GUILayout.Height(scaledTilesetHeight), GUILayout.Width(scaledTilesetWidth - 5)); // tileset place holder

        Texture2D backTex = SrpgMtUtils.MakeAlphaTexture(1, 1, _tilesetBackColor);
        GUI.DrawTexture(tilesetRect, backTex, ScaleMode.StretchToFill);
        GUI.DrawTexture(tilesetRect, _tileset.texture);

        // draw lines
        int tilesetWidth  = (int)(_tileset.texture.width / _tileset.spriteWidth);
        int tilesetHeight = (int)(_tileset.texture.height / _tileset.spriteHeight);

        float scaledSpriteWidth  = _tileset.spriteWidth / tilesetScale;
        float scaledSpriteHeight = _tileset.spriteHeight / tilesetScale;
        //float scaledSpriteWidth = scaledTilesetWidth / tilesetWidth;
        //float scaledSpriteHeight = scaledTilesetHeight / tilesetHeight;

        Handles.BeginGUI();
        {
            Handles.color = Color.white;

            for (int i = 1; i < tilesetWidth; i++)
            {
                float x = tilesetOriginX + scaledSpriteWidth * i;
                Handles.DrawLine(new Vector3(x, tilesetOriginY), new Vector3(x, tilesetOriginY + scaledTilesetHeight));
            }

            for (int i = 1; i < tilesetHeight; i++)
            {
                float y = tilesetOriginY + scaledSpriteHeight * i;
                Handles.DrawLine(new Vector3(tilesetOriginX, y), new Vector3(tilesetOriginX + scaledTilesetWidth, y));
            }
        }
        Handles.EndGUI();

        // fill _sprites
        if (_tileset.texture != prevTex)
        {
            _sprites = new Sprite[tilesetWidth, tilesetHeight];

            string   tilesetPath = AssetDatabase.GetAssetPath(_tileset.texture.GetInstanceID());
            Sprite[] rawSprites  = AssetDatabase.LoadAllAssetsAtPath(tilesetPath).OfType <Sprite>().ToArray();

            foreach (Sprite sprt in rawSprites)
            {
                float spriteCenterX = tilesetOriginX + sprt.rect.center.x / tilesetScale;
                float spriteCenterY = tilesetOriginY + (_tileset.texture.height - (sprt.rect.center.y)) / tilesetScale;
                int   x             = Mathf.FloorToInt((spriteCenterX - tilesetOriginX) / scaledSpriteWidth);
                int   y             = Mathf.FloorToInt((spriteCenterY - tilesetOriginY) / scaledSpriteHeight);
                _sprites[x, y] = sprt;
            }

            _spriteSelection.Init();
        }

        // select sprites
        Event e = Event.current;
        if (e.button == 0)
        {
            if (e.type == EventType.MouseDown || e.type == EventType.MouseDrag)
            {
                Vector2 mousePos = e.mousePosition;

                foreach (Sprite sprt in _sprites)
                {
                    if (sprt == null)
                    {
                        continue;
                    }

                    float spriteX = tilesetOriginX + sprt.rect.x / tilesetScale;
                    float spriteY = tilesetOriginY + (_tileset.texture.height - (sprt.rect.y + sprt.rect.height)) / tilesetScale;

                    if (mousePos.x > spriteX && mousePos.x < spriteX + scaledSpriteWidth &&
                        mousePos.y > spriteY && mousePos.y < spriteY + scaledSpriteHeight)
                    {
                        int selX = Mathf.FloorToInt((mousePos.x - tilesetOriginX) / scaledSpriteWidth);
                        int selY = Mathf.FloorToInt((mousePos.y - tilesetOriginY) / scaledSpriteHeight);

                        if (e.type == EventType.MouseDown)
                        {
                            _spriteSelection.dragSttX = _spriteSelection.dragEndX = selX;
                            _spriteSelection.dragSttY = _spriteSelection.dragEndY = selY;
                            _spriteSelection.changed  = true;
                        }
                        else if (e.type == EventType.MouseDrag)
                        {
                            _spriteSelection.dragEndX = selX;
                            _spriteSelection.dragEndY = selY;
                            _spriteSelection.changed  = true;
                        }

                        _spriteSelection.xMin = Mathf.Min(_spriteSelection.dragSttX, _spriteSelection.dragEndX);
                        _spriteSelection.yMin = Mathf.Min(_spriteSelection.dragSttY, _spriteSelection.dragEndY);
                        _spriteSelection.xMax = Mathf.Max(_spriteSelection.dragSttX, _spriteSelection.dragEndX);
                        _spriteSelection.yMax = Mathf.Max(_spriteSelection.dragSttY, _spriteSelection.dragEndY);

                        e.Use();
                        break;
                    }
                }
            }
            else if (e.type == EventType.MouseUp)
            {
                if (_spriteSelection.changed)
                {
                    _spriteSelection.changed = false;
                    _brush.ResetSprites(_spriteSelection.xMin, _spriteSelection.yMin, _spriteSelection.xMax, _spriteSelection.yMax, _sprites);
                    e.Use();
                }
            }
        }

        // draw selection
        if (_spriteSelection.dragSttY >= 0 && _spriteSelection.dragSttX >= 0 &&
            _spriteSelection.dragEndY >= 0 && _spriteSelection.dragEndX >= 0)
        {
            for (int y = _spriteSelection.yMin; y <= _spriteSelection.yMax; y++)
            {
                for (int x = _spriteSelection.xMin; x <= _spriteSelection.xMax; x++)
                {
                    float     scaledRectX   = tilesetOriginX + scaledSpriteWidth * x;
                    float     scaledRectY   = tilesetOriginY + scaledSpriteHeight * y;
                    Rect      selectionRect = new Rect(scaledRectX, scaledRectY, scaledSpriteWidth, scaledSpriteHeight);
                    Texture2D selectionTex  = SrpgMtUtils.MakeAlphaTexture(1, 1, new Color(0, 0.5f, 0.5f, 0.5f));
                    GUI.DrawTexture(selectionRect, selectionTex, ScaleMode.StretchToFill);
                }
            }
        }
    }
Example #20
0
    private void GUI_GenerateMode()
    {
        if (_currMap != null)
        {
            EditorGUILayout.BeginHorizontal("box");
            {
                if (GUILayout.Button("Edit " + _currMap.gameObject.name))
                {
                    toolMode = ToolMode.Edit;
                    editMenu = EditMenu.Brush;
                }
            }
            EditorGUILayout.EndVertical();
        }

        GUI_Title("Generate map");

        //EditorGUILayout.BeginVertical("box");
        //{
        //	//EditorGUILayout.EnumPopup("View Type: ", _genViewType);
        //	//EditorGUILayout.EnumPopup("Render Start", _genRenderStart);
        //}
        //EditorGUILayout.EndVertical();

        EditorGUILayout.BeginVertical("box");
        {
            EditorGUILayout.LabelField("Map Size");
            _genMapWidth = EditorGUILayout.IntField("Width", _genMapWidth);
            if (_genMapWidth < 4)
            {
                _genMapWidth = 4;
            }
            _genMapHeight = EditorGUILayout.IntField("Height", _genMapHeight);
            if (_genMapHeight < 4)
            {
                _genMapHeight = 4;
            }
            _genMapAltitude = EditorGUILayout.IntField("Altitude", _genMapAltitude);
            if (_genMapAltitude < 0)
            {
                _genMapAltitude = 0;
            }
        }
        EditorGUILayout.EndVertical();

        EditorGUILayout.BeginVertical("box");
        {
            EditorGUILayout.LabelField("Tile Size");
            _genTileWidth = EditorGUILayout.IntField("Width", _genTileWidth);
            if (_genTileWidth < 16)
            {
                _genTileWidth = 16;
            }
            else if (_genTileWidth > 256)
            {
                _genTileWidth = 256;
            }
            _genTileHeight = EditorGUILayout.IntField("Height", _genTileHeight);
            if (_genTileHeight < 16)
            {
                _genTileHeight = 16;
            }
            else if (_genTileHeight > 256)
            {
                _genTileHeight = 256;
            }
        }
        EditorGUILayout.EndVertical();

        EditorGUILayout.BeginVertical("box");
        {
            _genMapName = EditorGUILayout.TextField("Name", _genMapName);
        }
        EditorGUILayout.EndVertical();

        EditorGUILayout.Space();

        if (GUILayout.Button("Generate"))
        {
            string mapName = _genMapName;
            if (mapName.Length == 0)
            {
                mapName = "SrpgMap_" + UnityEngine.Random.Range(0, 1000);
            }

            GameObject mapObj = new GameObject(mapName);
            mapObj.transform.position = Vector3.zero;
            //mapObj.layer = LayerMask.NameToLayer("SrpgMap");
            SetCurrentMap(mapObj.AddComponent <SrpgMap>());
            //_currMap.viewType = _genViewType;
            _currMap.mapWidth  = _genMapWidth;
            _currMap.mapHeight = _genMapHeight;
            //_currMap.altitude = _genMapAltitude;
            _currMap.tileWidth  = _genTileWidth;
            _currMap.tileHeight = _genTileHeight;

            toolMode = ToolMode.Edit;
            editMenu = EditMenu.Brush;

            _layerAdding  = true;
            _genLayerName = "Ground";
        }
    }
Example #21
0
 //Removes context menu when called from outside explicitly
 public override void RemoveMenu()
 {
     EditMenu.removeMenu();
 }
Example #22
0
 public EditService()
 {
     _model = new EditMenu();
 }
Example #23
0
    private void CloseSubMenus()
    {
        EditMenuScript = (EditMenu)gameObject.GetComponent(typeof(EditMenu));

        EditMenuScript.CloseMenu();
    }
        /// <summary>
        /// Constructor
        /// </summary>
        public AlignmentViewModel()
        {
            Options = new RuntimeOptionsViewModel();

            _isScreenSplit = false;
            _rightPaneSize = Double.PositiveInfinity;

            SplitScreenCommand    = new DelegatingCommand(() => IsScreenSplit = !IsScreenSplit);
            ShowOptionsCommand    = new DelegatingCommand(OnShowOptions);
            ShowBirdsEyeView      = new DelegatingCommand(OnShowBev);
            MakeReferenceSequence = new DelegatingCommand <AlignmentEntityViewModel>(OnMakeReferenceSequence);
            FlipGrouping          = new DelegatingCommand(() => IsGrouped = !IsGrouped, () => SupportsGrouping);
            GotoColumn            = new DelegatingCommand(OnGotoColumn);
            GotoRow                   = new DelegatingCommand(OnGotoRow);
            GotoRefColumn             = new DelegatingCommand(OnGotoRefColumn, () => HasReferenceSequence);
            FindByName                = new DelegatingCommand(OnFindByName);
            JumpNextNucleotide        = new DelegatingCommand(OnGotoNextNucleotide, () => FocusedRow != null && FocusedColumnIndex < TotalColumns - 1);
            JumpPreviousNucleotide    = new DelegatingCommand(OnGotoPreviousNucleotide, () => FocusedRow != null && FocusedColumnIndex > 0);
            JumpNextRefNucleotide     = new DelegatingCommand(OnGotoNextRefNucleotide, () => FocusedRow != null && FocusedColumnIndex < TotalColumns - 1 && HasReferenceSequence);
            JumpPreviousRefNucleotide = new DelegatingCommand(OnGotoPreviousRefNucleotide, () => FocusedRow != null && FocusedColumnIndex > 0 && HasReferenceSequence);
            ShiftFocusLeft            = new DelegatingCommand(OnShiftFocusLeft, () => FocusedRow != null);
            ShiftFocusRight           = new DelegatingCommand(OnShiftFocusRight, () => FocusedRow != null);
            FindByTaxonomy            = new DelegatingCommand(OnFindByTaxonomy, () => IsGrouped);

            OptionsMenu.Add(new MenuItem("Change _View Options")
            {
                Command = ShowOptionsCommand, GestureText = "Ctrl+O"
            });
            _groupByMenuItem = new MenuItem("Group By Taxonomy")
            {
                Command = FlipGrouping, IsChecked = IsGrouped, GestureText = "Ctrl+G"
            };
            OptionsMenu.Add(_groupByMenuItem);

            _splitScreenMenuItem = new MenuItem("Split Screen View")
            {
                Command = SplitScreenCommand, IsChecked = IsScreenSplit, GestureText = "Ctrl+S"
            };
            ViewMenu.Add(_splitScreenMenuItem);
            ViewMenu.Add(new MenuItem("_Taxonomy Browser")
            {
                Command = FindByTaxonomy, GestureText = "Ctrl+T"
            });
            ViewMenu.Add(new MenuItem("Birds-Eye Viewer")
            {
                Command = ShowBirdsEyeView, GestureText = "Ctrl+B"
            });

            EditMenu.Add(new MenuItem("Jump To _Column")
            {
                Command = GotoColumn, GestureText = "Ctrl+C"
            });
            EditMenu.Add(new MenuItem("Jump To _Row")
            {
                Command = GotoRow, GestureText = "Ctrl+R"
            });
            EditMenu.Add(new MenuItem());
            EditMenu.Add(new MenuItem("Jump To Previous Nucelotide")
            {
                Command = JumpPreviousNucleotide, GestureText = "F2"
            });
            EditMenu.Add(new MenuItem("Jump To Next Nucelotide")
            {
                Command = JumpNextNucleotide, GestureText = "F3"
            });
            EditMenu.Add(new MenuItem());
            EditMenu.Add(new MenuItem("Jump To Reference Nucelotide")
            {
                Command = GotoRefColumn, GestureText = "Ctrl+N"
            });
            EditMenu.Add(new MenuItem("Jump To Previous Reference Nucelotide")
            {
                Command = JumpPreviousRefNucleotide, GestureText = "Ctrl+F2"
            });
            EditMenu.Add(new MenuItem("Jump To Next Reference Nucelotide")
            {
                Command = JumpNextRefNucleotide, GestureText = "Ctrl+F3"
            });
            EditMenu.Add(new MenuItem());
            EditMenu.Add(new MenuItem("Find By _Name")
            {
                Command = FindByName, GestureText = "Ctrl+F"
            });

            NucleotideColorSelector = new NucleotideColorSelector(this, Options);
            _leftView  = new SplitPaneViewModel(this);
            _rightView = new SplitPaneViewModel(this);

            // Set the intial view
            SetActiveView(_leftView);
        }