コード例 #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
                public static bool ConvertData(ref LibraryEditor_SpriteStudio6.Import.Setting setting,
                                               LibraryEditor_SpriteStudio6.Import.SSPJ.Information informationSSPJ,
                                               LibraryEditor_SpriteStudio6.Import.SSQE.Information informationSSQE
                                               )
                {
//					const string messageLogPrefix = "Convert (Data-Sequence)";

                    /* MEMO: Nothing to do, now.                                                                                          */
                    /*       Conversion was finished at parsing, since Sequence datas is almost same as SSQE-datas. (in Function-"Parse") */

                    return(true);

//				ConvertSS6PU_ErroeEnd:;
//					return(false);
                }
コード例 #3
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);
                }
コード例 #4
0
            public static Information Parse(ref LibraryEditor_SpriteStudio6.Import.Setting setting,
                                            string nameFile,
                                            LibraryEditor_SpriteStudio6.Import.SSPJ.Information informationSSPJ
                                            )
            {
                const string messageLogPrefix = "Parse SSQE";
                Information  informationSSQE  = null;

                /* ".ssee" Load */
                if (false == System.IO.File.Exists(nameFile))
                {
                    LogError(messageLogPrefix, "File Not Found", nameFile, informationSSPJ);
                    goto Parse_ErrorEnd;
                }
                System.Xml.XmlDocument xmlSSQE = new System.Xml.XmlDocument();
                xmlSSQE.Load(nameFile);

                /* Check Version */
                System.Xml.XmlNode nodeRoot = xmlSSQE.FirstChild;
                nodeRoot = nodeRoot.NextSibling;
                KindVersion version = (KindVersion)(LibraryEditor_SpriteStudio6.Utility.XML.VersionGet(nodeRoot, "SpriteStudioSequencePack", (int)KindVersion.ERROR, true));

                /* MEMO: Loose version check                                                       */
                /*       If you check strictly, there are a lot of datas that can not be imported. */
                switch (version)
                {
                case KindVersion.ERROR:
                    LogError(messageLogPrefix, "Version Invalid", nameFile, informationSSPJ);
                    goto Parse_ErrorEnd;

                case KindVersion.CODE_010000:
                    /* MEMO: Read all as Ver.1.01.00. */
                    version = KindVersion.CODE_010000;
                    break;

                default:
                    if (KindVersion.TARGET_EARLIEST > version)
                    {
                        version = KindVersion.TARGET_EARLIEST;
                        if (true == setting.CheckVersion.FlagInvalidSSQE)
                        {
                            LogWarning(messageLogPrefix, "Version Too Early", nameFile, informationSSPJ);
                        }
                    }
                    else
                    {
                        version = KindVersion.TARGET_LATEST;
                        if (true == setting.CheckVersion.FlagInvalidSSQE)
                        {
                            LogWarning(messageLogPrefix, "Version Unknown", nameFile, informationSSPJ);
                        }
                    }
                    break;
                }

                /* Create Information */
                informationSSQE = new Information();
                if (null == informationSSQE)
                {
                    LogError(messageLogPrefix, "Not Enough Memory", nameFile, informationSSPJ);
                    goto Parse_ErrorEnd;
                }
                informationSSQE.CleanUp();
                informationSSQE.Version = version;

                /* Get Base-Directories */
                LibraryEditor_SpriteStudio6.Utility.File.PathSplit(out informationSSQE.NameDirectory, out informationSSQE.NameFileBody, out informationSSQE.NameFileExtension, nameFile);

                /* Decode Tags */
                System.Xml.NameTable           nodeNameSpace    = new System.Xml.NameTable();
                System.Xml.XmlNamespaceManager managerNameSpace = new System.Xml.XmlNamespaceManager(nodeNameSpace);

                //string valueText = "";
                informationSSQE.Name       = LibraryEditor_SpriteStudio6.Utility.XML.TextGetNode(nodeRoot, "name", managerNameSpace);
                informationSSQE.ExportPath = LibraryEditor_SpriteStudio6.Utility.XML.TextGetNode(nodeRoot, "exportPath", managerNameSpace);

                System.Xml.XmlNodeList nodeList = null;
                nodeList = LibraryEditor_SpriteStudio6.Utility.XML.ListGetNode(nodeRoot, "sequenceList/sequence", managerNameSpace);
                if (null == nodeList)
                {
                    informationSSPJ.TableNameSSQE = new string[0];
                }
                else
                {
                    /* MEMO: Nothing to do, now. */
                }

                List <Library_SpriteStudio6.Data.Sequence.Data> listSequence = new List <Library_SpriteStudio6.Data.Sequence.Data>();

                listSequence.Clear();
                foreach (System.Xml.XmlNode nodeSequence in nodeList)
                {
                    Library_SpriteStudio6.Data.Sequence.Data sequence = new Library_SpriteStudio6.Data.Sequence.Data();
                    sequence.Name  = LibraryEditor_SpriteStudio6.Utility.XML.TextGetNode(nodeSequence, "name", managerNameSpace);
                    sequence.Index = ValueTextToInt(LibraryEditor_SpriteStudio6.Utility.XML.TextGetNode(nodeSequence, "index", managerNameSpace));
                    sequence.Type  = ValueTextToSequenceType(LibraryEditor_SpriteStudio6.Utility.XML.TextGetNode(nodeSequence, "type", managerNameSpace));

                    System.Xml.XmlNodeList nodeListValueSequence = null;
                    nodeListValueSequence = LibraryEditor_SpriteStudio6.Utility.XML.ListGetNode(nodeSequence, "list/value", managerNameSpace);


                    List <Library_SpriteStudio6.Data.Sequence.Data.Step> listDetail = new List <Library_SpriteStudio6.Data.Sequence.Data.Step>();
                    listDetail.Clear();

                    foreach (System.Xml.XmlNode nodeValue in nodeListValueSequence)
                    {
                        Library_SpriteStudio6.Data.Sequence.Data.Step dataStep = new Library_SpriteStudio6.Data.Sequence.Data.Step();
                        dataStep.NamePackAnimation = LibraryEditor_SpriteStudio6.Utility.XML.TextGetNode(nodeValue, "refAnimePack", managerNameSpace);
                        dataStep.NameAnimation     = LibraryEditor_SpriteStudio6.Utility.XML.TextGetNode(nodeValue, "refAnime", managerNameSpace);
                        dataStep.PlayCount         = ValueTextToInt(LibraryEditor_SpriteStudio6.Utility.XML.TextGetNode(nodeValue, "repeatCount", managerNameSpace));
                        listDetail.Add(dataStep);
                    }
                    sequence.TableStep = listDetail.ToArray();
                    listSequence.Add(sequence);
                }

                informationSSQE.SequenceList = listSequence.ToArray();

                return(informationSSQE);

                Parse_ErrorEnd :;
                return(null);
            }
コード例 #5
0
 private static void LogWarning(string messagePrefix, string message, string nameFile, LibraryEditor_SpriteStudio6.Import.SSPJ.Information informationSSPJ)
 {
     LibraryEditor_SpriteStudio6.Utility.Log.Warning(messagePrefix
                                                     + ": " + message
                                                     + " [" + nameFile + "]"
                                                     + " in \"" + informationSSPJ.FileNameGetFullPath() + "\""
                                                     );
 }