Example #1
0
    public ILearnRWSaveB(SaveVersioningInfo para_saveVersioningData,
	                     PlayerAvatarSettings para_playerAvSettings,
	                     LightSatchel para_satchel)
        : base(para_saveVersioningData,"")
    {
        playerAvatarSettings = para_playerAvSettings;
        satchel = para_satchel;
    }
    public GhostbookManagerLight(LightSatchel newSatchel  )
    {
        Debug.Log("GB: Loaded from Light");

        performLoadProcedure();

        satchel = newSatchel;

        initUnlockedCharactersAndDifficulties();
    }
    public GhostbookManagerLight()
    {
        Debug.Log("GB: Brand new");

        performLoadProcedure();

        List<string[]> npcNames = LocalisationMang.getBothNPCnames();

        satchel = new LightSatchel(npcNames.Count,profile.getDifficulties());

        //unlockAllCharacters();

        initUnlockedCharactersAndDifficulties();

        //unlockAllRelatedDifficulties(supportedClusters[2]);//unlock all previous and 2 ahead
    }
    public GhostbookManagerLight( PlayerGhostbookSatchel oldSatchel  )
    {
        Debug.Log("GB: Loaded from Heavy");

        List<string[]> npcNames = LocalisationMang.getBothNPCnames();

        performLoadProcedure();
        satchel = new LightSatchel(npcNames.Count,profile.getDifficulties());

        if(oldSatchel==null){
            Debug.Log("GB: Brand new");

        //			unlockAllRelatedDifficulties(supportedClusters[0]);

        }else{

            //unlock all clusters
            for(int lA = 0; lA < profile.getDifficulties().Length;lA++){

                for(int diff = 0; diff < profile.getDifficulties()[lA].Length;diff++){
                    Difficulty difficulty = profile.getDifficulties()[lA][diff];
                    if(!satchel.getUnlockedClusters().Contains((byte)difficulty.cluster)){
                        satchel.getUnlockedClusters().Add((byte)difficulty.cluster);
                    }

                }
            }

            //unlock all bio sections

            for(int i = 0; i< npcNames.Count;i++)
                for(int j = 0;j<7;j++)//7 bio sections
                    satchel.unlockBio(j);

            //Add old photos
            List<ContactSlot> characters = oldSatchel.getContactList().getAllSlotsInOrder();

            foreach(ContactSlot contact in characters){

                PhotoAlbum album = contact.getPhotoAlbum();

                foreach(PhotoPage page in album.getAllAvailablePages()){

                    if(page.getNumAvailablePhotos()>0){
                        if(page.getLangArea()<satchel.getPhotos().Length){
                            if(page.getDifficulty() < satchel.getPhotos()[page.getLangArea()].Length){
                                 foreach(Photo photo in page.getAvailablePhotos().Values){
                                    satchel.getPhotos()[page.getLangArea()][page.getDifficulty()].Add(photo);
                                }

                            }
                        }

                    }

                }

            }

        }

        initUnlockedCharactersAndDifficulties();
    }