Пример #1
0
 public void AddObjective(GameObject obj, string text)
 {
     if (!obj || this.m_Objectives.ContainsKey(obj))
     {
         return;
     }
     HUDObjective3D.Objective objective = default(HUDObjective3D.Objective);
     objective.icon      = UnityEngine.Object.Instantiate <GameObject>(this.m_IconPrefab, base.transform).GetComponent <RawImage>();
     objective.text      = objective.icon.transform.Find("Name").GetComponent <Text>();
     objective.text.text = GreenHellGame.Instance.GetLocalization().Get(text, true);
     objective.dist      = objective.icon.transform.Find("Dist").GetComponent <Text>();
     this.m_Objectives.Add(obj, objective);
     this.m_ShowObjectives = true;
 }
Пример #2
0
 public override void UpdateAfterCamera()
 {
     base.UpdateAfterCamera();
     if (CameraManager.Get().m_MainCamera == null)
     {
         foreach (GameObject key in this.m_Objectives.Keys)
         {
             HUDObjective3D.Objective objective = this.m_Objectives[key];
             objective.dist.gameObject.SetActive(false);
             objective.icon.gameObject.SetActive(false);
             objective.text.gameObject.SetActive(false);
         }
         return;
     }
     foreach (GameObject gameObject in this.m_Objectives.Keys)
     {
         HUDObjective3D.Objective objective2 = this.m_Objectives[gameObject];
         Vector3 vector = CameraManager.Get().m_MainCamera.WorldToViewportPoint(gameObject.transform.position);
         vector = CameraManager.Get().m_MainCamera.ViewportToScreenPoint(vector);
         if (vector.z <= 0f)
         {
             objective2.icon.gameObject.SetActive(false);
         }
         else
         {
             objective2.icon.gameObject.SetActive(true);
             objective2.icon.transform.position = vector;
             Color color = objective2.icon.color;
             float num   = Vector3.Distance(gameObject.transform.position, Player.Get().transform.position);
             color.a = CJTools.Math.GetProportionalClamp(0.6f, 1f, num, 10f, 0f);
             objective2.icon.color = color;
             color   = objective2.text.color;
             color.a = objective2.icon.color.a;
             objective2.text.color = color;
             objective2.text.gameObject.SetActive(true);
             objective2.dist.text  = Mathf.CeilToInt(num).ToString() + "m";
             objective2.dist.color = color;
             objective2.dist.gameObject.SetActive(true);
         }
     }
 }