예제 #1
0
 bool loadSkills(byte[] buff)
 {
     try
     {
         if (!isSkillFile(buff))
         {
             throw new System.Exception("not skill file");
         }
         using (MemoryStream fs = new MemoryStream(buff))
         {
             fs.Seek(5, SeekOrigin.Begin);
             BinaryReader r = new BinaryReader(fs);
             int          v = r.ReadInt16();
             //新版本应对老代码兼容,根据版本使用对应的读取序列化
             if (v > ver)
             {
                 throw new System.Exception("version error!v=" + v);
             }
             AraleSerizlize.read <GameSkill>(skills, r);
         }
         return(true);
     }
     catch (System.Exception e)
     {
         Log.e(e.Message, Log.Tag.Skill, e);
         return(false);
     }
 }
예제 #2
0
 public override void read(BinaryReader r)
 {
     id      = r.ReadInt32();
     name    = r.ReadString();
     anim    = r.ReadString();
     state   = r.ReadInt32();
     actions = AraleSerizlize.read <SkillAction>(r);
 }