Tacos indépendant entre la vidéo et le HUD

This commit is contained in:
Your Name 2018-03-15 23:28:44 +01:00
parent 4c07152b23
commit a7d9d63164
4 changed files with 14 additions and 3 deletions

View File

@ -50,7 +50,7 @@ public class BikeManager : MonoBehaviour {
void Update () { void Update () {
if (taco.GetDistanceRun() < distanceToRun) { if (taco.GetDistanceRun() < distanceToRun) {
Speed = taco.GetSpeed(); Speed = taco.GetSpeed();
vm.speed = Speed / normalSpeed; //vm.speed = Speed / normalSpeed;
} else { } else {
// Player finished // Player finished
vm.speed = 1f; vm.speed = 1f;

View File

@ -9,7 +9,7 @@ public class RAWTachometer : Tachometer {
public override float GetSpeed() { public override float GetSpeed() {
int c = impulses.Count(i => i > Time.time - delta); int c = impulses.Count(i => i > Time.time - delta);
return c * distancePerTick; return c * distancePerTick / delta;
} }
} }

View File

@ -13,6 +13,7 @@ public abstract class Tachometer : MonoBehaviour {
// Process // Process
protected float distancePerTick; protected float distancePerTick;
protected float normalSpeed;
protected List<float> impulses = new List<float>(); protected List<float> impulses = new List<float>();
@ -32,6 +33,7 @@ public abstract class Tachometer : MonoBehaviour {
Debug.Log("Diameter: " + wheelDiameter); Debug.Log("Diameter: " + wheelDiameter);
distancePerTick = wheelDiameter * Mathf.PI / ticPerTurn; distancePerTick = wheelDiameter * Mathf.PI / ticPerTurn;
normalSpeed = gm.GetRaceDistance() / gm.GetRaceNormalTime();
} }
private void RegisterTic() { private void RegisterTic() {
@ -42,6 +44,10 @@ public abstract class Tachometer : MonoBehaviour {
return -1f; return -1f;
} }
public float GetPlayerSpeed() {
return GetSpeed () / normalSpeed;
}
public float GetDistanceRun() { public float GetDistanceRun() {
return distancePerTick * impulses.Count(); return distancePerTick * impulses.Count();
} }

View File

@ -9,6 +9,8 @@ public class VideoManager : MonoBehaviour {
public float speed {get; set; } public float speed {get; set; }
public bool setUp = false; public bool setUp = false;
private Tachometer taco;
private int skinID; private int skinID;
public void SetSkin(int playerID) { public void SetSkin(int playerID) {
@ -16,6 +18,9 @@ public class VideoManager : MonoBehaviour {
var gm = GameManager.Instance; var gm = GameManager.Instance;
taco = gameObject.AddComponent<RAWTachometer>();
taco.SetPlayer (playerID);
skinID = gm.GetSkins(playerID); skinID = gm.GetSkins(playerID);
videoPlayer.url = Application.streamingAssetsPath + "/" + skinID + ".webm"; videoPlayer.url = Application.streamingAssetsPath + "/" + skinID + ".webm";
@ -48,6 +53,6 @@ public class VideoManager : MonoBehaviour {
} }
void Update () { void Update () {
videoPlayer.playbackSpeed = speed; videoPlayer.playbackSpeed = taco.GetPlayerSpeed();
} }
} }