Dave Boyle

Think everything is here functionality wise other than the automation of connect…

…ing as client / server, and the swipe up motion to start video
Showing 39 changed files with 320 additions and 14 deletions
fileFormatVersion: 2
guid: 791b1242d0b0f83468035586df2a9671
folderAsset: yes
timeCreated: 1465157424
licenseType: Pro
DefaultImporter:
userData:
assetBundleName:
assetBundleVariant:
fileFormatVersion: 2
guid: 0feb2ccb20a6da64c81241422b8c5c0a
folderAsset: yes
timeCreated: 1463940038
licenseType: Pro
DefaultImporter:
userData:
assetBundleName:
assetBundleVariant:
fileFormatVersion: 2
guid: 8b78a419897fb474b9b7f7b3c6c7713c
folderAsset: yes
timeCreated: 1463940118
licenseType: Pro
DefaultImporter:
userData:
assetBundleName:
assetBundleVariant:
fileFormatVersion: 2
guid: fcd7c007ea2a27644acf7bf27ef5510a
folderAsset: yes
DefaultImporter:
userData:
assetBundleName:
assetBundleVariant:
fileFormatVersion: 2
guid: 70a2cdd0400aedd42857e41e706c9353
folderAsset: yes
DefaultImporter:
userData:
assetBundleName:
assetBundleVariant:
fileFormatVersion: 2
guid: e0247c67986905045887098ba77164a7
folderAsset: yes
DefaultImporter:
userData:
assetBundleName:
assetBundleVariant:
fileFormatVersion: 2
guid: 4d9fb302e590e5545b0079f9a35d74f0
folderAsset: yes
DefaultImporter:
userData:
assetBundleName:
assetBundleVariant:
fileFormatVersion: 2
guid: e390dbc35c9e98f49b66848fc8322b2b
folderAsset: yes
DefaultImporter:
userData:
assetBundleName:
assetBundleVariant:
fileFormatVersion: 2
guid: 82a9901f420d30c4eb03e0b745e598bc
folderAsset: yes
DefaultImporter:
userData:
assetBundleName:
assetBundleVariant:
fileFormatVersion: 2
guid: 506de2ce97091614bb0db1d1e2725d7a
folderAsset: yes
DefaultImporter:
userData:
assetBundleName:
assetBundleVariant:
fileFormatVersion: 2
guid: a098b4bb6355e414fa43939d60c7ff32
folderAsset: yes
DefaultImporter:
userData:
assetBundleName:
assetBundleVariant:
fileFormatVersion: 2
guid: 2785961627a74b84b95d33fdfd93472d
folderAsset: yes
DefaultImporter:
userData:
assetBundleName:
assetBundleVariant:
fileFormatVersion: 2
guid: ac00bae8b1b291e4f931a229a0f98cb6
folderAsset: yes
DefaultImporter:
userData:
assetBundleName:
assetBundleVariant:
fileFormatVersion: 2
guid: 69e635a483a42974c9c056daab77fd56
folderAsset: yes
DefaultImporter:
userData:
assetBundleName:
assetBundleVariant:
fileFormatVersion: 2
guid: 5fb6339d8ea45bb46969ab49e37c72e8
folderAsset: yes
DefaultImporter:
userData:
assetBundleName:
assetBundleVariant:
fileFormatVersion: 2
guid: e432cdd2f33958044921a1c3065b6f1f
folderAsset: yes
DefaultImporter:
userData:
assetBundleName:
assetBundleVariant:
fileFormatVersion: 2
guid: 3a6dc3b8061e86740942bde694c4d6ed
folderAsset: yes
DefaultImporter:
userData:
assetBundleName:
assetBundleVariant:
fileFormatVersion: 2
guid: 064538dc3e1eb2247b5d02178b80cbe2
folderAsset: yes
DefaultImporter:
userData:
assetBundleName:
assetBundleVariant:
fileFormatVersion: 2
guid: ee7e134b52631994cad0da7d94ad8bfc
folderAsset: yes
DefaultImporter:
userData:
assetBundleName:
assetBundleVariant:
fileFormatVersion: 2
guid: d2a75f58480c5d3449821a5f864c09a3
folderAsset: yes
DefaultImporter:
userData:
assetBundleName:
assetBundleVariant:
fileFormatVersion: 2
guid: bd8b8f4f612f6674bb6c2ba4c3f5482e
folderAsset: yes
DefaultImporter:
userData:
assetBundleName:
assetBundleVariant:
fileFormatVersion: 2
guid: f04d3c25adfae6248b99337d3297308d
folderAsset: yes
DefaultImporter:
userData:
assetBundleName:
assetBundleVariant:
fileFormatVersion: 2
guid: 7fd7a06093df48f46a6588ad521af626
folderAsset: yes
DefaultImporter:
userData:
assetBundleName:
assetBundleVariant:
fileFormatVersion: 2
guid: ee1a034798804d54f81d70acbe8e5acd
folderAsset: yes
DefaultImporter:
userData:
assetBundleName:
assetBundleVariant:
fileFormatVersion: 2
guid: b1f03c8dbdcc3f54da7db702aa46f000
folderAsset: yes
DefaultImporter:
userData:
assetBundleName:
assetBundleVariant:
fileFormatVersion: 2
guid: 4ea3cca300b1baf45bcfd34f07adcd1e
folderAsset: yes
DefaultImporter:
userData:
assetBundleName:
assetBundleVariant:
fileFormatVersion: 2
guid: af33f08d9ecc56649815e59c8a4ece76
folderAsset: yes
DefaultImporter:
userData:
assetBundleName:
assetBundleVariant:
fileFormatVersion: 2
guid: a9ce5f6af4a975140acd1969d7fc59f6
folderAsset: yes
DefaultImporter:
userData:
assetBundleName:
assetBundleVariant:
fileFormatVersion: 2
guid: ac1169caed899e24e8aba9e9f1ad7b8a
folderAsset: yes
DefaultImporter:
userData:
assetBundleName:
assetBundleVariant:
fileFormatVersion: 2
guid: a98eaee85fd018849978f62277c19a39
folderAsset: yes
DefaultImporter:
userData:
assetBundleName:
assetBundleVariant:
fileFormatVersion: 2
guid: dbe94c65d3ae87c4f86510a598a9bbb4
folderAsset: yes
DefaultImporter:
userData:
assetBundleName:
assetBundleVariant:
fileFormatVersion: 2
guid: 16ed3d282118c5b49b3edf005e427cf0
folderAsset: yes
timeCreated: 1463938841
licenseType: Pro
DefaultImporter:
userData:
assetBundleName:
assetBundleVariant:
fileFormatVersion: 2
guid: 7485df7669ded804cb3402554f165eeb
folderAsset: yes
timeCreated: 1462936077
licenseType: Pro
DefaultImporter:
userData:
assetBundleName:
assetBundleVariant:
fileFormatVersion: 2
guid: c94c955445dabbd40856b18173670fc2
folderAsset: yes
timeCreated: 1462936060
licenseType: Pro
DefaultImporter:
userData:
assetBundleName:
assetBundleVariant:
fileFormatVersion: 2
guid: a84a17318e2de2d448b5440b29a570e1
folderAsset: yes
timeCreated: 1463927989
licenseType: Pro
DefaultImporter:
userData:
assetBundleName:
assetBundleVariant:
......@@ -5,33 +5,42 @@ public class AppManager : Singleton<AppManager>
{
public AVProWindowsMediaMovie movieScript;
public Canvas serverCanvas;
public CanvasGroup inactiveCanvas;
public CanvasGroup inUseCanvas;
public CanvasGroup timeoutCanvas;
public CanvasGroup videoCanvas;
public float tweenTime;
public float appTimeout;
void Start ()
public void Initialize()
{
inactiveCanvas.alpha = 1;
inUseCanvas.alpha = 1;
timeoutCanvas.alpha = 0;
videoCanvas.alpha = 0;
StartCoroutine(AppTimeout());
}
private bool _videoPlaying = false;
private float _timeout = 0;
private bool _didTimeout = false;
private IEnumerator AppTimeout()
{
while(true)
{
float timeout = 0;
bool didTimeout = false;
_timeout = 0;
_didTimeout = false;
while (!_videoPlaying)
{
timeout += Time.deltaTime;
print(timeout);
if (!_didTimeout)
_timeout += Time.deltaTime;
if (timeout >= appTimeout && ! didTimeout)
if (_timeout >= appTimeout && !_didTimeout)
{
didTimeout = true;
print("timeout");
_didTimeout = true;
TweenCanvasGroup(inUseCanvas, 0, tweenTime);
TweenCanvasGroup(timeoutCanvas, 1, tweenTime);
}
yield return null;
......@@ -41,8 +50,20 @@ public class AppManager : Singleton<AppManager>
}
}
public void ResetTimer()
{
if (_videoPlaying) return;
TweenCanvasGroup(inUseCanvas, 1, tweenTime);
TweenCanvasGroup(timeoutCanvas, 0, tweenTime);
_timeout = 0;
_didTimeout = false;
}
public void DestroyServerCanvas()
{
if (serverCanvas != null)
Destroy(serverCanvas.gameObject);
}
......@@ -55,8 +76,6 @@ public class AppManager : Singleton<AppManager>
movieScript._filename = filename;
movieScript.LoadMovie(true);
TweenCanvasGroup(inactiveCanvas, 0, 1);
if (movieCoroutine != null)
StopCoroutine(movieCoroutine);
......@@ -65,11 +84,26 @@ public class AppManager : Singleton<AppManager>
private IEnumerator MoviePlaying()
{
StopCoroutine("AppTimeout");
_videoPlaying = true;
while (movieScript.MovieInstance.IsPlaying)
yield return null;
TweenCanvasGroup(videoCanvas, 1, tweenTime);
//TweenCanvasGroup(inUseCanvas, 0, tweenTime);
//TweenCanvasGroup(timeoutCanvas, 0, tweenTime);
float holdTime = movieScript.MovieInstance.DurationSeconds - tweenTime;
yield return new WaitForSeconds(holdTime);
TweenCanvasGroup(videoCanvas, 0, tweenTime);
TweenCanvasGroup(inUseCanvas, 1, tweenTime);
yield return new WaitForSeconds(tweenTime);
_videoPlaying = false;
movieScript.UnloadMovie();
StartCoroutine("AppTimeout");
}
public void TweenCanvasGroup(CanvasGroup group, float alpha, float time)
......@@ -79,6 +113,8 @@ public class AppManager : Singleton<AppManager>
public void TweenCanvasGroup(CanvasGroup group, float alpha, float time, System.Action onComplete)
{
iTween.Stop(group.gameObject);
Hashtable hash = new Hashtable()
{
{ "from", group.alpha },
......
......@@ -18,6 +18,8 @@ public class NetworkUser : NetworkBehaviour
}
else
{
AppManager.Instance.Initialize();
string path = Application.streamingAssetsPath + "/videoSettings.json";
if (!File.Exists(path))
{
......@@ -66,6 +68,9 @@ public class NetworkUser : NetworkBehaviour
void Update ()
{
if (Input.touchCount > 0)
CmdResetTimer();
if (Input.GetKeyDown(KeyCode.Alpha1))
{
var thisDict = _files[0];
......@@ -80,6 +85,12 @@ public class NetworkUser : NetworkBehaviour
}
[Command]
private void CmdResetTimer()
{
AppManager.Instance.ResetTimer();
}
[Command]
public void CmdLoadVideo(string file)
{
AppManager.Instance.LoadMovie(file);
......