Added contextual UI switching depending on level type
This commit is contained in:
@@ -670,10 +670,13 @@ MonoBehaviour:
|
|||||||
m_Script: {fileID: 11500000, guid: f97ef53b4012e4149b61bbd63c298b6f, type: 3}
|
m_Script: {fileID: 11500000, guid: f97ef53b4012e4149b61bbd63c298b6f, type: 3}
|
||||||
m_Name:
|
m_Name:
|
||||||
m_EditorClassIdentifier: '::'
|
m_EditorClassIdentifier: '::'
|
||||||
|
currentUIMode: 0
|
||||||
landscapeObject: {fileID: 7681264016039674288}
|
landscapeObject: {fileID: 7681264016039674288}
|
||||||
portraitObject: {fileID: 2258532551510216878}
|
portraitObject: {fileID: 2258532551510216878}
|
||||||
cinematicsParentObject: {fileID: 5598823553633962789}
|
cinematicsParentObject: {fileID: 5598823553633962789}
|
||||||
CinematicBackground: {fileID: 1256355336041814197}
|
CinematicBackground: {fileID: 1256355336041814197}
|
||||||
|
appSwitcher: {fileID: 3087409191859087859}
|
||||||
|
eagleEye: {fileID: 8093509920149135307}
|
||||||
cinematicSprites: {fileID: 0}
|
cinematicSprites: {fileID: 0}
|
||||||
cinematicBackgroundSprites: {fileID: 0}
|
cinematicBackgroundSprites: {fileID: 0}
|
||||||
currentCinematicPlayer: {fileID: 0}
|
currentCinematicPlayer: {fileID: 0}
|
||||||
@@ -1058,6 +1061,11 @@ RectTransform:
|
|||||||
m_CorrespondingSourceObject: {fileID: 5445689290567702089, guid: 428a0feafda9d6d4e87ecf43ad41dc20, type: 3}
|
m_CorrespondingSourceObject: {fileID: 5445689290567702089, guid: 428a0feafda9d6d4e87ecf43ad41dc20, type: 3}
|
||||||
m_PrefabInstance: {fileID: 1192924796845315568}
|
m_PrefabInstance: {fileID: 1192924796845315568}
|
||||||
m_PrefabAsset: {fileID: 0}
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
--- !u!1 &8093509920149135307 stripped
|
||||||
|
GameObject:
|
||||||
|
m_CorrespondingSourceObject: {fileID: 6980564769726958139, guid: 428a0feafda9d6d4e87ecf43ad41dc20, type: 3}
|
||||||
|
m_PrefabInstance: {fileID: 1192924796845315568}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
--- !u!1001 &4473383355500896076
|
--- !u!1001 &4473383355500896076
|
||||||
PrefabInstance:
|
PrefabInstance:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
@@ -1186,6 +1194,11 @@ PrefabInstance:
|
|||||||
insertIndex: -1
|
insertIndex: -1
|
||||||
addedObject: {fileID: 1247411094983283289}
|
addedObject: {fileID: 1247411094983283289}
|
||||||
m_SourcePrefab: {fileID: 100100000, guid: ccd858c7962d48147b0233c1bf1382f5, type: 3}
|
m_SourcePrefab: {fileID: 100100000, guid: ccd858c7962d48147b0233c1bf1382f5, type: 3}
|
||||||
|
--- !u!1 &3087409191859087859 stripped
|
||||||
|
GameObject:
|
||||||
|
m_CorrespondingSourceObject: {fileID: 1498581815400593087, guid: ccd858c7962d48147b0233c1bf1382f5, type: 3}
|
||||||
|
m_PrefabInstance: {fileID: 4473383355500896076}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
--- !u!224 &3194400469127591113 stripped
|
--- !u!224 &3194400469127591113 stripped
|
||||||
RectTransform:
|
RectTransform:
|
||||||
m_CorrespondingSourceObject: {fileID: 1315170081792486277, guid: ccd858c7962d48147b0233c1bf1382f5, type: 3}
|
m_CorrespondingSourceObject: {fileID: 1315170081792486277, guid: ccd858c7962d48147b0233c1bf1382f5, type: 3}
|
||||||
|
|||||||
@@ -9,11 +9,17 @@ using Core.Lifecycle;
|
|||||||
|
|
||||||
public class PlayerHudManager : ManagedBehaviour
|
public class PlayerHudManager : ManagedBehaviour
|
||||||
{
|
{
|
||||||
|
public enum UIMode { Overworld, Puzzle, Minigame, HideAll };
|
||||||
|
|
||||||
|
public UIMode currentUIMode;
|
||||||
private AppSwitcher _appSwitcher;
|
private AppSwitcher _appSwitcher;
|
||||||
public GameObject landscapeObject;
|
public GameObject landscapeObject;
|
||||||
public GameObject portraitObject;
|
public GameObject portraitObject;
|
||||||
public GameObject cinematicsParentObject;
|
public GameObject cinematicsParentObject;
|
||||||
public GameObject CinematicBackground;
|
public GameObject CinematicBackground;
|
||||||
|
public GameObject appSwitcher;
|
||||||
|
public GameObject eagleEye;
|
||||||
|
|
||||||
|
|
||||||
[HideInInspector] public Image cinematicSprites;
|
[HideInInspector] public Image cinematicSprites;
|
||||||
[HideInInspector] public Image cinematicBackgroundSprites;
|
[HideInInspector] public Image cinematicBackgroundSprites;
|
||||||
@@ -30,6 +36,7 @@ public class PlayerHudManager : ManagedBehaviour
|
|||||||
public static PlayerHudManager Instance => _instance;
|
public static PlayerHudManager Instance => _instance;
|
||||||
private new void Awake()
|
private new void Awake()
|
||||||
{
|
{
|
||||||
|
base.Awake();
|
||||||
if (Instance != null)
|
if (Instance != null)
|
||||||
{
|
{
|
||||||
Destroy(this);
|
Destroy(this);
|
||||||
@@ -39,6 +46,26 @@ public class PlayerHudManager : ManagedBehaviour
|
|||||||
_instance = this;
|
_instance = this;
|
||||||
|
|
||||||
InitializeReferences();
|
InitializeReferences();
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
protected override void OnManagedAwake()
|
||||||
|
{
|
||||||
|
if (SceneManagerService.Instance != null)
|
||||||
|
{
|
||||||
|
SceneManagerService.Instance.SceneLoadCompleted += NewSceneLoaded;
|
||||||
|
}
|
||||||
|
if (SceneManagerService.Instance.CurrentGameplayScene == "AppleHillsOverworld")
|
||||||
|
{
|
||||||
|
NewSceneLoaded("AppleHillsOverworld");
|
||||||
|
}
|
||||||
|
if (SceneManagerService.Instance.CurrentGameplayScene == "StartingScene")
|
||||||
|
{
|
||||||
|
// TODO: Hide all UI until cinematics have played
|
||||||
|
NewSceneLoaded("AppleHillsOverworld");
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void InitializeReferences()
|
private void InitializeReferences()
|
||||||
@@ -67,4 +94,47 @@ public class PlayerHudManager : ManagedBehaviour
|
|||||||
UpateCinematicReferences(landscapeObject);
|
UpateCinematicReferences(landscapeObject);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void NewSceneLoaded(string sceneName)
|
||||||
|
{
|
||||||
|
switch (sceneName)
|
||||||
|
{
|
||||||
|
case "AppleHillsOverworld":
|
||||||
|
UpdateUIMode(UIMode.Overworld);
|
||||||
|
break;
|
||||||
|
case "Quarry":
|
||||||
|
UpdateUIMode(UIMode.Puzzle);
|
||||||
|
break;
|
||||||
|
case "DivingForPictures":
|
||||||
|
UpdateUIMode(UIMode.Minigame);
|
||||||
|
break;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public void UpdateUIMode(UIMode mode)
|
||||||
|
{
|
||||||
|
switch (mode)
|
||||||
|
{
|
||||||
|
case UIMode.Overworld:
|
||||||
|
// Show app switcher
|
||||||
|
appSwitcher.SetActive(true);
|
||||||
|
// Hide eagle eye
|
||||||
|
eagleEye.SetActive(false);
|
||||||
|
break;
|
||||||
|
case UIMode.Puzzle:
|
||||||
|
// Hide app switcher
|
||||||
|
appSwitcher.SetActive(false);
|
||||||
|
// show eagle eye
|
||||||
|
eagleEye.SetActive(true);
|
||||||
|
break;
|
||||||
|
case UIMode.Minigame:
|
||||||
|
// Hide app switcher
|
||||||
|
appSwitcher.SetActive(false);
|
||||||
|
// Hide birds eye
|
||||||
|
eagleEye.SetActive(false);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user