Exemplo n.º 1
0
 public void saveWriter(EexBinaryWriter writer)
 {
     writer.writeFixString(flag, 4);
     writer.writeUShort(short1);
     writer.writeUShort(short2);
     writer.writeUShort(short3);
 }
Exemplo n.º 2
0
        public void saveWriter(EexBinaryWriter writer, int group)
        {
            cmdIndexList.Clear();
            computeExValue(writer, group);

            int sectionStart = writer.getIndex();

            writer.writeUShort(0);

            for (int i = 0; i < commandList.Count; i++)
            {
                ScriptCommand cmd      = commandList[i];
                int           cmdIndex = writer.getIndex();
                writer.writeUShort((ushort)cmd.Id);
                cmd.saveWriter(writer, group);

                if (cmd.isExtValueAvailable())
                {
                    writer.writeUShort((ushort)cmd.getExtValue());
                }
                cmdIndexList.Add(cmdIndex);
            }

            int sectionEnd = writer.getIndex();

            writer.setIndex(sectionStart).writeUShort((ushort)(sectionEnd - sectionStart - 2));
            writer.setIndex(sectionEnd);
        }
Exemplo n.º 3
0
 public void saveNewWriter(EexBinaryWriter writer)
 {
     writer.writeUShort((ushort)sectionList.Count);
     foreach (ScriptSection item in sectionList)
     {
         item.saveNewWriter(writer);
     }
 }
Exemplo n.º 4
0
 public void saveWriter(EexBinaryWriter writer, int group)
 {
     cmdIndexList.Clear();
     writer.writeUShort((ushort)sectionList.Count);
     foreach (ScriptSection item in sectionList)
     {
         cmdIndexList.Add(writer.getIndex());
         item.saveWriter(writer, group);
         foreach (int index in item.cmdIndexList)
         {
             cmdIndexList.Add(index);
         }
     }
 }
Exemplo n.º 5
0
        public void saveWriter(EexBinaryWriter writer)
        {
            header.saveWriter(writer);

            writer.setIndex(10 + sceneList.Count * 4);

            for (int i = 0; i < sceneList.Count; i++)
            {
                int wIndex = writer.getIndex();
                writer.setIndex(10 + i * 4);
                writer.writeInt32(wIndex);
                writer.setIndex(wIndex);

                ScriptScene item = sceneList[i];
                item.saveWriter(writer);
            }
        }
Exemplo n.º 6
0
        public void computeExValue(EexBinaryWriter writer, int group)
        {
            int writerIndex = writer.getIndex();

            for (int i = 0; i < commandList.Count; i++)
            {
                if (!commandList[i].isExtValueAvailable())
                {
                    continue;
                }

                int level = 1;
                writer.setIndex(writerIndex);
                for (int j = i + 1; j < commandList.Count; j++)
                {
                    ScriptCommand cmd = commandList[j];
                    if (cmd.isExtValueAvailable())
                    {
                        level++;
                    }
                    writer.writeUShort((ushort)cmd.Id);
                    cmd.saveWriter(writer, group);
                    if (cmd.isExtValueAvailable())
                    {
                        writer.writeUShort((ushort)cmd.getExtValue());
                    }

                    if (cmd.Id == (int)CommandId.CMD_ACTION_END)
                    {
                        level--;
                        if (level == 0)
                        {
                            break;
                        }
                    }
                }
                commandList[i].setExtValue(writer.getIndex() - writerIndex);
            }
            writer.setIndex(writerIndex);
        }
Exemplo n.º 7
0
        public override void saveWriter(EexBinaryWriter writer)
        {
            CommandConfig cfg = ScriptConfig.Instance.getCommandConfig(id);

            if (cfg.FieldRepeat <= 1)
            {
                for (int i = 0; i < cfg.FieldCount; i++)
                {
                    int fieldId  = cfg.FieldIds[i];
                    int keyIndex = i;
                    if (keyIndex < values.Length)
                    {
                        writer.writeFieldObject(fieldId, values[keyIndex]);
                    }
                    else
                    {
                        writer.writeFieldObject(fieldId, ScriptConfig.Instance.getEexDefaultValue(fieldId));
                    }
                }
            }
            else
            {
                for (int i = 0; i < cfg.FieldRepeat; i++)
                {
                    for (int j = 0; j < cfg.FieldCount; j++)
                    {
                        int fieldId  = cfg.FieldIds[j];
                        int keyIndex = j;
                        if (keyIndex < arrayValues[i].Length)
                        {
                            writer.writeFieldObject(fieldId, arrayValues[i][keyIndex]);
                        }
                        else
                        {
                            writer.writeFieldObject(fieldId, ScriptConfig.Instance.getEexDefaultValue(fieldId));
                        }
                    }
                }
            }
        }
Exemplo n.º 8
0
        public void saveNewWriter(EexBinaryWriter writer)
        {
            int sectionStart = writer.getIndex();

            writer.writeUShort(0);

            for (int i = 0; i < commandList.Count; i++)
            {
                ScriptCommand cmd = commandList[i];
                writer.writeUShort((ushort)cmd.Id);
                cmd.saveWriter(writer, 0);

                if (cmd.isExtValueAvailable())
                {
                    writer.writeUShort((ushort)cmd.getExtValue());
                }
            }

            int sectionEnd = writer.getIndex();

            writer.setIndex(sectionStart).writeUShort((ushort)commandList.Count);
            writer.setIndex(sectionEnd);
        }
Exemplo n.º 9
0
        public void saveWriter(EexBinaryWriter writer, int group)
        {
            cmdIndexList.Clear();
            header.saveWriter(writer);

            writer.setIndex(10 + sceneList.Count * 4);

            for (int i = 0; i < sceneList.Count; i++)
            {
                int wIndex = writer.getIndex();
                writer.setIndex(10 + i * 4);
                writer.writeInt32(wIndex);
                writer.setIndex(wIndex);
                cmdIndexList.Add(wIndex);

                ScriptScene item = sceneList[i];
                item.saveWriter(writer, group);
                foreach (int index in item.cmdIndexList)
                {
                    cmdIndexList.Add(index);
                }
            }

            if (CorrectCmdData(false))
            {
                writer.setIndex(10 + sceneList.Count * 4);
                for (int i = 0; i < sceneList.Count; i++)
                {
                    int wIndex = writer.getIndex();
                    writer.setIndex(10 + i * 4);
                    writer.writeInt32(wIndex);
                    writer.setIndex(wIndex);
                    ScriptScene item = sceneList[i];
                    item.saveWriter(writer, group);
                }
            }
        }
Exemplo n.º 10
0
 public virtual void saveWriter(EexBinaryWriter writer)
 {
 }
Exemplo n.º 11
0
 public virtual void saveWriter(EexBinaryWriter writer, int group)
 {
 }