astek should be 'playable', kinda...

This commit is contained in:
2025-09-17 01:36:08 +02:00
parent b56f980dc1
commit 6083935449
46 changed files with 598 additions and 1457 deletions

View File

@@ -56,39 +56,35 @@ namespace RebootReality.jelycho.Player {
return;
}
// if (IsOwner) {
m_Actor.SetupAsOwner();
m_Actor.SetupAsOwner();
m_OwnerActorDisposableBag.Dispose();
m_OwnerActorDisposableBag = new DisposableBag();
m_OwnerActorDisposableBag.Dispose();
m_OwnerActorDisposableBag = new DisposableBag();
m_Actor.TargetInteractable.Subscribe(interactable => {
m_Interactable?.SetHighlight(false);
m_Actor.TargetInteractable.Subscribe(interactable => {
m_Interactable?.SetHighlight(false);
if (m_TargetInteractableLabelDisposable != null) {
m_TargetInteractableLabelDisposable.Dispose();
m_TargetInteractableLabelDisposable = null;
}
if (m_TargetInteractableLabelDisposable != null) {
m_TargetInteractableLabelDisposable.Dispose();
m_TargetInteractableLabelDisposable = null;
}
m_Interactable = interactable;
m_Interactable?.SetHighlight(true);
m_Interactable = interactable;
m_Interactable?.SetHighlight(true);
if (interactable is Actor interactableActor) {
m_TargetInteractableLabelDisposable =
m_HUD.ObjectsLabels.CreateLabel(interactableActor.transform,
interactableActor.ActorName);
}
})
.AddTo(ref m_OwnerActorDisposableBag);
if (interactable is Actor interactableActor) {
m_TargetInteractableLabelDisposable =
m_HUD.ObjectsLabels.CreateLabel(interactableActor.transform,
interactableActor.ActorName);
}
})
.AddTo(ref m_OwnerActorDisposableBag);
m_HUD.SetPlayerActor(m_Actor);
// }
m_HUD.SetPlayerActor(m_Actor);
// if (IsServer) {
// if (RR.World.Context is WorldContext worldContext) {
// m_Actor.WarpTo(worldContext.PlayerSpawnPoint.position);
// }
// }
if (RR.World.Context is WorldContext worldContext) {
m_Actor.WarpTo(worldContext.PlayerSpawnPoint.position);
}
}
protected override void OnUnpossessActor(Actor actor) {
@@ -123,7 +119,7 @@ namespace RebootReality.jelycho.Player {
if (m_Config.kickActionReference.action.WasReleasedThisFrame()) {
m_Actor.Kick();
}
if (m_Config.primaryActionReference.action.WasPressedThisFrame()) {
m_Actor.BeginPrimaryAction();
}