Пример #1
0
        //////////////////////////////////////////////////////////////////////////////

        #region MONO

        // 开始加载
        void Start()
        {
            //获取模型数据
            string assetPath = "GameModelData/GameModelData.asset";

            //assetPath = UtilTools.PathCheck(assetPath);
            _pAllModelData = AssetManager.getInstance().loadAsset <GameModelDataHolder>(assetPath);
        }
Пример #2
0
        public static void excute()
        {
            //创建实例
            GameModelDataHolder go = ScriptableObject.CreateInstance <GameModelDataHolder>();

            ModelDataProcess.excute();

            ModelDic dictModelData = ModelDataProcess._dicModelData;

            foreach (KeyValuePair <string, ModelData> kvp in dictModelData)
            {
                GameModelData pData = new GameModelData();
                pData._strAssetName          = kvp.Value._strAssetName;
                pData._strAnimationAssetName = kvp.Value._strAnimationAssetName;
                pData._strModelName          = kvp.Value._strModelName;
                pData._listAnimEvents        = kvp.Value._listAnimEvents;
                pData._listModelBps          = kvp.Value._listModelBps;
                pData._listAnimations        = kvp.Value._listAnimations;
                pData.nColliderType          = kvp.Value._nColliderType;
                pData.nColliderParams        = kvp.Value._nColliderParams;
                pData.colliderCenter         = kvp.Value._nColliderCenter;

                Debug.Log(kvp.Key);

                go._listGameModel.Add(pData);
            }

            //生成asset
            string p = "Assets/Resources/GameModelData/GameModelData.asset";

            AssetDatabase.CreateAsset(go, p);

            string assetbundle_path = GameDataAssetbundlePath + IPath.getPlatformName() + "/modelsassetbundles";

            //创建路径
            if (!Directory.Exists(assetbundle_path))
            {
                Directory.CreateDirectory(assetbundle_path);
            }

            //打包
            UnityEngine.Object o = AssetDatabase.LoadAssetAtPath(p, typeof(GameModelDataHolder));
            BuildPipeline.BuildAssetBundle(o, null, assetbundle_path + "/gamemodeldata.assetbundle", EditorVariables.eBuildABOpt, EditorVariables.eBuildTarget);

            //删除临时的asset
            //AssetDatabase.DeleteAsset(p);
        }
Пример #3
0
 public void LoadFinishedCallback(bool manual, TaskBase currentTask)
 {
     _pAllModelData = (GameModelDataHolder)((AssetBundleLoadTask)currentTask).getTargetAsset();
 }