Beispiel #1
0
    //------------------------------------------------------------------------------------------------------------------
    protected void onKeyFrameLoaded(UnityEngine.Object res, byte[] bytes, object userData)
    {
        GameObject keyFrameObject = UnityUtility.instantiatePrefab(mManagerObject, res as GameObject);
        // 查找关键帧曲线,加入列表中
        TweenScale tweenScale = keyFrameObject.GetComponent <TweenScale>();

        if (tweenScale == null)
        {
            logError("object in KeyFrame folder must has TweenScale!");
            return;
        }
        AnimationCurve animCurve = tweenScale.animationCurve;

        if (animCurve != null)
        {
            Curve curve = new Curve();
            curve.mObject = keyFrameObject;
            curve.mCurve  = animCurve;
            mCurveList[res.name.ToLower()] = curve;
            ++mLoadedCount;
        }
        else
        {
            logError("object in KeyFrame folder must has TweenScale and AnimationCurve!");
        }
    }
Beispiel #2
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);
        }
    }
 public GameObject instantiate(string prefabName, GameObject parent, string objectName)
 {
     prefabName = prefabName.ToLower();
     if (mPrefabList.ContainsKey(prefabName))
     {
         if (objectName == "")
         {
             UnityUtility.logError("instantiate object's name can not be empty!");
             return(null);
         }
         return(UnityUtility.instantiatePrefab(parent, mPrefabList[prefabName], objectName, Vector3.one, Vector3.zero, Vector3.zero));
     }
     return(null);
 }
Beispiel #4
0
    protected void onLayoutPrefabAsyncDone(UnityEngine.Object res, byte[] bytes, object userData)
    {
        LayoutAsyncInfo info = mLayoutAsyncList[res.name];

        mLayoutAsyncList.Remove(res.name);
        info.mLayoutObject = UnityUtility.instantiatePrefab(null, (GameObject)res);
        info.mLayout       = new GameLayout();
        addLayoutToList(info.mLayout, info.mName, info.mType);
        GameObject layoutParent = info.mIsNGUI ? mNGUIRoot.mObject : mUGUIRoot.mObject;

        UnityUtility.setNormalProperty(ref info.mLayoutObject, layoutParent, info.mName, Vector3.one, Vector3.zero, Vector3.zero);
        info.mLayout.init(info.mType, info.mName, info.mRenderOrder, info.mIsNGUI);
        if (info.mCallback != null)
        {
            info.mCallback(info.mLayout);
        }
    }
Beispiel #5
0
    public GameObject createObject(string fileWithPath)
    {
        ObjectInfo obj = getUnusedObject(fileWithPath);

        if (obj == null)
        {
            obj = new ObjectInfo();
            GameObject prefab = getPrefab(fileWithPath);
            if (prefab == null)
            {
                logError("can not find prefab : " + fileWithPath);
                return(null);
            }
            obj.mObject       = UnityUtility.instantiatePrefab(null, prefab);
            obj.mObject.name  = "object";
            obj.mFileWithPath = fileWithPath;
            addObject(obj);
        }
        obj.setUsing(true);
        return(obj.mObject);
    }