/// <summary> /// 注册部件 /// </summary> protected virtual void registParts() { _list = new PlayerBasePart[17]; int i = 0; system = new SystemPart(); system.setMe(this); _list[i++] = system; func = new FuncPart(); func.setMe(this); _list[i++] = func; activity = new ActivityPart(); activity.setMe(this); _list[i++] = activity; role = new RolePart(); role.setMe(this); _list[i++] = role; scene = new ScenePart(); scene.setMe(this); _list[i++] = scene; character = new CharacterPart(); character.setMe(this); _list[i++] = character; social = new SocialPart(); social.setMe(this); _list[i++] = social; bag = new BagPart(); bag.setMe(this); _list[i++] = bag; mail = new MailPart(); mail.setMe(this); _list[i++] = mail; quest = new QuestPart(); quest.setMe(this); _list[i++] = quest; guide = new GuidePart(); guide.setMe(this); _list[i++] = guide; friend = new FriendPart(); friend.setMe(this); _list[i++] = friend; equip = new EquipPart(); equip.setMe(this); _list[i++] = equip; team = new TeamPart(); team.setMe(this); _list[i++] = team; union = new UnionPart(); union.setMe(this); _list[i++] = union; achievement = new AchievementPart(); achievement.setMe(this); _list[i++] = achievement; pet = new PetPart(); pet.setMe(this); _list[i++] = pet; }
private SceneFile CreateSceneFile(BinaryReader Reader) { SceneFile file = new SceneFile(); file.SceneFileName = NTString(Encoding.ASCII.GetString(Reader.ReadBytes(260))); file.Location = new Point(Reader.ReadInt32(), Reader.ReadInt32()); using (BinaryReader reader = new BinaryReader(new FileStream(ServerBase.Constants.DataHolderPath + file.SceneFileName, FileMode.Open))) { ScenePart[] partArray = new ScenePart[reader.ReadInt32()]; for (int i = 0; i < partArray.Length; i++) { reader.BaseStream.Seek(0x14cL, SeekOrigin.Current); partArray[i].Size = new Size(reader.ReadInt32(), reader.ReadInt32()); reader.BaseStream.Seek(4L, SeekOrigin.Current); partArray[i].StartPosition = new Point(reader.ReadInt32(), reader.ReadInt32()); reader.BaseStream.Seek(4L, SeekOrigin.Current); partArray[i].NoAccess = new bool[partArray[i].Size.Width, partArray[i].Size.Height]; for (int j = 0; j < partArray[i].Size.Height; j++) { for (int k = 0; k < partArray[i].Size.Width; k++) { partArray[i].NoAccess[k, j] = reader.ReadInt32() == 0; reader.BaseStream.Seek(8L, SeekOrigin.Current); } } } file.Parts = partArray; } return file; }