using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using Cinemachine;
using Sirenix.OdinInspector;
using Fungus;
///
/// 演出,贵族之怒
///
public class NobleFury : Stage
{
[Header("贵族")]
public Transform noble;
[Header("宗教信徒")]
public NormalEnemy enemy;
private bool conversationEnd = false;
private bool conversationEnd1 = false;
private CinemachineVirtualCamera m_Camera;
protected override void Init(){
//找到必要的游戏物体和组件
base.Init();
m_Camera = FindObjectOfType();
}
protected override IEnumerator Main(){
yield return new WaitForEndOfFrame();
//让玩家停下来
player.inputDir = 0;
//让怪物停下来
enemy.GetComponent().constraints = RigidbodyConstraints2D.FreezeAll;
//镜头指向贵族
m_Camera.Follow = noble;
yield return new WaitForSeconds(1f);
//执行贵族踢人动画
noble.GetComponent().SetBool("isKick",true);
//执行宗教小怪的死亡动画
enemy.GetComponent().constraints = RigidbodyConstraints2D.None;
enemy.OnBeHit(MyPlayer.AtkMethod.反弹炸弹,-1);
yield return new WaitForSeconds(2f);
noble.GetComponent().SetBool("isKick",false);
//Callfungus对话
Flowchart.BroadcastFungusMessage("贵族之怒");
yield return new WaitUntil(
() => {
return conversationEnd;
}
);
yield return new WaitForSeconds(1f);
noble.localScale = new Vector3(1,1,1);
yield return new WaitForSeconds(1f);
Flowchart.BroadcastFungusMessage("贵族对话");
yield return new WaitUntil(
() => {
return conversationEnd1;
}
);
//将摄像机重新对准玩家
m_Camera.Follow = player.transform;
//执行善后工作
StartCoroutine(base.Main());
}
public void ConversationEnd(){conversationEnd = true;}
public void ConversationEnd1(){conversationEnd1 = true;}
}