예제 #1
0
 public override void UpdateAfterCamera()
 {
     base.UpdateAfterCamera();
     if (!CameraManager.Get().m_MainCamera || !base.enabled)
     {
         return;
     }
     for (int i = 0; i < this.m_Datas.Count; i++)
     {
         ProcessIconData processIconData = this.m_Datas[i];
         if (!processIconData.trigger)
         {
             processIconData.obj.SetActive(false);
         }
         else
         {
             processIconData.obj.transform.position = CameraManager.Get().m_MainCamera.WorldToScreenPoint(processIconData.trigger.GetIconPos());
             if (processIconData.obj.transform.position.z <= 0f || (!processIconData.allow_enabled && processIconData.trigger.enabled))
             {
                 processIconData.obj.SetActive(false);
             }
             else
             {
                 processIconData.obj.SetActive(true);
                 float b = Vector3.Distance(processIconData.trigger.transform.position, Player.Get().transform.position);
                 float proportionalClamp = CJTools.Math.GetProportionalClamp(0f, 1f, b, HUDProcess.s_DistToActivate, HUDProcess.s_DistToActivate * 0.5f);
                 processIconData.canvas_group.alpha  = proportionalClamp;
                 processIconData.progress.fillAmount = processIconData.processor.GetProcessProgress(processIconData.trigger);
             }
         }
     }
 }
예제 #2
0
 public void SetIcon(IProcessor processor, string icon_name)
 {
     for (int i = 0; i < this.m_Datas.Count; i++)
     {
         if (this.m_Datas[i].processor == processor)
         {
             ProcessIconData processIconData = this.m_Datas[i];
             Sprite          sprite          = null;
             ItemsManager.Get().m_ItemIconsSprites.TryGetValue((!icon_name.Empty()) ? icon_name : "Default_Pickup", out sprite);
             processIconData.icon.sprite = sprite;
         }
     }
 }
예제 #3
0
    public void RegisterProcess(Trigger trigger, string icon_name, IProcessor processor, bool allow_enabled = false)
    {
        ProcessIconData processIconData = new ProcessIconData();

        processIconData.obj          = UnityEngine.Object.Instantiate <GameObject>(this.m_IconPrefab, base.transform);
        processIconData.trigger      = trigger;
        processIconData.icon_name    = icon_name;
        processIconData.canvas_group = processIconData.obj.GetComponent <CanvasGroup>();
        processIconData.icon         = processIconData.obj.transform.Find("Icon").gameObject.GetComponent <Image>();
        Sprite sprite = null;

        ItemsManager.Get().m_ItemIconsSprites.TryGetValue((!icon_name.Empty()) ? icon_name : "Default_Pickup", out sprite);
        processIconData.icon.sprite   = sprite;
        processIconData.allow_enabled = allow_enabled;
        processIconData.processor     = processor;
        processIconData.progress      = processIconData.obj.transform.Find("Progress").gameObject.GetComponent <Image>();
        this.m_Datas.Add(processIconData);
    }