예제 #1
0
 public string szPlatName; // 平台名字
 public void Serialize(CSerialize ar)
 {
     ar.ReadWriteValue(ref szUserName);
     ar.ReadWriteValue(ref szPassword);
     ar.ReadWriteValue(ref nPlatType);
     ar.ReadWriteValue(ref szPlatName);
 }
예제 #2
0
    void TestFunc1()
    {
        ItemPackMsg msg = new ItemPackMsg();

        msg.Items = new List <ItemMsg>();

        ItemMsg item = new ItemMsg();

        item.ID   = 1;
        item.Name = "无忧草";
        msg.Items.Add(item);

        item         = new ItemMsg();
        item.ID      = 2;
        item.Name    = "大力丸";
        item.Attribs = new List <int>();
        item.Attribs.Add(11);
        item.Attribs.Add(12);
        msg.Items.Add(item);

        item      = new ItemMsg();
        item.ID   = 3;
        item.Name = "回生丸";
        msg.Items.Add(item);

        CSerialize ar = new CSerialize(SerializeType.write);

        msg.Serialize(ar);

        FCLibHelper.fc_serialize_msg_call(0, "TestSerialize.ReceiveItemMsg", ar.GetBuffer(), 0, ar.GetBufferSize(), true);
    }
예제 #3
0
    public bool ExportTGA(string szPathName, Color32 [] iconPixel, int nWidth, int nHeight)
    {
        CSerialize ar = new CSerialize(SerializeType.write, szPathName);

        ar.Write((byte)0);
        ar.Write((byte)0);
        ar.Write((byte)2);            // m_ImageType
        ar.Write((short)0);
        ar.Write((short)0);
        ar.Write((byte)0);

        ar.Write((short)0);
        ar.Write((short)0);
        ar.Write((short)nWidth);
        ar.Write((short)nHeight);
        ar.Write((byte)32);
        ar.Write((byte)8);

        // BGRA
        int nLen = iconPixel.Length;

        for (int i = 0; i < nLen; ++i)
        {
            ar.Write(iconPixel[i].b);
            ar.Write(iconPixel[i].g);
            ar.Write(iconPixel[i].r);
            ar.Write(iconPixel[i].a);
        }
        ar.Close();
        return(true);
    }
예제 #4
0
 public void Serialize(CSerialize ar)
 {
     ar.ReadWriteValue(ref ID);
     ar.ReadWriteValue(ref Width);
     ar.ReadWriteValue(ref Height);
     ar.SerializeStructArray <UIGifXMLFrame>(ref frame);
 }
예제 #5
0
    void TestFunc2()
    {
        ItemPack2 msg = new ItemPack2();

        msg.Items = new Dictionary <int, ItemMsg>();
        msg.Names = new Dictionary <int, string>();

        ItemMsg item = new ItemMsg();

        item.ID            = 1;
        item.Name          = "无忧草";
        msg.Items[item.ID] = item;
        msg.Names[item.ID] = item.Name;

        item         = new ItemMsg();
        item.ID      = 2;
        item.Name    = "大力丸";
        item.Attribs = new List <int>();
        item.Attribs.Add(11);
        item.Attribs.Add(12);
        msg.Items[item.ID] = item;
        msg.Names[item.ID] = item.Name;

        CSerialize ar = new CSerialize(SerializeType.write);

        msg.Serialize(ar);

        FCLibHelper.fc_serialize_msg_call(0, "TestSerialize.ReceiveItemMsg2", ar.GetBuffer(), 0, ar.GetBufferSize(), true);
    }
예제 #6
0
    public static void ReceiveItemMsg2(CSerialize ar)
    {
        ItemPack2 msg = new ItemPack2();

        ar.ReadWrite(msg);
        msg.PrintMsg();// 显示到屏幕
    }
예제 #7
0
    public static void ReceiveLoginMsg(CSerialize ar)
    {
        LoginMsg msg = new LoginMsg();

        ar.ReadWrite(msg);
        msg.PrintMsg();// 显示到屏幕
    }
예제 #8
0
 void SerializeItemMsg(CSerialize ar, ref int key, ref ItemMsg value)
 {
     ar.ReadWriteValue(ref key);
     if (value == null)
     {
         value = new ItemMsg();
     }
     value.Serialize(ar);
 }
예제 #9
0
 public void Serialize(CSerialize ar)
 {
     ar.ReadWriteValue(ref SpriteName);
     ar.ReadWriteValue(ref fNextGapTime);
     ar.ReadWriteValue(ref OffsetX);
     ar.ReadWriteValue(ref OffsetY);
     ar.ReadWriteValue(ref ScaleWidth);
     ar.ReadWriteValue(ref ScaleHeight);
 }
예제 #10
0
 public static CSerialize WriteStream()
 {
     if (s_writeAr == null)
     {
         s_writeAr = new CSerialize(SerializeType.write);
     }
     else
     {
         s_writeAr.ResetStream(SerializeType.write);
     }
     return(s_writeAr);
 }
예제 #11
0
 public static CSerialize   ReadStream(byte [] buffer, int nBuffSize)
 {
     if (s_readAr == null)
     {
         s_readAr = new CSerialize(SerializeType.read, buffer, nBuffSize);
     }
     else
     {
         s_readAr.ResetStream(SerializeType.read, buffer, nBuffSize);
     }
     return(s_readAr);
 }
예제 #12
0
    void TestFunc0()
    {
        LoginMsg msg = new LoginMsg();

        msg.szUserName = "******";
        msg.szPassword = "******";
        msg.nPlatType  = 1;
        msg.szPlatName = "时空机";
        CSerialize ar = new CSerialize(SerializeType.write);

        msg.Serialize(ar);

        FCLibHelper.fc_serialize_msg_call(0, "TestSerialize.ReceiveLoginMsg", ar.GetBuffer(), 0, ar.GetBufferSize(), true);
    }
예제 #13
0
    void ExportSelectID(string szPathName)
    {
        if (m_SelectSprite == null)
        {
            return;
        }
        CSerialize ar = new CSerialize(SerializeType.write, szPathName);

        ar.PushTextString("ID\tName");
        for (int i = 0; i < m_SelectSprite.Count; ++i)
        {
            SelectSpriteInfo spInfo = m_SelectSprite[i];
            if (spInfo == null)
            {
                continue;
            }
            UISpriteInfo sp = spInfo.m_sprite;
            ar.PushTextString(string.Format("\r\n{0}\t{1}", sp.m_nNameID, sp.name));
        }
        ar.Close();

        szPathName = szPathName.Replace('/', '\\');
        System.Diagnostics.Process.Start("explorer.exe", szPathName);
    }
예제 #14
0
    public List <int> Attribs; // 属性ID

    public void Serialize(CSerialize ar)
    {
        ar.ReadWriteValue(ref ID);
        ar.ReadWriteValue(ref Name);
        ar.SerializeBaseArray(ref Attribs);
    }
예제 #15
0
 public void Serialize(CSerialize ar)
 {
     ar.SerializeStructArray(ref Items);
 }
예제 #16
0
 public void Serialize(CSerialize ar)
 {
     ar.SerializeStructArray <UIGifXMLList>(ref gifList);
 }
예제 #17
0
 public void Serialize(CSerialize ar)
 {
     ar.SerializeDictionary(ref Items, SerializeItemMsg);
     ar.SerializeDictionary(ref Names, SerializeFunc2);
 }
예제 #18
0
 void SerializeFunc2(CSerialize ar, ref int key, ref string value)
 {
     ar.ReadWriteValue(ref key);
     ar.ReadWriteValue(ref value);
 }