Esempio n. 1
0
 private void CacheBloxList(string bloxIdent, object[] args)
 {
     this.targetBloxCache.Clear();
     if (this.Target.bloxIdents.Count != 0)
     {
         bool flag = false;
         for (int num = this.Target.bloxIdents.Count - 1; num >= 0; num--)
         {
             Blox blox = BloxEd.BloxGlobalObj.FindBloxDef(this.Target.bloxIdents[num]);
             if ((UnityEngine.Object)blox == (UnityEngine.Object)null)
             {
                 flag = true;
                 this.Target._RemoveBloxVariables(this.Target.bloxIdents[num]);
                 this.Target.bloxIdents.RemoveAt(num);
             }
             else
             {
                 this.targetBloxCache.Insert(0, blox);
             }
         }
         if (flag)
         {
             this.Save();
         }
     }
 }
Esempio n. 2
0
 public void SetSelectBlox(Blox bd)
 {
     if ((Object)bd != (Object)null)
     {
         this.selectedBloxIdx = BloxEd.BloxGlobalObj.bloxDefs.IndexOf(bd);
         base.Repaint();
     }
 }
Esempio n. 3
0
 private void OnRenameBlox()
 {
     if (this.list.index >= 0 && this.list.index < this.targetBloxCache.Count && !((UnityEngine.Object) this.targetBloxCache[this.list.index] == (UnityEngine.Object)null))
     {
         Blox _ = this.targetBloxCache[this.list.index];
         plyTextInputWiz.ShowWiz("Rename Blox", "", this.targetBloxCache[this.list.index].screenName, this.OnRenameBloxDef, null, 250f);
     }
 }
Esempio n. 4
0
        public override void OnInspectorGUI()
        {
            base.OnInspectorGUI();
            this.Target = (BloxContainer)base.target;
            EditorGUILayout.Space();
            this.list.DoLayoutList();
            if (this.activeVars != null)
            {
                this.varEditor.DoLayout();
            }
            if (this.deletedDetected && Event.current.type == EventType.Repaint)
            {
                this.deletedDetected = false;
                this.CacheBloxList(null, null);
            }
            Event current = Event.current;

            switch (current.type)
            {
            case EventType.DragExited:
                this.dragDropBlox = null;
                current.Use();
                break;

            case EventType.DragPerform:
                if ((UnityEngine.Object) this.dragDropBlox != (UnityEngine.Object)null)
                {
                    DragAndDrop.AcceptDrag();
                    plyEdGUI.ClearFocus();
                    current.Use();
                    if (!this.Target.bloxIdents.Contains(this.dragDropBlox.ident))
                    {
                        if (!this.targetBloxCache.Contains(this.dragDropBlox))
                        {
                            this.targetBloxCache.Add(this.dragDropBlox);
                        }
                        this.Target.bloxIdents.Add(this.dragDropBlox.ident);
                        this.Save();
                    }
                    this.dragDropBlox = null;
                }
                break;

            case EventType.DragUpdated:
                this.dragDropBlox = (DragAndDrop.GetGenericData("BloxDefinition") as Blox);
                if ((UnityEngine.Object) this.dragDropBlox != (UnityEngine.Object)null)
                {
                    DragAndDrop.visualMode = DragAndDropVisualMode.Move;
                    current.Use();
                }
                else
                {
                    DragAndDrop.visualMode = DragAndDropVisualMode.Rejected;
                }
                break;
            }
        }
Esempio n. 5
0
            public static void Create(Process bwxProcess, Expert bwxExpert, Message bwxMsg)
            {
                Blox _bwxExpert = new Blox();

                bwxProcess.PushExpert(_bwxExpert);
                MentalTask bwxTask = new Method(bwxProcess, bwxMsg);

                bwxProcess.ScheduleTask(bwxTask, _bwxExpert.CreateProc(bwxTask));
            }
Esempio n. 6
0
 private void CacheVariable()
 {
     if (Application.isPlaying && (this.v == null || !((UnityEngine.Object) this.sourceObj != (UnityEngine.Object)null)))
     {
         if (this.varType == VariableType.Global)
         {
             this.sourceObj = GlobalVariables.Instance;
             this.v         = GlobalVariables.Instance.variables.FindVariable(this.varName);
             if (this.v == null)
             {
                 Debug.LogErrorFormat("The Global Variable [{0}] does not exist.", this.varName);
             }
             else if (!base.isSetter)
             {
                 this.v.onValueChange += this.BoundValueChanged;
             }
         }
         else if (this.varType == VariableType.Blox)
         {
             BloxContainer bloxContainer = this.CacheSourceObject() as BloxContainer;
             if (!((UnityEngine.Object)bloxContainer == (UnityEngine.Object)null))
             {
                 if (!string.IsNullOrEmpty(this.triggerBloxEvent))
                 {
                     bloxContainer.TriggerEvent(this.triggerBloxEvent);
                 }
                 this.v = bloxContainer.FindVariable(this.bloxIdent, this.varName);
                 if (this.v == null)
                 {
                     Blox blox = BloxGlobal.Instance.FindBloxDef(this.bloxIdent);
                     Debug.LogErrorFormat("The Blox Variable [{0}] does not exist in Blox [{1}] on GameObject [{2}]", this.varName, ((object)blox != null) ? blox.screenName : null, bloxContainer.name);
                 }
                 else if (!base.isSetter)
                 {
                     this.v.onValueChange += this.BoundValueChanged;
                 }
             }
         }
         else if (this.varType == VariableType.Object)
         {
             ObjectVariables objectVariables = this.CacheSourceObject() as ObjectVariables;
             if (!((UnityEngine.Object)objectVariables == (UnityEngine.Object)null))
             {
                 this.v = objectVariables.FindVariable(this.varName);
                 if (this.v == null)
                 {
                     Debug.LogErrorFormat("The Object Variable [{0}] does not exist on GameObject [{1}]", this.varName, objectVariables.name);
                 }
                 else if (!base.isSetter)
                 {
                     this.v.onValueChange += this.BoundValueChanged;
                 }
             }
         }
     }
 }
 private void CacheVariable()
 {
     if (this.v == null && !((UnityEngine.Object) this.bloxContainer == (UnityEngine.Object)null))
     {
         this.v = this.bloxContainer.FindVariable(this.bloxIdent, this.varName);
         if (this.v == null)
         {
             Blox blox = BloxGlobal.Instance.FindBloxDef(this.bloxIdent);
             Debug.LogErrorFormat("The Blox Variable [{0}] does not exist in Blox [{1}] on GameObject [{2}]", this.varName, ((object)blox != null) ? blox.screenName : null, this.bloxContainer.name);
         }
     }
 }
Esempio n. 8
0
        private void AddNewBloxDef()
        {
            Blox blox = BloxEd.CreateNewBloxDef();

            this.Target.bloxIdents.Add(blox.ident);
            this.targetBloxCache.Add(blox);
            this.Save();
            BloxListWindow instance = BloxListWindow.Instance;

            if ((object)instance != null)
            {
                instance.Repaint();
            }
        }
Esempio n. 9
0
 private void DoBloxVariablesToolbar()
 {
     if ((UnityEngine.Object)BloxEditorWindow.Instance != (UnityEngine.Object)null && (UnityEngine.Object)BloxEditorWindow.Instance.blox != (UnityEngine.Object)null)
     {
         if ((UnityEngine.Object) this.blox != (UnityEngine.Object)BloxEditorWindow.Instance.blox)
         {
             this.blox = BloxEditorWindow.Instance.blox;
             this.varEditor.SetTarget(this.blox.variables, null);
         }
     }
     else if ((UnityEngine.Object) this.blox != (UnityEngine.Object)null)
     {
         this.blox = null;
         this.varEditor.SetTarget(null, null);
     }
     this.selected = this.varEditor.SelectedIdx;
     GUILayout.Label(BloxBlocksList.GC_VarsHeading);
     GUI.enabled = ((UnityEngine.Object) this.blox != (UnityEngine.Object)null);
     if (GUILayout.Button(BloxBlocksList.GC_ListButtons[0], plyEdGUI.Styles.ToolbarButton))
     {
         plyVarCreateWiz.ShowWiz(this.CreateVariable, "Variable", null);
     }
     GUI.enabled = (this.selected >= 0 && (UnityEngine.Object) this.blox != (UnityEngine.Object)null);
     if (GUILayout.Button(BloxBlocksList.GC_ListButtons[1], plyEdGUI.Styles.ToolbarButton) && EditorUtility.DisplayDialog("Blox Variables", "Removing the Variable can't be undone. Are you sure?", "Yes", "Cancel"))
     {
         this.blox.variables.varDefs.RemoveAt(this.selected);
         this.selected--;
         if (this.selected <= -1)
         {
             this.selected = ((this.blox.variables.varDefs.Count <= 0) ? (-1) : 0);
         }
         this.Save();
         BloxContainerInspector instance = BloxContainerInspector.Instance;
         if ((object)instance != null)
         {
             instance.OnBloxVariablesChanged(this.blox.ident);
         }
     }
     GUI.enabled = (this.selected >= 0 && (UnityEngine.Object) this.blox != (UnityEngine.Object)null);
     if (GUILayout.Button(BloxBlocksList.GC_ListButtons[2], plyEdGUI.Styles.ToolbarButton))
     {
         plyTextInputWiz.ShowWiz("Rename Variable", "Enter a unique name", this.blox.variables.varDefs[this.selected].name, this.OnRenameVariable, null, 250f);
     }
     GUI.enabled = true;
     GUILayout.FlexibleSpace();
 }
Esempio n. 10
0
 private void OnSelectBlox()
 {
     this.activeVars   = null;
     this.selectedBlox = this.targetBloxCache[this.list.index];
     if ((UnityEngine.Object) this.selectedBlox != (UnityEngine.Object)null)
     {
         if (this.selectedBlox.variables.varDefs.Count == 0)
         {
             this.selectedBlox.variables.Serialize();
             this.selectedBlox.variables.Deserialize(false);
         }
         BloxContainerInspector.GC_VarsHead.text = "Variables of: " + this.selectedBlox.screenName;
         this.activeVars = this.Target.GetBloxVariables(this.selectedBlox.ident, this.selectedBlox);
         this.activeVars._SetDirty();
         this.Save();
         this.varEditor.SetTarget(this.activeVars, this.Target.gameObject);
         base.Repaint();
     }
     if (!BloxEdGlobal.DoubleClickOpenBloxDef && this.list.index >= 0 && this.list.index < this.targetBloxCache.Count)
     {
         BloxEditorWindow.Show_BloxEditorWindow(this.targetBloxCache[this.list.index]);
     }
 }
        protected override void Draw(Rect rect, DataProvider target, bool isSetter)
        {
            TriggerEventDataProvider triggerEventDataProvider = target as TriggerEventDataProvider;

            EditorGUIUtility.labelWidth = 110f;
            rect.height = EditorGUIUtility.singleLineHeight;
            Rect  rect2 = rect;
            float num   = 0f;

            rect2.width = EditorGUIUtility.labelWidth;
            GUI.Label(rect2, TriggerEventProviderEd.GC_VarHead);
            rect2.x    += EditorGUIUtility.labelWidth;
            rect2.width = (num = (float)((rect.width - (rect2.width + 6.0)) / 2.0));
            triggerEventDataProvider.varName = EditorGUI.TextField(rect2, triggerEventDataProvider.varName);
            Blox blox = null;

            if (!string.IsNullOrEmpty(triggerEventDataProvider.bloxIdent))
            {
                blox = BloxEd.GetBloxDef(triggerEventDataProvider.bloxIdent);
                if ((UnityEngine.Object)blox == (UnityEngine.Object)null)
                {
                    triggerEventDataProvider.bloxIdent = "";
                }
                else
                {
                    TriggerEventProviderEd.GC_BloxName.text = blox.screenName;
                }
            }
            TriggerEventProviderEd.GC_BloxName.text = (((UnityEngine.Object)blox == (UnityEngine.Object)null) ? "-select-" : blox.screenName);
            rect2.x += (float)(rect2.width + 3.0);
            if (GUI.Button(rect2, TriggerEventProviderEd.GC_BloxName))
            {
                BloxListPopup.Show_BloxListPopup(null, this.OnBloxSelected, new object[1]
                {
                    triggerEventDataProvider
                });
            }
            rect2.y    += (float)(EditorGUIUtility.singleLineHeight + 2.0);
            rect2.x     = rect.x;
            rect2.width = EditorGUIUtility.labelWidth;
            GUI.Label(rect2, TriggerEventProviderEd.GC_ObjHead);
            rect2.x    += EditorGUIUtility.labelWidth;
            rect2.width = num;
            triggerEventDataProvider.sourceObjType = (TriggerEventDataProvider.DataSourceOject)EditorGUI.EnumPopup(rect2, (Enum)(object)triggerEventDataProvider.sourceObjType);
            if (triggerEventDataProvider.sourceObjType != TriggerEventDataProvider.DataSourceOject.Owner)
            {
                rect2.x += (float)(rect2.width + 3.0);
                triggerEventDataProvider.objNameOrTag = plyEdGUI.InlineLabelTextField(rect2, (triggerEventDataProvider.sourceObjType == TriggerEventDataProvider.DataSourceOject.WithName) ? TriggerEventProviderEd.GC_ObjName : TriggerEventProviderEd.GC_TagName, triggerEventDataProvider.objNameOrTag);
            }
            rect2.y    += (float)(EditorGUIUtility.singleLineHeight + 2.0);
            rect2.x     = rect.x;
            rect2.width = EditorGUIUtility.labelWidth;
            GUI.Label(rect2, TriggerEventProviderEd.GC_EventHead);
            rect2.x    += EditorGUIUtility.labelWidth;
            rect2.width = rect.width - EditorGUIUtility.labelWidth;
            triggerEventDataProvider.triggerBloxEvent = EditorGUI.TextField(rect2, triggerEventDataProvider.triggerBloxEvent);
            rect2.x     = rect.x;
            rect2.width = rect.width;
            for (int i = 0; i < triggerEventDataProvider.valSetterSources.Length; i++)
            {
                rect2.y += (float)(EditorGUIUtility.singleLineHeight + 2.0);
                TriggerEventProviderEd.GC_Param.text         = string.Format("with param{0} = ", i);
                triggerEventDataProvider.valSetterSources[i] = DataProviderEd.DataBindingValueSourceField(rect2, TriggerEventProviderEd.GC_Param, triggerEventDataProvider.valSetterSources[i], TriggerEventProviderEd.GC_ToValBindWin, triggerEventDataProvider);
            }
            rect2.y    += (float)(EditorGUIUtility.singleLineHeight + 2.0);
            rect2.x     = (float)(rect.xMax - 103.0);
            rect2.width = 50f;
            GUI.Label(rect2, TriggerEventProviderEd.GC_ParamsHead);
            rect2.x    += 53f;
            rect2.width = 25f;
            if (GUI.Button(rect2, Ico._add, plyEdGUI.Styles.MiniButtonLeft))
            {
                DataBindingValueSource item = new DataBindingValueSource();
                ArrayUtility.Add <DataBindingValueSource>(ref triggerEventDataProvider.valSetterSources, item);
                plyEdUtil.SetDirty(triggerEventDataProvider);
            }
            rect2.x    += 25f;
            GUI.enabled = (triggerEventDataProvider.valSetterSources.Length != 0);
            if (GUI.Button(rect2, Ico._remove, plyEdGUI.Styles.MiniButtonRight))
            {
                DataBinding databind = triggerEventDataProvider.valSetterSources[triggerEventDataProvider.valSetterSources.Length - 1].databind;
                DataProviderEd.DestroyDataprovider((databind != null) ? databind.dataprovider : null);
                ArrayUtility.RemoveAt <DataBindingValueSource>(ref triggerEventDataProvider.valSetterSources, triggerEventDataProvider.valSetterSources.Length - 1);
                plyEdUtil.SetDirty(triggerEventDataProvider);
            }
            GUI.enabled = true;
        }
Esempio n. 12
0
        protected override void Draw(Rect rect, DataProvider target, bool isSetter)
        {
            plyVarDataProvider plyVarDataProvider = target as plyVarDataProvider;

            EditorGUIUtility.labelWidth = 30f;
            rect.height = EditorGUIUtility.singleLineHeight;
            Rect  rect2 = rect;
            float num   = (float)((rect.width - (EditorGUIUtility.labelWidth + 3.0)) / 3.0);

            rect2.width = EditorGUIUtility.labelWidth;
            GUI.Label(rect2, isSetter ? plyVarDataProviderEd.GC_SetVar : plyVarDataProviderEd.GC_GetVar);
            rect2.x    += EditorGUIUtility.labelWidth;
            rect2.width = num;
            plyVarDataProvider.varType = (plyVarDataProvider.VariableType)EditorGUI.EnumPopup(rect2, (Enum)(object)plyVarDataProvider.varType);
            rect2.x    += (float)(num + 3.0);
            rect2.width = (float)(rect.width - (num + EditorGUIUtility.labelWidth + 3.0));
            plyVarDataProvider.varName = plyEdGUI.InlineLabelTextField(rect2, plyVarDataProviderEd.GC_VarName, plyVarDataProvider.varName);
            rect2.x += EditorGUIUtility.labelWidth;
            if (plyVarDataProvider.varType != 0)
            {
                rect2.y    += (float)(EditorGUIUtility.singleLineHeight + 2.0);
                rect2.x     = rect.x;
                rect2.width = EditorGUIUtility.labelWidth;
                GUI.Label(rect2, plyVarDataProviderEd.GC_Of);
                rect2.x    += EditorGUIUtility.labelWidth;
                rect2.width = num;
                plyVarDataProvider.sourceObjType = (plyVarDataProvider.DataSourceOject)EditorGUI.EnumPopup(rect2, (Enum)(object)plyVarDataProvider.sourceObjType);
                rect2.x    += (float)(num + 3.0);
                rect2.width = (float)(rect.width - (num + EditorGUIUtility.labelWidth + 3.0));
                if (plyVarDataProvider.varType == plyVarDataProvider.VariableType.Blox)
                {
                    rect2.width = (float)((rect2.width - 5.0) / 2.0);
                }
                if (plyVarDataProvider.sourceObjType != plyVarDataProvider.DataSourceOject.OfOwner)
                {
                    plyVarDataProvider.objNameOrTag = plyEdGUI.InlineLabelTextField(rect2, (plyVarDataProvider.sourceObjType == plyVarDataProvider.DataSourceOject.ObjWithName) ? plyVarDataProviderEd.GC_ObjName : plyVarDataProviderEd.GC_TagName, plyVarDataProvider.objNameOrTag);
                }
                if (plyVarDataProvider.varType == plyVarDataProvider.VariableType.Blox)
                {
                    Blox blox = null;
                    if (!string.IsNullOrEmpty(plyVarDataProvider.bloxIdent))
                    {
                        blox = BloxEd.GetBloxDef(plyVarDataProvider.bloxIdent);
                        if ((UnityEngine.Object)blox == (UnityEngine.Object)null)
                        {
                            plyVarDataProvider.bloxIdent = "";
                        }
                        else
                        {
                            plyVarDataProviderEd.GC_BloxName.text = blox.screenName;
                        }
                    }
                    plyVarDataProviderEd.GC_BloxName.text = (((UnityEngine.Object)blox == (UnityEngine.Object)null) ? "-select-" : blox.screenName);
                    rect2.x += (float)(rect2.width + 3.0);
                    if (GUI.Button(rect2, plyVarDataProviderEd.GC_BloxName))
                    {
                        BloxListPopup.Show_BloxListPopup(null, this.OnBloxSelected, new object[1]
                        {
                            plyVarDataProvider
                        });
                    }
                }
            }
            if (isSetter)
            {
                rect2.y    += (float)(EditorGUIUtility.singleLineHeight + 2.0);
                rect2.x     = rect.x;
                rect2.width = rect.width;
                plyVarDataProvider.valSetterSource = DataProviderEd.DataBindingValueSourceField(rect2, plyVarDataProviderEd.GC_ToVal, plyVarDataProvider.valSetterSource, plyVarDataProviderEd.GC_ToValBindWin, plyVarDataProvider);
            }
        }