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(); } } }
public void SetSelectBlox(Blox bd) { if ((Object)bd != (Object)null) { this.selectedBloxIdx = BloxEd.BloxGlobalObj.bloxDefs.IndexOf(bd); base.Repaint(); } }
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); } }
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; } }
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)); }
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); } } }
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(); } }
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(); }
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; }
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); } }