示例#1
0
    public static void GenBullet()
    {
        if (!GenerateBullet.CheckObjectType())
        {
            return;
        }
        GameObject selectedObj = Selection.activeObject as GameObject;

        if (selectedObj == null)
        {
            return;
        }
        GameObject bullet = new GameObject(selectedObj.name);

        bullet.transform.position = Vector3.zero;

        GameObject obj = GameObject.Instantiate <GameObject>(selectedObj);

        obj.name = "mesh";
        obj.transform.SetParent(bullet.transform);
        obj.transform.localPosition = Vector3.zero;

        EffectController effectCtrl = bullet.AddMissingComponent <EffectController>();

        effectCtrl.autoRemove = false;

        PrefabUtility.SaveAsPrefabAssetAndConnect(bullet, "Assets/RawResources/Scene/Prefab/Bullet/" + selectedObj.name + ".prefab", InteractionMode.AutomatedAction);

        GameObject.DestroyImmediate(bullet);
    }
示例#2
0
    public static void GenBulletBatch()
    {
        if (!GenerateBullet.CheckCanGenBulletBatch())
        {
            return;
        }
        string[] strs    = Selection.assetGUIDs;
        string   topPath = AssetDatabase.GUIDToAssetPath(strs[0]);

        string[] findFolder = new string[] { topPath };

        string[] models = AssetDatabase.FindAssets("t:Model", findFolder);
        foreach (string guid in models)
        {
            string assetPath = AssetDatabase.GUIDToAssetPath(guid);
            string newPath   = "Assets/RawResources/Scene/FBX/Bullet/" + Path.GetFileName(assetPath);
            AssetDatabase.MoveAsset(assetPath, newPath);
        }

        string[] materials = AssetDatabase.FindAssets("t:Material", findFolder);
        foreach (string guid in materials)
        {
            string assetPath = AssetDatabase.GUIDToAssetPath(guid);
            string newPath   = "Assets/RawResources/Scene/Material/Bullet/" + Path.GetFileName(assetPath);
            AssetDatabase.MoveAsset(assetPath, newPath);
        }

        string[] textures = AssetDatabase.FindAssets("t:Texture", findFolder);
        foreach (string guid in textures)
        {
            string assetPath = AssetDatabase.GUIDToAssetPath(guid);
            string newPath   = "Assets/RawResources/Scene/Texture/Bullet/" + Path.GetFileName(assetPath);
            AssetDatabase.MoveAsset(assetPath, newPath);
        }

        string[] shaders = AssetDatabase.FindAssets("t:Shader", findFolder);
        foreach (string guid in shaders)
        {
            string assetPath = AssetDatabase.GUIDToAssetPath(guid);
            string newPath   = "Assets/Shaders/" + Path.GetFileName(assetPath);
            AssetDatabase.MoveAsset(assetPath, newPath);
        }

        string[] prefabs = AssetDatabase.FindAssets("t:Prefab", findFolder);
        foreach (string guid in prefabs)
        {
            string     assetPath = AssetDatabase.GUIDToAssetPath(guid);
            GameObject prefabObj = AssetDatabase.LoadAssetAtPath <GameObject>(assetPath);

            GameObject bullet = new GameObject(prefabObj.name);
            bullet.transform.position = Vector3.zero;

            GameObject obj = GameObject.Instantiate <GameObject>(prefabObj);
            obj.name = "mesh";
            obj.transform.SetParent(bullet.transform);
            obj.transform.localPosition = Vector3.zero;

            EffectController effectCtrl = bullet.AddMissingComponent <EffectController>();
            effectCtrl.autoRemove = false;

            PrefabUtility.SaveAsPrefabAssetAndConnect(bullet, "Assets/RawResources/Scene/Prefab/Bullet/" + prefabObj.name + ".prefab", InteractionMode.AutomatedAction);

            GameObject.DestroyImmediate(bullet);

            AssetDatabase.DeleteAsset(assetPath);
        }
    }
示例#3
0
 public static bool CheckDeleteBullet()
 {
     return(GenerateBullet.CheckDelBullet());
 }
示例#4
0
 public static void DeleteBullet()
 {
     GenerateBullet.DeleteBullet();
 }
示例#5
0
 public static bool CheckGenBulletBatch()
 {
     return(GenerateBullet.CheckCanGenBulletBatch());
 }
示例#6
0
 public static void GenBulletBatch()
 {
     GenerateBullet.GenBulletBatch();
 }
示例#7
0
 public static bool CheckBullet()
 {
     return(GenerateBullet.CheckObjectType());
 }