Fixed Humanoid Visitors settings for package
This commit is contained in:
parent
fc42966b94
commit
50635c9922
@ -152,7 +152,7 @@ namespace Passer.Humanoid {
|
|||||||
|
|
||||||
//Configuration_Editor.CheckExtensions((Configuration)configurationProp.objectReferenceValue);
|
//Configuration_Editor.CheckExtensions((Configuration)configurationProp.objectReferenceValue);
|
||||||
|
|
||||||
HumanoidSceneInspector();
|
VisitorSceneInspector();
|
||||||
|
|
||||||
if (reload) {
|
if (reload) {
|
||||||
reload = false;
|
reload = false;
|
||||||
@ -177,33 +177,34 @@ namespace Passer.Humanoid {
|
|||||||
return provider;
|
return provider;
|
||||||
}
|
}
|
||||||
|
|
||||||
private static string[] personalHumanoidNames;
|
private static string[] visitorNames;
|
||||||
private static bool HumanoidSceneInspector() {
|
private static bool VisitorSceneInspector() {
|
||||||
bool anyChanged = false;
|
bool anyChanged = false;
|
||||||
if (HumanoidVisitors.visitors == null || HumanoidVisitors.visitors.Count <= 0)
|
if (HumanoidVisitors.visitors == null || HumanoidVisitors.visitors.Count <= 0)
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
personalHumanoidNames = new string[HumanoidVisitors.visitors.Count];
|
visitorNames = new string[HumanoidVisitors.visitors.Count];
|
||||||
int i = 0;
|
int i = 0;
|
||||||
int ix;
|
int ix;
|
||||||
foreach (string personalHumanoid in HumanoidVisitors.visitors) {
|
foreach (string visitor in HumanoidVisitors.visitors) {
|
||||||
string name = personalHumanoid;
|
string name = visitor;
|
||||||
ix = name.LastIndexOf('/');
|
ix = name.LastIndexOf('/');
|
||||||
name = name.Substring(ix + 1);
|
name = name.Substring(ix + 1);
|
||||||
name = name.Substring(0, name.Length - 6); // remove .unity
|
name = name.Substring(0, name.Length - 6); // remove .unity
|
||||||
personalHumanoidNames[i++] = name;
|
visitorNames[i++] = name;
|
||||||
}
|
}
|
||||||
|
|
||||||
string visitorSceneName = HumanoidPreferences.visitorSceneName;
|
string visitorSceneName = HumanoidPreferences.visitorSceneName;
|
||||||
ix = HumanoidVisitors.visitors.FindIndex(name => name == visitorSceneName);
|
ix = HumanoidVisitors.visitors.FindIndex(name => name == visitorSceneName);
|
||||||
if (ix < 0)
|
if (ix < 0)
|
||||||
ix = 0;
|
ix = 0;
|
||||||
ix = EditorGUILayout.Popup("Testing Visitor", ix, personalHumanoidNames);
|
ix = EditorGUILayout.Popup("Default Visitor scene", ix, visitorNames);
|
||||||
anyChanged = visitorSceneName != HumanoidVisitors.visitors[ix];
|
anyChanged = visitorSceneName != HumanoidVisitors.visitors[ix];
|
||||||
if (anyChanged)
|
if (anyChanged)
|
||||||
HumanoidVisitors.SetPersonalHumanoid(visitorSceneName, HumanoidVisitors.visitors[ix]);
|
HumanoidVisitors.SetPersonalHumanoid(visitorSceneName, HumanoidVisitors.visitors[ix]);
|
||||||
|
|
||||||
HumanoidPreferences.visitorSceneName = HumanoidVisitors.visitors[ix];
|
HumanoidPreferences.visitorSceneName = HumanoidVisitors.visitors[ix];
|
||||||
|
|
||||||
return anyChanged;
|
return anyChanged;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -44,16 +44,13 @@ namespace Passer {
|
|||||||
|
|
||||||
HumanoidControl humanoid = FindObjectOfType<HumanoidControl>();
|
HumanoidControl humanoid = FindObjectOfType<HumanoidControl>();
|
||||||
if (humanoid == null) {
|
if (humanoid == null) {
|
||||||
string visitorSceneName = Passer.Humanoid.HumanoidPreferences.visitorSceneName;
|
string visitorSceneName = HumanoidPreferences.visitorSceneName;
|
||||||
//string configurationString = UnityEditor.EditorPrefs.GetString("HumanoidConfigurationKey", "DefaultConfiguration");
|
if (!string.IsNullOrEmpty(visitorSceneName)) {
|
||||||
//Humanoid.Configuration configuration = Humanoid.Configuration.Load(configurationString);
|
|
||||||
//if (configuration != null) {
|
|
||||||
if (!string.IsNullOrEmpty(visitorSceneName)) {
|
|
||||||
Debug.Log(visitorSceneName);
|
Debug.Log(visitorSceneName);
|
||||||
UnityEngine.SceneManagement.SceneManager.LoadScene(visitorSceneName, LoadSceneMode.Additive);
|
UnityEngine.SceneManagement.SceneManager.LoadScene(visitorSceneName, LoadSceneMode.Additive);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
Debug.LogWarning("Could not load configuration: Visitor is not spawned");
|
Debug.LogWarning("Could not start Visitor: Please select Default Visitor Scene in Edit Menu->Preferences->Humanoid Control");
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
@ -11,30 +11,40 @@ namespace Passer.Humanoid {
|
|||||||
public static List<string> visitors = new List<string>();
|
public static List<string> visitors = new List<string>();
|
||||||
|
|
||||||
static HumanoidVisitors() {
|
static HumanoidVisitors() {
|
||||||
CheckVisitors();
|
//CheckVisitors();
|
||||||
|
CheckScenes();
|
||||||
}
|
}
|
||||||
|
|
||||||
private const string fileName = "HumanoidVisitors.cs";
|
private const string fileName = "HumanoidVisitors.cs";
|
||||||
|
|
||||||
private static void CheckVisitors() {
|
private static void CheckScenes() {
|
||||||
string[] names = Directory.GetFiles(Application.dataPath, "HumanoidVisitors.cs", SearchOption.AllDirectories);
|
EditorBuildSettingsScene[] editorBuildSettingsScenes = EditorBuildSettings.scenes;
|
||||||
int dataPathLength = Application.dataPath.Length;
|
foreach (EditorBuildSettingsScene editorBuildSettingsScene in editorBuildSettingsScenes) {
|
||||||
|
string localSceneName = editorBuildSettingsScene.path;
|
||||||
int filenameLength = fileName.Length;
|
if (!visitors.Contains(localSceneName))
|
||||||
foreach (string name in names) {
|
visitors.Add(localSceneName);
|
||||||
string dirName = name.Substring(0, name.Length - filenameLength);
|
|
||||||
|
|
||||||
string[] sceneNames = Directory.GetFiles(dirName, "*.unity");
|
|
||||||
|
|
||||||
foreach (string sceneName in sceneNames) {
|
|
||||||
string localSceneName = "Assets" + sceneName.Substring(dataPathLength);
|
|
||||||
localSceneName = localSceneName.Replace('\\', '/');
|
|
||||||
if (!visitors.Contains(localSceneName))
|
|
||||||
visitors.Add(localSceneName);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//private static void CheckVisitors() {
|
||||||
|
// string[] names = Directory.GetFiles(Application.dataPath, "HumanoidVisitors.cs", SearchOption.AllDirectories);
|
||||||
|
// int dataPathLength = Application.dataPath.Length;
|
||||||
|
|
||||||
|
// int filenameLength = fileName.Length;
|
||||||
|
// foreach (string name in names) {
|
||||||
|
// string dirName = name.Substring(0, name.Length - filenameLength);
|
||||||
|
|
||||||
|
// string[] sceneNames = Directory.GetFiles(dirName, "*.unity");
|
||||||
|
|
||||||
|
// foreach (string sceneName in sceneNames) {
|
||||||
|
// string localSceneName = "Assets" + sceneName.Substring(dataPathLength);
|
||||||
|
// localSceneName = localSceneName.Replace('\\', '/');
|
||||||
|
// if (!visitors.Contains(localSceneName))
|
||||||
|
// visitors.Add(localSceneName);
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
//}
|
||||||
|
|
||||||
private static bool SceneExists(string scenePath) {
|
private static bool SceneExists(string scenePath) {
|
||||||
foreach (EditorBuildSettingsScene buildScene in EditorBuildSettings.scenes) {
|
foreach (EditorBuildSettingsScene buildScene in EditorBuildSettings.scenes) {
|
||||||
if (buildScene.path == scenePath)
|
if (buildScene.path == scenePath)
|
@ -607,6 +607,6 @@ MonoBehaviour:
|
|||||||
m_GameObject: {fileID: 1361154700711664}
|
m_GameObject: {fileID: 1361154700711664}
|
||||||
m_Enabled: 1
|
m_Enabled: 1
|
||||||
m_EditorHideFlags: 0
|
m_EditorHideFlags: 0
|
||||||
m_Script: {fileID: 11500000, guid: 9827df2d9b2c2d749b3ef4a9a7f6ddc7, type: 3}
|
m_Script: {fileID: 11500000, guid: 8a1a6c1d6d2471f4cb6059a524592f12, type: 3}
|
||||||
m_Name:
|
m_Name:
|
||||||
m_EditorClassIdentifier:
|
m_EditorClassIdentifier:
|
||||||
|
@ -1,3 +0,0 @@
|
|||||||
{
|
|
||||||
"reference": "GUID:2a4d79bf57ab5b3479378915b7996c30"
|
|
||||||
}
|
|
@ -1,7 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: f68b2f6aa1bdf7047824e8086019d3c3
|
|
||||||
AssemblyDefinitionReferenceImporter:
|
|
||||||
externalObjects: {}
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
@ -111,6 +111,8 @@ MonoBehaviour:
|
|||||||
m_Script: {fileID: 11500000, guid: ce6e9cb532692ab489efe3767b29ea9a, type: 3}
|
m_Script: {fileID: 11500000, guid: ce6e9cb532692ab489efe3767b29ea9a, type: 3}
|
||||||
m_Name:
|
m_Name:
|
||||||
m_EditorClassIdentifier:
|
m_EditorClassIdentifier:
|
||||||
|
sites:
|
||||||
|
list: []
|
||||||
mainMenuUI: {fileID: 1092005954041834}
|
mainMenuUI: {fileID: 1092005954041834}
|
||||||
siteDetailsUI: {fileID: 114506979835861256}
|
siteDetailsUI: {fileID: 114506979835861256}
|
||||||
--- !u!1 &1010087135327232
|
--- !u!1 &1010087135327232
|
||||||
@ -461,7 +463,7 @@ MonoBehaviour:
|
|||||||
m_GameObject: {fileID: 1032603559326628}
|
m_GameObject: {fileID: 1032603559326628}
|
||||||
m_Enabled: 1
|
m_Enabled: 1
|
||||||
m_EditorHideFlags: 0
|
m_EditorHideFlags: 0
|
||||||
m_Script: {fileID: 11500000, guid: 9827df2d9b2c2d749b3ef4a9a7f6ddc7, type: 3}
|
m_Script: {fileID: 11500000, guid: 8a1a6c1d6d2471f4cb6059a524592f12, type: 3}
|
||||||
m_Name:
|
m_Name:
|
||||||
m_EditorClassIdentifier:
|
m_EditorClassIdentifier:
|
||||||
--- !u!114 &8327130247146471356
|
--- !u!114 &8327130247146471356
|
||||||
@ -4371,6 +4373,7 @@ MonoBehaviour:
|
|||||||
m_CaretBlinkRate: 0.85
|
m_CaretBlinkRate: 0.85
|
||||||
m_CaretWidth: 1
|
m_CaretWidth: 1
|
||||||
m_ReadOnly: 0
|
m_ReadOnly: 0
|
||||||
|
m_ShouldActivateOnSelect: 1
|
||||||
--- !u!1 &1614696818273909273
|
--- !u!1 &1614696818273909273
|
||||||
GameObject:
|
GameObject:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
|
Loading…
x
Reference in New Issue
Block a user