You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
29 lines
993 B
29 lines
993 B
public partial class Player : CharacterBody3D |
|
{ |
|
[Export] public bool IsLocal { get; set; } |
|
|
|
public int PeerId { |
|
get { |
|
if (int.TryParse(Name, out var result)) return result; |
|
throw new InvalidOperationException($"'{Name}' could not be parsed to PeerId"); |
|
} |
|
set { |
|
if (value > 0) Name = value.ToString(); |
|
else if (IsLocal) Name = "Local"; |
|
else throw new InvalidOperationException("Non-local player can't have PeerId set to 0"); |
|
} |
|
} |
|
|
|
public MovementController Movement { get; private set; } |
|
public CameraController Camera { get; private set; } |
|
public AnimationController Animation { get; private set; } |
|
public PickupController Pickup { get; private set; } |
|
|
|
public override void _EnterTree() |
|
{ |
|
Movement = GetNode<MovementController>("MovementController"); |
|
Camera = GetNode<CameraController>("CameraController"); |
|
Animation = GetNode<AnimationController>("AnimationController"); |
|
Pickup = GetNode<PickupController>("PickupController"); |
|
} |
|
}
|
|
|