1
This commit is contained in:
@@ -25,4 +25,56 @@ namespace BITFALL.Player.Movement
|
||||
bool Entry(IEntity player);
|
||||
bool Exit(IEntity player);
|
||||
}
|
||||
public abstract class AbstractPlayerFixedPlace : IPlayerFixedPlace
|
||||
{
|
||||
protected abstract IPlayerFixedPlace _playerFixedPlaceImplementation { get; }
|
||||
float3 IPlayerFixedPlace.FixedPosition => _playerFixedPlaceImplementation.FixedPosition;
|
||||
|
||||
float3 IPlayerFixedPlace.Velocity => _playerFixedPlaceImplementation.Velocity;
|
||||
|
||||
quaternion IPlayerFixedPlace.FixedRotation => _playerFixedPlaceImplementation.FixedRotation;
|
||||
|
||||
float3 IPlayerFixedPlace.ExitPosition => _playerFixedPlaceImplementation.ExitPosition;
|
||||
|
||||
quaternion IPlayerFixedPlace.ExitRotation => _playerFixedPlaceImplementation.ExitRotation;
|
||||
|
||||
bool IPlayerFixedPlace.TryGetFixedEntity(out IEntity entity)
|
||||
{
|
||||
return _playerFixedPlaceImplementation.TryGetFixedEntity(out entity);
|
||||
}
|
||||
|
||||
event Func<IEntity, bool> IPlayerFixedPlace.OnPlayerEntry
|
||||
{
|
||||
add => _playerFixedPlaceImplementation.OnPlayerEntry += value;
|
||||
remove => _playerFixedPlaceImplementation.OnPlayerEntry -= value;
|
||||
}
|
||||
|
||||
event Func<IEntity, bool> IPlayerFixedPlace.OnPlayerExit
|
||||
{
|
||||
add => _playerFixedPlaceImplementation.OnPlayerExit += value;
|
||||
remove => _playerFixedPlaceImplementation.OnPlayerExit -= value;
|
||||
}
|
||||
|
||||
event Action<IEntity> IPlayerFixedPlace.OnPlayerEntered
|
||||
{
|
||||
add => _playerFixedPlaceImplementation.OnPlayerEntered += value;
|
||||
remove => _playerFixedPlaceImplementation.OnPlayerEntered -= value;
|
||||
}
|
||||
|
||||
event Action<IEntity> IPlayerFixedPlace.OnPlayerExited
|
||||
{
|
||||
add => _playerFixedPlaceImplementation.OnPlayerExited += value;
|
||||
remove => _playerFixedPlaceImplementation.OnPlayerExited -= value;
|
||||
}
|
||||
|
||||
bool IPlayerFixedPlace.Entry(IEntity player)
|
||||
{
|
||||
return _playerFixedPlaceImplementation.Entry(player);
|
||||
}
|
||||
|
||||
bool IPlayerFixedPlace.Exit(IEntity player)
|
||||
{
|
||||
return _playerFixedPlaceImplementation.Exit(player);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -19,11 +19,13 @@ namespace BITFALL.Player.Survival
|
||||
{
|
||||
string Name { get; }
|
||||
public float Value { get; set; }
|
||||
public float Decay { get; }
|
||||
event Action<float> OnValueChanged;
|
||||
}
|
||||
public abstract class PlayerSurvivalElement:IPlayerSurvivalElement{
|
||||
public virtual string Name=>GetType().Name;
|
||||
private float _value = 100;
|
||||
|
||||
public float Value {
|
||||
get => _value;
|
||||
set
|
||||
@@ -33,10 +35,19 @@ namespace BITFALL.Player.Survival
|
||||
_value = value;
|
||||
}
|
||||
}
|
||||
public virtual float Decay => 1;
|
||||
public event Action<float> OnValueChanged;
|
||||
}
|
||||
|
||||
[Serializable]
|
||||
public sealed class PlayerSurvivalHunger:PlayerSurvivalElement{}
|
||||
public sealed class PlayerSurvivalHunger : PlayerSurvivalElement
|
||||
{
|
||||
public override float Decay => 0.16f;
|
||||
}
|
||||
|
||||
[Serializable]
|
||||
public sealed class PlayerSurvivalThirst:PlayerSurvivalElement{}
|
||||
public sealed class PlayerSurvivalThirst : PlayerSurvivalElement
|
||||
{
|
||||
public override float Decay => 0.32f;
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user