public static SkillTexture FsmTextureField(GUIContent label, Skill fsm, SkillTexture fsmObject)
 {
     if (label == null)
     {
         label = GUIContent.none;
     }
     EditorGUILayout.BeginHorizontal(new GUILayoutOption[0]);
     if (fsmObject.get_UseVariable())
     {
         fsmObject = VariableEditor.DoFsmTexturePopup(label, fsm, fsmObject);
     }
     else
     {
         EditorGUILayout.PrefixLabel(label);
         fsmObject.set_Value((Texture)EditorGUILayout.ObjectField(fsmObject.get_Value(), typeof(Texture), !SkillEditor.SelectedFsmIsPersistent(), new GUILayoutOption[]
         {
             GUILayout.Width(80f),
             GUILayout.Height(80f)
         }));
         GUILayout.FlexibleSpace();
     }
     fsmObject = (SkillTexture)VariableEditor.VariableToggle(fsmObject, label.get_text());
     VariableEditor.EndVariableEditor(fsmObject);
     return(fsmObject);
 }
 public static SkillTexture FsmTexturePopup(GUIContent label, Skill fsm, SkillTexture fsmObject)
 {
     EditorGUILayout.BeginHorizontal(new GUILayoutOption[0]);
     fsmObject = VariableEditor.DoFsmTexturePopup(label, fsm, fsmObject);
     VariableEditor.EndVariableEditor(fsmObject);
     return(fsmObject);
 }
 private static SkillTexture DoFsmTexturePopup(GUIContent label, Skill fsm, SkillTexture fsmObject)
 {
     ActionEditor.DoVariableSelector(label, fsm, 10, fsmObject, -1, null);
     fsmObject.set_UseVariable(true);
     return(fsmObject);
 }
Example #4
0
        private static object TryConvertValue(Type fieldType, object currentValue, object value)
        {
            if (value == null)
            {
                return(null);
            }
            Type type = value.GetType();

            if (fieldType == typeof(GameObject))
            {
                if (type.IsSubclassOf(typeof(Component)))
                {
                    return(((Component)value).get_gameObject());
                }
            }
            else
            {
                if (fieldType == typeof(SkillGameObject))
                {
                    if (type == typeof(GameObject))
                    {
                        return(new SkillGameObject(value as GameObject));
                    }
                    if (type.IsSubclassOf(typeof(Component)))
                    {
                        return(new SkillGameObject(((Component)value).get_gameObject()));
                    }
                }
                else
                {
                    if (fieldType == typeof(SkillOwnerDefault))
                    {
                        if (type == typeof(GameObject))
                        {
                            SkillOwnerDefault fsmOwnerDefault = new SkillOwnerDefault();
                            fsmOwnerDefault.set_OwnerOption(1);
                            fsmOwnerDefault.set_GameObject(value as GameObject);
                            return(fsmOwnerDefault);
                        }
                        if (type.IsSubclassOf(typeof(Component)))
                        {
                            GameObject gameObject = ((Component)value).get_gameObject();
                            if (gameObject != SkillEditor.SelectedFsmGameObject)
                            {
                                SkillOwnerDefault fsmOwnerDefault2 = new SkillOwnerDefault();
                                fsmOwnerDefault2.set_OwnerOption(1);
                                fsmOwnerDefault2.set_GameObject(gameObject);
                                return(fsmOwnerDefault2);
                            }
                            return(new SkillOwnerDefault());
                        }
                    }
                    else
                    {
                        if (fieldType == typeof(SkillProperty))
                        {
                            SkillProperty fsmProperty  = currentValue as SkillProperty;
                            SkillProperty fsmProperty2 = new SkillProperty();
                            SkillProperty arg_14D_0    = fsmProperty2;
                            SkillObject   fsmObject    = new SkillObject();
                            fsmObject.set_Value(value as Object);
                            arg_14D_0.TargetObject   = fsmObject;
                            fsmProperty2.setProperty = (fsmProperty != null && fsmProperty.setProperty);
                            return(fsmProperty2);
                        }
                        if (fieldType == typeof(SkillObject))
                        {
                            SkillObject fsmObject2 = new SkillObject();
                            fsmObject2.set_Value(value as Object);
                            return(fsmObject2);
                        }
                        if (fieldType == typeof(SkillMaterial))
                        {
                            SkillMaterial fsmMaterial = new SkillMaterial();
                            fsmMaterial.set_Value(value as Material);
                            return(fsmMaterial);
                        }
                        if (fieldType == typeof(SkillTexture))
                        {
                            SkillTexture fsmTexture = new SkillTexture();
                            fsmTexture.set_Value(value as Texture);
                            return(fsmTexture);
                        }
                        if (fieldType == typeof(SkillEventTarget))
                        {
                            if (type == typeof(PlayMakerFSM))
                            {
                                return(new SkillEventTarget
                                {
                                    target = 3,
                                    fsmComponent = value as PlayMakerFSM
                                });
                            }
                            if (type == typeof(GameObject))
                            {
                                SkillEventTarget fsmEventTarget = new SkillEventTarget();
                                fsmEventTarget.target = 1;
                                SkillEventTarget  arg_253_0        = fsmEventTarget;
                                SkillOwnerDefault fsmOwnerDefault3 = new SkillOwnerDefault();
                                fsmOwnerDefault3.set_OwnerOption(1);
                                fsmOwnerDefault3.set_GameObject(value as GameObject);
                                arg_253_0.gameObject = fsmOwnerDefault3;
                                return(fsmEventTarget);
                            }
                        }
                        else
                        {
                            if (fieldType == typeof(SkillString))
                            {
                                if (type == typeof(PlayMakerFSM))
                                {
                                    SkillString fsmString = new SkillString();
                                    fsmString.set_Value(((PlayMakerFSM)value).get_FsmName());
                                    return(fsmString);
                                }
                                if (type == typeof(AnimationClip))
                                {
                                    SkillString fsmString2 = new SkillString();
                                    fsmString2.set_Value(((AnimationClip)value).get_name());
                                    return(fsmString2);
                                }
                            }
                        }
                    }
                }
            }
            return(value);
        }