/* 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); }
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); }
/* ********************************************************* */ //! 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); }
/* ********************************************************* */ //! 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); }
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); }
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; }