예제 #1
0
    GameObject Load(eTooltipMode mode)
    {
        GameObject result = null;

        string classname = string.Format("Tooltip{0}", mode.ToString());
        string path      = string.Format("Prefab/Tooltip/{0}", classname);

        UnityEngine.Object loadPrefab = Resources.Load(path, typeof(GameObject));
        if (loadPrefab != null)
        {
            result = (Instantiate(loadPrefab) as GameObject);
            result.transform.parent        = contents.transform;
            result.transform.localPosition = Vector3.zero;
            result.transform.localScale    = Vector3.one;

            result.SetActive(false);
            return(result);
        }
        else
        {
            Debug.LogWarning("Resources.Load() failed. " + path);
        }

        return(result);
    }
예제 #2
0
 public void CloseTooltip(eTooltipMode mode)
 {
     foreach (TooltipBase tooltip in contents.GetComponentsInChildren <TooltipBase>())
     {
         if (tooltip.Mode == mode)
         {
             tooltip.OnFinished();
         }
     }
 }
예제 #3
0
 public bool IsShow(eTooltipMode mode)
 {
     foreach (TooltipBase tooltip in contents.GetComponentsInChildren <TooltipBase>())
     {
         if (tooltip.Mode == mode)
         {
             return(true);
         }
     }
     return(false);
 }
예제 #4
0
    public void ShowTooltip(eTooltipMode mode, params object[] objs)
    {
        TooltipBase tooltip = Load(mode).GetComponent <TooltipBase>();

        tooltip.Init(objs);
        switch (mode)
        {
        case eTooltipMode.Message:
        case eTooltipMode.IconMessage:
            var find_tooltip = tooltips.Find(e => e.Compare(tooltip));
            if (find_tooltip != null && tooltips[0] == find_tooltip)
            {
                tooltip.OnFinishedCallback = OnFinishedCallback;
                tooltips.Insert(0, tooltip);
                find_tooltip.OnFinished();
            }
            else
            {
                tooltip.OnFinishedCallback = OnFinishedCallback;
                if (tooltips.Count == 0)
                {
                    tooltip.Play();
                }

                tooltips.Add(tooltip);
            }

            break;

        case eTooltipMode.MissionProgress:

            tooltip.OnFinishedCallback = OnFinishedCallbackForMission;
            mission_tooltips.Add(tooltip);
            if (mission_tooltips.Count == 1)
            {
                tooltip.Play();
            }
            break;

        default:
            tooltip.Play();
            break;
        }
    }