void OnGetMissionData(SendActiveMissionMessage sendActiveMissionMessage) { var missionData = sendActiveMissionMessage.MissionData; if (missionData.ClientData == null) { Debug.LogWarning("RequirementUI missionData is null"); return; } requiredStylepoints = $"/{missionData.StylePointValues.MinStylePoints.ToString()}"; requirementHeader.text = $"{missionData.ClientData.name}s requirements:"; stylePoints.text = $"0{requiredStylepoints}"; foreach (var client in clientGameObjects) { client.SetActive(client.name == missionData.ClientData.name); } clientSkin.material = missionData.ClientData.Skin; foreach (var requirement in missionData.Requirements) { var temp = Instantiate(requirementTMPTextPrefab, requirementTextParent); temp.text = requirement.ToString(); requirements.Add(requirement.ToString(), temp); } EventBroker.Instance().SubscribeMessage <RequirementUIMessage>(UpdateRequirementUI); EventBroker.Instance().SubscribeMessage <CurrentStylePointsMessage>(UpdateStylePointsUI); EventBroker.Instance().UnsubscribeMessage <SendActiveMissionMessage>(OnGetMissionData); }
void OnGetMissionData(SendActiveMissionMessage missionMessage) { if (missionMessage.MissionData.ClientData == null) { Debug.Log("No missionData"); EventBroker.Instance().UnsubscribeMessage <SendActiveMissionMessage>(OnGetMissionData); return; } wearablesOnClient = missionMessage.CurrentWearables; EventBroker.Instance().SubscribeMessage <EventClothesChanged>(OnClothingChanged); EventBroker.Instance().SubscribeMessage <RemoveAllClothes>(OnReset); EventBroker.Instance().UnsubscribeMessage <SendActiveMissionMessage>(OnGetMissionData); activeMissionData = missionMessage.MissionData; requirements = activeMissionData.Requirements.ToList(); parentGameObject.SetActive(true); Invoke(nameof(CheckRequirements), 0.1f); }