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); }
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); }
private void OnBuyVehicle(ISellVehicle vehicle) { if (OnSelectVehicleToHire != null) { OnSelectVehicleToHire.Invoke(vehicle); } OnSetUI(false); }
public void BuyVehicle(ISellVehicle sellVehicle) { if (BoughtVehicles == null) { Debug.Log("Unable to add sell vehicle. BoughtVehicles is null"); return; } BoughtVehicles.Add(sellVehicle); }
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); }
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)); } }
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); }
private void OnHireNewVehicleBtnClicked(ISellVehicle vehicle) { //Hire new vehicle to show UI m_buyCanvas.GetComponent <BuyVehiclesUIController>().OnSelectVehicleToHire += OnHireSelectedVehicle; m_buyCanvas.gameObject.SetActive(true); }
private void OnUpgradeBtnClicked(ISellVehicle upgradeVehicle) { m_buyCanvas.gameObject.SetActive(true); }