// Start is called before the first frame update void Awake() { CallEmployeeValue = GameObject.Find("CompanyManager").GetComponent <CompanyManager>().GetPlayerCompanyValue().GetEmployeeValue().GetComponent <EmployeeValue>(); WorkerImageObject = InfoPanel.transform.GetChild(1).GetChild(0).gameObject; NameTextObject = InfoPanel.transform.GetChild(3).GetChild(0).GetChild(1).gameObject; AgeTextObject = InfoPanel.transform.GetChild(3).GetChild(1).GetChild(1).gameObject; PayTextObject = InfoPanel.transform.GetChild(3).GetChild(2).GetChild(1).gameObject; AbilityTextObject = InfoPanel.transform.GetChild(3).GetChild(3).GetChild(1).GetChild(1).gameObject; FatigueGraphBar = FatiguePanel.transform.GetChild(1).GetChild(1).GetChild(0).gameObject; ExperienceGraphBar = ExperiencePanel.transform.GetChild(1).GetChild(1).GetChild(0).gameObject; PromoteButton = FunctionButtonPanel.transform.GetChild(1).GetChild(0).gameObject; FireButton = FunctionButtonPanel.transform.GetChild(3).GetChild(0).gameObject; }
void Awake() { CallTimeManager = GameObject.Find("TimeManager").GetComponent <TimeManager>(); CallCompanyManager = GameObject.Find("CompanyManager").GetComponent <CompanyManager>(); CallCompanyValue = CallCompanyManager.GetPlayerCompanyValue(); CallElectricityValue = CallCompanyValue.GetElectricityValue().GetComponent <ElectricityValue>(); CallEmployeeValue = CallCompanyValue.GetEmployeeValue().GetComponent <EmployeeValue>(); CallGoodsValue = CallCompanyValue.GetGoodsValue().GetComponent <GoodsValue>(); CallFacilityValue = CallCompanyValue.GetFacilityValue().GetComponent <FacilityValue>(); ElectricityGraphPanelCarrier = GraphCarrier.transform.GetChild(0).gameObject; LaborForceGraphPanelCarrier = GraphCarrier.transform.GetChild(2).gameObject; ProcessGraphPanelCarrier = GraphCarrier.transform.GetChild(4).gameObject; ProcessGraphIndexPanel = ProcessGraphIndexCarrier.transform.parent.gameObject; }
// Start is called before the first frame update void Start() { ObjectActCall = gameObject.GetComponent <InstallableObjectAct>(); CompanyValueCall = GameObject.Find("CompanyManager").GetComponent <CompanyManager>().GetPlayerCompanyValue(); EmployeeValueCall = CompanyValueCall.GetEmployeeValue().GetComponent <EmployeeValue>(); }
void SelectCompany() { List <Worker> TargetWorker = new List <Worker>(); foreach (var worker in UnHiredList) { List <GameObject> SelectedCompany = new List <GameObject>(); foreach (var company in CompanyManagerCall.GetAllCompanyObject()) { CompanyValue TempCompanyValueCall = company.GetComponent <CompanyValue>(); if (TempCompanyValueCall.TotalValue >= worker.ExpectCompanyValue && TempCompanyValueCall.TotalValue != 0) { foreach (var CompanyName in worker.LeaveFactoryList) { if (TempCompanyValueCall.CompanyName == CompanyName) { continue; } } SelectedCompany.Add(company); } } if (SelectedCompany.Count > 0) { CompanyValue CompanyValueCall = SelectedCompany[Random.Range(0, SelectedCompany.Count - 1)].GetComponent <CompanyValue>(); EmployeeValue EmployeeValueCall = CompanyValueCall.GetEmployeeValue().GetComponent <EmployeeValue>(); int HiringRate = 2; if (EmployeeValueCall.RequiredLabor <= EmployeeValueCall.TotalLabor) { HiringRate *= 10 * Mathf.CeilToInt(EmployeeValueCall.TotalLabor - EmployeeValueCall.RequiredLabor + 1); } if (CompanyValueCall.TotalValue > worker.ExpectCompanyValue) { HiringRate *= 1 * Mathf.CeilToInt(CompanyValueCall.TotalValue / worker.ExpectCompanyValue); } if (CompanyValueCall.TotalValue <= worker.ExpectCompanyValue) { HiringRate *= 4 * Mathf.CeilToInt(worker.ExpectCompanyValue / CompanyValueCall.TotalValue); } if (Random.Range(0, HiringRate) == 0) { EmployeeValueCall.HireEmployee(worker); TargetWorker.Add(worker); // Debug.Log(worker.Name + " is Hired on " + CompanyValueCall.CompanyName); } // else Debug.Log(worker.Name + " doesnt go anywhere"); } if (--worker.TrialCount < 0) { TargetWorker.Add(worker); } else { worker.ExpectCompanyValue -= 0.5f; } } for (int i = 0; i < TargetWorker.Count; i++) { UnHiredList.Remove(TargetWorker[i]); } }