29 public DynamicArray<ComponentBody>
m_bodies = [];
54 float num = 0.25f * (0.9f + 0.000200000009f * (GetHashCode() % 1000));
63 for (
int i = 0; i <
m_bodies.Count; i++) {
103 delegate(
int value,
float _) {
106 && block.BlockIndex != 15
107 && block.BlockIndex != 60
108 && block.BlockIndex != 44
109 && block.BlockIndex != 18;
static float Saturate(float x)
static int Max(int x1, int x2)
static float Lerp(float x1, float x2, float f)
virtual bool IsCollidable_(int value)
const float m_pollingPeriod
DynamicArray< ComponentBody > m_bodies
const float m_speedThreshold
float TestPoint(Vector3 p)
SubsystemMovingBlocks m_subsystemMovingBlocks
override float GetOutputVoltage(int face)
MotionDetectorElectricElement(SubsystemElectricity subsystemElectricity, CellFace cellFace)
SubsystemBodies m_subsystemBodies
SubsystemPickables m_subsystemPickables
float CalculateMotionVoltage()
SubsystemProjectiles m_subsystemProjectiles
MountedElectricElement(SubsystemElectricity subsystemElectricity, CellFace cellFace)
void PlaySound(string name, float volume, float pitch, float pan, float delay)
SubsystemAudio SubsystemAudio
SubsystemTerrain SubsystemTerrain
void QueueElectricElementForSimulation(ElectricElement electricElement, int circuitStep)
virtual ? TerrainRaycastResult Raycast(Vector3 start, Vector3 end, bool useInteractionBoxes, bool skipAirBlocks, Func< int, float, bool > action)
static int ExtractContents(int value)
virtual Subsystem FindSubsystem(Type type, string name, bool throwOnError)
BoundingBox BoundingBox(bool extendToFillCells)
List< MovingBlock > Blocks
static float Distance(BoundingBox b, Vector3 p)
static float DistanceSquared(Vector3 v1, Vector3 v2)
static Vector3 Normalize(Vector3 v)
static float Dot(Vector3 v1, Vector3 v2)
static Vector3 FaceToVector3(int face)