bool addGameObjectAsset(AssetInfo asset, bool showGui, Logger logger)
        {
            Logger.makeValid(ref logger);
            AssetDatabase.LoadAllAssetsAtPath(asset.path);
            var mainAsset = AssetDatabase.LoadMainAssetAtPath(asset.path);
            var obj       = mainAsset as GameObject;

            if (!mainAsset || !obj)
            {
                logger.logErrorFormat("Could not load GameObject at path {0}({1})", asset.path, asset.guid);
                return(true);
            }

            var id = resourceMapper.gatherPrefabData(obj);

            if (!ExportUtility.isValidId(id))
            {
                logger.logWarningFormat("Could not create id for GameObject {0}({1})", asset.path, asset.guid);
            }
            return(true);
        }
Beispiel #2
0
        public static JsonScene fromObjects(GameObject[] args, ResourceMapper resMap, bool showGui)
        {
            try{
                var result = new JsonScene();

                var objMap = new GameObjectMapper();
                foreach (var curObj in args)
                {
                    objMap.gatherObjectIds(curObj);
                }

                foreach (var curObj in objMap.objectList)
                {
                    resMap.gatherPrefabData(curObj);
                }

                for (int i = 0; i < objMap.objectList.Count; i++)
                {
                    /*TODO: The constructor CAN add more data, but most of it would've been added prior to this point.
                     * Contempalting whether to enforce it strictly or not.*/
                    if (showGui)
                    {
                        ExportUtility.showProgressBar("Collecting scene data",
                                                      string.Format("Adding scene object {0}/{1}", i, objMap.numObjects), i, objMap.objectList.Count);
                    }

                    var newObj = new JsonGameObject(objMap.objectList[i], objMap, resMap);
                    result.objects.Add(newObj);
                }
                return(result);
            }
            finally{
                if (showGui)
                {
                    ExportUtility.hideProgressBar();
                }
            }
        }