Beispiel #1
0
    public void OpenWindow(string uiName, params object[] args)
    {
        VUIBase uiBase = null;

        if (!UIWindows.TryGetValue(uiName, out uiBase))
        {
            uiBase = LoadWindow(uiName, args);
            return;
        }

        OnOpen(uiBase, args);
    }
Beispiel #2
0
    VUIBase LoadWindow(string uiName, params object[] args)
    {
        GameObject uiObj = Instantiate(Resources.Load <GameObject>("UI/" + uiName)) as GameObject;

        uiObj.SetActive(false);
        //uiObj.transform.parent = AnchorSide[UISettings[uiName].Side];
        uiObj.transform.parent        = UIRootCamera;
        uiObj.transform.localPosition = new Vector3(UISettings[uiName].OffsetX, UISettings[uiName].OffsetY, UISettings[uiName].OffsetZ);
        uiObj.transform.localScale    = Vector3.one;

        VUIBase uiBase = (VUIBase)uiObj.AddComponent(Type.GetType("VUI" + uiName));

        uiBase.OnInit();
        uiBase.UIName = uiName;

        UIWindows.Add(uiName, uiBase);
        OnOpen(uiBase, args);

        return(uiBase);
    }
Beispiel #3
0
 void OnOpen(VUIBase uiBase, params object[] args)
 {
     uiBase.gameObject.SetActive(true);
     uiBase.OnOpen(args);
 }