예제 #1
0
    public static void LOAD_LAYOUT_ASYNC(LAYOUT_TYPE type, int renderOrder, LayoutAsyncDone callback)
    {
        CommandLayoutManagerLoadLayout cmd = mCommandSystem.newCmd <CommandLayoutManagerLoadLayout>(true, false);

        cmd.mLayoutType  = type;
        cmd.mRenderOrder = renderOrder;
        cmd.mAsync       = true;
        cmd.mCallback    = callback;
        mCommandSystem.pushCommand(cmd, mLayoutManager);
    }
예제 #2
0
 public override void init()
 {
     base.init();
     mLayoutType   = LAYOUT_TYPE.LT_MAX;
     mVisible      = true;
     mResultLayout = null;
     mRenderOrder  = 0;
     mAsync        = false;
     mCallback     = null;
     mParam        = "";
 }
예제 #3
0
    public static void LOAD_UGUI_ASYNC(LAYOUT_TYPE type, int renderOrder, LayoutAsyncDone callback)
    {
        CommandLayoutManagerLoadLayout cmd = newCmd(out cmd, true, false);

        cmd.mLayoutType  = type;
        cmd.mRenderOrder = renderOrder;
        cmd.mAsync       = true;
        cmd.mCallback    = callback;
        cmd.mIsNGUI      = false;
        pushCommand(cmd, mLayoutManager);
    }
예제 #4
0
    public GameLayout createLayout(LAYOUT_TYPE type, int renderOrder, bool async, LayoutAsyncDone callback, bool isNGUI, bool isScene)
    {
        if (mLayoutTypeList.ContainsKey(type))
        {
            if (async && callback != null)
            {
                callback(mLayoutTypeList[type]);
                return(null);
            }
            else
            {
                return(mLayoutTypeList[type]);
            }
        }
        string     name         = getLayoutNameByType(type);
        string     path         = isNGUI ? CommonDefine.R_NGUI_PREFAB_PATH : CommonDefine.R_UGUI_PREFAB_PATH;
        GameObject layoutParent = isNGUI ? getNGUIRootObject() : getUGUIRootObject();

        if (isScene)
        {
            layoutParent = null;
        }
        // 如果是异步加载则,则先加入列表中
        if (async)
        {
            LayoutAsyncInfo info = new LayoutAsyncInfo();
            info.mName         = name;
            info.mType         = type;
            info.mRenderOrder  = renderOrder;
            info.mLayout       = null;
            info.mLayoutObject = null;
            info.mIsNGUI       = isNGUI;
            info.mIsScene      = isScene;
            info.mCallback     = callback;
            mLayoutAsyncList.Add(info.mName, info);
            bool ret = mResourceManager.loadResourceAsync <GameObject>(path + name, onLayoutPrefabAsyncDone, null, true);
            if (!ret)
            {
                logError("can not find layout : " + name);
            }
            return(null);
        }
        else
        {
            UnityUtility.instantiatePrefab(layoutParent, path + name);
            GameLayout layout = new GameLayout();
            addLayoutToList(layout, name, type);
            layout.init(type, name, renderOrder, isNGUI, isScene);
            return(layout);
        }
    }
예제 #5
0
 public override void init()
 {
     base.init();
     mLayoutType      = LAYOUT_TYPE.LT_MAX;
     mVisible         = true;
     mResultLayout    = null;
     mRenderOrder     = 0;
     mAsync           = false;
     mCallback        = null;
     mParam           = "";
     mImmediatelyShow = false;
     mIsNGUI          = true;
     mIsScene         = false;
 }
 public override void resetProperty()
 {
     base.resetProperty();
     mCallback        = null;
     mResultLayout    = null;
     mLayoutID        = LAYOUT.NONE;
     mOrderType       = LAYOUT_ORDER.ALWAYS_TOP;
     mParam           = null;
     mVisible         = true;
     mAsync           = false;
     mImmediatelyShow = false;
     mIsScene         = false;
     mAlwaysTop       = false;
     mRenderOrder     = 0;
 }
예제 #7
0
 //--------------------------------------------------------------------------------------------------------------------------------------------
 // 布局
 #region 布局
 public static void LOAD_LAYOUT(int id, int renderOrder, LAYOUT_ORDER orderType, bool visible, bool immediately, string param, bool isScene, bool isAsync, LayoutAsyncDone callback)
 {
     CMD(out CommandLayoutManagerLoad cmd, true, false);
     cmd.mLayoutID        = id;
     cmd.mVisible         = visible;
     cmd.mRenderOrder     = renderOrder;
     cmd.mOrderType       = orderType;
     cmd.mAsync           = isAsync;
     cmd.mImmediatelyShow = immediately;
     cmd.mParam           = param;
     cmd.mIsScene         = isScene;
     cmd.mCallback        = callback;
     pushCommand(cmd, mLayoutManager);
 }
예제 #8
0
 public static void LOAD_UGUI_ASYNC(int id, int renderOrder, LAYOUT_ORDER orderType, LayoutAsyncDone callback)
 {
     LOAD_LAYOUT(id, renderOrder, orderType, true, false, null, false, true, callback);
 }