Example #1
0
        public void Serialize(BinaryWriter bw)
        {
            bw.Write(this.Name);
            bw.Write(this.Description);
            bw.Write(this.NumberLocals.Count);
            foreach (KeyValuePair <string, Tuple <int, int> > kv in this.NumberLocals)
            {
                bw.Write(kv.Key);
                bw.Write(kv.Value.Item1);
                bw.Write(kv.Value.Item2);
            }

            bw.Write(this.RealLocals.Count);
            foreach (KeyValuePair <string, Tuple <float, float> > kv in this.RealLocals)
            {
                bw.Write(kv.Key);
                bw.Write(kv.Value.Item1);
                bw.Write(kv.Value.Item2);
            }

            bw.Write(this.StringLocals.Count);
            foreach (KeyValuePair <string, Tuple <string, string> > kv in this.StringLocals)
            {
                bw.Write(kv.Key);
                bw.Write(kv.Value.Item1);
                bw.Write(kv.Value.Item2);
            }

            bw.Write(this.BoolLocals.Count);
            foreach (KeyValuePair <string, Tuple <bool, bool> > kv in this.BoolLocals)
            {
                bw.Write(kv.Key);
                bw.Write(kv.Value.Item1);
                bw.Write(kv.Value.Item2);
            }

            bw.Write(this.ItemsLinked.Count);
            foreach (KeyValuePair <string, Guid> kv in this.ItemsLinked)
            {
                bw.Write(kv.Key);
                bw.Write(kv.Value.ToByteArray());
            }

            bw.Write(this.SpellsLinked.Count);
            foreach (KeyValuePair <string, Guid> kv in this.SpellsLinked)
            {
                bw.Write(kv.Key);
                bw.Write(kv.Value.ToByteArray());
            }

            bw.Write(this.Actions.Count);
            foreach (MacroAction ma in this.Actions)
            {
                MacroSerializer.WriteMacroAction(bw, ma);
            }
        }