Пример #1
0
    private bool ClusterResetUnderControl()
    {
        if ((null == DataAnimation) || (null == TableControlParts))
        {
            return(false);
        }

        int countParts = DataAnimation.TableParts.Length;

        for (int i = 0; i < countParts; i++)
        {
            switch (DataAnimation.TableParts[i].Feature)
            {
            case Library_SpriteStudio6.Data.Parts.Animation.KindFeature.ROOT:
            case Library_SpriteStudio6.Data.Parts.Animation.KindFeature.NULL:
            case Library_SpriteStudio6.Data.Parts.Animation.KindFeature.NORMAL:
                break;

            case Library_SpriteStudio6.Data.Parts.Animation.KindFeature.INSTANCE:
            {
                Script_SpriteStudio6_Root rootUnderControl = TableControlParts[i].InstanceRootUnderControl;
                if (null != rootUnderControl)
                {
                    /* MEMO: "Instance" can be nested. */
                    rootUnderControl.ClusterBootUpDraw();
                    rootUnderControl.ClusterResetUnderControl();
                }
            }
            break;

            case Library_SpriteStudio6.Data.Parts.Animation.KindFeature.EFFECT:
            {
                Script_SpriteStudio6_RootEffect rootUnderControl = TableControlParts[i].InstanceRootEffectUnderControl;
                if (null != rootUnderControl)
                {
                    /* MEMO: "Effect" cannot control any animation-object. */
                    rootUnderControl.ClusterBootUpDraw();
                }
            }
            break;

            case Library_SpriteStudio6.Data.Parts.Animation.KindFeature.MASK:
                break;

            case Library_SpriteStudio6.Data.Parts.Animation.KindFeature.JOINT:
            case Library_SpriteStudio6.Data.Parts.Animation.KindFeature.BONE:
            case Library_SpriteStudio6.Data.Parts.Animation.KindFeature.MOVENODE:
            case Library_SpriteStudio6.Data.Parts.Animation.KindFeature.CONSTRAINT:
            case Library_SpriteStudio6.Data.Parts.Animation.KindFeature.BONEPOINT:
            case Library_SpriteStudio6.Data.Parts.Animation.KindFeature.MESH:
                break;

            case Library_SpriteStudio6.Data.Parts.Animation.KindFeature.TRANSFORM_CONSTRAINT:
            case Library_SpriteStudio6.Data.Parts.Animation.KindFeature.CAMERA:
                break;
            }
        }
        return(true);
    }
Пример #2
0
    /* ----------------------------------------------- Functions */
    #region Functions
    private void OnEnable()
    {
        InstanceRoot = (Script_SpriteStudio6_RootEffect)target;

        serializedObject.FindProperty("__DUMMY__");
        PropertyDataCellMap   = serializedObject.FindProperty("DataCellMap");
        PropertyDataEffect    = serializedObject.FindProperty("DataEffect");
        PropertyTableMaterial = serializedObject.FindProperty("TableMaterial");
        PropertyHideForce     = serializedObject.FindProperty("FlagHideForce");
        PropertyLimitParticle = serializedObject.FindProperty("LimitParticleDraw");
    }
Пример #3
0
    public override void OnInspectorGUI()
    {
        Script_SpriteStudio6_RootEffect data = (Script_SpriteStudio6_RootEffect)target;

        serializedObject.Update();

        EditorGUILayout.LabelField("[SpriteStudio6 Effect]");
        int levelIndent = 0;

        /* Static Datas */
        EditorGUILayout.Space();
        PropertyDataEffect.isExpanded = EditorGUILayout.Foldout(PropertyDataEffect.isExpanded, "Static Datas");
        if (true == PropertyDataEffect.isExpanded)
        {
            EditorGUI.indentLevel = levelIndent + 1;

            PropertyDataCellMap.objectReferenceValue = (Script_SpriteStudio6_DataCellMap)(EditorGUILayout.ObjectField("Data:CellMap", PropertyDataCellMap.objectReferenceValue, typeof(Script_SpriteStudio6_DataCellMap), true));
            PropertyDataEffect.objectReferenceValue  = (Script_SpriteStudio6_DataEffect)(EditorGUILayout.ObjectField("Data:Effect", PropertyDataEffect.objectReferenceValue, typeof(Script_SpriteStudio6_DataEffect), true));
            PropertyHolderAsset.objectReferenceValue = (Script_SpriteStudio6_HolderAsset)(EditorGUILayout.ObjectField("Holder:Asset", PropertyHolderAsset.objectReferenceValue, typeof(Script_SpriteStudio6_HolderAsset), true));
            EditorGUI.indentLevel = levelIndent;
        }

        /* Effect */
        /* MEMO: Use particle-limit's IsExpand since no opportune group. */
        EditorGUILayout.Space();
        PropertyLimitParticle.isExpanded = EditorGUILayout.Foldout(PropertyLimitParticle.isExpanded, "Initial/Preview Play Setting");
        if (true == PropertyLimitParticle.isExpanded)
        {
            EditorGUI.indentLevel = levelIndent;

            /* Hide */
            PropertyHideForce.boolValue = EditorGUILayout.Toggle("Hide Force", PropertyHideForce.boolValue);
            EditorGUILayout.Space();

            /* Limit draw particle */
            int limitParticle    = PropertyLimitParticle.intValue;
            int limitParticleNew = EditorGUILayout.IntField("Count Limit Particle", limitParticle);
            EditorGUILayout.LabelField("(0: Default-Value Set)");
            if (0 > limitParticleNew)
            {
                limitParticleNew = 0;
            }
            if (limitParticleNew != limitParticle)
            {
                limitParticle = limitParticleNew;
                PropertyLimitParticle.intValue = limitParticleNew;
            }

            EditorGUI.indentLevel = levelIndent;
        }

        serializedObject.ApplyModifiedProperties();
    }
Пример #4
0
    /* ********************************************************* */
    //! Set Source animation (for Effect-Object)

    /*!
     * @param	instanceOriginal
     *      Source Effect-Object
     *
     * @retval	Return-Value
     *      true == Success<br>
     *      false == Failure (Error)
     *
     * Set the Effect-Object as replicate source.
     */
    public bool OriginalSet(Script_SpriteStudio6_RootEffect instanceOriginal)
    {
        OriginalCleanUp();

        /* Mesh-Control Components Correct */
        if (false == ComponentSetMesh(instanceOriginal.gameObject))
        {
            return(false);
        }

        DrawUpdate = DrawUpdateEffect;
        InstanceRootEffectOriginal = instanceOriginal;
        return(true);
    }
    private bool TableSetMaterialEffectMain(int idParts, UnityEngine.Material[] tableMaterial)
    {
        Script_SpriteStudio6_RootEffect instanceRootEffect = null;
        bool flagSuccess = true;

        if ((null == TableControlParts) || (0 > idParts) || (TableControlParts.Length <= idParts))
        {
            return(false);
        }

        if (Library_SpriteStudio6.Data.Parts.Animation.KindFeature.INSTANCE == DataAnimation.TableParts[idParts].Feature)
        {
            instanceRootEffect = TableControlParts[idParts].InstanceRootEffectUnderControl;
            if (null == instanceRootEffect)
            {
                return(true);
            }

            flagSuccess &= instanceRootEffect.TableSetMaterial(tableMaterial);
        }

        return(true);
    }
Пример #6
0
    public override void OnInspectorGUI()
    {
        serializedObject.Update();

        EditorGUILayout.LabelField("[SpriteStudio6 Replicate Animation]");
        int  levelIndent = 0;
        bool flagUpdate  = false;

        EditorGUI.indentLevel = levelIndent + 1;

        /* Original Data */
        Script_SpriteStudio6_Root       instanceRoot       = PropertyRootOriginal.objectReferenceValue as Script_SpriteStudio6_Root;
        Script_SpriteStudio6_RootEffect instanceRootEffect = PropertyRootEffectOriginal.objectReferenceValue as Script_SpriteStudio6_RootEffect;
        Script_SpriteStudio6_Sequence   instanceSequence   = PropertySequenceOriginal.objectReferenceValue as Script_SpriteStudio6_Sequence;

        UnityEngine.GameObject gameObjectNow = null;
        if (null != instanceRoot)
        {
            gameObjectNow = instanceRoot.gameObject;
        }
        else if (null != instanceRootEffect)
        {
            gameObjectNow = instanceRootEffect.gameObject;
        }
        else if (null != instanceSequence)
        {
            gameObjectNow = instanceSequence.gameObject;
        }

        EditorGUILayout.Space();
        UnityEngine.GameObject gameObjectNew = EditorGUILayout.ObjectField("Original Animation", gameObjectNow, typeof(UnityEngine.GameObject), true) as UnityEngine.GameObject;
        EditorGUILayout.LabelField("GameObject that has following components");
        EditorGUILayout.LabelField("  can be set to \"Original Animation\".");
        EditorGUILayout.LabelField("- Script_SpriteStudio6_Root");
//		EditorGUILayout.LabelField("- Script_SpriteStudio6_RootEffect");
        EditorGUILayout.LabelField("- Script_SpriteStudio6_Sequence");
        EditorGUILayout.Space();

        if (gameObjectNow != gameObjectNew)
        {
            Script_SpriteStudio6_Root       instanceRootNew       = null;
            Script_SpriteStudio6_RootEffect instanceRootEffectNew = null;
            Script_SpriteStudio6_Sequence   instanceSequenceNew   = null;
            if (null == gameObjectNew)
            {
                InstanceReplicate.Stop();

//				instanceRootNew = null;
//				instanceRootEffectNew = null;
//				instanceSequenceNew = null;
            }
            else
            {
                instanceRootNew       = gameObjectNew.GetComponent <Script_SpriteStudio6_Root>();
                instanceRootEffectNew = gameObjectNew.GetComponent <Script_SpriteStudio6_RootEffect>();
                instanceSequenceNew   = gameObjectNew.GetComponent <Script_SpriteStudio6_Sequence>();

                if (null != instanceRootNew)
                {
                    InstanceReplicate.OriginalSet(instanceRootNew);
//					instanceRootNew = null;
                    instanceRootEffectNew = null;
                    instanceSequenceNew   = null;
                }
                else if (null != instanceRootEffectNew)
                {
                    InstanceReplicate.OriginalSet(instanceRootEffectNew);
                    instanceRootNew = null;
//					instanceRootEffectNew = null;
                    instanceSequenceNew = null;
                }
                else if (null != instanceSequenceNew)
                {
                    InstanceReplicate.OriginalSet(instanceSequenceNew);
                    instanceRootNew       = null;
                    instanceRootEffectNew = null;
//					instanceSequenceNew = null;
                }
//				else
//				{
//					PropertyRootOriginal.objectReferenceValue = null;
//					PropertyRootEffectOriginal.objectReferenceValue = null;
//					PropertySequenceOriginal.objectReferenceValue = null;
//				}
            }

            instanceRoot       = instanceRootNew;
            instanceRootEffect = instanceRootEffectNew;
            instanceSequence   = instanceSequenceNew;

            flagUpdate |= true;
        }

        /* Hide */
        PropertyHideForce.boolValue = EditorGUILayout.Toggle("Hide Force", PropertyHideForce.boolValue);
//		EditorGUILayout.Space();

        EditorGUI.indentLevel = levelIndent;

        if (true == flagUpdate)
        {
            PropertyRootOriginal.objectReferenceValue       = instanceRoot;
            PropertyRootEffectOriginal.objectReferenceValue = instanceRootEffect;
            PropertySequenceOriginal.objectReferenceValue   = instanceSequence;
        }

        serializedObject.ApplyModifiedProperties();
    }
 private static float FunctionTimeElapseDefault(Script_SpriteStudio6_RootEffect scriptRoot)
 {
     return(Time.deltaTime);
 }
Пример #8
0
    internal bool CountGetDrawMesh(ref int countSprite, ref int countMesh, ref int countParticle)
    {
        if ((null == DataAnimation) || (null == TableControlParts))
        {
            return(false);
        }

        countSprite += DataAnimation.CountGetPartsSprite();

        int countParts = DataAnimation.TableParts.Length;

        for (int i = 0; i < countParts; i++)
        {
            switch (DataAnimation.TableParts[i].Feature)
            {
            case Library_SpriteStudio6.Data.Parts.Animation.KindFeature.ROOT:
            case Library_SpriteStudio6.Data.Parts.Animation.KindFeature.NULL:
//				case Library_SpriteStudio6.Data.Parts.Animation.KindFeature.NORMAL_TRIANGLE2:
//				case Library_SpriteStudio6.Data.Parts.Animation.KindFeature.NORMAL_TRIANGLE4:
            case Library_SpriteStudio6.Data.Parts.Animation.KindFeature.NORMAL:
                break;

            case Library_SpriteStudio6.Data.Parts.Animation.KindFeature.INSTANCE:
            {
                Script_SpriteStudio6_Root rootUnderControl = TableControlParts[i].InstanceRootUnderControl;
                if (null != rootUnderControl)
                {
                    /* MEMO: "Instance" can be nested. */
                    rootUnderControl.CountGetDrawMesh(ref countSprite, ref countMesh, ref countParticle);
                }
            }
            break;

            case Library_SpriteStudio6.Data.Parts.Animation.KindFeature.EFFECT:
            {
                Script_SpriteStudio6_RootEffect rootUnderControl = TableControlParts[i].InstanceRootEffectUnderControl;
                if (null != rootUnderControl)
                {
                    /* MEMO: "Effect" cannot control any animation-object. */
                    countParticle += rootUnderControl.CountGetDrawMesh();
                }
            }
            break;

//				case Library_SpriteStudio6.Data.Parts.Animation.KindFeature.MASK_TRIANGLE2:
//				case Library_SpriteStudio6.Data.Parts.Animation.KindFeature.MASK_TRIANGLE4:
            case Library_SpriteStudio6.Data.Parts.Animation.KindFeature.MASK:
                break;

            case Library_SpriteStudio6.Data.Parts.Animation.KindFeature.JOINT:
            case Library_SpriteStudio6.Data.Parts.Animation.KindFeature.BONE:
            case Library_SpriteStudio6.Data.Parts.Animation.KindFeature.MOVENODE:
            case Library_SpriteStudio6.Data.Parts.Animation.KindFeature.CONSTRAINT:
            case Library_SpriteStudio6.Data.Parts.Animation.KindFeature.BONEPOINT:
                break;

            case Library_SpriteStudio6.Data.Parts.Animation.KindFeature.MESH:
                countMesh += DataAnimation.TableParts[i].CountMesh;
                break;
            }
        }
        return(true);
    }
Пример #9
0
 private void OriginalCleanUp()
 {
     InstanceRootOriginal       = null;
     InstanceRootEffectOriginal = null;
     InstanceSequenceOriginal   = null;
 }