示例#1
0
    private void OnDataLoaded(SaveFileDto saveFile, List <IResearch> researches, List <ISellVehicle> vehicles, List <IHouse> houses)
    {
        if (saveFile != null)
        {
            m_moneyManager.SetSellValue(saveFile.SellValue);
            m_moneyManager.AddAmount(saveFile.Money);

            m_housingManager.SetBoughtHouses(houses);
            m_distributionManager.SetVehicles(vehicles);

            m_fabricatorManager.SetMeatLevel(saveFile.Level);

            if (saveFile.FabricatorCapacity > 0f && saveFile.FabricatorMaxCapacity > 0f)
            {
                m_fabricatorManager.SetChargeAndCapacity(saveFile.FabricatorCapacity, saveFile.FabricatorMaxCapacity);
            }
            else
            {
                Debug.LogError("Unable to set Fabricator Charge & ChargeCapacity. Saved values are less than 0");
                m_fabricatorManager.SetChargeAndCapacity(10f, 10f);
            }

            //Set researches last after applying all other values
            m_researchManager.SetResearch(researches);
        }
        else
        {
            ///No save file found. Start new game
            //m_moneyManager.Money = 0;

            m_moneyManager.SetSellValue(SellValueConstants.SellValues.FirstOrDefault());
            m_housingManager.AddNewStartHouses();
            m_distributionManager.SetVehicles(null);

            m_fabricatorManager.SetMeatLevel(MeatLevel.Standard);
            m_fabricatorManager.SetChargeAndCapacity(10f, 10f);
        }
    }