Warcorrespondents/Assets/Scripts/事件/AfterReparedTheMachine.cs
SAIPO 4e37998e72 *.合并了分支
1.处理了昨天提出的建议
 1)给第一个CG加上了音效,已经上传Coding
 2)给第一关添加了微弱的雨声
 3)触发老兵牺牲时添加了管弦乐
 4)发令员和敌人被吸引的音效已经裁剪完成,在Soundeffect文件夹里,罕见语音1-7
 5)添加了发报机启动和记录纸张被撕去的声音
 6)修正了第二关的视差组件
 7)稍微优化了第二关背景火光,但还需要再研究
 8)机枪开枪音效已经替换为更有力的
 9)修正了第二关夜晚的蟋蟀声音

2.二进制文件(音乐,图片等不能直接以文本表示的文件)无法参与分支合并,导致我这里程序改过的电报音乐还是之前的,建议以后处理这类文件直接添加新文件

3.对玩家回去看老兵事件的建议
  直接弹出对话
  1)......
  2)(肩章上面写着 八路军 中华民国28年度配用)
  3)可以休息了,同志。
  4)任务很紧急,要继续前进了。
2021-09-10 22:17:49 +08:00

98 lines
3.1 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using Fungus;
using UnityEngine.InputSystem;
using UnityEngine.UI;
using UnityEngine.SceneManagement;
using Cinemachine;
public class AfterReparedTheMachine : Event
{
private RepairBench repairBench;
private CinemachineVirtualCamera Vcamera;
[Tooltip("请拖入巡逻敌人")]
public Patrolman patrolman1;
[Tooltip("请拖入巡逻敌人")]
public Patrolman patrolman2;
private M_Player player;
[Tooltip("请拖入电报机UI界面")]
public GameObject MachineUI;
[Tooltip("请拖入倒计时UI")]
public Text countDown;
private int leftTime = 10;
public GameObject blackUI;
private Machine machine;
public WVParallax parallax;
public AudioSource gunAudio;
void Start()
{
repairBench = FindObjectOfType<RepairBench>();
Vcamera = FindObjectOfType<CinemachineVirtualCamera>();
player = FindObjectOfType<M_Player>();
machine = FindObjectOfType<Machine>();
//OnCall();
}
//事件,当修完电报机
public override void OnCall()
{
StartCoroutine("Process");
}
private IEnumerator Process()
{
//parallax.canParallax = false;
//1.关闭玩家操作地图
FindObjectOfType<PlayerInput>().
SwitchCurrentActionMap("NullMap");
//2.给玩家若干反应时间,然后关闭修理电报机界面
yield return new WaitForSeconds(0f);
repairBench.m_interface.SetActive(false);
//3.再过若干时间,镜头跟踪物改为敌人
yield return new WaitForSeconds(2f);
Vcamera.Follow = patrolman1.transform;
//4.同时敌人的targe改为玩家
patrolman1.ChangeTargetTo(player.transform);
patrolman2.ChangeTargetTo(player.transform);
patrolman1.GetComponent<Animator>().SetBool("IsRush",true);
patrolman2.GetComponent<Animator>().SetBool("IsRush",true);
//5.若干时间后,镜头跟踪物改为玩家
yield return new WaitForSeconds(4f);
Vcamera.Follow = player.transform;
//6.若干短时间后敌人的target改为普通巡逻点
yield return new WaitForSeconds(1f);
patrolman1.ChangeTargetTo(patrolman1.point1);
patrolman2.ChangeTargetTo(patrolman1.point1);
//7.若干时间后,弹出对话【被发现了】
Flowchart.BroadcastFungusMessage("被发现了");
}
public void AfterChat()
{
machine.OnCall();
player.catched = machine;
MachineUI.SetActive(true);
player.GetComponent<PlayerInput>().
SwitchCurrentActionMap("PlayerInCoding");
countDown.gameObject.SetActive(true);
InvokeRepeating("CountDown",0,1);
}
private void CountDown()
{
countDown.text = "倒计时" + leftTime;
leftTime--;
if(leftTime == 0)
{
//当倒计时结束
blackUI.SetActive(true);
Invoke("PlayGunAudio",1.5f);
}
}
private void PlayGunAudio()
{
gunAudio.Play();
}
}