示例#1
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();
            }
        }
示例#2
0
 public override bool DrawCreateWizard(plyVar target)
 {
     this.targetVar     = target;
     this.targetHandler = (plyVar_Array)target.ValueHandler;
     if (plyVarEd_Array.menu == null)
     {
         List <plyVarEd> list = new List <plyVarEd>();
         foreach (plyVarEd value in plyVariablesEditor.editors.Values)
         {
             if (!((plyVarEdAttribute)value.nfo).UsesAdvancedEditor)
             {
                 list.Add(value);
             }
         }
         plyVarEd_Array.menu = new GenericMenu();
         for (int i = 0; i < list.Count; i++)
         {
             if (list[i].handleTypes.Count == 1)
             {
                 string   varTypeName = ((plyVarEdAttribute)list[i].nfo).VarTypeName;
                 MenuData userData    = new MenuData
                 {
                     varType  = ((plyVarEdAttribute)list[i].nfo).TargetType,
                     baseType = list[i].handleTypes[0]
                 };
                 plyVarEd_Array.menu.AddItem(new GUIContent(varTypeName), false, this.OnTypeSelected, userData);
             }
             else
             {
                 for (int j = 0; j < list[i].handleTypeNames.Length; j++)
                 {
                     string   text      = ((plyVarEdAttribute)list[i].nfo).VarTypeName + "/" + list[i].handleTypeNames[j].text;
                     MenuData userData2 = new MenuData
                     {
                         varType  = ((plyVarEdAttribute)list[i].nfo).TargetType,
                         baseType = list[i].handleTypes[j]
                     };
                     plyVarEd_Array.menu.AddItem(new GUIContent(text), false, this.OnTypeSelected, userData2);
                 }
             }
         }
     }
     if (GUILayout.Button(BloxEd.PrettyTypeName(this.targetHandler.baseType, false)))
     {
         plyVarEd_Array.menu.ShowAsContext();
     }
     return(this.targetHandler.baseType != null);
 }
示例#3
0
        protected void OnEnable()
        {
            Debug.Log("OnEnable", "BloxListWindow", UnityEngine.Color.yellow);
            BloxListWindow.Instance = this;
            Texture2D image = plyEdGUI.LoadTextureResource("BloxEditor.res.icons.blox_mono" + (plyEdGUI.IsDarkSkin() ? "_p" : "") + ".png", typeof(BloxListWindow).Assembly, FilterMode.Point, TextureWrapMode.Clamp);

            base.titleContent = new GUIContent("BloxDefs", image);
            BloxEd.LoadBloxGlobal();
            if (this.listOps == null)
            {
                this.listOps = new plyEdGUI.ListOps
                {
                    emptyMsg       = "No Blox defined",
                    drawBackground = false,
                    onDrawElement  = this.DrawElement,
                    onAction       = this.ListAction,
                    extraButtons   = new plyEdGUI.ListOpsExtraToolbarButton[2]
                    {
                        new plyEdGUI.ListOpsExtraToolbarButton
                        {
                            label    = new GUIContent(Ico._rename, "Rename selected Blox Definition"),
                            callback = delegate
                            {
                                plyTextInputWiz.ShowWiz("Rename Blox", "", BloxEd.BloxGlobalObj.bloxDefs[this.selectedBloxIdx].screenName, this.OnRenameBloxDef, null, 250f);
                            },
                            enabled = (() => this.selectedBloxIdx >= 0)
                        },
                        new plyEdGUI.ListOpsExtraToolbarButton
                        {
                            label    = new GUIContent(Ico._blox + "Edit", "Edit in Blox Editor"),
                            callback = delegate
                            {
                                BloxEditorWindow.Show_BloxEditorWindow(BloxEd.BloxGlobalObj.bloxDefs[this.selectedBloxIdx]);
                            },
                            enabled = (() => this.selectedBloxIdx >= 0)
                        }
                    },
                    canAdd            = true,
                    canDuplicate      = false,
                    canRemove         = true,
                    canChangePosition = false,
                    addLabel          = BloxListWindow.GC_Add,
                    removeLabel       = BloxListWindow.GC_Remove,
                    duplicateLabel    = BloxListWindow.GC_Duplicate
                };
            }
        }
示例#4
0
        private void OnRenameBloxDef(plyTextInputWiz wiz)
        {
            string text = wiz.text;

            wiz.Close();
            if (!string.IsNullOrEmpty(text))
            {
                BloxEd.BloxGlobalObj.bloxDefs[this.selectedBloxIdx].screenName = text;
                plyEdUtil.SetDirty(BloxEd.BloxGlobalObj.bloxDefs[this.selectedBloxIdx]);
                BloxEd.SortBloxDefList();
                base.Repaint();
                BloxEditorWindow instance = BloxEditorWindow.Instance;
                if ((object)instance != null)
                {
                    instance.Repaint();
                }
                plyEdUtil.RepaintInspector(typeof(BloxContainer));
            }
        }
示例#5
0
 private void DoDataProvider()
 {
     if (this.providerLabels == null)
     {
         base.Close();
         GUIUtility.ExitGUI();
     }
     else
     {
         if (this.isNewlyCreated)
         {
             EditorGUI.BeginChangeCheck();
             this.providerIdx = EditorGUILayout.Popup(DataBindingWindow.GC_Space, this.providerIdx, this.providerLabels);
             if (EditorGUI.EndChangeCheck())
             {
                 string ident = this.bind.dataprovider.ident;
                 DataProviderEd.DestroyDataprovider(this.bind.dataprovider);
                 this.providerEd        = DataProviderEd.factory.CreateEditor(this.providerLabels[this.providerIdx].text);
                 this.bind.dataprovider = DataProviderEd.CreateDataprovider(this.providerEd.nfo.TargetType, ident, this.isForSetter);
                 plyEdUtil.SetDirty(this.bindOwner);
             }
         }
         else
         {
             GUI.enabled = false;
             EditorGUILayout.Popup(DataBindingWindow.GC_Space, this.providerIdx, this.providerLabels);
             GUI.enabled = true;
         }
         DataBindingWindow.GC_Text.text = BloxEd.PrettyTypeName(this.bind.dataprovider.DataType(), !this.isForSetter);
         EditorGUILayout.LabelField(DataBindingWindow.GC_Space, DataBindingWindow.GC_Text);
         if (this.providerEd != null)
         {
             Rect rect = GUILayoutUtility.GetRect(0f, (float)(this.providerEd.EditorHeight(this.bind.dataprovider, this.isForSetter) + 10.0), GUILayout.ExpandWidth(true));
             rect.x      += 5f;
             rect.width  -= 10f;
             rect.y      += 10f;
             rect.height -= 10f;
             this.providerEd.DrawEditor(rect, this.bind.dataprovider, this.isForSetter);
             base.Repaint();
         }
     }
 }
示例#6
0
        protected void OnEnable()
        {
            Texture2D image = plyEdGUI.LoadTextureResource("BloxEditor.res.icons.blox_mono" + (plyEdGUI.IsDarkSkin() ? "_p" : "") + ".png", typeof(BloxListWindow).Assembly, FilterMode.Point, TextureWrapMode.Clamp);

            base.titleContent = new GUIContent("Blox Definitions", image);
            BloxEd.LoadBloxGlobal();
            if (this.listOps == null)
            {
                this.listOps = new plyEdGUI.ListOps
                {
                    emptyMsg          = "No Blox defined",
                    drawBackground    = false,
                    onDrawElement     = this.DrawElement,
                    canAdd            = false,
                    canDuplicate      = false,
                    canRemove         = false,
                    canChangePosition = false
                };
            }
        }
示例#7
0
        private void OnRenameBloxDef(plyTextInputWiz wiz)
        {
            string text = wiz.text;

            wiz.Close();
            if (!string.IsNullOrEmpty(text))
            {
                this.targetBloxCache[this.list.index].screenName = text;
                plyEdUtil.SetDirty(this.targetBloxCache[this.list.index]);
                BloxEd.SortBloxDefList();
                base.Repaint();
                BloxListWindow instance = BloxListWindow.Instance;
                if ((object)instance != null)
                {
                    instance.Repaint();
                }
                BloxEditorWindow instance2 = BloxEditorWindow.Instance;
                if ((object)instance2 != null)
                {
                    instance2.Repaint();
                }
            }
        }
示例#8
0
        private static string GetMemberName(MemberInfo mi)
        {
            if (mi == null)
            {
                return("");
            }
            ParameterInfo[] array = null;
            string          text  = mi.Name;

            if (mi.MemberType == MemberTypes.Method)
            {
                MethodInfo methodInfo = (MethodInfo)mi;
                array = methodInfo.GetParameters();
                text += BloxEd.ParametersNameSection(array);
                if (methodInfo.ReturnType != null && methodInfo.ReturnType != typeof(void))
                {
                    text = text + ": " + BloxEd.PrettyTypeName(methodInfo.ReturnType, true);
                }
            }
            else if (mi.MemberType == MemberTypes.Field)
            {
                FieldInfo fieldInfo = (FieldInfo)mi;
                text = text + ": " + BloxEd.PrettyTypeName(fieldInfo.FieldType, true);
            }
            else if (mi.MemberType == MemberTypes.Property)
            {
                PropertyInfo propertyInfo = (PropertyInfo)mi;
                text = text + ": " + BloxEd.PrettyTypeName(propertyInfo.PropertyType, true);
            }
            text = mi.ReflectedType.FullName.Replace('.', '/') + "/" + text;
            text = text.Replace('+', '.');
            if (string.IsNullOrEmpty(mi.ReflectedType.Namespace))
            {
                text = "Scripts/" + text;
            }
            return(text);
        }
示例#9
0
        private int ListAction(plyEdGUI.ListOps.ListAction act)
        {
            switch (act)
            {
            case plyEdGUI.ListOps.ListAction.DoAdd:
                BloxEd.CreateNewBloxDef();
                this.selectedBloxIdx = -1;
                break;

            case plyEdGUI.ListOps.ListAction.DoRemoveSelected:
                if (EditorUtility.DisplayDialog("Blox", "Delete Blox Definition. This can't be undone. Are you sure?", "Yes", "Cancel"))
                {
                    BloxEd.DeleteBloxDef(BloxEd.BloxGlobalObj.bloxDefs[this.selectedBloxIdx]);
                    BloxEditorWindow instance = BloxEditorWindow.Instance;
                    if ((object)instance != null)
                    {
                        instance.Repaint();
                    }
                    plyEdUtil.RepaintInspector(typeof(BloxContainer));
                }
                break;
            }
            return(-1);
        }
示例#10
0
 public static void CheckAllData()
 {
     BloxEdGlobal.CheckLayersAndTags();
     BloxEd.LoadBloxGlobal();
     BloxEdGlobal.CheckBootstrap();
 }
示例#11
0
 public static void Create_LinkFile()
 {
     BloxEd.UpdateLinkFile();
 }
示例#12
0
        private void DrawPropertiesListElement(Rect rect, int index, bool isActive, bool isFocused)
        {
            ManagedProperty managedProperty = PropertiesManagerEd.PropertiesManager.properties[index];
            float           num             = (float)(rect.width / 3.0 - 10.0);
            Rect            rect2           = new Rect(rect.x, (float)(rect.y + 2.0), num, EditorGUIUtility.singleLineHeight);

            rect2.width = 20f;
            if (GUI.Button(rect2, MainEditorPanel.GC_RestoreDuringBootstrap[(!managedProperty.runDuringBoot) ? 1 : 0], plyEdGUI.Styles.SmallButtonFlat))
            {
                managedProperty.runDuringBoot = !managedProperty.runDuringBoot;
                plyEdUtil.SetDirty(PropertiesManagerEd.PropertiesManager);
            }
            MainEditorPanel.GC_s0.text = managedProperty.propertyName;
            rect2.x    += 20f;
            rect2.width = (float)(num - 20.0);
            GUI.Label(rect2, MainEditorPanel.GC_s0);
            MainEditorPanel.GC_s1.text = "[none]";
            Type type  = managedProperty.getter.DataType(true);
            Type type2 = managedProperty.setter.DataType(false);

            if (type != null || type2 != null)
            {
                if (type == type2)
                {
                    MainEditorPanel.GC_s1.text = "[" + BloxEd.PrettyTypeName(type, true) + "]";
                }
                else if (type == null || type2 == null)
                {
                    MainEditorPanel.GC_s1.text = "[" + BloxEd.PrettyTypeName(type, true) + "|" + BloxEd.PrettyTypeName(type2, true) + "]";
                }
                else
                {
                    MainEditorPanel.GC_s1.text = "[<color=red>" + BloxEd.PrettyTypeName(type, true) + "|" + BloxEd.PrettyTypeName(type2, true) + "</color>]";
                }
            }
            Vector2 vector = GUI.skin.label.CalcSize(MainEditorPanel.GC_s0);

            vector.x += 2f;
            Vector2 vector2  = plyEdGUI.Styles.Label_RT.CalcSize(MainEditorPanel.GC_s1);
            Rect    position = new Rect(rect2.xMax - vector2.x, rect2.y, vector2.x, rect2.height);

            if (position.x < rect2.x + vector.x)
            {
                position.x     = rect2.x + vector.x;
                position.width = rect2.xMax - (rect2.x + vector.x);
            }
            if (position.width > 0.0)
            {
                GUI.Label(position, MainEditorPanel.GC_s1, plyEdGUI.Styles.Label_RT);
            }
            rect2.x    += (float)(rect2.width + 10.0);
            rect2.width = 20f;
            GUI.Label(rect2, MainEditorPanel.GC_PropertyGetter, plyEdGUI.Styles.Label);
            rect2.x    += 20f;
            rect2.width = (float)(num - 20.0);
            DataProviderEd.DataBindingField(rect2, null, managedProperty.getter, PropertiesManagerEd.PropertiesManager, false, null);
            rect2.x    += (float)(rect2.width + 10.0);
            rect2.width = 20f;
            GUI.Label(rect2, MainEditorPanel.GC_PropertySetter, plyEdGUI.Styles.Label);
            rect2.x    += 20f;
            rect2.width = (float)(num - 20.0);
            DataProviderEd.DataBindingField(rect2, null, managedProperty.setter, PropertiesManagerEd.PropertiesManager, true, null);
        }
示例#13
0
        protected override void Draw(Rect rect, DataProvider target, bool isSetter)
        {
            MemberBindProvider memberBindProvider = (MemberBindProvider)target;

            rect.height = EditorGUIUtility.singleLineHeight;
            if (MemberBindProviderEd.loader != null)
            {
                plyEdGUI.DrawSpinner(rect, MemberBindProviderEd.GC_Loading);
                if (Event.current.type == EventType.Repaint)
                {
                    MemberBindProviderEd.loader.DoUpdate();
                }
            }
            else
            {
                this.InitCurrBindables(memberBindProvider, isSetter);
                EditorGUIUtility.labelWidth = 65f;
                Rect       rect2 = rect;
                GUIContent label = isSetter ? MemberBindProviderEd.GC_SetMember : MemberBindProviderEd.GC_GetMember;
                if (memberBindProvider.member != null && memberBindProvider.member.MemberType == MemberTypes.Method)
                {
                    label = MemberBindProviderEd.GC_InvokeMember;
                }
                EditorGUI.BeginChangeCheck();
                this.memberBindIdx = EditorGUI.Popup(rect2, label, this.memberBindIdx, this.currBindableLabels);
                if (EditorGUI.EndChangeCheck())
                {
                    memberBindProvider.member         = this.currBindables[this.memberBindIdx].mi;
                    memberBindProvider.instanceMember = null;
                    if (memberBindProvider.valSetterSources.Length != 0)
                    {
                        memberBindProvider.valSetterSources = new DataBindingValueSource[0];
                    }
                    if (memberBindProvider.sourceObjType == MemberBindProvider.DataSourceOject.Instance)
                    {
                        MemberBindProvider target2 = memberBindProvider;
                        BloxMemberInfo     member  = memberBindProvider.member;
                        this.InitSubBindables(target2, (member != null) ? member.ReflectedType : null);
                    }
                }
                if (memberBindProvider.member == null)
                {
                    if (memberBindProvider.instanceMember != null)
                    {
                        memberBindProvider.instanceMember = null;
                        GUI.changed = true;
                    }
                    if (memberBindProvider.valSetterSources.Length != 0)
                    {
                        memberBindProvider.valSetterSources = new DataBindingValueSource[0];
                        GUI.changed = true;
                    }
                }
                else
                {
                    if (!memberBindProvider.member.IsStatic)
                    {
                        rect2.y += (float)(EditorGUIUtility.singleLineHeight + 2.0);
                        if (memberBindProvider.sourceObjType != 0 && memberBindProvider.sourceObjType != MemberBindProvider.DataSourceOject.Owner)
                        {
                            rect2.width = (float)(EditorGUIUtility.labelWidth + 100.0);
                        }
                        EditorGUI.BeginChangeCheck();
                        memberBindProvider.sourceObjType = (MemberBindProvider.DataSourceOject)EditorGUI.EnumPopup(rect2, MemberBindProviderEd.GC_TargetObject, (Enum)(object)memberBindProvider.sourceObjType);
                        if (EditorGUI.EndChangeCheck())
                        {
                            memberBindProvider.sourceObjData = "";
                            if (memberBindProvider.sourceObjType == MemberBindProvider.DataSourceOject.Instance)
                            {
                                MemberBindProvider target3 = memberBindProvider;
                                BloxMemberInfo     member2 = memberBindProvider.member;
                                this.InitSubBindables(target3, (member2 != null) ? member2.ReflectedType : null);
                            }
                        }
                        rect2.x    += (float)(EditorGUIUtility.labelWidth + 102.0);
                        rect2.width = (float)(rect.width - (EditorGUIUtility.labelWidth + 102.0));
                        if (memberBindProvider.sourceObjType == MemberBindProvider.DataSourceOject.WithName || memberBindProvider.sourceObjType == MemberBindProvider.DataSourceOject.WithTag)
                        {
                            memberBindProvider.sourceObjData = EditorGUI.TextField(rect2, memberBindProvider.sourceObjData);
                        }
                        else if (memberBindProvider.sourceObjType == MemberBindProvider.DataSourceOject.OfType)
                        {
                            EditorGUI.LabelField(rect2, BloxEd.PrettyTypeName(memberBindProvider.member.ReflectedType, true));
                        }
                        else if (memberBindProvider.sourceObjType == MemberBindProvider.DataSourceOject.Instance)
                        {
                            EditorGUI.BeginChangeCheck();
                            this.subBindIdx = EditorGUI.Popup(rect2, this.subBindIdx, this.subBindableLabels);
                            if (EditorGUI.EndChangeCheck())
                            {
                                memberBindProvider.instanceMember = this.subBindables[this.subBindIdx].mi;
                            }
                        }
                    }
                    rect2.x     = rect.x;
                    rect2.y    += (float)(EditorGUIUtility.singleLineHeight + 2.0);
                    rect2.width = rect.width;
                    if (memberBindProvider.member.MemberType == MemberTypes.Method)
                    {
                        ParameterInfo[] parameters = memberBindProvider.member.GetParameters();
                        if (memberBindProvider.valSetterSources.Length != parameters.Length)
                        {
                            GUI.changed = true;
                            memberBindProvider.valSetterSources = new DataBindingValueSource[parameters.Length];
                            for (int i = 0; i < parameters.Length; i++)
                            {
                                memberBindProvider.valSetterSources[i] = new DataBindingValueSource();
                            }
                        }
                        if (memberBindProvider.valSetterSources.Length != 0)
                        {
                            GUI.Label(rect2, MemberBindProviderEd.GC_With);
                            for (int j = 0; j < memberBindProvider.valSetterSources.Length; j++)
                            {
                                MemberBindProviderEd.GC_Param.text = parameters[j].Name + "=";
                                rect2.y += (float)(EditorGUIUtility.singleLineHeight + 2.0);
                                memberBindProvider.valSetterSources[j] = DataProviderEd.DataBindingValueSourceField(rect2, MemberBindProviderEd.GC_Param, memberBindProvider.valSetterSources[j], MemberBindProviderEd.GC_ToValBindWin, memberBindProvider);
                            }
                        }
                    }
                    else if (isSetter)
                    {
                        if (memberBindProvider.valSetterSources.Length != 1)
                        {
                            GUI.changed = true;
                            memberBindProvider.valSetterSources = new DataBindingValueSource[1]
                            {
                                new DataBindingValueSource()
                            };
                        }
                        memberBindProvider.valSetterSources[0] = DataProviderEd.DataBindingValueSourceField(rect2, MemberBindProviderEd.GC_ToVal, memberBindProvider.valSetterSources[0], MemberBindProviderEd.GC_ToValBindWin, memberBindProvider);
                    }
                }
            }
        }
        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;
        }
示例#15
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);
            }
        }
示例#16
0
        public override string VarTypeName(plyVar target)
        {
            plyVar_Array plyVar_Array = (plyVar_Array)target.ValueHandler;

            return("Array<" + BloxEd.PrettyTypeName(plyVar_Array.baseType, false) + ">");
        }
示例#17
0
        public override string VarTypeName(plyVar target)
        {
            plyVar_List plyVar_List = (plyVar_List)target.ValueHandler;

            return("List<" + BloxEd.PrettyTypeName(plyVar_List.baseType, false) + ">");
        }