Skip to content

Commit 11c9e75

Browse files
author
Clément Couture
committed
Changed the character creation parameters to use the folder locator instead of raw paths
1 parent cfa8e92 commit 11c9e75

12 files changed

+1448
-17
lines changed

Assets/CharacterCreationTool/Editor/CharacterCreationParameters.asset

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,10 +12,9 @@ MonoBehaviour:
1212
m_Script: {fileID: 11500000, guid: b5a3c15419c89c94aaee17490243dc93, type: 3}
1313
m_Name: CharacterCreationParameters
1414
m_EditorClassIdentifier:
15-
characterFolder: Assets/Characters
16-
characterPrefabFolderName: Prefabs
17-
characterPreviewFolderName: Previews
18-
characterDataFolderName: Data
15+
characterPrefabFolderId: CharacterCreationTool.Destination.Prefab
16+
characterPreviewFolderId: CharacterCreationTool.Destination.Preview
17+
characterDataFolderId: CharacterCreationTool.Destination.Data
1918
CharacterLogicPrefab: {fileID: 7450849567795141773, guid: 6363cc0f634bd004ea859073a8534f2a,
2019
type: 3}
2120
CharacterAnimatorController: {fileID: 9100000, guid: 8b9a677f24793ba45bdc27a1dab7745e,

Assets/CharacterCreationTool/Editor/CharacterCreationParameters.cs

Lines changed: 20 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -7,17 +7,14 @@
77
public class CharacterCreationParameters : ScriptableObject {
88

99
public static CharacterCreationParameters Instance => AssetDatabaseUtils.GetSingle<CharacterCreationParameters>();
10-
11-
[SerializeField]
12-
private string characterFolder = "Assets/";
13-
14-
[Header("Folder Names")]
10+
11+
[Header("Folders")]
1512
[SerializeField]
16-
private string characterPrefabFolderName;
13+
private string characterPrefabFolderId;
1714
[SerializeField]
18-
private string characterPreviewFolderName;
15+
private string characterPreviewFolderId;
1916
[SerializeField]
20-
private string characterDataFolderName;
17+
private string characterDataFolderId;
2118

2219
[Header("References")]
2320
public GameObject CharacterLogicPrefab;
@@ -29,9 +26,21 @@ public class CharacterCreationParameters : ScriptableObject {
2926
[Dropdown(nameof(CreateDropdownList))]
3027
public string Separator = ",";
3128

32-
public string CharacterPrefabFolder => Path.Combine(characterFolder, characterPrefabFolderName);
33-
public string CharacterPreviewFolder => Path.Combine(characterFolder, characterPreviewFolderName);
34-
public string CharacterDataFolder => Path.Combine(characterFolder, characterDataFolderName);
29+
private string _characterPrefabFolder;
30+
public string CharacterPrefabFolder =>
31+
_characterPrefabFolder ??
32+
(_characterPrefabFolder = FolderLocator.GetFolder(characterPrefabFolderId));
33+
34+
35+
private string _characterPreviewFolder;
36+
public string CharacterPreviewFolder =>
37+
_characterPreviewFolder ??
38+
(_characterPreviewFolder = FolderLocator.GetFolder(characterPreviewFolderId));
39+
40+
private string _characterDataFolder;
41+
public string CharacterDataFolder =>
42+
_characterDataFolder ??
43+
(_characterDataFolder = FolderLocator.GetFolder(characterDataFolderId));
3544

3645
private DropdownList<string> CreateDropdownList() {
3746
return new DropdownList<string> {

Assets/CharacterCreationTool/PhotoshootBooth/CharacterPreviewCreator.cs

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
using System.Collections.Generic;
22
using System.IO;
33
using System.Linq;
4+
using System.Threading;
45
#if UNITY_EDITOR
56
using UnityEditor;
67
using UnityEditor.SceneManagement;
@@ -72,7 +73,11 @@ private void InSceneCreatePreview(GameObject previewTargetPrefab, string targetF
7273
DestroyImmediate(outputTexture);
7374
DestroyImmediate(previewTarget);
7475
characterPreview.SetActive(true);
75-
76+
77+
// Must wait here to force the loading of the sprite in the asset database
78+
// before changing the import settings, otherwise it would not work.
79+
AssetDatabase.ImportAsset(targetFile);
80+
AssetDatabase.SaveAssets();
7681
AssetDatabase.Refresh(ImportAssetOptions.ForceSynchronousImport);
7782

7883
ChangeImportSettings(targetFile);

Assets/Characters/CharacterList.asset

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,3 +15,4 @@ MonoBehaviour:
1515
Characters:
1616
- {fileID: 11400000, guid: 005506bef8dbb5547b4a558abd2080e6, type: 2}
1717
- {fileID: 11400000, guid: b7b7d3808c2437e408bccb69d5019351, type: 2}
18+
- {fileID: 11400000, guid: 6a153d3a3eca97545a04840ffb5f12ed, type: 2}
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
%YAML 1.1
2+
%TAG !u! tag:unity3d.com,2011:
3+
--- !u!114 &11400000
4+
MonoBehaviour:
5+
m_ObjectHideFlags: 0
6+
m_CorrespondingSourceObject: {fileID: 0}
7+
m_PrefabInstance: {fileID: 0}
8+
m_PrefabAsset: {fileID: 0}
9+
m_GameObject: {fileID: 0}
10+
m_Enabled: 1
11+
m_EditorHideFlags: 0
12+
m_Script: {fileID: 11500000, guid: 16c0adaa0cf0a5549917b8a094766a50, type: 3}
13+
m_Name: CharacterDataFolderLocator
14+
m_EditorClassIdentifier:
15+
FolderId: CharacterCreationTool.Destination.Data

Assets/Characters/Data/CharacterDataFolderLocator.asset.meta

Lines changed: 8 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
%YAML 1.1
2+
%TAG !u! tag:unity3d.com,2011:
3+
--- !u!114 &11400000
4+
MonoBehaviour:
5+
m_ObjectHideFlags: 0
6+
m_CorrespondingSourceObject: {fileID: 0}
7+
m_PrefabInstance: {fileID: 0}
8+
m_PrefabAsset: {fileID: 0}
9+
m_GameObject: {fileID: 0}
10+
m_Enabled: 1
11+
m_EditorHideFlags: 0
12+
m_Script: {fileID: 11500000, guid: 16c0adaa0cf0a5549917b8a094766a50, type: 3}
13+
m_Name: CharacterPrefabFolderLocator
14+
m_EditorClassIdentifier:
15+
FolderId: CharacterCreationTool.Destination.Prefab

Assets/Characters/Prefabs/CharacterPrefabFolderLocator.asset.meta

Lines changed: 8 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
%YAML 1.1
2+
%TAG !u! tag:unity3d.com,2011:
3+
--- !u!114 &11400000
4+
MonoBehaviour:
5+
m_ObjectHideFlags: 0
6+
m_CorrespondingSourceObject: {fileID: 0}
7+
m_PrefabInstance: {fileID: 0}
8+
m_PrefabAsset: {fileID: 0}
9+
m_GameObject: {fileID: 0}
10+
m_Enabled: 1
11+
m_EditorHideFlags: 0
12+
m_Script: {fileID: 11500000, guid: 16c0adaa0cf0a5549917b8a094766a50, type: 3}
13+
m_Name: CharacterPreviewFolderLocator
14+
m_EditorClassIdentifier:
15+
FolderId: CharacterCreationTool.Destination.Preview

Assets/Characters/Previews/CharacterPreviewFolderLocator.asset.meta

Lines changed: 8 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)