diff --git a/AnalyticsLevelArea.js b/AnalyticsLevelArea.js new file mode 100644 index 0000000..505e6e3 --- /dev/null +++ b/AnalyticsLevelArea.js @@ -0,0 +1,13 @@ +#pragma strict + +var thisLevelAreaName : String; + +function Start () { + +} + +function OnTriggerEnter (other : Collider) { + if (other.gameObject.CompareTag ("Player")){ + FallingLaunch.thisLevelArea = thisLevelAreaName; + } +} \ No newline at end of file diff --git a/FallingLaunch.js b/FallingLaunch.js index 3d14a4e..e5bf708 100644 --- a/FallingLaunch.js +++ b/FallingLaunch.js @@ -13,6 +13,7 @@ static var secondsAlive : float = 0; static var secondsInLevel : float = 0; static var thisLevel : String = "unknownLevel"; static var thisLevelArea : String = "start"; +//var myTimer : GAUserTimer; enum iPads { iPadUnknown, @@ -68,7 +69,7 @@ function Awake () { // (iPads.iPad1Gen | iPads.iPad2Gen | iPads.iPad3Gen | iPads.iPad4Gen | iPads.iPadMini1Gen | iPads.iPadUnknown)) != 0) { flipMultiplier = (isTablet == true) ? (2 * flipMultiplier) : (1.5 * flipMultiplier); - + DontDestroyOnLoad (this); alreadyLaunched = true; Application.targetFrameRate = targetFPS; @@ -79,6 +80,25 @@ function Awake () { } } -function Update () { +function Start () { +// myTimer = new GAUserTimer("Timer", "Session Length"); +// myTimer.Start(); +} +function OnApplicationPause(pauseStatus: boolean) { + //paused = pauseStatus; + if (pauseStatus) { +// myTimer.Stop(); +// GoogleAnalytics.instance.Add(myTimer); +// GoogleAnalytics.instance.Dispatch(); + } +} + +function OnLevelWasLoaded (level : int) { + //loadedLevel = Application.loadedLevelName; +// var loadedLevel : GALevel = new GALevel(); +// GoogleAnalytics.instance.Add(loadedLevel); +// GoogleAnalytics.instance.Dispatch(); + + //Debug.Log("my loaded level is... " + Application.loadedLevelName); } \ No newline at end of file diff --git a/FallingPlayer.js b/FallingPlayer.js index c9bc17e..3c38376 100644 --- a/FallingPlayer.js +++ b/FallingPlayer.js @@ -73,6 +73,8 @@ function Start() { UIscriptComponent = UIscriptName.GetComponent(fallingUITest); lifeStartTime = Time.time; levelStartTime = Time.time; + FallingLaunch.thisLevel = Application.loadedLevelName; + FallingLaunch.thisLevelArea = "start"; AudioListener.pause = false; // fadeInAudio (); FadeAudio (0.1, FadeDir.In); @@ -183,6 +185,13 @@ function OnCollisionEnter (collision : Collision) { lifeCountdown.LifeFlashTextureScript.FadeFlash (1, FadeDir.Out); UIscriptComponent.HideGUI(); FallingLaunch.secondsAlive = (Time.time - lifeStartTime); + + GA.API.Design.NewEvent("Death:Collision:" + Application.loadedLevelName + ":" + FallingLaunch.thisLevelArea, FallingLaunch.secondsAlive, transform.position); + + //var deathCollideEvent : GAEvent = new GAEvent("Death", "Collision", FallingLaunch.thisLevelArea, FallingLaunch.secondsAlive); + //GoogleAnalytics.instance.Add(deathCollideEvent); + //GoogleAnalytics.instance.Dispatch(); + //Debug.Log("you died in the area " + FallingLaunch.thisLevelArea); //Debug.Log("You died in a fatal collision with " + collision.gameObject); yield DeathRespawn (); //isPausable = true; diff --git a/MoveController.js b/MoveController.js index b09eef7..260944d 100644 --- a/MoveController.js +++ b/MoveController.js @@ -130,7 +130,9 @@ fingerCount = 0; if (fingerCount > 1) { //speedUp(); - if (Slowdown < 1) {speedingUp = 2; Slowdown = 18000; speedsUp();} + if (Slowdown < 1) {speedingUp = 2; Slowdown = 18000; speedsUp(); + GA.API.Design.NewEvent("Control:SpeedBoost:Start" + Application.loadedLevelName + ":" + FallingLaunch.thisLevelArea, FallingLaunch.secondsAlive, transform.position); + } //if (Slowdown < 1) //{speedingUp = 2; speedsUp(); Slowdown = 18000; } diff --git a/ProjectileDestroy.js b/ProjectileDestroy.js index e30de69..ba90dfd 100644 --- a/ProjectileDestroy.js +++ b/ProjectileDestroy.js @@ -3,6 +3,7 @@ var removeTime : float = 10.0; var growAtLaunch : boolean = false; var growTime : float = 7.0; +var ProjectileName : String = "Generic"; function Start () { Destroy(gameObject, removeTime); @@ -12,6 +13,8 @@ function Start () { // this is so fireballs that hit the player don't interfere with newly-spawned ones in the scene. function OnCollisionEnter (collision : Collision) { if (collision.gameObject.CompareTag ("Player")) { +// throw an analytics event! + GA.API.Design.NewEvent("Projectile:Collision:" + ProjectileName, FallingLaunch.secondsAlive, transform.position); rigidbody.isKinematic = true; Destroy(gameObject, 1); } diff --git a/lifeCountdown.js b/lifeCountdown.js index 08c8275..717bc9e 100644 --- a/lifeCountdown.js +++ b/lifeCountdown.js @@ -5,7 +5,6 @@ static var LifeFlashTextureScript : GUITextureLaunch; LifeFlashTextureScript = LifeFlashTexture.GetComponent("GUITextureLaunch"); static var inOutro : boolean = false; - static var isAlive : int = 0; var UIscriptName : GameObject; @@ -60,8 +59,14 @@ function TickingAway (delay : float) { FallingPlayer.isPausable = false; LifeFlashTextureScript.FadeFlash (1, FadeDir.Out); FallingLaunch.secondsAlive = (Time.time - FallingPlayer.lifeStartTime); - //GA.API.Design.NewEvent("Death:Drained:"+Application.loadedLevelName, FallingLaunch.secondsAlive, transform.position); + GA.API.Design.NewEvent("Death:Drained:"+Application.loadedLevelName + ":" + FallingLaunch.thisLevelArea, FallingLaunch.secondsAlive, transform.position); + //Debug.Log("You died!"); //GA.API.Design.NewEvent("Death:Drained:", FallingLaunch.secondsAlive, transform.position); + + //var deathDrainEvent : GAEvent = new GAEvent("Death", "Drained", FallingLaunch.thisLevelArea, FallingLaunch.secondsAlive); + //GoogleAnalytics.instance.Add(deathDrainEvent); + //GoogleAnalytics.instance.Dispatch(); + yield GetComponent(FallingPlayer).DeathRespawn (); // GameAnalytics syntax: GA.API.Design.NewEvent(String eventName, float eventValue, Vector3 trackPosition);