コード例 #1
0
                /* MEMO: Originally functions that should be defined in each information class. */
                /*       However, confusion tends to occur with mode increases.                 */
                /*       ... Compromised way.                                                   */

                /* ----------------------------------------------- Functions */
                #region Functions
                public static bool AssetNameDecideData(ref LibraryEditor_SpriteStudio6.Import.Setting setting,
                                                       LibraryEditor_SpriteStudio6.Import.SSPJ.Information informationSSPJ,
                                                       LibraryEditor_SpriteStudio6.Import.SSQE.Information informationSSQE,
                                                       string nameOutputAssetFolderBase,
                                                       Script_SpriteStudio6_DataSequence dataOverride
                                                       )
                {
                    if (null != dataOverride)
                    {                           /* Specified */
                        informationSSQE.DataSequenceSS6PU.TableName[0] = AssetDatabase.GetAssetPath(dataOverride);
                    }
                    else
                    {                           /* Default */
                        informationSSQE.DataSequenceSS6PU.TableName[0] = setting.RuleNameAssetFolder.NameGetAssetFolder(LibraryEditor_SpriteStudio6.Import.Setting.KindAsset.DATA_SEQUENCE_SS6PU, nameOutputAssetFolderBase)
                                                                         + setting.RuleNameAsset.NameGetAsset(LibraryEditor_SpriteStudio6.Import.Setting.KindAsset.DATA_SEQUENCE_SS6PU, informationSSQE.NameFileBody, informationSSPJ.NameFileBody)
                                                                         + LibraryEditor_SpriteStudio6.Import.NameExtentionScriptableObject;
                        dataOverride = AssetDatabase.LoadAssetAtPath <Script_SpriteStudio6_DataSequence>(informationSSQE.DataSequenceSS6PU.TableName[0]);
                    }

                    informationSSQE.DataSequenceSS6PU.TableData[0] = dataOverride;
                    informationSSQE.DataSequenceSS6PU.Version[0]   = (null != dataOverride) ? (int)(dataOverride.Version) : (int)Script_SpriteStudio6_DataEffect.KindVersion.SS5PU;

                    return(true);

//				AssetNameDecide_ErroeEnd:;
//					return(false);
                }
コード例 #2
0
    private bool ListGetSequenceData(out string[] tableNameSequenceData,
                                     out int indexSequenceData,
                                     Script_SpriteStudio6_DataSequence dataSequencePack,
                                     string nameSequenceData
                                     )
    {
        int  countSequenceData = (null == dataSequencePack) ? 0 : dataSequencePack.TableSequence.Length;
        bool flagNameIsValid   = (false == string.IsNullOrEmpty(nameSequenceData));             /* ? true : false */

        tableNameSequenceData = new string[countSequenceData];
        indexSequenceData     = 0;
        for (int i = 0; i < countSequenceData; i++)
        {
            tableNameSequenceData[i] = dataSequencePack.TableSequence[i].Name;
            if (true == string.IsNullOrEmpty(tableNameSequenceData[i]))
            {
                tableNameSequenceData[i] = NameMissing;
            }
            if ((true == flagNameIsValid) && (tableNameSequenceData[i] == nameSequenceData))
            {
                indexSequenceData = i;
            }
        }

        return(true);
    }
コード例 #3
0
    /* ********************************************************* */
    //! Disable Sequence-pack

    /*!
     * @param	index
     *
     *      Sequence-Pack index
     * @retval	Return-Value
     *      true == Success<br>
     *      false == Failure (Error)
     *
     * Set for using Sequence-Data generated at runtime, without using Sequence-Pack.<br>
     * When using generated sequence data, call instead of "PackSet".<br>
     * <br>
     * After calling this function, call "SequenceSet(typeLoop, dataStep)" to specify Sequence-Data.<br>
     */
    public bool PackSetNoUse()
    {
        if (null == DataProject)
        {
            return(false);
        }
        if (true == StatusIsPlaying)
        {               /* Now playing */
            return(false);
        }

        DataSequencePack = null;

        return(true);
    }
コード例 #4
0
    /* ********************************************************* */
    //! Set Sequence-Pack

    /*!
     * @param	index
     *      Sequence-Pack index
     * @retval	Return-Value
     *      true == Success<br>
     *      false == Failure (Error)
     *
     * Set Sequence-Pack that contains sequence to want to play.<br>
     * <br>
     * Sequence-Pack cannot be changed during playing.
     *      (This function returns false.)<br>
     */
    public bool PackSet(int index)
    {
        if (null == DataProject)
        {
            return(false);
        }
        if (true == StatusIsPlaying)
        {               /* Now playing */
            return(false);
        }

        int countPack = CountGetPack();

        if ((0 > index) || (0 > countPack) || (countPack <= index))
        {
            return(false);
        }

        DataSequencePack = DataProject.DataSequence[index];

        return(true);
    }
コード例 #5
0
                public static bool AssetCreateData(ref LibraryEditor_SpriteStudio6.Import.Setting setting,
                                                   LibraryEditor_SpriteStudio6.Import.SSPJ.Information informationSSPJ,
                                                   LibraryEditor_SpriteStudio6.Import.SSQE.Information informationSSQE
                                                   )
                {
//					const string messageLogPrefix = "Create Asset(Data-Sequence)";

                    Script_SpriteStudio6_DataSequence dataSequence = informationSSQE.DataSequenceSS6PU.TableData[0];

                    if (null == dataSequence)
                    {
                        dataSequence = ScriptableObject.CreateInstance <Script_SpriteStudio6_DataSequence>();
                        AssetDatabase.CreateAsset(dataSequence, informationSSQE.DataSequenceSS6PU.TableName[0]);
                        informationSSQE.DataSequenceSS6PU.TableData[0] = dataSequence;
                    }

                    dataSequence.Version     = Script_SpriteStudio6_DataSequence.KindVersion.SUPPORT_LATEST;
                    dataSequence.Name        = string.Copy(informationSSQE.NameFileBody);
                    dataSequence.DataProject = informationSSPJ.DataProjectSS6PU.TableData[0];

                    if (null == informationSSQE.SequenceList)
                    {
                        dataSequence.TableSequence = new Library_SpriteStudio6.Data.Sequence.Data[0];
                    }
                    else
                    {
                        dataSequence.TableSequence = informationSSQE.SequenceList;
                    }

                    EditorUtility.SetDirty(dataSequence);
                    AssetDatabase.SaveAssets();

                    return(true);

//				AssetCreateData_ErrorEnd:;
//					return(false);
                }
コード例 #6
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;
    }