void SendEvents(Management.Hospital.Core.DepartmentType departmentType, int level) { System.Collections.Generic.Dictionary <string, object> analyticsData = new Dictionary <string, object>(); analyticsData["Department"] = departmentType.ToString(); analyticsData["Department_Level"] = level.ToString(); Management.Services.AnalyticsManager.Instance.CustomEvent(Management.Services.EventStrings.DEPARTMENT_UPGRADE, analyticsData); }
/// <summary> /// Gets the Path towards hospital main exit door /// </summary> /// <param name="currentNearestDepartment"></param> /// <returns></returns> public List <Vector3> GetPathTowardsExitDoor(Management.Hospital.Core.DepartmentType currentNearestDepartment) { Transform entryDoor = GetDepartmentMainDoorTransform(currentNearestDepartment); List <Vector3> path = getWaypointsInVector3List(entryDoor, startPointNearConsulation); path.AddRange(getWaypointsInVector3List(searchPointForExitDoor, hospitalExitGate)); return(path); }
/// <summary> /// Analyze the condition and returns the result /// </summary> /// <param name="conditionLineStr"></param> /// <returns></returns> bool AnalyzeSingleLineConditionResult(string conditionLineStr, List <Department> departments) { string[] decodedCondition = DecodeTheCondition(Condition); bool isTrue = decodedCondition[1].ToUpper() == "TRUE"; Management.Hospital.Core.DepartmentType departmentType = (Management.Hospital.Core.DepartmentType)System.Enum.Parse(typeof(Management.Hospital.Core.DepartmentType), decodedCondition[0]); Department department = departments.Find(obj => obj.DepartmentType == departmentType); return(department.IsUnlocked == isTrue); }
/* public enum Result * { * HIDE = 0, * UNHIDE * } */ /*[Tooltip("1. EYE_SPECILIST=true" + "2.EYE_SPECILIST = true & EYE_SPECILIST = true & EYE_SPECILIST = true" + "3.EYE_SPECILIST = true | EYE_SPECILIST = true | EYE_SPECILIST = true" + "4.EYE_SPECILIST = true & (EYE_SPECILIST = true | EYE_SPECILIST = true)" + "5.EYE_SPECILIST = true & (EYE_SPECILIST = true & EYE_SPECILIST = true) & (EYE_SPECILIST = true & EYE_SPECILIST = false)")]*/ //[SerializeField] string condition; //public string Condition { get => condition; } //[SerializeField] Result result; //public Result PResult { get => result; } /// <summary> /// Analyzes and update the object based on the condition and result /// </summary> /// <param name="departments"></param> public void AnalyzeConditionAndUpdateResult(List <Department> departments) { /*int assignerIndex = condition.IndexOf("="); * string conditionStr = Condition.Substring(0, assignerIndex); * string resultStr = Condition.Substring(assignerIndex + 1, Condition.Length - assignerIndex - 1);*/ string[] decodedCondition = DecodeTheCondition(Condition); bool isTrue = decodedCondition[1].ToUpper() == "TRUE"; Management.Hospital.Core.DepartmentType departmentType = (Management.Hospital.Core.DepartmentType)System.Enum.Parse(typeof(Management.Hospital.Core.DepartmentType), decodedCondition[0]); Department department = departments.Find(obj => obj.DepartmentType == departmentType); if (department.IsUnlocked == isTrue) { gameObject.SetActive(result == Result.UNHIDE); } }
void CbOnDepartmentBuyClicked(Management.Hospital.Core.DepartmentType departmentType) { currUnlockingDepartment = departmentType; uiHolder.StateController.HospitalManager.UnlockNewDepartment(departmentType, CbUnlockeFuncCallback); decimal departmentUnlockCost = adminDepartmentScriptable.DepartmentDataList.Find(obj => obj.departmentType == departmentType).buyValue; uiHolder.StateController.GameManager.MasterLoader.PlayerScoreModel.DeductCash(departmentUnlockCost); uiHolder.ReloadPlayerScoreInHeaderUI(); for (int i = 0; i < uiAdminDepartmentsList.Count; i++) { if (!uiAdminDepartmentsList[i].IsAlreadyPurchased) { uiAdminDepartmentsList[i].UpdateBuyButton(); } } }
/// <summary> /// Gets the path towards department /// </summary> /// <param name="departmentType"></param> /// <returns></returns> public List <Vector3> GetPath(Management.Hospital.Core.DepartmentType departmentType, bool scatter = true) { Transform entryDoor = GetDepartmentMainDoorTransform(departmentType); return(getWaypointsInVector3List(startPointNearConsulation, entryDoor, scatter)); }
/// <summary> /// Gets the transform of department main door /// </summary> /// <param name="departmentType"></param> /// <returns></returns> private Transform GetDepartmentMainDoorTransform(Management.Hospital.Core.DepartmentType departmentType) { return(departmentMainDoorList.Find(obj => obj.departmentType == departmentType).mainDoorEntryPoint); }