Ejemplo n.º 1
0
    /* ********************************************************* */
    //! Set Source animation (for Sequence-Object)

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

        /* Mesh-Control Components Correct */
        /* MEMO: When "Sequence", Do not correct here.                                    */
        /*       Checked in DrawUpdate, since instance of "Script_SpriteStudio6_Root"     */
        /*         that actually performs drawing changes depending on the playing state, */

        DrawUpdate = DrawUpdateSequence;
        InstanceSequenceOriginal = instanceOriginal;
        return(true);
    }
Ejemplo n.º 2
0
    /* ----------------------------------------------- Functions */
    #region Functions
    private void OnEnable()
    {
        InstanceSequence = (Script_SpriteStudio6_Sequence)target;

        serializedObject.FindProperty("__DUMMY__");
        PropertyDataProject      = serializedObject.FindProperty("DataProject");
        PropertyNameSequencePack = serializedObject.FindProperty("NameSequencePack");
        PropertyNameDataSequence = serializedObject.FindProperty("NameDataSequence");
        PropertyIndexStepInitial = serializedObject.FindProperty("IndexStepInitial");

        PropertyHideForce = serializedObject.FindProperty("FlagHideForce");
        PropertyColliderInterlockHideForce = serializedObject.FindProperty("FlagColliderInterlockHideForce");
        PropertyFlagPlanarization          = serializedObject.FindProperty("FlagPlanarization");
        PropertyOrderInLayer = serializedObject.FindProperty("OrderInLayer");

        PropertyStopInitial = serializedObject.FindProperty("FlagStopInitial");
    }
Ejemplo n.º 3
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();
    }
Ejemplo n.º 4
0
    private void InformationPlay(ref bool flagUpdate,
                                 Script_SpriteStudio6_DataProject dataProject,
                                 Script_SpriteStudio6_Sequence instanceSequence
                                 )
    {
        int indexCursor;

        /* "Sequence-Pack" Select */
        string nameSequencePack = PropertyNameSequencePack.stringValue;

        int indexSequencePack;

        string[] tableNameSequence;
        ListGetSequencePack(out tableNameSequence, out indexSequencePack, dataProject, nameSequencePack);
        indexCursor = EditorGUILayout.Popup("Sequence-Pack Name", indexSequencePack, tableNameSequence);
        if (indexCursor != indexSequencePack)
        {
            flagUpdate       |= true;
            indexSequencePack = indexCursor;
        }
        Script_SpriteStudio6_DataSequence dataSequencePack = dataProject.DataSequence[indexSequencePack];

        nameSequencePack = dataSequencePack.Name;

        /* "Sequence" Select */
        string nameSequenceData = PropertyNameDataSequence.stringValue;

        int indexSequenceData;

        string[] tableNameSequenceData;
        ListGetSequenceData(out tableNameSequenceData, out indexSequenceData, dataSequencePack, nameSequenceData);
        indexCursor = EditorGUILayout.Popup("Sequence-Data Name", indexSequenceData, tableNameSequenceData);
        if (indexCursor != indexSequenceData)
        {
            flagUpdate       |= true;
            indexSequenceData = indexCursor;
        }
        nameSequenceData = dataSequencePack.TableSequence[indexSequenceData].Name;

        /* Initial Step */
        int indexStepInitial = EditorGUILayout.IntField("Start Step", PropertyIndexStepInitial.intValue);

        if (PropertyIndexStepInitial.intValue != indexStepInitial)
        {
            flagUpdate |= true;

            int countStep = dataSequencePack.TableSequence[indexSequenceData].TableStep.Length;
            if (0 > indexStepInitial)
            {
                indexStepInitial = 0;
            }
            if (countStep <= indexStepInitial)
            {
                indexStepInitial = countStep - 1;
            }
        }

        /* Initial Stop */
        bool flagUpdateInitialStop = false;
        bool flagCheck             = EditorGUILayout.Toggle("Initial Stop", PropertyStopInitial.boolValue);

        if (flagCheck != PropertyStopInitial.boolValue)
        {
            flagUpdateInitialStop        |= true;
            PropertyStopInitial.boolValue = flagCheck;
        }

        /* Reset */
        EditorGUILayout.Space();
        if (true == GUILayout.Button("Reset (Reinitialize)"))
        {
            PropertyHideForce.boolValue = false;
            PropertyColliderInterlockHideForce.boolValue = false;
            PropertyFlagPlanarization.boolValue          = false;

            indexSequencePack = 0;
            dataSequencePack  = dataProject.DataSequence[indexSequencePack];
            nameSequencePack  = dataSequencePack.Name;

            indexSequenceData = 0;
            nameSequenceData  = dataSequencePack.TableSequence[indexSequenceData].Name;

            indexStepInitial = 0;

            flagUpdate = true;                  /* Force */
        }

        /* Check Update */
        if (true == flagUpdate)
        {
            /* Update Properties */
            PropertyNameSequencePack.stringValue = nameSequencePack;
            PropertyNameDataSequence.stringValue = nameSequenceData;
            PropertyIndexStepInitial.intValue    = indexStepInitial;

            /* Play Start */
            instanceSequence.Stop(false, false);
            if (true == instanceSequence.PackSet(indexSequencePack))
            {
                if (true == instanceSequence.SequenceSet(indexSequenceData))
                {
                    instanceSequence.Play(indexStepInitial);
                }
            }
        }
        flagUpdate |= flagUpdateInitialStop;
    }
Ejemplo n.º 5
0
 private void OriginalCleanUp()
 {
     InstanceRootOriginal       = null;
     InstanceRootEffectOriginal = null;
     InstanceSequenceOriginal   = null;
 }