예제 #1
0
    public void Notify(UIRequest request, UIRequestMode mode, params object[] parameters)
    {
        if (request == UIRequest.NbMenus || menus[(int)request] == null)
        {
#if UNITY_EDITOR
            if (request == UIRequest.NbMenus)
            {
                Debug.Log("request == UIRequest.NbMenus");
            }
            else
            {
                Debug.Log("menus[" + request.ToString() + "] == null");
            }
#endif
            return;
        }
        UseMenu(request, mode, parameters);
    }
예제 #2
0
    private void UseMenu(UIRequest request, UIRequestMode mode, params object[] parameters)
    {
        Menu menu = menus[(int)request];

        switch (mode)
        {
        case UIRequestMode.Show:
            menu.gameObject.SetActive(true);
            menu.OnShow(parameters);
            break;

        case UIRequestMode.Hide:
            menu.OnHide(parameters);
            menu.gameObject.SetActive(false);
            break;

        case UIRequestMode.Toggle:
            if (menu.gameObject.activeSelf)
            {
                goto case UIRequestMode.Hide;
            }
            else
            {
                goto case UIRequestMode.Show;
            }

        case UIRequestMode.Update:
            menu.UpdateDisplay();
            break;

        default:
#if UNITY_EDITOR
            Debug.Log("invalid enum value");
#endif
            break;
        }
    }
예제 #3
0
 private void OnNotification(UIRequest request, UIRequestMode mode, params object[] parameters)
 {
     Notify(request, mode, parameters);
 }