removed old stuff
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
using System;
|
||||
using R3;
|
||||
using RebootKit.Engine.Extensions;
|
||||
using RebootKit.Engine.Foundation;
|
||||
using RebootKit.Engine.Main;
|
||||
using RebootKit.Engine.Network;
|
||||
@@ -19,7 +19,6 @@ namespace RebootReality.jelycho.Player {
|
||||
PlayerActor m_Actor;
|
||||
PlayerHUD m_HUD;
|
||||
|
||||
DisposableBag m_OwnerActorDisposableBag = new DisposableBag();
|
||||
IDisposable m_TargetInteractableLabelDisposable;
|
||||
|
||||
IInteractable m_Interactable;
|
||||
@@ -34,7 +33,9 @@ namespace RebootReality.jelycho.Player {
|
||||
m_HUD = null;
|
||||
}
|
||||
|
||||
m_OwnerActorDisposableBag.Dispose();
|
||||
if (m_Actor.OrNull() != null) {
|
||||
UnsubscribeFromPlayerActorEvents();
|
||||
}
|
||||
}
|
||||
|
||||
void OnEnable() {
|
||||
@@ -57,28 +58,8 @@ namespace RebootReality.jelycho.Player {
|
||||
}
|
||||
|
||||
m_Actor.SetupAsOwner();
|
||||
|
||||
m_OwnerActorDisposableBag.Dispose();
|
||||
m_OwnerActorDisposableBag = new DisposableBag();
|
||||
|
||||
m_Actor.TargetInteractable.Subscribe(interactable => {
|
||||
m_Interactable?.SetHighlight(false);
|
||||
|
||||
if (m_TargetInteractableLabelDisposable != null) {
|
||||
m_TargetInteractableLabelDisposable.Dispose();
|
||||
m_TargetInteractableLabelDisposable = null;
|
||||
}
|
||||
|
||||
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);
|
||||
m_Actor.OnTargetInteractableChanged += OnTargetInteractableChanged;
|
||||
OnTargetInteractableChanged(m_Actor.TargetInteractable);
|
||||
|
||||
m_HUD.SetPlayerActor(m_Actor);
|
||||
|
||||
@@ -89,11 +70,37 @@ namespace RebootReality.jelycho.Player {
|
||||
|
||||
protected override void OnUnpossessActor(Actor actor) {
|
||||
base.OnUnpossessActor(actor);
|
||||
|
||||
m_OwnerActorDisposableBag.Dispose();
|
||||
m_OwnerActorDisposableBag = new DisposableBag();
|
||||
|
||||
UnsubscribeFromPlayerActorEvents();
|
||||
m_Actor = null;
|
||||
}
|
||||
|
||||
void UnsubscribeFromPlayerActorEvents() {
|
||||
if (m_Actor.OrNull() == null) {
|
||||
s_Logger.Error("Cannot unsubscribe from player actor events: actor is not set");
|
||||
return;
|
||||
}
|
||||
|
||||
m_Actor.OnTargetInteractableChanged -= OnTargetInteractableChanged;
|
||||
}
|
||||
|
||||
void OnTargetInteractableChanged(IInteractable interactable) {
|
||||
m_Interactable?.SetHighlight(false);
|
||||
|
||||
if (m_TargetInteractableLabelDisposable != null) {
|
||||
m_TargetInteractableLabelDisposable.Dispose();
|
||||
m_TargetInteractableLabelDisposable = null;
|
||||
}
|
||||
|
||||
m_Interactable = interactable;
|
||||
m_Interactable?.SetHighlight(true);
|
||||
|
||||
if (interactable is Actor interactableActor) {
|
||||
m_TargetInteractableLabelDisposable =
|
||||
m_HUD.ObjectsLabels.CreateLabel(interactableActor.transform,
|
||||
interactableActor.ActorName);
|
||||
}
|
||||
}
|
||||
|
||||
void Update() {
|
||||
if (m_Actor is null) {
|
||||
|
||||
Reference in New Issue
Block a user