public override void DeInit() { Entoids.Clear(); Target = null; Increment = 0; RiseSpeed = 2; //Managers.Game.IsPaused = false; Time.timeScale = 1; Managers.Game.IsPlaying = true; Managers.Game.IsPaused = false; Managers.Display.ShowDelay = 6; Managers.Display.ShowState = true; Managers.Audio.Music.volume = prevVolume; gSkinB.label.fontSize = Mathf.RoundToInt(Screen.width * 0.035f); }
public override void Init() { Managers.Game.IsPaused = true; Managers.Display.ShowDelay = 0; Managers.Display.ShowState = false; prevVolume = Managers.Audio.Music.volume; Managers.Audio.Music.volume = 0.15f; Time.timeScale = 0.00000000000001f; gSkinB = Resources.Load("GUI/GUISkin B") as GUISkin; gSkinB.label.fontSize = Mathf.RoundToInt(Screen.width * 0.035f); //Managers.Game.PlayerPrefab.active = false; //Managers.Game.IsPlaying = false; //Managers.Game.PlayerPrefab.GetComponent<PlayerProperties>().enabled = false; Managers.Game.IsPaused = true; /////////////////////////////////////////////////////////////////////////////////////////////////////// currentState = FishState.Start; if (Briefing) { currentState = FishState.Brief; } Limits = new Rect((Screen.width * .5f) - (Background.width * .5f), (Screen.height * .5f) - (Background.height * .5f), Background.width, Background.height); BoxPos = new Rect(Screen.width * .1f, Screen.height * .025f, Screen.width * .8f, Screen.height * .975f); Back = new BonusObjects.Entity(); // Background Init Back.Init(Background); Bubbles = new BonusObjects.Entity(); // Bubbles Foreground Bubbles.Init(BubblesText); Bubbles.Position = Back.Position; Player = new BonusObjects.Player(); // Player Fisher Bass Player.Init(FishText); Target = null; if (Briefing) { var Entity = new BonusObjects.Dorado(); Entity.Init(FishText); Entity.Position = new Rect(Entity.Position.x, 512, Entity.Position.width, Entity.Position.height); Entoids.Add(Entity); } for (int i = 1; i < 51; i++) { if (i % 5 == 0) { if (i == 50) { if (Managers.Register.Treasure3 == false) { var Entity = new BonusObjects.Treasure(); Entity.Init(FishText); Entity.Position = new Rect(Entity.Position.x, 524 + i * 250, Entity.Position.width, Entity.Position.height); Entoids.Add(Entity); } else { var Entity = new BonusObjects.Item(); Entity.Init(FishText); Entity.Position = new Rect(Entity.Position.x, 524 + i * 250, Entity.Position.width, Entity.Position.height); Entoids.Add(Entity); } } else { var Entity = new BonusObjects.Dorado(); Entity.Init(FishText); Entity.Position = new Rect(Entity.Position.x, 512 + i * 250, Entity.Position.width, Entity.Position.height); Entoids.Add(Entity); } } else { var Entity = new BonusObjects.Palomet(); Entity.Init(FishText); Entity.Position = new Rect(Entity.Position.x, 512 + i * 250, Entity.Position.width, Entity.Position.height); Entoids.Add(Entity); } } LastTime = Time.realtimeSinceStartup; }
public override void OnUpdate() { if (Input.GetKeyDown("escape") || Input.GetButtonDown("Start") || Input.GetButtonDown("Select")) { Managers.Game.PopState(); } //Calculate the time elapsed in seconds ActualTime = Time.realtimeSinceStartup; float TimeStep = (ActualTime - LastTime) * 4; LastTime = ActualTime; Managers.Display.DebugText = " FixeddeltaTime: " + Time.fixedDeltaTime + " Time: " + TimeStep; switch (currentState) { case FishState.Brief: ////////////////////////////////// Increment += TimeStep; Back.Coord = new Rect(0, Increment * -.1f, 1, .1f); // La textura debe estar SI o SI en Wrap: REPEAT! Bubbles.Coord = new Rect(0, Increment * -.1f, 1, 1); // La textura debe estar SI o SI en Wrap: REPEAT! Player.Update(TimeStep); if (Input.GetButtonDown("Fire1") || Input.GetKeyDown("return") || Input.GetButtonDown("Start")) { Increment = 0; currentState = FishState.Start; } break; case FishState.Start: ////////////////////////////////// Increment += TimeStep; Back.Coord = new Rect(0, Increment * -.1f, 1, .1f); // La textura debe estar SI o SI en Wrap: REPEAT! Bubbles.Coord = new Rect(0, Increment * -.1f, 1, 1); // La textura debe estar SI o SI en Wrap: REPEAT! Player.Update(TimeStep); if (Increment > 10) { Increment = 0; currentState = FishState.Falling; } break; case FishState.Falling: ////////////////////////////////// Increment += TimeStep; Back.Coord = new Rect(0, Increment * -.1f, 1, .1f); // La textura debe estar SI o SI en Wrap: REPEAT! Bubbles.Coord = new Rect(0, Increment * -.1f, 1, 1); // La textura debe estar SI o SI en Wrap: REPEAT! Player.Update(TimeStep); for (int i = Entoids.Count - 1; i >= 0; i--) { Entoids[i].Update(TimeStep); Entoids[i].Position.y -= TimeStep * 100; if (Entoids[i].Position.center.y <Limits.yMax && Entoids[i].Position.center.y> Limits.yMin + 32) { //if (Player.CheckCollision(Entoids[i]) > 0) switch (Player.CheckCollision(Entoids[i])) { case 1: // Palomet currentState = FishState.Lose; break; case 2: // Dorado Target = Entoids[i]; Deep = Increment; currentState = FishState.Rising; break; case 3: // Treasure Target = Entoids[i]; //Briefing = false; currentState = FishState.Rising; break; case 4: // ItemFire Target = Entoids[i]; currentState = FishState.Rising; break; case 5: // ItemHat Target = Entoids[i]; currentState = FishState.Rising; break; case 6: // ItemWhistler Target = Entoids[i]; currentState = FishState.Rising; break; } } } if (Increment > 135) { currentState = FishState.Lose; } break; case FishState.Rising: ////////////////////////////////// //Increment -= TimeStep; if (Input.GetButtonDown("Fire1") || Input.GetButtonDown("Fire2") || Input.GetButtonDown("Jump")) // Like JUmp { RiseSpeed = 1; } RiseSpeed -= TimeStep; // Like Gravity RiseSpeed = Mathf.Clamp(RiseSpeed, -1, 2); Increment -= RiseSpeed * TimeStep; if (Increment < 0) { timeLapse = 15; Briefing = false; currentState = FishState.Win; } if (Increment > 135) { currentState = FishState.Lose; } Back.Coord = new Rect(0, Increment * -.1f, 1, .1f); // La textura debe estar SI o SI en Wrap: REPEAT! Bubbles.Coord = new Rect(0, Increment * -.1f, 1, 1); // La textura debe estar SI o SI en Wrap: REPEAT! if (Player.Position.y < (Screen.height * .5f)) { Player.Position.y += TimeStep * 30; // Update } Player.Update(TimeStep); // Update for (int i = Entoids.Count - 1; i >= 0; i--) { if (Entoids[i] != Target) { Entoids[i].Update(TimeStep); // Update Entoids[i].Position.y += RiseSpeed * 100 * TimeStep; //Position.y += -timeStep * 100 * Speed; } else { if (Entoids[i].myId == BonusObjects.Entity.typeId.Dorado) { if (Mathf.Sin(Time.realtimeSinceStartup * 24) > 0) { Entoids[i].Coord = new Rect(.25f, .5f, .25f, .25f); } else { Entoids[i].Coord = new Rect(.5f, .5f, -.25f, .25f); } } Entoids[i].Position = new Rect(Player.Position.center.x - (Entoids[i].Sprite.width * .25f), Player.Position.yMin, Entoids[i].Position.width, Entoids[i].Position.height); } if (Entoids[i].Position.center.y <Limits.yMax && Entoids[i].Position.center.y> Limits.yMin + 32) { if (Player.CheckCollision(Entoids[i]) == 1) { currentState = FishState.Lose; } } } break; case FishState.Win: timeLapse -= TimeStep; if (timeLapse < 0) { switch (Target.myId) { case BonusObjects.Entity.typeId.Dorado: // Dorado if (Deep < 60) { Managers.Register.Health++; // Give one Health plus } //else if (Deep < 80) // Managers.Register.Health += 2; else { Managers.Register.Health = 3; // Give Full Health plus } break; case BonusObjects.Entity.typeId.Treasure: // Treasure Managers.Register.Treasure3 = true; // Give Treasure3 break; case BonusObjects.Entity.typeId.ItemFire: Managers.Register.FireGauge++; Managers.Register.FireGauge = Mathf.Clamp(Managers.Register.FireGauge, 0, 3); Managers.Game.PlayerPrefab.renderer.material.SetFloat("_KeyY", 0.25f); Managers.Register.Inventory = DataManager.Items.Fire; break; case BonusObjects.Entity.typeId.ItemHat: Managers.Game.PlayerPrefab.renderer.material.SetFloat("_KeyY", 0.05f); Managers.Register.Inventory = DataManager.Items.Hat; break; case BonusObjects.Entity.typeId.ItemWhistler: Managers.Game.PlayerPrefab.renderer.material.SetFloat("_KeyY", 0.25f); Managers.Register.Inventory = DataManager.Items.Whistler; break; } timeLapse = 15; Managers.Game.PopState(); } break; case FishState.Lose: timeLapse -= TimeStep; if (timeLapse < 0) { timeLapse = 5; Managers.Game.PopState(); } break; } }