Roman 14816a8f30 任务:推进游戏的流程化
场景:【序章-家中】
1.创建脚本【Door】,用来编写门相关
2.创建CG【暂用-战友】
3.优化脚本【CG管理员】,使其可以自动寻找CG,不用再手动拖入
4.优化脚本【ACG】,使其可以应付没有结束事件的CG
5.创建多态【准备出发】
6.创建事件【当播完开门演出】
7.优化一个很重要的基类【一般可交互物体】,使其可以对付排布密集的可交互的情况

下班。至此,完成了序章的流程框架,还有很多细节需要后面扣。明天一定会开始搭建第一关,因为游戏系统之前已经写了大概,应该不会很困难。加油吧。🙏
2021-08-15 01:32:33 +08:00

40 lines
1.4 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 UnityEngine.UI;
public class Interactive : MonoBehaviour
{
// Start is called before the first frame update
//这是所有可交互物体的基类
public GameObject m_interface;//可交互物体一般都和一个UI界面挂钩这就是那个UI界面
//这是一对碰撞检测代码。当玩家进入将自身传给玩家。当玩家退出把玩家的catch清空
void OnTriggerEnter2D(Collider2D other)
{
if(other.tag == "Player")
{
other.GetComponent<M_Player>().catched = this;
}
}
void OnTriggerExit2D(Collider2D other)
{
if(other.tag == "Player")
{
//如果目前退出当前交互区域的时候,玩家的捕捉物体是自己,才把玩家的捕捉清空。否则说明玩家在推出前就捕捉到了新的
//对象。这样是用来解决排布密集的可交互物体的问题
if(other.GetComponent<M_Player>().catched == this) other.GetComponent<M_Player>().catched = null;
}
}
//
//当这个可交互物体被玩家交互。一般需要重写这个函数。
public virtual void OnCall(){}
//
//以下为针对各具体可交互对象的虚拟函数,在具体物体中重写
public virtual void Coding(string temp){}
public virtual void StopRepareTheTelephoneLine(){}
//
}