Esempio n. 1
0
    public void UpdateFromRaid()
    {
        UpdateFromEstate();

        InRaid = true;

        QuestCompleted = RaidSceneManager.Raid.QuestCompleted;
        Quest          = RaidSceneManager.Raid.Quest;
        Dungeon        = RaidSceneManager.Raid.Dungeon;
        if (RaidParty == null)
        {
            RaidParty = new RaidPartySaveData();
        }
        RaidParty.UpdateFromRaidParty(RaidSceneManager.Raid.RaidParty);
        CampingPhase       = RaidSceneManager.Raid.CampingPhase;
        CampingTimeLeft    = RaidSceneManager.Raid.CampingTimeLeft;
        NightAmbushReduced = RaidSceneManager.Raid.NightAmbushReduced;
        HungerCooldown     = RaidSceneManager.Raid.HungerCooldown;
        AncestorTalk       = RaidSceneManager.Raid.AncestorTalk;

        CurrentLocation = RaidSceneManager.Raid.CurrentLocation == null ?
                          RaidSceneManager.Raid.Dungeon.StartingRoom.Id :
                          RaidSceneManager.Raid.CurrentLocation.Id;

        ExploredRoomCount  = RaidSceneManager.Raid.ExploredRoomCount;
        LastRoom           = RaidSceneManager.Raid.LastRoom == null ? "" : RaidSceneManager.Raid.LastRoom.Id;
        LastSector         = RaidSceneManager.Raid.LastSector == null ? "" : RaidSceneManager.Raid.LastSector.Id;
        PreviousLastSector = RaidSceneManager.Raid.PreviousLastSector == null ? LastSector : RaidSceneManager.Raid.PreviousLastSector.Id;


        KilledMonsters     = RaidSceneManager.Raid.KilledMonsters;
        InvestigatedCurios = RaidSceneManager.Raid.InvestigatedCurios;

        TorchAmount    = RaidSceneManager.TorchMeter.TorchAmount;
        MaxTorchAmount = RaidSceneManager.TorchMeter.MaxAmount;

        ModifiedMinTorch = RaidSceneManager.TorchMeter.Modifier == null ? -1 : RaidSceneManager.TorchMeter.Modifier.Min;
        ModifiedMaxTorch = RaidSceneManager.TorchMeter.Modifier == null ? -1 : RaidSceneManager.TorchMeter.Modifier.Max;

        HeroFormationData.UpdateFormation(RaidSceneManager.Formations.Heroes);
        InventoryItems = RaidSceneManager.Inventory.SaveInventorySlotData();

        if (RaidSceneManager.BattleGround.BattleStatus == BattleStatus.Fighting)
        {
            InBattle = true;
            BattleGroundSaveData.UpdateFromBattleGround(RaidSceneManager.BattleGround);
        }
        else
        {
            InBattle = false;
        }
    }