Files
vampire-like/Assets/GameMain/Scripts/Runtime/Components/AbsorbComponent.cs
T
2026-09-18 21:43:22 +08:00

37 lines
1.0 KiB
C#

using SepCore.Entity;
using UnityEngine;
namespace SepCore.Components
{
public class AbsorbComponent : MonoBehaviour
{
private Player _player;
private Transform _target;
private float AbsorbRangeBase => GameEntry.Luban.Global.DefaultAbsorbRange / 1000f;
private float AbsorbSpeed => GameEntry.Luban.Global.AbsorbSpeed / 1000f;
private float CollectDistance => GameEntry.Luban.Global.CollectDistance / 1000f;
private float AbsorbRange => AbsorbRangeBase;
public void OnInit(Player player, StatComponent statComponent)
{
_player = player;
_target = player.CachedTransform;
}
public void OnUpdate(float elapseSeconds, float realElapseSeconds)
{
if (!_player.Available) return;
GameEntry.SimulationWorld.SyncPlayerAbsorbSettings(AbsorbRange, AbsorbSpeed, CollectDistance);
}
public void OnReset()
{
_target = null;
_player = null;
}
}
}