Esempio n. 1
0
    /// <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;
 }