2022-08-27 16:57:27 +00:00
|
|
|
|
using QSB.Player;
|
|
|
|
|
using QSB.WorldSync;
|
2021-12-02 12:38:38 +00:00
|
|
|
|
using System.Collections.Generic;
|
2021-02-24 10:45:25 +00:00
|
|
|
|
|
2022-03-03 03:46:33 +00:00
|
|
|
|
namespace QSB.QuantumSync.WorldObjects;
|
|
|
|
|
|
|
|
|
|
public interface IQSBQuantumObject : IWorldObject
|
2021-01-26 17:08:02 +00:00
|
|
|
|
{
|
2023-02-08 19:33:41 +00:00
|
|
|
|
/// <summary>
|
|
|
|
|
/// whether the controlling player is always the host <br/>
|
|
|
|
|
/// also means this object is considered always enabled
|
|
|
|
|
/// </summary>
|
2023-02-08 11:37:17 +00:00
|
|
|
|
bool HostControls { get; }
|
2022-03-03 03:46:33 +00:00
|
|
|
|
uint ControllingPlayer { get; set; }
|
|
|
|
|
bool IsEnabled { get; }
|
2021-12-02 12:38:38 +00:00
|
|
|
|
|
2022-03-03 03:46:33 +00:00
|
|
|
|
List<Shape> GetAttachedShapes();
|
2022-01-12 03:21:45 +00:00
|
|
|
|
|
2022-03-03 03:46:33 +00:00
|
|
|
|
void SetIsQuantum(bool isQuantum);
|
2022-03-07 20:34:35 +00:00
|
|
|
|
VisibilityObject GetVisibilityObject();
|
2022-08-27 16:57:27 +00:00
|
|
|
|
void OnTakeProbeSnapshot(PlayerInfo player, ProbeCamera.ID cameraId);
|
2022-08-28 10:08:56 +00:00
|
|
|
|
void OnRemoveProbeSnapshot(PlayerInfo player);
|
2023-04-16 23:10:30 +00:00
|
|
|
|
List<PlayerInfo> GetVisibleToProbePlayers();
|
2022-02-25 06:04:54 +00:00
|
|
|
|
}
|