public override void AddComponents() { base.AddComponents(); if (Interactable()) { AddComponent(new InteractableComponent(Interact) { CanInteract = CanInteract }); } AddComponent(new AudioEmitterComponent { DestroySounds = false }); var state = new StateComponent(); AddComponent(state); if (LockedByDefault) { state.Become <IdleState>(); locked = true; } else { state.Become <OpenState>(); locked = false; } AddTag(Tags.Lock); }