Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 16 additions & 0 deletions Assets/PresentationManager/Scripts/SlideTimingTracker.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
using UnityEngine;

public class SlideTimingTracker : MonoBehaviour
{
// Start is called once before the first execution of Update after the MonoBehaviour is created
void Start()
{

}

// Update is called once per frame
void Update()
{

}
}
2 changes: 2 additions & 0 deletions Assets/PresentationManager/Scripts/SlideTimingTracker.cs.meta

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

70 changes: 70 additions & 0 deletions Assets/PresentationManager/Scripts/SlideshowManager.cs
Original file line number Diff line number Diff line change
@@ -1,13 +1,26 @@
using UnityEngine;
using UnityEngine.InputSystem.Controls;
using UnityEngine.UI;

public class SlideshowManager : MonoBehaviour
{
[SerializeField] Canvas slideshow;
Image[] slides;
float[] slideTimers;
Image currSlide;
int currIndex = 0;
bool isPresenting = false;

public enum mode
{
menu,
training,
free,
practice
}
mode currMode = mode.menu;
mode selectedMode;

void Start()
{
slides = GetComponentsInChildren<Image>();
Expand All @@ -16,6 +29,12 @@ void Start()
{
image.enabled = false;
}

slideTimers = new float[slides.Length];
for(int x = 0; x < slides.Length; x++)
{
slideTimers[x] = 0f;
}
}

// Update is called once per frame
Expand All @@ -34,6 +53,39 @@ void Update()
{
PrevSlide();
}

if (isPresenting)
{
slideTimers[currIndex] += Time.deltaTime;
}

// Select modes
if (Input.GetKeyDown(KeyCode.I))
{
selectedMode = mode.training;
Debug.Log("TRAINING mode selected");
}

if (Input.GetKeyDown(KeyCode.O))
{
selectedMode = mode.free;
Debug.Log("FREE mode selected");
}

if (Input.GetKeyDown(KeyCode.P))
{
selectedMode = mode.practice;
Debug.Log("PRACTICE mode selected");
}

if (Input.GetKeyDown(KeyCode.M) && !isPresenting)
{
currMode = selectedMode;
Debug.Log(currMode + " was confirmed.");
}



}

public void StartPresentation()
Expand All @@ -42,6 +94,11 @@ public void StartPresentation()
currIndex = 0;
currSlide = slides[currIndex];
currSlide.enabled = true;
for (int x = 0; x < slides.Length; x++)
{
slideTimers[x] = 0f;
}

}

public void NextSlide()
Expand Down Expand Up @@ -79,5 +136,18 @@ public void EndPresentation()
isPresenting = false;
currIndex = 0;
currSlide = null;

for (int x = 0; x < slides.Length; x++)
{
float time = slideTimers[x];
int minutes = Mathf.FloorToInt(time / 60);
int seconds = Mathf.FloorToInt(time % 60);
Debug.Log("Slide " + x + " time is: " + minutes + "m and " + seconds + " seconds.");
}
}

public float[] getSlideTime()
{
return slideTimers;
}
}