c1_unity/Assets/Scripts/Component/Battle/BattleControlBoxCollider.cs
2023-04-03 11:04:31 +08:00

50 lines
1007 B
C#

using UnityEngine;
namespace BF
{
public class BattleControlBoxCollider : BattleControlCollider
{
private BoxCollider boxCollider;
private void Awake()
{
boxCollider = gameObject.AddComponent<BoxCollider>();
}
public void SetupCollisionBody(float collisionWidth, float collisionHeight, float x, float z)
{
boxCollider.center = new Vector3(collisionWidth/2.0f, 0.0f, 0.0f);
boxCollider.size = new Vector3(collisionWidth, 1.0f, collisionHeight);
offset = new Vector3(x, 0.0f, z);
}
public override void SetColliderEnabled(bool enabled)
{
boxCollider.enabled = enabled;
}
private void FixedUpdate()
{
if (!isActive)
{
return;
}
CheckCollider();
}
public override void Recycle()
{
if (IsRecycle)
{
return;
}
if (!ReferenceEquals(container, null))
{
container.Remove(this);
}
boxCollider.enabled = false;
isActive = false;
BFMain.Instance.BattleMgr.PoolHelper.RecycleSkillBoxCollider(this);
}
}
}