Finish game intro cutscene

This commit is contained in:
Sweet Tini
2020-02-02 16:01:40 -05:00
parent 94ace763a5
commit e9ccb280a1
9 changed files with 555 additions and 32 deletions

View File

@@ -1,6 +1,6 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.SceneManagement;
public class GameIntroCutscene : Cutscene
{
@@ -9,13 +9,13 @@ public class GameIntroCutscene : Cutscene
public SpriteRenderer sceneC;
public Sprite[] sprites;
public Camera camera;
public Camera gameCamera;
private Vector3 basePosition;
private int shakeTime = 0;
private void Start()
{
basePosition = camera.transform.position;
basePosition = gameCamera.transform.position;
}
@@ -23,12 +23,12 @@ public class GameIntroCutscene : Cutscene
{
if (shakeTime > 0)
{
camera.transform.position = basePosition + new Vector3(
gameCamera.transform.position = basePosition + new Vector3(
Random.Range(-0.2f, 0.2f), Random.Range(-0.2f, 0.2f), basePosition.z);
shakeTime--;
if (shakeTime == 0)
camera.transform.position = basePosition;
gameCamera.transform.position = basePosition;
}
}
@@ -41,28 +41,37 @@ public class GameIntroCutscene : Cutscene
{
yield return TestA();
yield return TestB();
yield return TestC();
}
protected override void OnSceneEnd()
{
var nextIndex = SceneManager.GetActiveScene().buildIndex + 1;
if (SceneManager.sceneCountInBuildSettings > nextIndex)
SceneManager.LoadScene(nextIndex);
}
IEnumerator TestA()
{
sceneA.sprite = sprites[0];
sceneB.sprite = sprites[1];
sceneA.sprite = sprites[1];
sceneB.sprite = sprites[0];
sceneC.sprite = sprites[2];
for (int i = 0; i <= 150; i++)
{
var percent = 1f * i / 150;
sceneA.transform.position = Vector3.Lerp(
new Vector3(-0.16f, -0.04f, 0f),
new Vector3(3.08f, -0.04f, 0f),
new Vector3(-0.16f, -0.04f, 10f),
new Vector3(3.08f, -0.04f, 10f),
percent);
sceneB.transform.position = Vector3.Lerp(
new Vector3(1.5f, -1.22f, -2f),
new Vector3(-2.2f, -1.22f, -2f),
new Vector3(2.02f, -1.22f, 0f),
new Vector3(.4f, -1.22f, 0f),
percent);
sceneC.transform.position = Vector3.Lerp(
new Vector3(0.38f, -1.08f, -1f),
new Vector3(3.62f, -1.08f, -1f),
new Vector3(0.38f, -1.08f, 9f),
new Vector3(3.62f, -1.08f, 9f),
percent);
yield return null;
}
@@ -77,19 +86,42 @@ public class GameIntroCutscene : Cutscene
IEnumerator TestB()
{
sceneA.sprite = sprites[4];
sceneB.sprite = sprites[5];
sceneA.sprite = sprites[5];
sceneB.sprite = sprites[4];
sceneC.gameObject.SetActive(false);
sceneA.transform.position = new Vector3(0f, 0f, 0f);
sceneB.transform.position = new Vector3(0f, 0f, -10f);
sceneA.transform.position = new Vector3(0f, 0f, 1f);
sceneB.transform.position = new Vector3(0f, 0f, 0f);
Shake(60);
Shake(30);
for (int i = 0; i <= 60; i++)
for (int i = 0; i <= 90; i++)
{
sceneA.transform.localScale.Set(i % 4 >= 2 ? -1f : 1f, 1f, 1f);
var test = i % 4 >= 2;
sceneA.transform.localScale = new Vector3(test ? -1f : 1f, 1f, 1f);
yield return null;
}
sceneA.transform.localScale = Vector3.one;
}
IEnumerator TestC()
{
sceneA.sprite = sprites[1];
sceneB.sprite = sprites[0];
sceneC.sprite = sprites[3];
sceneC.gameObject.SetActive(true);
sceneA.transform.position = new Vector3(3.08f, -0.04f, 10f);
sceneB.transform.position = new Vector3(.4f, -1.22f, 0f);
sceneC.transform.position = new Vector3(3.62f, -1.08f, 9f);
yield return new WaitForSeconds(.8f);
sceneC.sprite = sprites[2];
sceneB.sprite = sprites[6];
Shake(20);
yield return new WaitForSeconds(1.5f);
}
}