//------------------------------------------------------------------------------------------------------------------ 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!"); } }
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); }
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); } }
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); }