CangJie/Assets/Scripts//EntryTrigger.cs
Roman 876778ccb0 任务:编写底层逻辑,增加一些有用的工具类
1.新增单例模式单例类模板,可以广泛用在同时间只有一个存在在场景中的各种管理器
2.新增事件框架
3.新增状态模式的状态类和状态管理员类的类模板
4.新增进入式触发器
5.新增互动式触发器(涉及玩家类的更改,暂缓)
*.以上均为底层代码,目前无法测试,如果发现问题请联系开发者,如无必要,请勿修改

我是每天上班提醒小助手,今天你上班了吗?😺
2022-03-12 21:14:07 +08:00

32 lines
953 B
C#

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
/// <summary>
/// 进入式触发器的基类,继承自事件,每一个进入式触发器都必须继承这个类
/// </summary>
public class EntryTrigger : Event
{
private Collider2D m_collider;
void Start()
{
//如果没有挂载碰撞盒,则报错
if(!TryGetComponent<Collider2D>(out m_collider))
{
Debug.LogError(this.GetType() + gameObject.name + "没有挂载碰撞盒,请检查!");
}
//如果不是触发器,则报错
if(!m_collider.isTrigger)
{
Debug.LogError(this.GetType() + gameObject.name + "碰撞盒没有设置为触发器,请检查!");
}
}
virtual public void OnTriggerEnter2D(Collider2D other)
{
//如果玩家进入碰撞盒则触发事件
if(other.TryGetComponent<Player>(out Player player)) OnCall();
}
}