コード例 #1
0
        public static ClgCommand ReadScriptAndCriteria(BinaryReader reader)
        {
            ClgCommand s = new ClgCommand();

            s.BaseAddress = (uint)reader.BaseStream.Position;

            s.OnScreenPart1 = reader.ReadCharArrayString(32);
            s.OnScreenPart2 = reader.ReadCharArrayString(32);
            s.OnScreenPart3 = reader.ReadCharArrayString(32);
            s.OnScreenPart4 = reader.ReadCharArrayString(32);
            s.HelpMenuPart1 = reader.ReadCharArrayString(32);
            s.HelpMenuPart2 = reader.ReadCharArrayString(32);
            s.HelpMenuPart3 = reader.ReadCharArrayString(32);
            s.HelpMenuPart4 = reader.ReadCharArrayString(32);

            s.CriteriaType = (CriteriaTypeOption)reader.ReadInt16();
            var criteriaCount = reader.ReadUInt16();
            var criteriaStart = s.BaseAddress + reader.ReadUInt32();

            var lastAddr = reader.BaseStream.Position;

            reader.BaseStream.Seek(criteriaStart, SeekOrigin.Begin);
            for (int i = 0; i < criteriaCount; i++)
            {
                s.CriteriaIds.Add(reader.ReadInt32());
            }

            reader.BaseStream.Seek(lastAddr, SeekOrigin.Begin);
            return(s);
        }
コード例 #2
0
 public void ReadCommandsAndCriterion(BinaryReader reader)
 {
     for (int i = 0; i < this.Commands.Count; i++)
     {
         this.Commands[i] = ClgCommand.ReadScriptAndCriteria(reader);
     }
 }
コード例 #3
0
ファイル: ClgCommand.cs プロジェクト: dantarion/ssf4ae-tools
        public static ClgCommand ReadScriptAndCriteria(BinaryReader reader)
        {
            ClgCommand s= new ClgCommand();
            s.BaseAddress = (uint)reader.BaseStream.Position;

            s.OnScreenPart1 = reader.ReadCharArrayString(32);
            s.OnScreenPart2 = reader.ReadCharArrayString(32);
            s.OnScreenPart3 = reader.ReadCharArrayString(32);
            s.OnScreenPart4 = reader.ReadCharArrayString(32);
            s.HelpMenuPart1 = reader.ReadCharArrayString(32);
            s.HelpMenuPart2 = reader.ReadCharArrayString(32);
            s.HelpMenuPart3 = reader.ReadCharArrayString(32);
            s.HelpMenuPart4 = reader.ReadCharArrayString(32);

            s.CriteriaType = (CriteriaTypeOption)reader.ReadInt16();
            var criteriaCount = reader.ReadUInt16();
            var criteriaStart = s.BaseAddress + reader.ReadUInt32();

            var lastAddr = reader.BaseStream.Position;

            reader.BaseStream.Seek(criteriaStart, SeekOrigin.Begin);
            for (int i = 0; i < criteriaCount; i++)
            {
                s.CriteriaIds.Add(reader.ReadInt32());
            }

            reader.BaseStream.Seek(lastAddr, SeekOrigin.Begin);
            return s;
        }