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); } }
public override void read(BinaryReader r) { id = r.ReadInt32(); name = r.ReadString(); anim = r.ReadString(); state = r.ReadInt32(); actions = AraleSerizlize.read <SkillAction>(r); }