diff --git a/FallingLaunch.js b/FallingLaunch.js index 2a04c2b..1d18141 100644 --- a/FallingLaunch.js +++ b/FallingLaunch.js @@ -15,6 +15,7 @@ static var restPosition : Vector3; static var neutralPosFlat : Vector3 = Vector3(0,0,-1.0); static var neutralPosTiltedRegular : Vector3 = Vector3(.6,0,-.9); static var neutralPosTiltedFlipped : Vector3 = Vector3(-.6,0,-.9); +static var neutralPosVertical : Vector3 = Vector3(1.0,0,0.0); static var neutralPosTilted : Vector3; static var accelerator : Vector3; static var calibrationRotation : Quaternion; @@ -151,8 +152,11 @@ function OnLevelWasLoaded (level : int) { function Calibrate () { tiltable = false; + if (PlayerPrefs.GetInt("TiltNeutral", 0) == 1) {restPosition = neutralPosTilted;} - else {restPosition = neutralPosFlat;} + else if (PlayerPrefs.GetInt("TiltNeutral", 0) == 2) {restPosition = neutralPosVertical;} + else {restPosition = neutralPosFlat;} + if (PlayerPrefs.GetInt("invertHorizAxis", 0) == 1) {invertHorizAxisVal = -1;} else {invertHorizAxisVal = 1;} if (PlayerPrefs.GetInt("invertVertAxis", 0) == 1) {invertVertAxisVal = -1;} @@ -160,30 +164,47 @@ function Calibrate () { //acceleratorSnapshot = Input.acceleration; acceleratorSnapshot = Vector3(0.0,0.0,-1.0); calibrationRotation = Quaternion.FromToRotation(acceleratorSnapshot, restPosition); + tiltable = true; } function CalibrateInLevel () { tiltable = false; + if (PlayerPrefs.GetInt("TiltNeutral", 0) == 1) {restPosition = neutralPosTilted;} - else {restPosition = neutralPosFlat;} + else if (PlayerPrefs.GetInt("TiltNeutral", 0) == 2) {restPosition = neutralPosVertical;} + else {restPosition = neutralPosFlat;} + if (PlayerPrefs.GetInt("invertHorizAxis", 0) == 1) {invertHorizAxisVal = -1;} else {invertHorizAxisVal = 1;} if (PlayerPrefs.GetInt("invertVertAxis", 0) == 1) {invertVertAxisVal = -1;} else {invertVertAxisVal = 1;} calibrationRotation = Quaternion.FromToRotation(acceleratorSnapshot, restPosition); + tiltable = true; } -function ChangeTilt (toFlat : boolean) { - if (toFlat == false) { - PlayerPrefs.SetInt("TiltNeutral", 1); - Debug.Log("tilt set to angled."); - } - else { +function ChangeTilt (toFlat : int) { + if (toFlat == 2) { + PlayerPrefs.SetInt("TiltNeutral", 2); + Debug.Log("tilt set to vertical."); + } + else if (toFlat == 0) { PlayerPrefs.SetInt("TiltNeutral", 0); Debug.Log("tilt set to flat."); } + else { + PlayerPrefs.SetInt("TiltNeutral", 1); + Debug.Log("tilt set to angled."); + } CalibrateInLevel(); -} \ No newline at end of file +} + +// function Update () { +// ListCurrentAccelerometer(); +// } +// +// function ListCurrentAccelerometer() { +// Debug.Log ("Your rotation is " + Input.acceleration); +// } \ No newline at end of file diff --git a/fallingStartMenuUI.js b/fallingStartMenuUI.js index de475ac..7fa421e 100644 --- a/fallingStartMenuUI.js +++ b/fallingStartMenuUI.js @@ -26,8 +26,11 @@ var initialRespawn : Respawn; var angledTiltLabel : UIButton; var flatTiltLabel : UIButton; +var verticalTiltLabel : UIButton; + var angledTiltChooser : UIButton; var flatTiltChooser : UIButton; +var verticalTiltChooser : UIButton; var TogglingTiltNeutral : boolean = false; var levelToLoad : String = ""; @@ -65,9 +68,6 @@ var invertVertAxisTextNo : UIButton; var optionsButton : UIButton; var isSaving : boolean = false; -var optionsAngledTiltChooser : UIButton; -var optionsFlatTiltChooser : UIButton; - var openSiteButtonText : UIButton; @@ -282,17 +282,26 @@ function Start () { angledTiltLabel = UIButton.create("neutralAngle45.png","neutralAngle45.png", 0, 0 ); angledTiltLabel.normalTouchOffsets = new UIEdgeOffsets( 30 ); angledTiltLabel.highlightedTouchOffsets = new UIEdgeOffsets( 30 ); - angledTiltLabel.pixelsFromCenter( 0, -90 ); + // angledTiltLabel.pixelsFromCenter( 0, 0 ); + angledTiltLabel.pixelsFromCenter( 0, 90 ); angledTiltLabel.onTouchUpInside += AngledTiltNeutral; angledTiltLabel.hidden = true; flatTiltLabel = UIButton.create("neutralAngleFlat.png","neutralAngleFlat.png", 0, 0 ); flatTiltLabel.normalTouchOffsets = new UIEdgeOffsets( 30 ); flatTiltLabel.highlightedTouchOffsets = new UIEdgeOffsets( 30 ); - flatTiltLabel.pixelsFromCenter( 0, 90 ); + // flatTiltLabel.pixelsFromCenter( 0, -120 ); + flatTiltLabel.pixelsFromCenter( 0, -90 ); flatTiltLabel.onTouchUpInside += FlatTiltNeutral; flatTiltLabel.hidden = true; + verticalTiltLabel = UIButton.create("neutralAngleVertical.png","neutralAngleVertical.png", 0, 0 ); + verticalTiltLabel.normalTouchOffsets = new UIEdgeOffsets( 30 ); + verticalTiltLabel.highlightedTouchOffsets = new UIEdgeOffsets( 30 ); + // verticalTiltLabel.pixelsFromCenter( 0, 120 ); + // verticalTiltLabel.onTouchUpInside += VerticalTiltNeutral; + verticalTiltLabel.hidden = true; + angledTiltChooser = UIButton.create("neutralAngle45.png","neutralAngle45.png", 0, 0 ); angledTiltChooser.normalTouchOffsets = new UIEdgeOffsets( 20 ); @@ -310,6 +319,13 @@ function Start () { flatTiltChooser.onTouchUpInside += ToggleTiltNeutral; flatTiltChooser.hidden = true; + verticalTiltChooser = UIButton.create("neutralAngleVertical.png","neutralAngleVertical.png", 0, 0 ); + verticalTiltChooser.normalTouchOffsets = new UIEdgeOffsets( 20 ); + verticalTiltChooser.highlightedTouchOffsets = new UIEdgeOffsets( 20 ); + verticalTiltChooser.positionFromLeft( -.16f, .52f ); + verticalTiltChooser.onTouchUpInside += ToggleTiltNeutral; + verticalTiltChooser.hidden = true; + openSiteButtonText = UIButton.create("tutorialBackground.png","tutorialBackground.png", 40, 40); openSiteButtonText.positionFromCenter(0,0); @@ -465,31 +481,33 @@ function ShowStart() { //yield FixWrongInitialScreenOrientation(); } + function DisplayTiltChooser () { if (PlayerPrefs.GetInt("TiltNeutral", 0) == 1) { angledTiltChooser.hidden = false; + flatTiltChooser.hidden = true; + verticalTiltChooser.hidden = true; + angledTiltChooser.alphaFromTo(1.0f, 0.0f, 1.0f, Easing.Sinusoidal.easeIn); } + else if (PlayerPrefs.GetInt("TiltNeutral", 0) == 2) { + angledTiltChooser.hidden = true; + flatTiltChooser.hidden = true; + verticalTiltChooser.hidden = false; + + verticalTiltChooser.alphaFromTo(1.0f, 0.0f, 1.0f, Easing.Sinusoidal.easeIn); + } else { + angledTiltChooser.hidden = true; flatTiltChooser.hidden = false; + verticalTiltChooser.hidden = true; + flatTiltChooser.alphaFromTo(1.0f, 0.0f, 1.0f, Easing.Sinusoidal.easeIn); } - tiltText2.alphaFromTo(1.0f, 0.0f, 1.0f, Easing.Sinusoidal.easeIn); + tiltText2.alphaFromTo(1.0f, 0.0f, 1.0f, Easing.Sinusoidal.easeIn); } -// function DisplayTilt () { -// if (PlayerPrefs.GetInt("TiltNeutral", 0) == 1) { -// flatTiltChooser.hidden = true; -// angledTiltChooser.hidden = false; -// angledTiltChooser.alphaFromTo(2.0f, 0.0f, 1.0f, Easing.Sinusoidal.easeOut); -// } -// else { -// flatTiltChooser.hidden = false; -// angledTiltChooser.hidden = true; -// flatTiltChooser.alphaFromTo(2.0f, 0.0f, 1.0f, Easing.Sinusoidal.easeOut); -// } -// } function CheckTiltAngle() { canShowStart = false; @@ -658,14 +676,22 @@ function ToggleTiltNeutral () { TogglingTiltNeutral = true; if (PlayerPrefs.GetInt("TiltNeutral", 0) == 1) { - fallingLaunchComponent.ChangeTilt(true); - flatTiltChooser.hidden = false; + fallingLaunchComponent.ChangeTilt(2); + flatTiltChooser.hidden = true; angledTiltChooser.hidden = true; + verticalTiltChooser.hidden = false; } + else if (PlayerPrefs.GetInt("TiltNeutral", 0) == 2) { + fallingLaunchComponent.ChangeTilt(0); + flatTiltChooser.hidden = false; + angledTiltChooser.hidden = true; + verticalTiltChooser.hidden = true; + } else { - fallingLaunchComponent.ChangeTilt(false); - angledTiltChooser.hidden = false; + fallingLaunchComponent.ChangeTilt(1); flatTiltChooser.hidden = true; + angledTiltChooser.hidden = false; + verticalTiltChooser.hidden = true; } TogglingTiltNeutral = false; @@ -678,13 +704,14 @@ function FlatTiltNeutral () { TogglingTiltNeutral = true; - fallingLaunchComponent.ChangeTilt(true); + fallingLaunchComponent.ChangeTilt(0); flatTiltLabel.hidden = false; angledTiltLabel.hidden = true; + verticalTiltLabel.hidden = true; TogglingTiltNeutral = false; - fadeAndLoad(true); + fadeAndLoad(0); } } @@ -693,28 +720,48 @@ function AngledTiltNeutral () { TogglingTiltNeutral = true; - fallingLaunchComponent.ChangeTilt(false); + fallingLaunchComponent.ChangeTilt(1); angledTiltLabel.hidden = false; flatTiltLabel.hidden = true; + verticalTiltLabel.hidden = true; TogglingTiltNeutral = false; - fadeAndLoad(false); + fadeAndLoad(1); } } +function VerticalTiltNeutral () { + if (TogglingTiltNeutral == false) { + + TogglingTiltNeutral = true; + + fallingLaunchComponent.ChangeTilt(2); + angledTiltLabel.hidden = true; + flatTiltLabel.hidden = true; + verticalTiltLabel.hidden = false; + + TogglingTiltNeutral = false; + + fadeAndLoad(2); + } +} -function fadeAndLoad (flatNeutral : boolean) { +function fadeAndLoad (flatNeutral : int) { //StartLevelLoad(level1); tiltText1.alphaTo(1.0f, 0.0f, Easing.Sinusoidal.easeOut); - if (flatNeutral) { + if (flatNeutral == 0) { flatTiltLabel.alphaTo(1.0f, 0.0f, Easing.Sinusoidal.easeIn); - angledTiltLabel.hidden = true; + // angledTiltLabel.hidden = true; } - else { + else if (flatNeutral == 1) { angledTiltLabel.alphaTo(1.0f, 0.0f, Easing.Sinusoidal.easeIn); - flatTiltLabel.hidden = true; + // flatTiltLabel.hidden = true; + } + else { + verticalTiltLabel.alphaTo(1.0f, 0.0f, Easing.Sinusoidal.easeIn); + // verticalTiltLabel.hidden = true; } yield WaitForSeconds (1.0f); @@ -733,6 +780,7 @@ function fadeAndLoad (flatNeutral : boolean) { function ShowTiltNeutralOptions () { flatTiltLabel.hidden = false; angledTiltLabel.hidden = false; + // verticalTiltLabel.hidden = false; tiltText1.hidden = false; rightArrow.hidden = true; @@ -743,6 +791,8 @@ function ShowTiltNeutralOptions () { tiltText1.alphaFromTo(1.0f, 0.0f, 0.8f, Easing.Sinusoidal.easeOut); flatTiltLabel.alphaFromTo(1.0f, 0.0f, 1.0f, Easing.Sinusoidal.easeOut); angledTiltLabel.alphaFromTo(1.0f, 0.0f, 1.0f, Easing.Sinusoidal.easeOut); + // verticalTiltLabel.alphaFromTo(1.0f, 0.0f, 1.0f, Easing.Sinusoidal.easeOut); + } function StartLevelLoad(levelName: String) { @@ -770,6 +820,7 @@ function FadeOutLevelButtons(timer : float) { leftArrow.alphaTo(timer, 0.0f, Easing.Sinusoidal.easeOut); angledTiltChooser.alphaTo(timer, 0.0f, Easing.Sinusoidal.easeOut); flatTiltChooser.alphaTo(timer, 0.0f, Easing.Sinusoidal.easeOut); + verticalTiltChooser.alphaTo(timer, 0.0f, Easing.Sinusoidal.easeOut); aboutButtonStart.alphaTo(timer, 0.0f, Easing.Sinusoidal.easeOut); howToButton.alphaTo(timer, 0.0f, Easing.Sinusoidal.easeOut); optionsButton.alphaTo(timer, 0.0f, Easing.Sinusoidal.easeOut); @@ -835,6 +886,7 @@ function HideOptions() { angledTiltChooser.hidden = true; flatTiltChooser.hidden = true; + verticalTiltChooser.hidden = true; if (PlayerPrefs.HasKey("LatestLevel")) { optionsButton.hidden = false; diff --git a/fallingUITest.js b/fallingUITest.js index 58ab81d..f82c2fe 100644 --- a/fallingUITest.js +++ b/fallingUITest.js @@ -33,6 +33,7 @@ var screenAspectRatio : float = ScreenH / ScreenW; var angledTiltLabel : UIButton; var flatTiltLabel : UIButton; +var verticalTiltLabel : UIButton; var TogglingTiltNeutral : boolean = false; var boldText : UIText; @@ -373,6 +374,13 @@ function Start () { flatTiltLabel.onTouchUpInside += ToggleTiltNeutral; flatTiltLabel.hidden = true; + verticalTiltLabel = UIButton.create("neutralAngleVertical.png","neutralAngleVertical.png", 0, 0 ); + verticalTiltLabel.normalTouchOffsets = new UIEdgeOffsets( 30 ); + verticalTiltLabel.highlightedTouchOffsets = new UIEdgeOffsets( 30 ); + verticalTiltLabel.positionFromLeft( -.16f, .52f ); + verticalTiltLabel.onTouchUpInside += ToggleTiltNeutral; + verticalTiltLabel.hidden = true; + circleReticle = UIButton.create("circle-reticle.png","circle-reticle.png", 0, 0); circleReticle.positionCenter(); @@ -403,6 +411,9 @@ function Start () { if (FallingLaunch.restPosition == FallingLaunch.neutralPosFlat) { GA.API.Design.NewEvent("TiltPreference:" + Application.loadedLevelName, 0.0f, transform.parent.position); } + else if (FallingLaunch.restPosition == FallingLaunch.neutralPosVertical) { + GA.API.Design.NewEvent("TiltPreference:" + Application.loadedLevelName, 90.0f, transform.parent.position); + } else { GA.API.Design.NewEvent("TiltPreference:" + Application.loadedLevelName, 45.0f, transform.parent.position); } @@ -522,6 +533,7 @@ function UnPauseGame(resume : boolean) { angledTiltLabel.hidden = true; flatTiltLabel.hidden = true; + verticalTiltLabel.hidden = true; FallingPlayer.isPausable = resume; holdingPauseButton = false; @@ -659,6 +671,7 @@ function LevelSelect() { angledTiltLabel.hidden = true; flatTiltLabel.hidden = true; + verticalTiltLabel.hidden = true; loadNewLevelButton.hidden = true; ShowBackButton(); @@ -718,6 +731,7 @@ function HideOptions() { angledTiltLabel.hidden = true; flatTiltLabel.hidden = true; + verticalTiltLabel.hidden = true; } @@ -759,9 +773,18 @@ function DisplayTiltChooser () { if (PlayerPrefs.GetInt("TiltNeutral", 0) == 1) { angledTiltLabel.hidden = false; + flatTiltLabel.hidden = true; + verticalTiltLabel.hidden = true; + } + else if (PlayerPrefs.GetInt("TiltNeutral", 0) == 2) { + angledTiltLabel.hidden = true; + flatTiltLabel.hidden = true; + verticalTiltLabel.hidden = false; } else { + angledTiltLabel.hidden = true; flatTiltLabel.hidden = false; + verticalTiltLabel.hidden = true; } } @@ -891,6 +914,7 @@ function LoadHomeViaMenu() { angledTiltLabel.hidden = true; flatTiltLabel.hidden = true; + verticalTiltLabel.hidden = true; FallingLaunch.hasSetAccel = false; Application.LoadLevel(homeLevel); @@ -1014,14 +1038,22 @@ function ToggleTiltNeutral () { TogglingTiltNeutral = true; if (PlayerPrefs.GetInt("TiltNeutral", 0) == 1) { - fallingLaunchComponent.ChangeTilt(true); - flatTiltLabel.hidden = false; + fallingLaunchComponent.ChangeTilt(2); + flatTiltLabel.hidden = true; angledTiltLabel.hidden = true; + verticalTiltLabel.hidden = false; } + else if (PlayerPrefs.GetInt("TiltNeutral", 0) == 2) { + fallingLaunchComponent.ChangeTilt(0); + flatTiltLabel.hidden = false; + angledTiltLabel.hidden = true; + verticalTiltLabel.hidden = true; + } else { - fallingLaunchComponent.ChangeTilt(false); - angledTiltLabel.hidden = false; + fallingLaunchComponent.ChangeTilt(1); flatTiltLabel.hidden = true; + angledTiltLabel.hidden = false; + verticalTiltLabel.hidden = true; } TogglingTiltNeutral = false; @@ -1029,22 +1061,32 @@ function ToggleTiltNeutral () { } } -function DisplayTilt () { - if (PlayerPrefs.GetInt("TiltNeutral", 0) == 1) { - flatTiltLabel.hidden = true; - angledTiltLabel.hidden = false; - } - else { - flatTiltLabel.hidden = false; - angledTiltLabel.hidden = true; - } -} +// function DisplayTilt () { +// if (PlayerPrefs.GetInt("TiltNeutral", 0) == 1) { +// flatTiltLabel.hidden = true; +// angledTiltLabel.hidden = false; +// verticalTiltLabel.hidden = true; +// } +// else if (PlayerPrefs.GetInt("TiltNeutral", 0) == 2) { +// flatTiltLabel.hidden = true; +// angledTiltLabel.hidden = true; +// verticalTiltLabel.hidden = false; +// } +// else { +// flatTiltLabel.hidden = false; +// angledTiltLabel.hidden = true; +// verticalTiltLabel.hidden = true; +// } +// } function DisplayTiltOnPause () { if (PlayerPrefs.GetInt("TiltNeutral", 0) == 1) { angledTiltLabel.hidden = false; } + else if (PlayerPrefs.GetInt("TiltNeutral", 0) == 2) { + verticalTiltLabel.hidden = false; + } else { flatTiltLabel.hidden = false; }