init
This commit is contained in:
commit
fca6784fe7
571 changed files with 84105 additions and 0 deletions
194
Assets/Scripts/Combat/CombatManager.cs
Normal file
194
Assets/Scripts/Combat/CombatManager.cs
Normal file
|
@ -0,0 +1,194 @@
|
|||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
using TMPro;
|
||||
|
||||
public class CombatManager : MonoBehaviour{
|
||||
|
||||
public enum EnemyType { Bear, Driada, Loca, Boss }
|
||||
public EnemyType enemyType = default;
|
||||
|
||||
[Space]
|
||||
public EnemyController bear = default;
|
||||
public EnemyController driada = default;
|
||||
public EnemyController loca = default;
|
||||
public EnemyController boss = default;
|
||||
|
||||
[Space]
|
||||
public GameObject bearHand = default;
|
||||
public GameObject driadaHand = default;
|
||||
public GameObject locaHand = default;
|
||||
public GameObject bossHand = default;
|
||||
|
||||
[Space]
|
||||
[SerializeField] GameObject bearBackground = default;
|
||||
[SerializeField] GameObject driadaBackground = default;
|
||||
[SerializeField] GameObject locaBackground = default;
|
||||
[SerializeField] GameObject bossBackground = default;
|
||||
|
||||
[Space]
|
||||
[SerializeField] Animator anim = default;
|
||||
[SerializeField] CustomTMP_Animated dialogue = default;
|
||||
[SerializeField] Dialogue bearDialogue = default;
|
||||
[SerializeField] Dialogue driadaDialogue = default;
|
||||
[SerializeField] Dialogue locaDialogue = default;
|
||||
[SerializeField] Dialogue bossDialogue = default;
|
||||
|
||||
[Space]
|
||||
[SerializeField] Animator bearHandAnim = default;
|
||||
[SerializeField] Animator driadaHandAnim = default;
|
||||
[SerializeField] Animator locaHandAnim = default;
|
||||
[SerializeField] Animator bossHandAnim = default;
|
||||
[SerializeField] Animator playerHandAnim = default;
|
||||
|
||||
int dialogueIndex;
|
||||
bool dialogueStarted;
|
||||
|
||||
public static CombatManager instance;
|
||||
void Awake(){
|
||||
instance = this;
|
||||
}
|
||||
|
||||
// Start is called before the first frame update
|
||||
void Start(){
|
||||
if(GameMaster.instance != null)
|
||||
enemyType = (EnemyType)GameMaster.instance.enemyType[GameMaster.instance.currentGrid];
|
||||
|
||||
AudioManager.instance.StopAll();
|
||||
AudioManager.instance.Play("FightNoBrass");
|
||||
switch (enemyType){
|
||||
case EnemyType.Bear:
|
||||
driada.gameObject.SetActive(false);
|
||||
loca.gameObject.SetActive(false);
|
||||
driadaHand.SetActive(false);
|
||||
locaHand.SetActive(false);
|
||||
boss.gameObject.SetActive(false);
|
||||
bossHand.SetActive(false);
|
||||
|
||||
driadaBackground.SetActive(false);
|
||||
locaBackground.SetActive(false);
|
||||
bossBackground.SetActive(false);
|
||||
break;
|
||||
case EnemyType.Driada:
|
||||
bear.gameObject.SetActive(false);
|
||||
loca.gameObject.SetActive(false);
|
||||
bearHand.SetActive(false);
|
||||
locaHand.SetActive(false);
|
||||
boss.gameObject.SetActive(false);
|
||||
bossHand.SetActive(false);
|
||||
|
||||
bearBackground.SetActive(false);
|
||||
locaBackground.SetActive(false);
|
||||
bossBackground.SetActive(false);
|
||||
break;
|
||||
case EnemyType.Loca:
|
||||
driada.gameObject.SetActive(false);
|
||||
bear.gameObject.SetActive(false);
|
||||
driadaHand.SetActive(false);
|
||||
bearHand.SetActive(false);
|
||||
boss.gameObject.SetActive(false);
|
||||
bossHand.SetActive(false);
|
||||
|
||||
driadaBackground.SetActive(false);
|
||||
bearBackground.SetActive(false);
|
||||
bossBackground.SetActive(false);
|
||||
break;
|
||||
case EnemyType.Boss:
|
||||
AudioManager.instance.Stop("FightNoBrass");
|
||||
AudioManager.instance.Play("fightFull");
|
||||
driada.gameObject.SetActive(false);
|
||||
bear.gameObject.SetActive(false);
|
||||
loca.gameObject.SetActive(false);
|
||||
locaHand.SetActive(false);
|
||||
driadaHand.SetActive(false);
|
||||
bearHand.SetActive(false);
|
||||
|
||||
driadaBackground.SetActive(false);
|
||||
bearBackground.SetActive(false);
|
||||
bearBackground.SetActive(false);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
public void OnStartDialogue(){
|
||||
switch (enemyType){
|
||||
case EnemyType.Bear:
|
||||
dialogue.ReadText(bearDialogue.sentences[dialogueIndex]);
|
||||
break;
|
||||
case EnemyType.Driada:
|
||||
dialogue.ReadText(driadaDialogue.sentences[dialogueIndex]);
|
||||
break;
|
||||
case EnemyType.Loca:
|
||||
dialogue.ReadText(locaDialogue.sentences[dialogueIndex]);
|
||||
break;
|
||||
case EnemyType.Boss:
|
||||
dialogue.ReadText(bossDialogue.sentences[dialogueIndex]);
|
||||
break;
|
||||
}
|
||||
anim.SetTrigger("Enter");
|
||||
dialogueStarted = true;
|
||||
dialogueIndex++;
|
||||
}
|
||||
|
||||
// Update is called once per frame
|
||||
void Update(){
|
||||
if (dialogueStarted){
|
||||
if (Input.anyKeyDown){
|
||||
switch (enemyType){
|
||||
case EnemyType.Bear:
|
||||
if (dialogueIndex == bearDialogue.sentences.Length){
|
||||
StartGame(EnemyType.Bear);
|
||||
break;
|
||||
}
|
||||
dialogue.ReadText(bearDialogue.sentences[dialogueIndex]);
|
||||
break;
|
||||
case EnemyType.Driada:
|
||||
if (dialogueIndex == driadaDialogue.sentences.Length){
|
||||
StartGame(EnemyType.Driada);
|
||||
break;
|
||||
}
|
||||
dialogue.ReadText(driadaDialogue.sentences[dialogueIndex]);
|
||||
break;
|
||||
case EnemyType.Loca:
|
||||
if (dialogueIndex == locaDialogue.sentences.Length){
|
||||
StartGame(EnemyType.Loca);
|
||||
break;
|
||||
}
|
||||
dialogue.ReadText(locaDialogue.sentences[dialogueIndex]);
|
||||
break;
|
||||
case EnemyType.Boss:
|
||||
if (dialogueIndex == bossDialogue.sentences.Length){
|
||||
StartGame(EnemyType.Boss);
|
||||
break;
|
||||
}
|
||||
dialogue.ReadText(bossDialogue.sentences[dialogueIndex]);
|
||||
break;
|
||||
}
|
||||
dialogueIndex++;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void StartGame(EnemyType enemy){
|
||||
switch (enemy){
|
||||
case EnemyType.Bear:
|
||||
bearHandAnim.SetTrigger("Enter");
|
||||
AudioManager.instance.Play("oso_risa");
|
||||
break;
|
||||
case EnemyType.Boss:
|
||||
bossHandAnim.SetTrigger("Enter");
|
||||
break;
|
||||
case EnemyType.Driada:
|
||||
driadaHandAnim.SetTrigger("Enter");
|
||||
AudioManager.instance.Play("driada_risa");
|
||||
break;
|
||||
case EnemyType.Loca:
|
||||
locaHandAnim.SetTrigger("Enter");
|
||||
AudioManager.instance.Play("loca_risa");
|
||||
break;
|
||||
}
|
||||
dialogueStarted = false;
|
||||
anim.SetTrigger("Exit");
|
||||
playerHandAnim.SetTrigger("Enter");
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue