Example #1
0
    protected override void EntryAdded(GameObject entry, int index)
    {
        //Find dto that matches current index
        ISellVehicle foundVehicle = null;

        if (m_distributionManager.BoughtVehicles != null && m_distributionManager.BoughtVehicles.Count > 0)
        {
            foundVehicle = m_distributionManager.BoughtVehicles.FirstOrDefault(x => x.VehicleIndex == index);
        }

        if (foundVehicle != null)
        {
            entry.name = foundVehicle.Name;
        }

        BoughtVehiclesUserControl uc = entry.GetComponent <BoughtVehiclesUserControl>();

        uc.DataContext = foundVehicle;

        uc.IsBought          = foundVehicle != null;
        uc.VehicleName       = foundVehicle != null ? foundVehicle.Name : "?";
        uc.IconSprite        = null;
        uc.SellRatePerMinute = foundVehicle != null?foundVehicle.BaseSellRate.ToString() : "0.0";

        uc.OnHireButtonClicked += OnHireNewVehicleBtnClicked;
        uc.OnUpgradeBtnClicked += OnUpgradeBtnClicked;

        m_boughtVehiclesUCs.Add(uc);
    }
Example #2
0
    private void OnHireSelectedVehicle(ISellVehicle vehicle)
    {
        //Finished selecting which vehicle to buy
        m_buyCanvas.GetComponent <BuyVehiclesUIController>().OnSelectVehicleToHire -= OnHireSelectedVehicle;

        m_distributionManager.BuyVehicle(vehicle);
        UpdateList(m_distributionManager.VehicleLimit);
    }
Example #3
0
    private void OnBuyVehicle(ISellVehicle vehicle)
    {
        if (OnSelectVehicleToHire != null)
        {
            OnSelectVehicleToHire.Invoke(vehicle);
        }

        OnSetUI(false);
    }
Example #4
0
    public void BuyVehicle(ISellVehicle sellVehicle)
    {
        if (BoughtVehicles == null)
        {
            Debug.Log("Unable to add sell vehicle. BoughtVehicles is null");
            return;
        }

        BoughtVehicles.Add(sellVehicle);
    }
Example #5
0
    protected override void EntryAdded(GameObject entry, int index)
    {
        ISellVehicle vehicle = m_allVehicles.FirstOrDefault(x => x.VehicleIndex == index);

        BuyVehicleUserControl uc = entry.GetComponent <BuyVehicleUserControl>();

        uc.DataContext = vehicle;

        uc.VehicleName       = vehicle.Name;
        uc.SellRatePerMinute = vehicle.BaseSellRate.ToString();
        uc.IconSprite        = null;

        uc.OnBuyVehicle += OnBuyVehicle;

        m_buyControls.Add(uc);
    }
Example #6
0
    IEnumerator SpawnVehicles()
    {
        while (true)
        {
            if (m_spawnedVehicles.Count == 0 && m_distributionManager.BoughtVehicles != null)
            {
                int randIndex = Random.Range(0, m_distributionManager.BoughtVehicles.Count - 1);
                //Only spawn if index isn't on cooldown
                if (!m_cooldownIndexes.Contains(randIndex))
                {
                    ISellVehicle vehicle = m_distributionManager.BoughtVehicles.ElementAt(randIndex);
                    SpawnVehicle(vehicle);
                    m_cooldownIndexes.Add(vehicle.VehicleIndex);
                }
            }

            yield return(new WaitForSeconds(VEHICLE_UPDATE_SECONDS));
        }
    }
Example #7
0
    public void SpawnVehicle(ISellVehicle vehicle)
    {
        GameObject foundPrefab = m_vehiclePrefabs.FirstOrDefault(x => x.name == vehicle.Name);

        if (foundPrefab == null)
        {
            return;
        }

        GameObject        spawnedVehicle    = Instantiate(foundPrefab, m_movingVehiclesParent.transform);
        VehicleController vehicleController = spawnedVehicle.GetComponent <VehicleController>();

        vehicleController.SetStop(m_stopPosition.position);
        vehicleController.SetEnd(m_endPosition.position);
        vehicleController.Info = vehicle;
        vehicleController.OnVehicleFinished += OnVehicleFinished;

        m_spawnedVehicles.Add(spawnedVehicle);
    }
Example #8
0
 private void OnHireNewVehicleBtnClicked(ISellVehicle vehicle)
 {
     //Hire new vehicle to show UI
     m_buyCanvas.GetComponent <BuyVehiclesUIController>().OnSelectVehicleToHire += OnHireSelectedVehicle;
     m_buyCanvas.gameObject.SetActive(true);
 }
Example #9
0
 private void OnUpgradeBtnClicked(ISellVehicle upgradeVehicle)
 {
     m_buyCanvas.gameObject.SetActive(true);
 }