/// <summary> /// Sets the Employee for the UI /// </summary> /// <param name="_empData">EmployeeData of the Emp</param> /// <param name="buttonAction">The Action to be performed when the Button is clicked</param> public virtual void SetEmp(EmployeeData _empData, UnityAction buttonAction) { this.employeeData = _empData; factory = new EmployeeFactory(); GenerateSkillGui(); if (employeeData.generatedData != null) { empImage.material = factory.GenerateMaterialForEmployee(employeeData.generatedData, true); empName.text = employeeData.generatedData.name; } else { empName.text = employeeData.EmployeeDefinition.EmployeeName; } foreach (var special in employeeData.GetSpecials()) { addSpecial(special); } button.onClick.AddListener(buttonAction); //EmployeeName, specials and Salary are not going to change, so they can be set once. salaryTime.text = "a Week"; salary.text = $"{employeeData.Salary} $"; specialsChangedAction = onSpecialsChanged; _empData.SpecialsChanged.AddListener(specialsChangedAction); }
public void GenerateColorForEmployeeTest() { var emp = GenerateMockedEmployee(); Material mat = factory.GenerateMaterialForEmployee(emp); var tex = mat.GetTexture("_SwapTex") as Texture2D; Assert.AreEqual((Color)emp.eyeColor, tex.GetPixel((int)EmployeeFactory.SwapIndex.eyes, 0)); Assert.AreEqual((Color)emp.hairColor, tex.GetPixel((int)EmployeeFactory.SwapIndex.hair, 0)); Assert.AreEqual((Color)emp.shirtColor, tex.GetPixel((int)EmployeeFactory.SwapIndex.shirt, 0)); Assert.AreEqual((Color)emp.shoeColor, tex.GetPixel((int)EmployeeFactory.SwapIndex.shoes, 0)); Assert.AreEqual((Color)emp.shortsColor, tex.GetPixel((int)EmployeeFactory.SwapIndex.shorts, 0)); Assert.AreEqual((Color)emp.skinColor, tex.GetPixel((int)EmployeeFactory.SwapIndex.skin, 0)); }