Наследование: Library_SpriteStudio.SpriteBase
    public override void OnInspectorGUI()
    {
        Script_SpriteStudio_Triangle4 Data = (Script_SpriteStudio_Triangle4)target;

        EditorGUILayout.LabelField("[SpriteStudio Parts-Sprite(Triangle4)]");
        EditorGUILayout.Space();

        Data.FlagHideForce = EditorGUILayout.Toggle("Force-Hide", Data.FlagHideForce);
        if (true == GUILayout.Button("Apply \"Force-Hide\" to Children"))
        {
            LibraryEditor_SpriteStudio.Utility.HideSetForce(Data.gameObject, Data.FlagHideForce, true, false);
        }
        EditorGUILayout.Space();

        if (true == GUI.changed)
        {
            EditorUtility.SetDirty(target);
        }
    }
Пример #2
0
        public static AnimationData SpriteStudioDataGetParent(GameObject GameObjectParts)
        {
            GameObject    GameObjectParent = GameObjectParts.transform.parent.gameObject;
            AnimationData DataSpriteStudio = null;

            Script_SpriteStudio_Triangle2 ComponentScript_Triangle2 = GameObjectParent.GetComponent <Script_SpriteStudio_Triangle2>();

            if (null != ComponentScript_Triangle2)
            {
                DataSpriteStudio = ComponentScript_Triangle2.SpriteStudioData;
            }
            else
            {
                Script_SpriteStudio_Triangle4 ComponentScript_Triangle4 = GameObjectParent.GetComponent <Script_SpriteStudio_Triangle4>();
                if (null != ComponentScript_Triangle4)
                {
                    DataSpriteStudio = ComponentScript_Triangle4.SpriteStudioData;
                }
                else
                {
                    Script_SpriteStudio_PartsNULL ComponentScript_PartsNULL = GameObjectParent.GetComponent <Script_SpriteStudio_PartsNULL>();
                    if (null != ComponentScript_PartsNULL)
                    {
                        DataSpriteStudio = ComponentScript_PartsNULL.SpriteStudioData;
                    }
                    else
                    {
                        Script_SpriteStudio_PartsRoot ComponentScript_PartsRoot = GameObjectParts.GetComponent <Script_SpriteStudio_PartsRoot>();
                        if (null != ComponentScript_PartsRoot)
                        {
                            DataSpriteStudio = ComponentScript_PartsRoot.SpriteStudioData;
                        }
                    }
                }
            }
            return(DataSpriteStudio);
        }
        /* ******************************************************** */
        //! Get GameObject with a particular name

        /*!
         * @param	PartsKind
         *      (Output) Kind of Parts
         * @param	SpriteKind
         *      (Output) Kind of Sprite
         * @param	InstanceOrigin
         *      GameObject to start the search
         * @retval	Return-Value
         *      Instance of GameObject<br>
         *      null == Not-Found / Failure
         * @retval	PartsKind
         *      Kind of Parts
         * @retval	SpriteKind
         *      Kind of Sprite
         *
         * Get GameObject with a particular name by examining "InstanceOrigin" and children.<br>
         * <br>
         * Value is set to " PartsKind" means the type of Component that GameObject has.<br>
         * It has the regularity of the following.<br>
         * - "Library_SpriteStudio.KindParts.NORMAL" ... "Script_SpriteStudio_Triangle2" / Script_SpriteStudio_Triangle4"<br>
         * - "Library_SpriteStudio.KindParts.ROOT" ... "Script_SpriteStudio_PartsRoot"<br>
         * - "Library_SpriteStudio.KindParts.NULL" ... "Script_SpriteStudio_PartsNULL"<br>
         * - "Library_SpriteStudio.KindParts.INSTANCE" ... "Script_SpriteStudio_PartsInstance"<br>
         * <br>
         * Value is set to "SpriteKind" is supplementary information when " PartsKind" is "Library_SpriteStudio.KindParts.NORMAL".<br>
         * - "Library_SpriteStudio.KindSprite.TRIANGLE2" ... "Script_SpriteStudio_Triangle2"<br>
         * - "Library_SpriteStudio.KindSprite.TRIANGLE4" ... "Script_SpriteStudio_Triangle4"<br>
         * - "Library_SpriteStudio.KindSprite.NON" ... the other<br>
         * <br>
         * If applicable GameObject has no component for "SS5Player for Unity",
         *      "PartsKind" and "SpriteKind" are set to the contents of the "Library_SpriteStudio.KindParts.NORMAL" and "Library_SpriteStudio.KindSprite.NON" .<br>
         */
        public static GameObject GameObjectGetName(out KindParts PartsKind, out KindSprite SpriteKind, GameObject InstanceOrigin, string Name)
        {
            /* Clear Output */
            PartsKind  = KindParts.NORMAL;
            SpriteKind = KindSprite.NON;
            if (true == String.IsNullOrEmpty(Name))
            {                   /* Error */
                return(null);
            }

            /* Check Name */
            if (true == Name.Equals(InstanceOrigin.name))
            {
                Script_SpriteStudio_Triangle2 ScriptTriangle2 = InstanceOrigin.GetComponent <Script_SpriteStudio_Triangle2>();
                if (null != ScriptTriangle2)
                {                       /* Parts: Sprite-Triangle2 */
                    PartsKind  = KindParts.NORMAL;
                    SpriteKind = KindSprite.TRIANGLE2;
                    return(InstanceOrigin);
                }
                else
                {
                    Script_SpriteStudio_Triangle4 ScriptTriangle4 = InstanceOrigin.GetComponent <Script_SpriteStudio_Triangle4>();
                    if (null != ScriptTriangle4)
                    {                           /* Parts: Sprite-Triangle4 */
                        PartsKind  = KindParts.NORMAL;
                        SpriteKind = KindSprite.TRIANGLE4;
                        return(InstanceOrigin);
                    }
                    else
                    {
                        Script_SpriteStudio_PartsNULL ScriptNULL = InstanceOrigin.GetComponent <Script_SpriteStudio_PartsNULL>();
                        if (null != ScriptNULL)
                        {                               /* Parts: NULL */
                            PartsKind  = KindParts.NULL;
                            SpriteKind = KindSprite.NON;
                            return(InstanceOrigin);
                        }
                        else
                        {
                            Script_SpriteStudio_PartsInstance ScriptInstance = InstanceOrigin.GetComponent <Script_SpriteStudio_PartsInstance>();
                            if (null != ScriptInstance)
                            {                                   /* Parts: Instance */
                                PartsKind  = KindParts.INSTANCE;
                                SpriteKind = KindSprite.NON;
                                return(InstanceOrigin);
                            }
                            else
                            {
                                Script_SpriteStudio_PartsRoot ScriptRoot = InstanceOrigin.GetComponent <Script_SpriteStudio_PartsRoot>();
                                if (null != ScriptRoot)
                                {                                       /* Parts: Root */
                                    PartsKind  = KindParts.ROOT;
                                    SpriteKind = KindSprite.NON;
                                    return(InstanceOrigin);
                                }
                                else
                                {                                       /* Parts: Not-for-SpriteStudio */
                                    PartsKind  = KindParts.NORMAL;
                                    SpriteKind = KindSprite.NON;
                                    return(InstanceOrigin);
                                }
                            }
                        }
                    }
                }
            }

            /* Check Children */
            int        CountChild             = InstanceOrigin.transform.childCount;
            Transform  InstanceTransformChild = null;
            GameObject InstanceChild          = null;

            for (int i = 0; i < CountChild; i++)
            {
                InstanceTransformChild = InstanceOrigin.transform.GetChild(i);
                InstanceChild          = GameObjectGetName(out PartsKind, out SpriteKind, InstanceTransformChild.gameObject, Name);
                if (null != InstanceChild)
                {
                    return(InstanceChild);
                }
            }

            /* Not-Found */
            return(null);
        }