using QSB.Player;
using QSB.WorldSync;
using System.Collections.Generic;
namespace QSB.QuantumSync.WorldObjects;
public interface IQSBQuantumObject : IWorldObject
{
///
/// whether the controlling player is always the host
/// also means this object is considered always enabled
///
bool HostControls { get; }
uint ControllingPlayer { get; set; }
bool IsEnabled { get; }
List GetAttachedShapes();
void SetIsQuantum(bool isQuantum);
VisibilityObject GetVisibilityObject();
void OnTakeProbeSnapshot(PlayerInfo player, ProbeCamera.ID cameraId);
void OnRemoveProbeSnapshot(PlayerInfo player);
List GetVisibleToProbePlayers();
}