任务:替换现有美术素材和动画、完善游戏的流程化
场景【第二关】 1.创建事件【当修完电报机】,包含以下流程 (*关闭玩家的操作地图 (1.给玩家若干反应时间,然后关闭修理电报机界面 (2.再过若干时间,镜头跟踪物改为敌人 (3.同时,敌人的targe改为玩家 (4.若干时间后,镜头跟踪物改为玩家 (5.若干短时间后,敌人的target改为普通巡逻点 (6.若干时间后,弹出对话【被发现了】 (7.对话结束后,弹出电报机界面,要求打【埋伏,无法返回】,同时,激活倒计时UI。 (8.倒计时结束后,激活黑幕UI,短时间后播放两声枪响 (9.游戏结束 *:创建对话:【被发现了】
This commit is contained in:
parent
6c935a7d3f
commit
3e4b099d18
File diff suppressed because it is too large
Load Diff
@ -165,7 +165,10 @@ public class M_Player : MonoBehaviour
|
|||||||
|
|
||||||
public void OnQuit(InputAction.CallbackContext context)
|
public void OnQuit(InputAction.CallbackContext context)
|
||||||
{
|
{
|
||||||
if(context.started) catched.Quit();//如果按下退出按钮,则执行捕捉到物体的退出功能
|
if(context.started)
|
||||||
|
{
|
||||||
|
if(catched != null) catched.Quit();//如果按下退出按钮,则执行捕捉到物体的退出功能
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//如果正处于投掷状态,则退出投掷状态的监听函数
|
//如果正处于投掷状态,则退出投掷状态的监听函数
|
||||||
|
87
Assets/Scripts/事件/AfterReparedTheMachine.cs
Normal file
87
Assets/Scripts/事件/AfterReparedTheMachine.cs
Normal file
@ -0,0 +1,87 @@
|
|||||||
|
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;
|
||||||
|
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()
|
||||||
|
{
|
||||||
|
//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);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
11
Assets/Scripts/事件/AfterReparedTheMachine.cs.meta
Normal file
11
Assets/Scripts/事件/AfterReparedTheMachine.cs.meta
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 15b7dc39a21199340906ab8ee84780b5
|
||||||
|
MonoImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 2
|
||||||
|
defaultReferences: []
|
||||||
|
executionOrder: 0
|
||||||
|
icon: {instanceID: 0}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
@ -161,6 +161,11 @@ public class Patrolman : MonoBehaviour
|
|||||||
//在听觉范围中调用,移除一个监听中的投掷物
|
//在听觉范围中调用,移除一个监听中的投掷物
|
||||||
public void RemoveAMissile(Missile missile){missiles.Remove(missile);}
|
public void RemoveAMissile(Missile missile){missiles.Remove(missile);}
|
||||||
|
|
||||||
|
public void ChangeTargetTo(Transform newTarget)
|
||||||
|
{
|
||||||
|
target = newTarget;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
private class AuditoryRange : MonoBehaviour
|
private class AuditoryRange : MonoBehaviour
|
||||||
|
@ -99,7 +99,7 @@ public class RepairBench : Interactive
|
|||||||
{
|
{
|
||||||
//如果全都完成
|
//如果全都完成
|
||||||
//关闭界面
|
//关闭界面
|
||||||
m_interface.SetActive(false);
|
//m_interface.SetActive(false);
|
||||||
//触发结束事件
|
//触发结束事件
|
||||||
endEvent.OnCall();
|
endEvent.OnCall();
|
||||||
}
|
}
|
||||||
|
@ -27,10 +27,10 @@ EditorUserSettings:
|
|||||||
value: 22424703114646680e0b0227036cdacaf990d3ea61ade8e6a9f1d07df7ee3d2cfb
|
value: 22424703114646680e0b0227036cdacaf990d3ea61ade8e6a9f1d07df7ee3d2cfb
|
||||||
flags: 0
|
flags: 0
|
||||||
RecentlyUsedScenePath-7:
|
RecentlyUsedScenePath-7:
|
||||||
value: 22424703114646680e0b0227036cd8dcda93c0caa9cdf57e38271427fb
|
value: 22424703114646680e0b0227036cdae0f290dfc7abfbfdb7f6d69be60968fbcd663fd8601ed2bad4ce4cfa320d2a18
|
||||||
flags: 0
|
flags: 0
|
||||||
RecentlyUsedScenePath-8:
|
RecentlyUsedScenePath-8:
|
||||||
value: 22424703114646680e0b0227036cdae0f290dfc7abfbfdb7f6d69be60968fbcd663fd8601ed2bad4ce4cfa320d2a18
|
value: 22424703114646680e0b0227036cd8dcda93c0caa9cdf57e38271427fb
|
||||||
flags: 0
|
flags: 0
|
||||||
RecentlyUsedScenePath-9:
|
RecentlyUsedScenePath-9:
|
||||||
value: 22424703114646680e0b0227036cd8dcda93c2c6a9cdf57e38271427fb
|
value: 22424703114646680e0b0227036cd8dcda93c2c6a9cdf57e38271427fb
|
||||||
|
Loading…
x
Reference in New Issue
Block a user