public HUDObjective AddHUDObjective(Objective obj, ref List <HUDObjective> list) { if (this.m_ObjectivesElements.Count > 0 && list == this.m_ObjectivesElements) { this.m_Queue.Add(obj); return(null); } GameObject gameObject = base.AddElement("HUDObjectiveElement"); if (gameObject != null) { gameObject.transform.SetParent(base.transform, false); HUDObjective hudobjective = new HUDObjective(); hudobjective.m_Objective = obj; hudobjective.m_HudElem = gameObject; hudobjective.m_TextComponent = gameObject.GetComponentInChildren <Text>(); hudobjective.m_TextComponent.text = GreenHellGame.Instance.GetLocalization().Get(hudobjective.m_Objective.m_TextID, true); hudobjective.m_TextComponent.transform.position = base.transform.position; hudobjective.m_BG = gameObject.transform.FindDeepChild("BG").GetComponent <RawImage>(); hudobjective.m_BG.transform.position = base.transform.position; hudobjective.m_Icon = gameObject.transform.FindDeepChild("Icon").GetComponent <RawImage>(); this.SetupTargetPosition(hudobjective); this.PlaceOutsideOfScreen(hudobjective); if (list != null) { list.Add(hudobjective); } return(hudobjective); } return(null); }
private void RemoveObjectiveElement(HUDObjective hud_obj, ref List <HUDObjective> list) { if (hud_obj == null) { return; } base.RemoveElement(hud_obj.m_HudElem); list.Remove(hud_obj); }
private void SetupTargetPosition(HUDObjective hud_obj) { float x = ((RectTransform)HUDManager.Get().m_CanvasGameObject.transform).localScale.x; Vector3 position = hud_obj.m_TextComponent.transform.position; position.x = (float)Screen.width - hud_obj.m_BG.rectTransform.sizeDelta.x * x; hud_obj.m_BGTargetPosition = position; position.x += hud_obj.m_BG.rectTransform.sizeDelta.x * x; position.x -= this.m_TextXOffset * (float)Screen.width; hud_obj.m_TextTargetPosition = position; }
public void OnObjectiveCompleted(Objective obj) { HUDObjective hud_obj = this.FindHUDObjective(obj, ref this.m_ObjectivesElements); this.RemoveObjectiveElement(hud_obj, ref this.m_ObjectivesElements); if (obj == this.m_MapObjective) { this.m_MapObjective = null; if (this.m_MapHUDObjective != null) { base.RemoveElement(this.m_MapHUDObjective.m_HudElem); this.m_MapHUDObjective = null; } } this.UpdateElements(); }
public HUDObjective AddHUDObjective(Objective obj, ref List <HUDObjective> list) { GameObject gameObject = base.AddElement("HUDObjectiveElement"); if (gameObject != null) { gameObject.transform.SetParent(base.transform, false); HUDObjective hudobjective = new HUDObjective(); hudobjective.m_Objective = obj; hudobjective.m_HudElem = gameObject; hudobjective.m_TextComponent = gameObject.GetComponentInChildren <Text>(); hudobjective.m_TextComponent.text = GreenHellGame.Instance.GetLocalization().Get(hudobjective.m_Objective.m_TextID); hudobjective.m_BG = gameObject.GetComponentInChildren <RawImage>(); this.SetupTargetPosition(hudobjective); this.PlaceOutsideOfScreen(hudobjective); if (list != null) { list.Add(hudobjective); } return(hudobjective); } return(null); }
private void UpdateElements() { if (this.m_State == HUDObjectiveState.Normal) { float num = 0f; float num2 = 0f; float num3 = 0f; if (this.m_ObjectivesElements.Count > 0) { num3 = this.m_ObjectivesElements[0].m_HudElem.transform.localPosition.y; } for (int i = 0; i < this.m_ObjectivesElements.Count; i++) { HUDObjective hudobjective = this.m_ObjectivesElements[i]; this.SetupTargetPosition(hudobjective); Vector3 zero = Vector3.zero; zero.Set(hudobjective.m_HudElem.transform.localPosition.x, num3 - num, hudobjective.m_HudElem.transform.localPosition.z); hudobjective.m_HudElem.transform.localPosition = zero; Vector3 position = hudobjective.m_BG.transform.position; position.x += (hudobjective.m_BGTargetPosition.x - hudobjective.m_BG.transform.position.x) * Time.deltaTime * 6f; hudobjective.m_BG.transform.position = position; position = hudobjective.m_TextComponent.transform.position; position.x += (hudobjective.m_TextTargetPosition.x - hudobjective.m_TextComponent.transform.position.x) * Time.deltaTime * 6f; hudobjective.m_TextComponent.transform.position = position; Vector3 localPosition = hudobjective.m_TextComponent.transform.localPosition; num += hudobjective.m_BG.rectTransform.sizeDelta.y + num2; float num4 = (this.m_ObjectiveDuration == 0f) ? 1f : Mathf.Clamp01((this.m_ObjectiveDuration - (Time.time - hudobjective.m_StartTime)) / 0.5f); Color color = hudobjective.m_TextComponent.color; color.a = (ChallengesManager.Get().IsChallengeActive() ? 1f : num4); hudobjective.m_TextComponent.color = color; color = hudobjective.m_BG.color; color.a = (ChallengesManager.Get().IsChallengeActive() ? 1f : num4); hudobjective.m_BG.color = color; Vector3 localScale = ((RectTransform)HUDManager.Get().m_CanvasGameObject.transform).localScale; color = Color.white; color.a = Mathf.Abs(Mathf.Sin((Time.time - hudobjective.m_StartTime) * 5f)); if (Time.time - hudobjective.m_StartTime > 5f) { color.a = 1f; } hudobjective.m_Icon.color = color; } int j = 0; while (j < this.m_ObjectivesElements.Count) { HUDObjective hudobjective2 = this.m_ObjectivesElements[j]; bool flag = (this.m_ObjectiveDuration > 0f) ? (Time.time > hudobjective2.m_StartTime + this.m_ObjectiveDuration) : (hudobjective2.m_Objective.GetState() == ObjectiveState.Completed); if (GreenHellGame.ROADSHOW_DEMO) { flag = (hudobjective2.m_Objective.GetState() == ObjectiveState.Completed); } else if (ChallengesManager.Get().IsChallengeActive()) { flag = false; } if (flag) { base.RemoveElement(hudobjective2.m_HudElem); this.m_ObjectivesElements.RemoveAt(j); } else { j++; } } for (int k = 0; k < this.m_ObjectivesElements.Count; k++) { this.m_ObjectivesElements[k].m_HudElem.SetActive(true); } if (this.m_MapHUDObjective != null) { this.m_MapHUDObjective.m_HudElem.SetActive(false); return; } } else if (this.m_State == HUDObjectiveState.Map) { if (this.m_MapObjective != null) { if (this.m_MapHUDObjective != null) { this.m_MapHUDObjective.m_HudElem.SetActive(true); HUDObjective mapHUDObjective = this.m_MapHUDObjective; Vector3 position2 = mapHUDObjective.m_BG.transform.position; position2.x += (mapHUDObjective.m_BGTargetPosition.x - mapHUDObjective.m_BG.transform.position.x) * Time.deltaTime * 6f; mapHUDObjective.m_BG.transform.position = position2; position2 = mapHUDObjective.m_TextComponent.transform.position; position2.x += (mapHUDObjective.m_TextTargetPosition.x - mapHUDObjective.m_TextComponent.transform.position.x) * Time.deltaTime * 6f; mapHUDObjective.m_TextComponent.transform.position = position2; } } else if (this.m_MapHUDObjective != null) { this.m_MapHUDObjective.m_HudElem.SetActive(false); } for (int l = 0; l < this.m_ObjectivesElements.Count; l++) { this.m_ObjectivesElements[l].m_HudElem.SetActive(false); } } }