PJ/Assets/scripts/TriggerButton.cs

165 lines
4.4 KiB
C#
Executable file

using System.Collections;
using System.Collections.Generic;
using System.Diagnostics;
using UnityEngine;
using Debug = UnityEngine.Debug;
public class TriggerButton : MonoBehaviour
{
public GameObject Boss;
public GameObject NextBrick;
public GameObject[] FallWall;
public GameObject[] Spike;
public AudioSource Sound;
public AudioSource PlaySound;
public GameObject Cam;
public AudioClip FWS;
public AudioClip SS;
public Animator Animator;
public int TriggerID;
private void Start()
{
PlaySound = Cam.GetComponent<AudioSource>();
}
private void OnTriggerEnter2D(Collider2D collision)
{
if (collision.tag == "Player")
{
switch (TriggerID)
{
case 0:
Boss.gameObject.GetComponent<Animator>().SetTrigger("StartBoss");
Up();
Destroy(this.gameObject);
break;
case 1:
Down();
Debug.Log("S");
for (int i = 15; i < 28; i++)
{
Debug.Log(i);
SpikeAtack(i);
Sound.Play();
}
Up();
break;
case 2:
Down();
for(int i = 0; i < 14; i++)
{
SpikeAtack(i);
}
Up();
break;
case 3:
Down();
FallWallDown(1);
FallWallDown(3);
Up();
break;
case 4:
Down();
FallWallDown(2);
for(int i = 7; i < 21; i++)
{
SpikeAtack(i);
}
Up();
break;
case 5:
Down();
for(int i = 0; i < 28; i++)
{
SpikeAtack(i);
}
Up();
break;
case 6:
Down();
FallWallDown(1);
FallWallDown(2);
FallWallDown(3);
Up();
break;
case 7:
Down();
FallWallDown(1);
FallWallDown(3);
for (int i = 7; i < 21; i++)
{
SpikeAtack(i);
}
Up();
break;
case 8:
Down();
FallWallDown(2);
for(int i = 1; i < 7; i++)
{
SpikeAtack(i);
}
for (int i = 21; i < 28; i++)
{
SpikeAtack(i);
}
Up();
break;
case 9:
Down();
FallWallDown(1);
FallWallDown(2);
FallWallDown(3);
FallWallDown(4);
for (int i = 1;i < 28; i++)
{
SpikeAtack(i);
}
Boss.gameObject.GetComponent<Animator>().SetTrigger("End");
break;
}
}
}
void SpikeAtack(int SN)
{
Debug.Log(SN);
Spike[SN].gameObject.GetComponent<Animator>().SetTrigger("SpikeAttack");
PlaySound.clip = SS;
PlaySound.Play(66000);
}
void FallWallDown(int NW)
{
FallWall[NW].gameObject.GetComponent<Animator>().SetTrigger("WallFall");
PlaySound.clip = FWS;
PlaySound.Play(77100);
}
private void Down()
{
GetComponent<Animator>().SetTrigger("Down");
}
private void Up()
{
NextBrick.gameObject.GetComponent<Animator>().SetTrigger("Up");
Debug.Log("Up")
; }
}