Пример #1
0
 public bool Write(DAIIO io, bool skiplength = false)
 {
     try
     {
         if (!skiplength)
         {
             io.WriteBits(Length, LengthBits);
         }
         io.WriteBits(WorldStateManager.Length + 0x18, 0x18);
         WorldStateManager.Write(io);
         io.WriteBits(PartyManager.Length + 0x18, 0x18);
         PartyManager.Write(io);
         io.WriteBits(PlotSaveGameAgent.Length + 0x18, 0x18);
         PlotSaveGameAgent.Write(io);
         LootManager.Write(io);
         SpawnerCreateManager.Write(io);
         io.WriteBits(MapManager.Length + 0x18, 0x18);
         MapManager.Write(io);
         io.WriteBits(MissionManager.Length + 0x18, 0x18);
         MissionManager.Write(io);
         SpawnerInits.Write(io);
         Terrain.Write(io);
         StoreInventoryManager.Write(io);
         io.WriteBits(PartyInventory.Length + 0x18, 0x18);
         PartyInventory.Write(io);
         JournalManager.Write(io);
         return(true);
     }
     catch (Exception)
     {
         return(false);
     }
 }
Пример #2
0
    public static void LoadPartyData(PartyInventory partyInventory, PlayerManager playerManager, ClanManager clanManager)
    {
        var data = ReadBytesFromFile(Application.persistentDataPath + "/save/", "partyData.data");

        if (data != null)
        {
            PartyData partyData = DeserializeToType <PartyData>(data);

            if (partyInventory != null && partyData.PartyInventory != null && partyData.Gold > 0)
            {
                partyInventory.Inventory = partyData.PartyInventory;
                partyInventory.Gold      = partyData.Gold;
            }

            if (playerManager != null)
            {
                playerManager.Characters = partyData.PartyCharacterData;
                //set character in the characters equipment
                foreach (var character in playerManager.Characters)
                {
                    character.Equipment.Character = character;
                }
            }

            if (clanManager != null)
            {
                clanManager.SpareCharacterPool = partyData.ClanCharacterData;

                foreach (var character in clanManager.SpareCharacterPool)
                {
                    character.Equipment.Character = character;
                }
            }
        }
    }
Пример #3
0
    public void QuickStart(PartyInventory inventory)
    {
        Quest = DarkestDungeonManager.Campaign.Quests.Find(quest => quest.Difficulty == 1) ?? DarkestDungeonManager.Campaign.Quests[0];

        RaidParty = new RaidParty(DarkestDungeonManager.Campaign.Heroes.GetRange(0, 4));
        inventory.LoadInitialSetup(Quest, RaidParty);
        InventorySlotData = inventory.SaveInventorySlotData();
    }
Пример #4
0
    public void Setup()
    {
        gameFlags = new GameFlags();

        playableCharacterData = new List <CharacterData>();
        partyInventory        = new PartyInventory();

        havenData = new HavenData();
    }
Пример #5
0
    private void Setup(PartyInventory templateArg)
    {
        inventorySize = templateArg.inventorySize;

        weaponInventory = new List <WeaponData>();
        foreach (WeaponData iterWep in templateArg.weaponInventory)
        {
            weaponInventory.Add(new WeaponData(iterWep));
        }
    }
Пример #6
0
    void Awake()
    {
        _playerObject = Instantiate(PlayerPrefab, SpawnPos, Quaternion.identity);
        //Set camera to follow the player
        Camera.main.gameObject.GetComponent <CameraFollow>().Target = _playerObject.transform;

        //find the party inventory
        _partyInventory = FindObjectOfType <PartyInventory>();

        _playerManager = FindObjectOfType <PlayerManager>();
        _clanManager   = FindObjectOfType <ClanManager>();
        LoadWorld();
    }
Пример #7
0
 //Gerenate characters to be bought
 private void Awake()
 {
     _partyInventory     = FindObjectOfType <PartyInventory>();
     RandomCharacterPool = new List <Character>();
     if (RandomCharacter)
     {
         for (int i = 0; i < 4; i++)
         {
             var character = GenerateRandomCharacter.GenerateCharacter();
             RandomCharacterPool.Add(character);
             Prices.Add(Random.Range(15, 21));
         }
     }
 }
Пример #8
0
 void Awake()
 {
     _slots          = new List <InventoryItemButton>();
     _partyInventory = FindObjectOfType <PartyInventory>();
     _eventSystem    = FindObjectOfType <EventSystem>();
     _battle         = FindObjectOfType <Battle>();
     foreach (Transform child in transform)
     {
         var button = child.gameObject.GetComponent <InventoryItemButton>();
         button.GetComponent <Button>().onClick.AddListener(() => useItem(button));
         _slots.Add(button);
         button.transform.GetChild(0).GetComponent <Text>().text = "";
     }
 }
Пример #9
0
    public void Populate()
    {
        inventory  = GGlobal.Instance().Party.Inventory;
        categories = ItemCategory.AllCategories();

        scrollOffset         = 0;
        categoryCursor       = 0;
        transitioning        = false;
        ItemDescription.text = "";
        ImageIcon.sprite     = null;

        ReloadCategory();
        categoryMode = (categoryItems.Count == 0);
        UpdateDisplay();
    }
Пример #10
0
    public static void SavePartyData(PartyInventory partyInventory, PlayerManager playerManager, ClanManager clanManager)
    {
        if (partyInventory == null || playerManager == null)
        {
            return;
        }
        PartyData partyData = new PartyData();

        partyData.PartyInventory = partyInventory.Inventory;
        partyData.Gold           = partyInventory.Gold;

        //Party characets
        if (playerManager != null)
        {
            //check if players are dead, if so remove them
            foreach (var character in playerManager.Characters)
            {
                if (!character.Alive)
                {
                    playerManager.RemoveCharacter(character);
                }
            }
            partyData.PartyCharacterData = playerManager.Characters;
        }
        else
        {
            partyData.PartyCharacterData = GetSavedPlayerManager();
        }

        if (clanManager != null)
        {
            partyData.ClanCharacterData = clanManager.SpareCharacterPool;
        }
        else
        {
            partyData.ClanCharacterData = GetSavedClanData();
        }

        SaveBytesToFile(Application.persistentDataPath + "/save/", "partyData.data", SerializeToBytes(partyData));
    }
Пример #11
0
 // Use this for initialization
 void Awake()
 {
     _partyInventory = FindObjectOfType <PartyInventory>();
     _eventSystem    = FindObjectOfType <EventSystem>();
 }
Пример #12
0
 private void Awake()
 {
     _barracksManager = FindObjectOfType <BarracksManager>();
     _partyInventory  = FindObjectOfType <PartyInventory>();
     _playerManager   = FindObjectOfType <PlayerManager>();
 }
Пример #13
0
 public HeroParty()
 {
     Inventory = new PartyInventory();
 }
Пример #14
0
 public PartyInventory(PartyInventory templateArg)
 {
     Setup(templateArg);
 }
Пример #15
0
 // Use this for initialization
 void Awake()
 {
     _partyInventory = FindObjectOfType <PartyInventory>();
 }