Singleton persistant et chargement de scène

This commit is contained in:
Florent Guiotte 2018-03-14 16:28:48 +01:00
parent 66d72cf0de
commit 10f9301d3e
5 changed files with 147 additions and 221 deletions

View File

@ -113,140 +113,6 @@ NavMeshSettings:
debug:
m_Flags: 0
m_NavMeshData: {fileID: 0}
--- !u!1 &6796231
GameObject:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
serializedVersion: 5
m_Component:
- component: {fileID: 6796237}
- component: {fileID: 6796236}
- component: {fileID: 6796235}
- component: {fileID: 6796234}
- component: {fileID: 6796233}
- component: {fileID: 6796232}
m_Layer: 0
m_Name: "HUD Tachym\xE8tre"
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!114 &6796232
MonoBehaviour:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_GameObject: {fileID: 6796231}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 708705254, guid: f70555f144d8491a825f0804e09c671c, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
m_FontData:
m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
m_FontSize: 200
m_FontStyle: 0
m_BestFit: 0
m_MinSize: 2
m_MaxSize: 300
m_Alignment: 0
m_AlignByGeometry: 0
m_RichText: 1
m_HorizontalOverflow: 0
m_VerticalOverflow: 0
m_LineSpacing: 1
m_Text: LUDICROUS
--- !u!222 &6796233
CanvasRenderer:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_GameObject: {fileID: 6796231}
--- !u!114 &6796234
MonoBehaviour:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_GameObject: {fileID: 6796231}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 1301386320, guid: f70555f144d8491a825f0804e09c671c, type: 3}
m_Name:
m_EditorClassIdentifier:
m_IgnoreReversedGraphics: 1
m_BlockingObjects: 0
m_BlockingMask:
serializedVersion: 2
m_Bits: 4294967295
--- !u!114 &6796235
MonoBehaviour:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_GameObject: {fileID: 6796231}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 1980459831, guid: f70555f144d8491a825f0804e09c671c, type: 3}
m_Name:
m_EditorClassIdentifier:
m_UiScaleMode: 0
m_ReferencePixelsPerUnit: 100
m_ScaleFactor: 1
m_ReferenceResolution: {x: 800, y: 600}
m_ScreenMatchMode: 0
m_MatchWidthOrHeight: 0
m_PhysicalUnit: 3
m_FallbackScreenDPI: 96
m_DefaultSpriteDPI: 96
m_DynamicPixelsPerUnit: 1
--- !u!223 &6796236
Canvas:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_GameObject: {fileID: 6796231}
m_Enabled: 1
serializedVersion: 3
m_RenderMode: 2
m_Camera: {fileID: 0}
m_PlaneDistance: 100
m_PixelPerfect: 0
m_ReceivesEvents: 1
m_OverrideSorting: 0
m_OverridePixelPerfect: 0
m_SortingBucketNormalizedSize: 0
m_AdditionalShaderChannelsFlag: 0
m_SortingLayerID: 0
m_SortingOrder: 0
m_TargetDisplay: 0
--- !u!224 &6796237
RectTransform:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_GameObject: {fileID: 6796231}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: -2.86}
m_LocalScale: {x: 0.00052083336, y: 0.0009259259, z: 1}
m_Children: []
m_Father: {fileID: 1718131633}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 0}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 1920, y: 1080}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!1 &384609360
GameObject:
m_ObjectHideFlags: 0
@ -418,6 +284,7 @@ Transform:
- {fileID: 384609361}
- {fileID: 1810492795}
- {fileID: 896084742}
- {fileID: 1515287607}
m_Father: {fileID: 1051925803}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
@ -1162,6 +1029,101 @@ SpriteRenderer:
m_SpriteTileMode: 0
m_WasSpriteAssigned: 1
m_MaskInteraction: 0
--- !u!1 &1515287606
GameObject:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
serializedVersion: 5
m_Component:
- component: {fileID: 1515287607}
- component: {fileID: 1515287610}
- component: {fileID: 1515287609}
- component: {fileID: 1515287608}
m_Layer: 0
m_Name: Message
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &1515287607
RectTransform:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_GameObject: {fileID: 1515287606}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 4.24}
m_LocalScale: {x: 0.00925926, y: 0.009259259, z: 1}
m_Children: []
m_Father: {fileID: 465584224}
m_RootOrder: 3
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0.5}
m_AnchorMax: {x: 0.5, y: 0.5}
m_AnchoredPosition: {x: -17.8, y: 0}
m_SizeDelta: {x: 160, y: 30}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!223 &1515287608
Canvas:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_GameObject: {fileID: 1515287606}
m_Enabled: 1
serializedVersion: 3
m_RenderMode: 2
m_Camera: {fileID: 0}
m_PlaneDistance: 100
m_PixelPerfect: 0
m_ReceivesEvents: 1
m_OverrideSorting: 0
m_OverridePixelPerfect: 0
m_SortingBucketNormalizedSize: 0
m_AdditionalShaderChannelsFlag: 0
m_SortingLayerID: 0
m_SortingOrder: 0
m_TargetDisplay: 0
--- !u!114 &1515287609
MonoBehaviour:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_GameObject: {fileID: 1515287606}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 708705254, guid: f70555f144d8491a825f0804e09c671c, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 0, g: 1, b: 0, a: 1}
m_RaycastTarget: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
m_FontData:
m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
m_FontSize: 70
m_FontStyle: 0
m_BestFit: 0
m_MinSize: 3
m_MaxSize: 70
m_Alignment: 4
m_AlignByGeometry: 0
m_RichText: 1
m_HorizontalOverflow: 1
m_VerticalOverflow: 1
m_LineSpacing: 1
m_Text: Ready?
--- !u!222 &1515287610
CanvasRenderer:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_GameObject: {fileID: 1515287606}
--- !u!1 &1575000530
GameObject:
m_ObjectHideFlags: 0
@ -1214,50 +1176,6 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 72b762e54d7534ee7b4f86534cf6d481, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!1 &1616930802
GameObject:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
serializedVersion: 5
m_Component:
- component: {fileID: 1616930803}
- component: {fileID: 1616930804}
m_Layer: 0
m_Name: HUD Progression
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &1616930803
Transform:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_GameObject: {fileID: 1616930802}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: -0.4, y: -0.4, z: -1.11}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children:
- {fileID: 1722655510}
m_Father: {fileID: 1718131633}
m_RootOrder: 1
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!114 &1616930804
MonoBehaviour:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_GameObject: {fileID: 1616930802}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: bd8663f20dbcc4acf9331c7fe29b69c3, type: 3}
m_Name:
m_EditorClassIdentifier:
start: {fileID: 1616930802}
end: {fileID: 1722655509}
progress: {fileID: 0}
--- !u!1 &1718131632
GameObject:
m_ObjectHideFlags: 0
@ -1285,9 +1203,7 @@ Transform:
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 10}
m_LocalScale: {x: 17.777779, y: 10, z: 1}
m_Children:
- {fileID: 6796237}
- {fileID: 1616930803}
m_Children: []
m_Father: {fileID: 1180963262}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
@ -1361,34 +1277,6 @@ SpriteRenderer:
m_SpriteTileMode: 0
m_WasSpriteAssigned: 1
m_MaskInteraction: 0
--- !u!1 &1722655509
GameObject:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
serializedVersion: 5
m_Component:
- component: {fileID: 1722655510}
m_Layer: 0
m_Name: END
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &1722655510
Transform:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_GameObject: {fileID: 1722655509}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 1, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 1616930803}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &1810492794
GameObject:
m_ObjectHideFlags: 0

View File

@ -28,6 +28,8 @@ public class BikeManager : MonoBehaviour {
private GameManager gm;
void Awake() {
vm = gameObject.GetComponent<VideoManager>();
vm.SetSkin(playerID);
}
// Use this for initialization
@ -40,7 +42,6 @@ public class BikeManager : MonoBehaviour {
taco = gameObject.AddComponent<RAWTachometer>();
taco.SetPlayer(playerID);
vm = gameObject.GetComponent<VideoManager>();
normalSpeed = distanceToRun / vm.raceFinishTime;
}

View File

@ -6,12 +6,17 @@ using UnityEngine.SceneManagement;
public class GameManager : MonoBehaviour {
private static GameManager _instance;
public static GameManager Instance {get {return _instance; } }
//public static GameManager Instance {get {return _instance; } }
public static GameManager Instance {get {return _instance ?? (_instance =
new GameObject("GameManager").AddComponent<GameManager>()); } }
private HUDManager hm;
private BikeManager bm1;
private BikeManager bm2;
// Skins of the two players
private int[] _skins = new int[2];
ConfigurationLoader conf;
private void Awake(){
@ -78,9 +83,19 @@ public class GameManager : MonoBehaviour {
return conf.sensors[bikeID];
}
public void SetSkins(int player1, int player2) {
_skins[0] = player1;
_skins[1] = player2;
}
public int GetSkins(int playerID) {
return _skins[playerID];
}
void Update() {
if (Input.GetButtonDown("SubmitP1")) {
Debug.Log("Héhé Cancel");
SetSkins(0, 0);
SceneManager.LoadScene("GameScene");
}
Debug.Log("azee");

View File

@ -8,23 +8,39 @@ public class VideoManager : MonoBehaviour {
private VideoPlayer videoPlayer;
public float speed {get; set; }
public float raceFinishTime = 30.0f;
public int videoID = 0;
public int videoID;
void Awake() {
//videoPlayer = gameObject.AddComponent<VideoPlayer>();
}
VideoPlayer GetVideoPlayer() {
if (videoPlayer == null)
videoPlayer = gameObject.AddComponent<VideoPlayer>();
return videoPlayer;
}
void Start () {
speed = 0.0f;
videoPlayer = gameObject.AddComponent<VideoPlayer>();
// TODO: Aspect Ratio is not working?
videoPlayer.aspectRatio = VideoAspectRatio.FitOutside;
Debug.Log(videoPlayer.aspectRatio);
videoPlayer.url = Application.streamingAssetsPath + "/" + videoID + ".webm";
videoPlayer.isLooping = true;
videoPlayer.playOnAwake = false;
videoPlayer.Prepare();
videoPlayer.Pause();
var vp = GetVideoPlayer();
vp.aspectRatio = VideoAspectRatio.FitOutside;
Debug.Log(vp.aspectRatio);
vp.isLooping = true;
vp.playOnAwake = false;
vp.Prepare();
vp.Pause();
//videoPlayer.Play();
Run();
}
public void SetSkin(int playerID) {
Debug.Log("PID: " + playerID);
int id = GameManager.Instance.GetSkins(playerID);
Debug.Log("PID: " + playerID + " id: " + id);
var vp = GetVideoPlayer();
vp.url = Application.streamingAssetsPath + "/" + id + ".webm";
}
void Update () {
videoPlayer.playbackSpeed = speed;
}

View File

@ -8,3 +8,9 @@ EditorBuildSettings:
- enabled: 1
path: Assets/Scenes/Menus.unity
guid: 14eaf8d7877bf4d50a0bed2739d2bf96
- enabled: 1
path: Assets/Scenes/GameManagerTest.unity
guid: 3bf6872fcde3f48108b47c2eaa97b6f7
- enabled: 1
path: Assets/Scenes/GameScene.unity
guid: 8541a1132a4264d69b949d040e7244a4