예제 #1
0
파일: ScriptWriter.cs 프로젝트: halak/bibim
 public override void Write(AssetStreamWriter writer, Script asset)
 {
     writer.Write(asset.ClassID);
     writer.Write(asset.Buffer.Length);
     writer.Write(asset.Buffer);
     writer.Write(asset.FunctionTable.Length);
     foreach (Script.Function item in asset.FunctionTable)
     {
         writer.WriteBibimString(item.Name);
         writer.Write(item.Position);
         writer.Write(item.ArgumentStackSize);
         writer.Write(item.ReturnTypes.Length);
         foreach (ScriptObjectType type in item.ReturnTypes)
         {
             writer.Write((int)type);
         }
         writer.Write(item.ParameterTypes.Length);
         foreach (ScriptObjectType type in item.ParameterTypes)
         {
             writer.Write((int)type);
         }
     }
     writer.Write(asset.StringTable.Length);
     foreach (string item in asset.StringTable)
     {
         writer.WriteBibimString(item);
     }
 }
예제 #2
0
 private static void Write(AssetStreamWriter writer, UIEditText o, List <object> objectDictionary)
 {
     Write(writer, (UILabel)o, objectDictionary);
     writer.Write((byte)o.Format);
     writer.WriteBibimString(o.Placeholder);
     writer.Write(o.MaxLength);
     writer.Write(o.Frozen);
     writer.WriteBibimString(o.EditorTitle);
     writer.WriteBibimString(o.EditorDescription);
 }
예제 #3
0
 private static void Write(AssetStreamWriter writer, UIElement o, List <object> objectDictionary)
 {
     writer.Write(o.ClassID);
     writer.Write(o.ID);
     writer.WriteBibimString(o.Name);
     writer.Write(o.Tag);
 }
예제 #4
0
 public static void WriteBody(AssetStreamWriter writer, ImageSet asset)
 {
     writer.Write((short)asset.Images.Count);
     foreach (var item in asset.Images)
     {
         writer.WriteBibimString(item.Key);
         ImageWriter.WriteBody(writer, item.Value);
     }
 }
예제 #5
0
 public override void Write(AssetStreamWriter writer, SpriteSet asset)
 {
     writer.Write(asset.ClassID);
     writer.Write((short)asset.Sprites.Count);
     foreach (var item in asset.Sprites)
     {
         writer.WriteBibimString(item.Key);
         SpriteWriter.WriteBody(writer, item.Value);
     }
 }
예제 #6
0
 public override void Write(AssetStreamWriter writer, ParticleSystemSet asset)
 {
     writer.Write(asset.ClassID);
     writer.Write((short)asset.ParticleSystems.Count);
     foreach (var item in asset.ParticleSystems)
     {
         writer.WriteBibimString(item.Key);
         ParticleSystemWriter.WriteBody(writer, item.Value);
     }
 }
예제 #7
0
        private static bool WriteVariable <V>(AssetStreamWriter writer, EvalVariableTemplate <V> o, IList <object> objMap)
        {
            if (WriteEval(writer, o, objMap) == false)
            {
                return(false);
            }

            writer.WriteBibimString(o.Name);

            return(true);
        }
예제 #8
0
        public sealed override void Write(AssetStreamWriter writer, EvalBoard asset)
        {
            List <object> objMap = new List <object>();

            writer.Write(asset.ClassID);
            writer.Write(asset.Duration);
            writer.Write((short)asset.Items.Count);
            foreach (var item in asset.Items)
            {
                writer.WriteBibimString(item.Name);
                Write(writer, item.Root, objMap);
            }
        }
예제 #9
0
 private static void Write(AssetStreamWriter writer, UIDocument o, List <object> objectDictionary)
 {
     Write(writer, (UIPanel)o, objectDictionary);
     writer.WriteBibimString(o.Text);
 }
예제 #10
0
 private static void Write(AssetStreamWriter writer, UILabel o, List <object> objectDictionary)
 {
     Write(writer, (UIVisual)o, objectDictionary);
     writer.Write(o.Font);
     writer.WriteBibimString(o.Text);
 }