Skip to content

Instantly share code, notes, and snippets.

@dave-santiano
Created May 17, 2017 04:30
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save dave-santiano/2cea3e9434d03c80bccc7b37658202d7 to your computer and use it in GitHub Desktop.
Save dave-santiano/2cea3e9434d03c80bccc7b37658202d7 to your computer and use it in GitHub Desktop.
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class MainStory : MonoBehaviour {
public GameObject[] bird_messages;
public GameObject[] cigarette_messages;
public GameObject[] noodle_messages;
public GameObject[] mobike_messages;
public GameObject[] pipixia_messages;
public GameObject[] bubble_messages;
public GameObject[] bamboo_messages;
public GameObject[] smog_messages;
public GameObject[] dancing_messages;
public GameObject[] no_end_messages;
public GameObject[] story_objects;
public GameObject[] image_tags;
public GameObject[] ending_messages;
public GameObject[] ending_characters;
public GameObject the_bird;
public ParticleSystem particles;
public AudioSource[] audio;
public Canvas UI;
private int bird_message_count = 0;
private int cig_message_count = 0;
private int noodle_message_count = 0;
private int mobike_message_count = 0;
private int pipixia_message_count = 0;
private int bubble_message_count = 0;
private int bamboo_message_count = 0;
private int smog_message_count = 0;
private int dancing_message_count = 0;
private int ending_message_count = 0;
private int gathered_objects = 0;
private Image image;
private bool begin = false;
private bool ending = false;
private bool pipixia_convinced = false;
private int objective_number = 1;
void Start () {
//Set all messages to false, then set the first one to true
for (int i = 1; i < bird_messages.Length; i++) {bird_messages [i].SetActive (false);}
for (int i = 1; i < cigarette_messages.Length; i++) {cigarette_messages [i].SetActive (false);}
for (int i = 1; i < noodle_messages.Length; i++) {noodle_messages [i].SetActive (false);}
for (int i = 1; i < mobike_messages.Length; i++) {mobike_messages [i].SetActive (false);}
for (int i = 0; i < pipixia_messages.Length; i++) {pipixia_messages [i].SetActive (false);}
for (int i = 1; i < bubble_messages.Length; i++) {bubble_messages [i].SetActive (false);}
for (int i = 1; i < bamboo_messages.Length; i++) {bamboo_messages [i].SetActive (false);}
for (int i = 1; i < smog_messages.Length; i++) {smog_messages [i].SetActive (false);}
for (int i = 1; i < dancing_messages.Length; i++) {dancing_messages [i].SetActive (false);}
for (int i = 1; i < no_end_messages.Length; i++) {no_end_messages [i].SetActive (false);}
for (int i = 0; i < ending_characters.Length; i++) {ending_characters [i].SetActive (false);}
for (int i = 0; i < ending_messages.Length; i++) {ending_messages [i].SetActive (false);}
for (int i = 1; i < story_objects.Length; i++) {story_objects [i].SetActive (false);}
for (int i = 1; i < image_tags.Length; i++) {image_tags [i].SetActive (false);}
//the first element of the story_objects array should always be the "phoenix"
}
void Update (){
//If the objectives are reached and you talk to Pipixia, then start the ending sequence.
if(gathered_objects > objective_number && pipixia_convinced == false){
for (int i = 1; i < pipixia_messages.Length; i++) {
pipixia_messages [i].SetActive (false);
}
for (int i = 0; i < no_end_messages.Length; i++) {
no_end_messages [i].SetActive (false);
}
pipixia_messages [1].SetActive (true);
pipixia_convinced = true;
for (int i = 1; i < ending_messages.Length; i++) {ending_messages [i].SetActive (false);}
}
//Remove starting image
if (story_objects[0].GetComponent<Renderer>().enabled == true){UI.GetComponent<Canvas> ().enabled = false;}
//Bird intro begin
if (Input.GetMouseButtonDown (0) && begin != true && story_objects [0].GetComponent<Renderer>().enabled == true) {
audio [0].Play ();
if (bird_message_count == bird_messages.Length - 1) {
begin = true;
for (int i = 0; i < bird_messages.Length; i++) {bird_messages [i].SetActive (false);}
for (int i = 1; i < image_tags.Length; i++) {image_tags [i].SetActive (true);}
for (int i = 1; i < story_objects.Length; i++) {story_objects [i].SetActive (true);}
//Set the bird asset as inactive, set the rest as true
}
if (bird_message_count < bird_messages.Length - 1) {
bird_message_count += 1;
if (bird_message_count == 3) {
particles.Play ();
}
if (bird_message_count > 0) {
bird_messages [bird_message_count - 1].SetActive (false);
bird_messages [bird_message_count].SetActive (true);
}
}
} else {}
//Bird intro end
//Remove the original phoenix, activate main ending characters, activate first ending message
if (ending == true && story_objects [0].GetComponent<Renderer> ().enabled == true) {
the_bird.SetActive (false);
for (int i = 0; i < ending_characters.Length; i++) {
ending_characters [i].SetActive (true);
ending_messages [1].SetActive (true);
}
}
//Only start detecting mouse button downs after the story has begun
if (Input.GetMouseButtonDown (0) && begin == true) {
//Ending sequence.
if(ending_characters[0].GetComponent<Renderer> ().enabled == true && ending == true && pipixia_convinced == true){
if (ending_message_count < ending_messages.Length - 1) {
ending_message_count += 1;
if (ending_message_count > 0) {
ending_messages [ending_message_count - 1].SetActive (false);
ending_messages [ending_message_count].SetActive (true);
} else if (ending_message_count == ending_messages.Length - 1) {
Debug.Log ("IT'S OVER");
}
}
}
//cigarettes
if (story_objects [1].GetComponent<Renderer>().enabled == true) {
audio [1].Play ();
if (cig_message_count < cigarette_messages.Length-1) {
cig_message_count += 1;
if (cig_message_count > 0) {
cigarette_messages [cig_message_count - 1].SetActive (false);
cigarette_messages [cig_message_count].SetActive (true);
}
} else if(cig_message_count == cigarette_messages.Length-1){
gathered_objects += 1;
audio [9].Play ();
image_tags [1].SetActive (false);
}
}
//noodles
if (story_objects [2].GetComponent<Renderer>().enabled == true) {
audio [2].Play ();
if (noodle_message_count < noodle_messages.Length-1) {
noodle_message_count += 1;
if (noodle_message_count > 0) {
noodle_messages [noodle_message_count - 1].SetActive (false);
noodle_messages [noodle_message_count].SetActive (true);
}
} else if (noodle_message_count == noodle_messages.Length-1){
gathered_objects += 1;
audio [9].Play ();
image_tags [2].SetActive (false);
}
}
//mobike
if (story_objects [3].GetComponent<Renderer>().enabled == true) {
audio [3].Play ();
if (mobike_message_count < mobike_messages.Length-1) {
mobike_message_count += 1;
if (mobike_message_count > 0) {
mobike_messages [mobike_message_count - 1].SetActive (false);
mobike_messages [mobike_message_count].SetActive (true);
}
} else if (mobike_message_count == mobike_messages.Length-1) {
gathered_objects += 1;
audio [9].Play ();
image_tags [3].SetActive (false);
}
}
//pipixia
if (story_objects [4].GetComponent<Renderer> ().enabled == true && gathered_objects > objective_number) {
if (pipixia_message_count < pipixia_messages.Length-1) {
pipixia_message_count += 1;
if (pipixia_message_count > 0) {
pipixia_messages [pipixia_message_count - 1].SetActive (false);
pipixia_messages [pipixia_message_count].SetActive (true);
}
} else if (pipixia_message_count == pipixia_messages.Length - 1) {
ending = true;
image_tags [4].SetActive (false);
audio [4].Play ();
}
} else if(story_objects [4].GetComponent<Renderer> ().enabled == true && gathered_objects <= objective_number) {
if (pipixia_message_count < no_end_messages.Length-1) {
pipixia_message_count += 1;
if (pipixia_message_count > 0) {
no_end_messages [pipixia_message_count - 1].SetActive (false);
no_end_messages [pipixia_message_count].SetActive (true);
}
} else if (pipixia_message_count == no_end_messages.Length - 1) {
pipixia_message_count = 0;
for (int i = 1 ; i < no_end_messages.Length; i++) {no_end_messages [i].SetActive (false);}
}
}
//Bubble tea
if (story_objects [5].GetComponent<Renderer>().enabled == true) {
if (bubble_message_count == 1){
audio [5].Play ();
}
if (bubble_message_count < bubble_messages.Length-1) {
bubble_message_count += 1;
if (bubble_message_count > 0) {
bubble_messages [bubble_message_count - 1].SetActive (false);
bubble_messages [bubble_message_count].SetActive (true);
}
} else if(bubble_message_count == bubble_messages.Length-1){
gathered_objects += 1;
image_tags [5].SetActive (false);
audio [9].Play ();
}
}
//Bamboo
if (story_objects [6].GetComponent<Renderer>().enabled == true) {
if (bamboo_message_count == 1) {
audio [6].Play ();
}
if (bamboo_message_count < bamboo_messages.Length-1) {
bamboo_message_count += 1;
if (bamboo_message_count > 0) {
bamboo_messages [bamboo_message_count - 1].SetActive (false);
bamboo_messages [bamboo_message_count].SetActive (true);
}
} else if(bamboo_message_count == bamboo_messages.Length-1){
gathered_objects += 1;
image_tags [6].SetActive (false);
}
}
//Smog
if (story_objects [7].GetComponent<Renderer>().enabled == true) {
audio [7].Play ();
if (smog_message_count < smog_messages.Length-1) {
smog_message_count += 1;
if (smog_message_count > 0) {
smog_messages [smog_message_count - 1].SetActive (false);
smog_messages [smog_message_count].SetActive (true);
}
} else if(smog_message_count == smog_messages.Length-1){
gathered_objects += 1;
image_tags [7].SetActive (false);
audio [9].Play ();
}
}
//Dancing girl Gina?
if (story_objects [8].GetComponent<Renderer>().enabled == true) {
audio [8].Play ();
if (dancing_message_count < dancing_messages.Length-1) {
dancing_message_count += 1;
if (dancing_message_count > 0) {
dancing_messages [dancing_message_count - 1].SetActive (false);
dancing_messages [dancing_message_count].SetActive (true);
}
} else if(dancing_message_count == dancing_messages.Length-1){
gathered_objects += 1;
image_tags [8].SetActive (false);
audio [9].Play ();
}
}
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment