public void ShowIcon(float zoom) { if (forceHided) { return; } if (iconInstance) { iconInstance.Show(showRange); if (iconInstance.iconRange) { if (showRange) { if (iconInstance.iconRange) { if (iconInstance.iconRange.Color != rangeColor) { iconInstance.iconRange.Color = rangeColor; } iconInstance.iconRange.rectTransform.sizeDelta = new Vector2(rangeSize * 2, rangeSize * 2) * zoom; } } else { ZetanUtility.SetActive(iconInstance.iconRange.gameObject, false); } } } }
void Update() { if (questHolder) { Vector3 viewportPoint = Camera.main.WorldToViewportPoint(questHolder.transform.position + questHolder.questFlagOffset); float sqrDistance = Vector3.SqrMagnitude(Camera.main.transform.position - questHolder.transform.position); if (viewportPoint.z <= 0 || viewportPoint.x > 1 || viewportPoint.x < 0 || viewportPoint.y > 1 || viewportPoint.y < 0 || !questHolder.isActiveAndEnabled || questHolder.QuestInstances.Count < 1 && !hasObjective || sqrDistance > 900f) { if (icon.enabled) { icon.enabled = false; } if (!questHolder.isActiveAndEnabled || questHolder.QuestInstances.Count < 1 && !hasObjective) { mapIcon.Hide(); } } else if (questHolder.isActiveAndEnabled && (questHolder.QuestInstances.Count > 0 || hasObjective)) { if (!icon.enabled) { icon.enabled = true; } Vector2 position = new Vector2(Screen.width * viewportPoint.x, Screen.height * viewportPoint.y); iconRectTransform.position = position; if (sqrDistance > 625 && sqrDistance <= 900) { float percent = (900 - sqrDistance) / 275; canvasGroup.alpha = percent; iconRectTransform.localScale = new Vector3(percent, percent, 1); } else { canvasGroup.alpha = 1; iconRectTransform.localScale = Vector3.one; } } if (questHolder.isActiveAndEnabled && (questHolder.QuestInstances.Count > 0 || hasObjective)) { mapIcon.Show(false); } else { mapIcon.Hide(); } } }
void Update() { if (questHolder) { CheckDistance(); if (questHolder.isActiveAndEnabled && conditionShow) { mapIcon.UpdatePosition(questHolder.transform.position); mapIcon.Show(); } else { mapIcon.Hide(); } } }