Пример #1
0
    public static void Draw(AudioNode node)
    {
        UndoHandler.CheckUndo(new UnityEngine.Object[] { node, node.NodeData }, "Random Data Node Change");
        node.Name = EditorGUILayout.TextField("Name", node.Name);
        NodeTypeDataDrawer.Draw(node);
        EditorGUILayout.Separator();

        if (node.NodeData.SelectedArea == 0)
        {
            EditorGUILayout.BeginVertical();

            EditorGUILayout.LabelField("Weights");

            for (int i = 0; i < node.Children.Count; ++i)
            {
                var child   = node.Children[i];
                var weights = (node.NodeData as RandomData).weights;
                EditorGUILayout.BeginHorizontal();

                weights[i] = EditorGUILayout.IntSlider(child.Name, weights[i], 0, 100);

                EditorGUILayout.EndHorizontal();
            }

            EditorGUILayout.EndVertical();
        }
        UndoHandler.CheckGUIChange();
    }
Пример #2
0
 public static void Draw(AudioNode node)
 {
     UndoHandler.CheckUndo(new UnityEngine.Object[] { node, node.NodeData });
     node.Name = EditorGUILayout.TextField("Name", node.Name);
     NodeTypeDataDrawer.Draw(node);
     UndoHandler.CheckGUIChange();
 }
Пример #3
0
    public static void Draw(AudioBankLink node)
    {
        UndoHandler.CheckUndo(node);
        //UndoCheck.Instance.CheckUndo(node, "Audio Bank:" + node.Name);
        EditorGUILayout.BeginVertical();
        node.Name = EditorGUILayout.TextField("Name", node.Name);
        if (node.Type != AudioBankTypes.Folder)
        {
            EditorGUILayout.IntField("ID", node.GUID);
            EditorGUILayout.Separator();
            node.AutoLoad = EditorGUILayout.Toggle("Auto load", node.AutoLoad);
        }


        Rect lastArea = GUILayoutUtility.GetLastRect();

        lastArea.y    += 28;
        lastArea.width = 200;
        if (GUI.Button(lastArea, "Find Folders using this bank"))
        {
            EditorWindow.GetWindow <AudioWindow>().Find(audioNode => AudioBankWorker.GetParentBank(audioNode) != node);
        }

        EditorGUILayout.EndVertical();
        //UndoCheck.Instance.CheckDirty(node);
        UndoHandler.CheckGUIChange();
    }
    public static void Draw(AudioNode node)
    {
        UndoHandler.CheckUndo(new Object[] { node, node.NodeData });
        node.Name = EditorGUILayout.TextField("Name", node.Name);
        UndoHandler.CheckGUIChange();
        EditorGUILayout.Separator();
        AudioData audio = node.NodeData as AudioData;
        var       clip  = (AudioClip)EditorGUILayout.ObjectField(audio.Clip, typeof(AudioClip), false);

        if (clip != audio.EditorClip) //Assign new clip
        {
            Undo.RegisterUndo(new Object[] { node.NodeData, AudioBankWorker.GetParentBank(node).LazyBankFetch }, "Changed " + node.Name + " Clip");
            audio.EditorClip = clip;
            AudioBankWorker.SwapClipInBank(node, clip);
        }

        NodeTypeDataDrawer.Draw(node);
    }
Пример #5
0
        protected EditboxBase(string type, string name)
            : base(type, name)
        {
            _readOnly           = false;
            _textMaskingEnabled = false;
            _maskCodePoint      = '*';
            _maxTextLen         = Int32.MaxValue;
            _caretPos           = 0;
            _selectionStart     = 0;
            _selectionEnd       = 0;
            _dragging           = false;

            AddEditboxBaseProperties();

            // override default and disable text parsing
            d_textParsingEnabled = false;
            // ban the property too, since this being off is not optional.
            BanPropertyFromXML("TextParsingEnabled");

            _undoHandler = new UndoHandler(this);
        }
Пример #6
0
 // Ensure that the instance is destroyed when the game is stopped in the editor.
 void OnApplicationQuit()
 {
     s_Instance = null;
 }
Пример #7
0
        public ExcelGrid(ExcelGridControl gridControl, int RowHeight, StringBuilder log, bool moveOptimiseEnabled,
            TextBox largeTextBox, TextBlock largeTextArea)
        {
            GridControl = gridControl;
            GridControl.Setup(this);

            EnableAdd = true;
            Editable = true;
            MoveOptimiseEnabled = moveOptimiseEnabled;
            moveOptimise = new MoveOptimiseHandler(this, moveOptimiseEnabled);
            SelectHandler = new SelectHandler(this);
            EditControlsHandler = new EditControlsHandler(this);
            StatusHandler = new StatusHandler(this);
            InteractionHandler = new InteractionHandler(this);
            cellNavigationHandler = new CellNavigationHandler(this);
            ClipboardHandler = new ClipboardHandler(this);
            FilterHandler = new FilterHandler(this);
            LargeTextHandler = new LargeTextHandler(largeTextBox, largeTextArea);
            UndoHandler = new UndoHandler(this);
            ScrollProximityHandler = new ScrollProximityHandler(this);
            DisplayColumnSpacer = true;
            AllowInserts = true;
            rowHeight = RowHeight;
            Rows = new List<RowHandler>();
            Log = log;
            if (DesignerProperties.IsInDesignTool == false)
            {
                HtmlPage.RegisterScriptableObject("ExcelGrid", this);
            } 
            InvalidRows = new List<RowHandler>();
            UpdatingRows = new List<RowHandler>();
        }
Пример #8
0
        // This is f*****g performance not-wise if slicing was possible I would be so happy
        private void Merge(object sender, EventArgs e)
        {
            DocumentForm doc = mainForm.ActiveDocument as DocumentForm;

            if (doc == null)
            {
                return;
            }
            int index = (int)numericUpDown_frameIndex.Value,
                pic   = (int)numericUpDown_pic.Value,
                next;

            int.TryParse(textBox_next.Text, out next);
            using (UndoHandler undoHandler = new UndoHandler(doc.Scintilla))
            {
                for (int i = doc.Scintilla.Text.IndexOf("<frame>"), j = doc.Scintilla.Text.IndexOf("<frame_end>", i + 7); i >= 0 && j >= 0; i = doc.Scintilla.Text.IndexOf("<frame>", i + 7), j = doc.Scintilla.Text.IndexOf("<frame_end>", i + 7))
                {
                    var             frameRange = doc.Scintilla.GetRange(i, j + 11);
                    string          frame      = frameRange.Text;
                    GroupCollection match      = Regex.Match(frame, LF2DataUtils.Pattern.frame).Groups;
                    int             num;
                    try
                    {
                        num = int.Parse(match[1].Value);
                    }
                    catch (Exception ex)
                    {
                        mainForm.formEventLog.Error(new LF2.IDE.LF2DataUtils.DataSyntaxException("Frame index could not be read\r\nFrame starting at line: " + doc.Scintilla.Lines.FromPosition(i).Number, ex), "Data Syntax Error");
                        return;
                    }
                    if (num >= numericUpDown_rangeStart.Value && num <= numericUpDown_rangeEnd.Value)
                    {
                        LF2DataUtils.Frame frameDat;
                        try
                        {
                            frameDat = LF2DataUtils.ReadFrame(frame);
                        }
                        catch (LF2DataUtils.DataSyntaxException ex)
                        {
                            mainForm.formEventLog.Error(ex, "Data Syntax Error");
                            return;
                        }

                        if (checkBoxMerge_index.CheckState == CheckState.Checked)
                        {
                            frameDat.index = index;
                        }
                        if (checkBoxMerge_caption.CheckState == CheckState.Checked || checkBoxMerge_caption.CheckState == CheckState.Indeterminate && frameDat.caption != null)
                        {
                            frameDat.caption = comboBox_caption.Text;
                        }

                        if (checkBoxMerge_pic.CheckState == CheckState.Checked || checkBoxMerge_pic.CheckState == CheckState.Indeterminate && frameDat.pic.HasValue)
                        {
                            frameDat.pic = pic;
                        }
                        if (checkBoxMerge_state.CheckState == CheckState.Checked || checkBoxMerge_state.CheckState == CheckState.Indeterminate && frameDat.state.HasValue)
                        {
                            frameDat.state = int.Parse(comboBox_state.Text);
                        }
                        if (checkBoxMerge_wait.CheckState == CheckState.Checked || checkBoxMerge_wait.CheckState == CheckState.Indeterminate && frameDat.wait.HasValue)
                        {
                            frameDat.wait = int.Parse(textBox_wait.Text);
                        }
                        if (checkBoxMerge_next.CheckState == CheckState.Checked || checkBoxMerge_next.CheckState == CheckState.Indeterminate && frameDat.next.HasValue)
                        {
                            frameDat.next = next;
                        }
                        if (checkBoxMerge_dvx.CheckState == CheckState.Checked || checkBoxMerge_dvx.CheckState == CheckState.Indeterminate && frameDat.dvx.HasValue)
                        {
                            frameDat.dvx = int.Parse(textBox_dvx.Text);
                        }
                        if (checkBoxMerge_dvy.CheckState == CheckState.Checked || checkBoxMerge_dvy.CheckState == CheckState.Indeterminate && frameDat.dvy.HasValue)
                        {
                            frameDat.dvy = int.Parse(textBox_dvy.Text);
                        }
                        if (checkBoxMerge_dvz.CheckState == CheckState.Checked || checkBoxMerge_dvz.CheckState == CheckState.Indeterminate && frameDat.dvz.HasValue)
                        {
                            frameDat.dvz = int.Parse(textBox_dvz.Text);
                        }
                        if (checkBoxMerge_centerx.CheckState == CheckState.Checked || checkBoxMerge_centerx.CheckState == CheckState.Indeterminate && frameDat.centerx.HasValue)
                        {
                            frameDat.centerx = int.Parse(textBox_centerx.Text);
                        }
                        if (checkBoxMerge_centery.CheckState == CheckState.Checked || checkBoxMerge_centery.CheckState == CheckState.Indeterminate && frameDat.centery.HasValue)
                        {
                            frameDat.centery = int.Parse(textBox_centery.Text);
                        }
                        if (checkBoxMerge_hit_a.CheckState == CheckState.Checked || checkBoxMerge_hit_a.CheckState == CheckState.Indeterminate && frameDat.hit_a.HasValue)
                        {
                            frameDat.hit_a = int.Parse(textBox_hit_a.Text);
                        }
                        if (checkBoxMerge_hit_d.CheckState == CheckState.Checked || checkBoxMerge_hit_d.CheckState == CheckState.Indeterminate && frameDat.hit_d.HasValue)
                        {
                            frameDat.hit_d = int.Parse(textBox_hit_d.Text);
                        }
                        if (checkBoxMerge_hit_Da.CheckState == CheckState.Checked || checkBoxMerge_hit_Da.CheckState == CheckState.Indeterminate && frameDat.hit_Da.HasValue)
                        {
                            frameDat.hit_Da = int.Parse(textBox_hit_Da.Text);
                        }
                        if (checkBoxMerge_hit_Dj.CheckState == CheckState.Checked || checkBoxMerge_hit_Dj.CheckState == CheckState.Indeterminate && frameDat.hit_Dj.HasValue)
                        {
                            frameDat.hit_Dj = int.Parse(textBox_hit_Dj.Text);
                        }
                        if (checkBoxMerge_hit_Fa.CheckState == CheckState.Checked || checkBoxMerge_hit_Fa.CheckState == CheckState.Indeterminate && frameDat.hit_Fa.HasValue)
                        {
                            frameDat.hit_Fa = int.Parse(textBox_hit_Fa.Text);
                        }
                        if (checkBoxMerge_hit_Fj.CheckState == CheckState.Checked || checkBoxMerge_hit_Fj.CheckState == CheckState.Indeterminate && frameDat.hit_Fj.HasValue)
                        {
                            frameDat.hit_Fj = int.Parse(textBox_hit_Fj.Text);
                        }
                        if (checkBoxMerge_hit_j.CheckState == CheckState.Checked || checkBoxMerge_hit_j.CheckState == CheckState.Indeterminate && frameDat.hit_j.HasValue)
                        {
                            frameDat.hit_j = int.Parse(textBox_hit_j.Text);
                        }
                        if (checkBoxMerge_hit_ja.CheckState == CheckState.Checked || checkBoxMerge_hit_ja.CheckState == CheckState.Indeterminate && frameDat.hit_ja.HasValue)
                        {
                            frameDat.hit_ja = int.Parse(textBox_hit_ja.Text);
                        }
                        if (checkBoxMerge_hit_Ua.CheckState == CheckState.Checked || checkBoxMerge_hit_Ua.CheckState == CheckState.Indeterminate && frameDat.hit_Ua.HasValue)
                        {
                            frameDat.hit_Ua = int.Parse(textBox_hit_Ua.Text);
                        }
                        if (checkBoxMerge_hit_Uj.CheckState == CheckState.Checked || checkBoxMerge_hit_Uj.CheckState == CheckState.Indeterminate && frameDat.hit_Uj.HasValue)
                        {
                            frameDat.hit_Uj = int.Parse(textBox_hit_Uj.Text);
                        }
                        if (checkBoxMerge_sound.CheckState == CheckState.Checked || checkBoxMerge_sound.CheckState == CheckState.Indeterminate && frameDat.sound != null)
                        {
                            frameDat.sound = textBox_sound.Text;
                        }

                        frameRange.Text = frameDat.ToString();

                        if (checkBoxInc_index.Checked)
                        {
                            index++;
                        }
                        if (checkBoxInc_pic.Checked)
                        {
                            pic++;
                        }
                        if (checkBoxInc_next.Checked)
                        {
                            next++;
                        }
                    }
                }
            }
        }
Пример #9
0
    public static void Draw(AudioNode node)
    {
        EditorGUILayout.BeginVertical();
        UndoHandler.CheckUndo(new UnityEngine.Object[] { node, node.NodeData });
        node.Name = EditorGUILayout.TextField("Name", node.Name);
        UndoHandler.CheckGUIChange();

        if (node.Type != AudioNodeType.Root)
        {
            bool overrideparent = EditorGUILayout.Toggle("Override Parent", node.OverrideParentBank);
            if (overrideparent != node.OverrideParentBank)
            {
                AudioBankWorker.ChangeBankOverriding(node);
            }
        }
        else
        {
            EditorGUILayout.LabelField(""); //To fill out the area from the toggle
        }
        if (node.OverrideParentBank == false && node.Type != AudioNodeType.Root)
        {
            GUI.enabled = false;
        }

        EditorGUILayout.BeginHorizontal();

        var parentLink = FindParentBank(node);

        if (node.OverrideParentBank)
        {
            if (node.BankLink != null)
            {
                EditorGUILayout.LabelField("Bank", node.BankLink.GetName);
            }
            else
            {
                EditorGUILayout.LabelField("Bank", "Missing Bank, using parent bank" + parentLink.GetName);
            }
        }
        else
        {
            EditorGUILayout.LabelField("Using Bank", parentLink.GetName);
        }

        bool wasEnabled = GUI.enabled;

        GUI.enabled = true;
        if (GUILayout.Button("Find", GUILayout.Width(50)))
        {
            EditorWindow.GetWindow <AuxWindow>().FindBank(parentLink);
        }

        Rect findArea = GUILayoutUtility.GetLastRect();

        findArea.y += 20;
        if (GUI.Button(findArea, "Find"))
        {
            EditorWindow.GetWindow <AuxWindow>().FindBank(node.BankLink);
        }

        GUI.enabled = wasEnabled;

        GUILayout.Button("Drag new bank here", GUILayout.Width(140));

        var newBank = HandleDragging(GUILayoutUtility.GetLastRect());

        if (newBank != null)
        {
            if (node.OverrideParentBank)
            {
                AudioBankWorker.SetNewBank(node, newBank);
            }
            else
            {
                node.BankLink = newBank;
            }
        }
        GUI.enabled = true;
        EditorGUILayout.EndHorizontal();
        GUI.enabled = false;
        EditorGUILayout.LabelField("Node Bank", node.BankLink.GetName);
        GUI.enabled = true;
        EditorGUILayout.EndVertical();
    }