CangJie/Assets/Scripts//Interactable.cs
Roman 7db9125c45 Squashed commit of the following:
commit dbb026271fc709d07b36b271b11997919d15f3e0
Author: lspdC <961907320@qq.com>
Date:   Tue Mar 15 20:26:46 2022 +0800

    1、初步完成武器栏 树木交互
    2、尝试用对象池实现手持武器切换(还未完成)
    3、在一些简单的继承问题上对京力的部分代码进行修改(集中在Interactable类中)

commit c5cbe5ba76fcf20db855016ebfa33bb9ef79f390
Author: lspdC <961907320@qq.com>
Date:   Tue Mar 15 10:39:58 2022 +0800

    合并3.14分支

commit f3b7fd6631a3c3b87b17ac40b4542c2485103b46
Author: lspdC <961907320@qq.com>
Date:   Tue Mar 15 10:37:34 2022 +0800

    3.14进度(合并前)

# Conflicts:
#	UserSettings/EditorUserSettings.asset
2022-03-19 17:47:36 +08:00

53 lines
1.2 KiB
C#

using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
/// <summary>
/// 可交互物件基类
/// </summary>
public class Interactable : Event
{
protected Player player;
protected virtual void Start()
{
//检查触发器
if (GetComponent<Collider2D>() == null)
{
Debug.LogError(this.GetType() + ": 没有碰撞盒");
}
else if(GetComponent<Collider2D>().isTrigger == false)
{
Debug.LogError(this.GetType() + ": 碰撞盒没有设置为触发器");
}
}
void OnTriggerEnter2D(Collider2D other)
{
if (other.TryGetComponent<PlayerInteract>(out PlayerInteract playerInteract))
{
playerInteract.SetCatched(this);
}
if (other.TryGetComponent<Player>(out Player player))
{
this.player = player;
}
}
void OnTriggerExit2D(Collider2D other)
{
if (other.TryGetComponent<PlayerInteract>(out PlayerInteract playerInteract))
{
playerInteract.CancleCatched(this);
}
}
internal void OnTriggerEnter2D()
{
throw new NotImplementedException();
}
}