public MyShipWelder() { #if XB1 // XB1_SYNC_NOREFLECTION m_helpOthers = SyncType.CreateAndAddProp<bool>(); #endif // XB1 CreateTerminalControls(); }
public MyBeacon() { #if XB1 // XB1_SYNC_NOREFLECTION m_radius = SyncType.CreateAndAddProp<float>(); #endif // XB1 CreateTerminalControls(); m_radius.ValueChanged += (obj) => ChangeRadius(); }
public MyCryoChamber() { #if XB1 // XB1_SYNC_NOREFLECTION m_attachedPlayerId = SyncType.CreateAndAddProp<MyPlayer.PlayerId?>(); #endif // XB1 ControllerInfo.ControlAcquired += OnCryoChamberControlAcquired; m_attachedPlayerId.ValueChanged += (x) => AttachedPlayerChanged(); }
public MyGasGenerator() { #if XB1 // XB1_SYNC_NOREFLECTION m_useConveyorSystem = SyncType.CreateAndAddProp<bool>(); #endif // XB1 CreateTerminalControls(); SourceComp = new MyResourceSourceComponent(2); ResourceSink = new MyResourceSinkComponent(); }
public MyLargeConveyorTurretBase() : base() { #if XB1 // XB1_SYNC_NOREFLECTION m_useConveyorSystem = SyncType.CreateAndAddProp<bool>(); #endif // XB1 CreateTerminalControls(); NeedsUpdate |= MyEntityUpdateEnum.EACH_100TH_FRAME; }
public MyUserControllableGun() { #if XB1 // XB1_SYNC_NOREFLECTION m_isShooting = SyncType.CreateAndAddProp<bool>(); #endif // XB1 CreateTerminalControls(); m_isShooting.ValueChanged += (x) => ShootingChanged(); }
public MyCameraBlock() { #if XB1 // XB1_SYNC_NOREFLECTION m_syncFov = SyncType.CreateAndAddProp<float>(); #endif // XB1 CreateTerminalControls(); m_syncFov.ValueChanged += (x) => OnSyncFov(); }
public MyFunctionalBlock() { #if XB1 // XB1_SYNC_NOREFLECTION m_enabled = SyncType.CreateAndAddProp<bool>(); #endif // BX1 CreateTerminalControls(); NeedsUpdate |= MyEntityUpdateEnum.EACH_100TH_FRAME; m_enabled.ValueChanged += (x)=> EnabledSyncChanged(); }
public MyAirVent() { #if XB1 // XB1_SYNC_NOREFLECTION m_isDepressurizing = SyncType.CreateAndAddProp<bool>(); #endif // XB1 CreateTerminalControls(); ResourceSink = new MyResourceSinkComponent(2); SourceComp = new MyResourceSourceComponent(); m_isDepressurizing.ValueChanged += (x) => SetDepressurizing(); }
public MyAirtightDoorGeneric() { #if XB1 // XB1_SYNC_NOREFLECTION m_open = SyncType.CreateAndAddProp<bool>(); #endif // XB1 CreateTerminalControls(); m_open.Value = false; m_currOpening = 0f; m_currSpeed = 0f; m_open.ValueChanged += (x) => DoChangeOpenClose(); }
public MyReactor() { #if XB1 // XB1_SYNC_NOREFLECTION m_remainingPowerCapacity = SyncType.CreateAndAddProp<float>(); m_useConveyorSystem = SyncType.CreateAndAddProp<bool>(); #endif // XB1 CreateTerminalControls(); SourceComp = new MyResourceSourceComponent(); m_remainingPowerCapacity.ValueChanged += (x) => RemainingCapacityChanged(); m_remainingPowerCapacity.ValidateNever(); }
public MyTimerBlock() { #if XB1 // XB1_SYNC_NOREFLECTION m_isCountingDown = SyncType.CreateAndAddProp<bool>(); m_silent = SyncType.CreateAndAddProp<bool>(); m_timerSync = SyncType.CreateAndAddProp<int>(); #endif // XB1 CreateTerminalControls(); m_openedToolbars = new List<MyToolbar>(); m_timerSync.ValueChanged += (x) => TimerChanged(); m_isCountingDown.ValueChanged += (x) => CountDownChanged(); m_isCountingDown.ValidateNever(); }
public MyJumpDrive() { #if XB1 // XB1_SYNC_NOREFLECTION m_storedPower = SyncType.CreateAndAddProp<float>(); m_targetSync = SyncType.CreateAndAddProp<int?>(); m_jumpDistanceRatio = SyncType.CreateAndAddProp<float>(); m_isRecharging = SyncType.CreateAndAddProp<bool>(); #endif // XB1 CreateTerminalControls(); m_isRecharging.ValueChanged += x => RaisePropertiesChanged(); //GR: Maybe not needed since called every 100 frames either way m_targetSync.ValueChanged += x => TargetChanged(); m_storedPower.ValidateNever(); }
public MyDoor() { #if XB1 // XB1_SYNC_NOREFLECTION m_currOpening = SyncType.CreateAndAddProp<float>(); m_open = SyncType.CreateAndAddProp<bool>(); #endif // XB1 CreateTerminalControls(); m_currOpening.ValidateNever(); m_currOpening.Value = 0f; m_currSpeed = 0f; m_open.ValidateNever(); m_open.ValueChanged += x => OnStateChange(); }
public MyAdvancedDoor() { #if XB1 // XB1_SYNC_NOREFLECTION m_open = SyncType.CreateAndAddProp<bool>(); #endif // XB1 CreateTerminalControls(); m_subparts.Clear(); m_subpartIDs.Clear(); m_currentOpening.Clear(); m_currentSpeed.Clear(); m_emitter.Clear(); m_hingePosition.Clear(); m_openingSequence.Clear(); m_open.ValueChanged += x => OnStateChange(); }
public MyMechanicalConnectionBlockBase() { #if XB1 // XB1_SYNC_NOREFLECTION m_connectionState = SyncType.CreateAndAddProp<State>(); m_topAndBottomSamePhysicsBody = SyncType.CreateAndAddProp<bool>(); m_forceWeld = SyncType.CreateAndAddProp<bool>(); m_speedWeld = SyncType.CreateAndAddProp<bool>(); m_weldSpeedSq = SyncType.CreateAndAddProp<float>(); #endif // XB1 m_forceWeld.ValueChanged += (o) => OnForceWeldChanged(); m_connectionState.ValueChanged += (o) => OnAttachTargetChanged(); m_connectionState.Validate = ValidateTopBlockId; m_topAndBottomSamePhysicsBody.ValidateNever(); m_speedWeld.Value = false; CreateTerminalControls(); }
public MyTextPanel() { #if XB1 // XB1_SYNC_NOREFLECTION m_backgroundColor = SyncType.CreateAndAddProp<Color>(); m_fontColor = SyncType.CreateAndAddProp<Color>(); m_accessFlag = SyncType.CreateAndAddProp<TextPanelAccessFlag>(); m_showFlag = SyncType.CreateAndAddProp<ShowTextOnScreenFlag>(); m_changeInterval = SyncType.CreateAndAddProp<float>(); m_fontSize = SyncType.CreateAndAddProp<float>(); #endif // XB1 CreateTerminalControls(); m_publicDescription = new StringBuilder(); m_textBox = null; m_publicTitle = new StringBuilder(); m_isOpen = false; m_privateDescription = new StringBuilder(); m_privateTitle = new StringBuilder(); Render = new MyRenderComponentTextPanel(); m_definitions.Clear(); foreach (var textureDefinition in MyDefinitionManager.Static.GetLCDTexturesDefinitions()) { m_definitions.Add(textureDefinition); } m_backgroundColor.Value = Color.Black; m_fontColor.Value = Color.White; m_changeInterval.Value = 0; m_fontSize.Value = 1.0f; m_backgroundColor.ValueChanged += m_backgroundColor_ValueChanged; m_fontColor.ValueChanged += m_fontColor_ValueChanged; m_showFlag.ValueChanged += m_showFlag_ValueChanged; m_changeInterval.ValueChanged += m_changeInterval_ValueChanged; m_fontSize.ValueChanged += m_fontSize_ValueChanged; }
public MyWarhead() { #if XB1 // XB1_SYNC_NOREFLECTION m_countdownMs = SyncType.CreateAndAddProp<int>(); m_isArmed = SyncType.CreateAndAddProp<bool>(); #endif // XB1 CreateTerminalControls(); m_isArmed.ValueChanged += (x) => UpdateEmissivity(); }
public MyShipConnector() { #if XB1 // XB1_SYNC_NOREFLECTION ThrowOut = SyncType.CreateAndAddProp<bool>(); CollectAll = SyncType.CreateAndAddProp<bool>(); Strength = SyncType.CreateAndAddProp<float>(); m_connectionState = SyncType.CreateAndAddProp<State>(); #endif // XB1 CreateTerminalControls(); m_connectionState.ValueChanged += (o) => OnConnectionStateChanged(); m_connectionState.ValidateNever(); // Never set by client m_manualDisconnectTime = new MyTimeSpan(-DisconnectSleepTime.Ticks); Strength.Validate = (o) => Strength >= 0 && Strength <= 1; }
public MyGyro() { #if XB1 // XB1_SYNC_NOREFLECTION m_gyroPower = SyncType.CreateAndAddProp<float>(); m_gyroOverride = SyncType.CreateAndAddProp<bool>(); m_gyroOverrideVelocity = SyncType.CreateAndAddProp<Vector3>(); #endif // XB1 CreateTerminalControls(); NeedsUpdate |= MyEntityUpdateEnum.EACH_FRAME; m_gyroPower.ValueChanged += x => GyroPowerChanged(); m_gyroOverride.ValueChanged += x => GyroOverrideChanged(); }
public MySensorBlock() { #if XB1 // XB1_SYNC_NOREFLECTION m_playProximitySound = SyncType.CreateAndAddProp<bool>(); m_active = SyncType.CreateAndAddProp<bool>(); m_fieldMin = SyncType.CreateAndAddProp<Vector3>(); m_fieldMax = SyncType.CreateAndAddProp<Vector3>(); m_flags = SyncType.CreateAndAddProp<MySensorFilterFlags>(); #endif // XB1 CreateTerminalControls(); m_active.ValueChanged += (x) => IsActiveChanged(); m_fieldMax.ValueChanged += (x) => UpdateField(); m_fieldMin.ValueChanged +=(x) => UpdateField(); }
public MyThrust() { #if XB1 // XB1_SYNC_NOREFLECTION m_thrustOverride = SyncType.CreateAndAddProp<float>(); #endif // XB1 CreateTerminalControls(); Render.NeedsDrawFromParent = true; NeedsUpdate = MyEntityUpdateEnum.EACH_10TH_FRAME | MyEntityUpdateEnum.EACH_100TH_FRAME; m_flameCollisionsList = new List<HkBodyCollision>(); m_damagedEntities = new List<IMyEntity>(); m_gridRayCastLst = new List<MyPhysics.HitInfo>(); Render = new MyRenderComponentThrust(); AddDebugRenderComponent(new MyDebugRenderComponentThrust(this)); m_thrustOverride.ValueChanged += (x) => ThrustOverrideValueChanged(); }
public MyProductionBlock() { #if XB1 // XB1_SYNC_NOREFLECTION m_useConveyorSystem = SyncType.CreateAndAddProp<bool>(); #endif // XB1 CreateTerminalControls(); m_soundEmitter = new MyEntity3DSoundEmitter(this, true); m_queue = new List<QueueItem>(); NeedsUpdate |= MyEntityUpdateEnum.EACH_10TH_FRAME; IsProducing = false; Components.ComponentAdded += OnComponentAdded; }
public MyBatteryBlock() { #if XB1 // XB1_SYNC_NOREFLECTION m_isFull = SyncType.CreateAndAddProp<bool>(); m_onlyRecharge = SyncType.CreateAndAddProp<bool>(); m_onlyDischarge = SyncType.CreateAndAddProp<bool>(); m_semiautoEnabled = SyncType.CreateAndAddProp<bool>(); m_producerEnabled = SyncType.CreateAndAddProp<bool>(); m_storedPower = SyncType.CreateAndAddProp<float>(); #endif // XB1 CreateTerminalControls(); SourceComp = new MyResourceSourceComponent(); ResourceSink = new MyResourceSinkComponent(); m_semiautoEnabled.ValueChanged += (x) => UpdateMaxOutputAndEmissivity(); m_onlyRecharge.ValueChanged += (x) => { if (m_onlyRecharge.Value) m_onlyDischarge.Value = false; UpdateMaxOutputAndEmissivity(); }; m_onlyDischarge.ValueChanged += (x) => { if (m_onlyDischarge.Value) m_onlyRecharge.Value = false; UpdateMaxOutputAndEmissivity(); }; m_producerEnabled.ValueChanged += (x) => ProducerEnadChanged(); m_storedPower.ValueChanged += (x) => CapacityChanged(); }
public MyInventory(MyFixedPoint maxVolume, MyFixedPoint maxMass, Vector3 size, MyInventoryFlags flags) : base("Inventory") { m_maxVolume = maxVolume; m_maxMass = maxMass; m_flags = flags; #if !XB1 // !XB1_SYNC_NOREFLECTION SyncType = SyncHelpers.Compose(this); #else // XB1 SyncType = new SyncType(new List<SyncBase>()); m_currentVolume = SyncType.CreateAndAddProp<MyFixedPoint>(); m_currentMass = SyncType.CreateAndAddProp<MyFixedPoint>(); #endif // XB1 m_currentVolume.ValueChanged += (x) => PropertiesChanged(); m_currentVolume.ValidateNever(); m_currentMass.ValueChanged += (x) => PropertiesChanged(); m_currentMass.ValidateNever(); m_inventoryNotEmptyNotification = new MyHudNotification(font: MyFontEnum.Red, priority: 2, text: MyCommonTexts.NotificationInventoryNotEmpty); Clear(); }
public MyFracturedPiece() : base() { //EntityId = MyEntityIdentifier.AllocateId(); //TODO: Synchronize through manager to avoid performance hits SyncFlag = true; base.PositionComp = new MyFracturePiecePositionComponent(); base.Render = new MyRenderComponentFracturedPiece(); base.Render.NeedsDraw = true; base.Render.PersistentFlags = MyPersistentEntityFlags2.Enabled; AddDebugRenderComponent(new MyFracturedPieceDebugDraw(this)); UseDamageSystem = false; NeedsUpdate = MyEntityUpdateEnum.EACH_10TH_FRAME | MyEntityUpdateEnum.EACH_100TH_FRAME; #if !XB1 // !XB1_SYNC_NOREFLECTION SyncType = SyncHelpers.Compose(this); #else // XB1 SyncType = new SyncType(new List<SyncBase>()); m_fallSoundShouldPlay = SyncType.CreateAndAddProp<bool>(); m_fallSoundString = SyncType.CreateAndAddProp<string>(); #endif // XB1 m_fallSoundShouldPlay.Value = false; m_fallSoundString.Value = ""; m_fallSoundString.ValueChanged += (x) => SetFallSound(); }
public MyCockpit() { #if XB1 // XB1_SYNC_NOREFLECTION m_pilotRelativeWorld = SyncType.CreateAndAddProp<Matrix?>(); m_attachedCharacterId = SyncType.CreateAndAddProp<long?>(); m_storeOriginalPlayerWorldMatrix = SyncType.CreateAndAddProp<bool>(); #endif // XB1 m_pilotClosedHandler = new Action<MyEntity>(m_pilot_OnMarkForClose); ResourceSink = new MyResourceSinkComponent(2); m_attachedCharacterId.ValueChanged += (o) => OnCharacterChanged(); m_soundEmitter.EmitterMethods[MyEntity3DSoundEmitter.MethodsEnum.ShouldPlay2D].Add((Func<bool>)ShouldPlay2D); m_pilotRelativeWorld.ValidateNever(); }
public MyRemoteControl() { #if XB1 // XB1_SYNC_NOREFLECTION m_autopilotSpeedLimit = SyncType.CreateAndAddProp<float>(); m_useCollisionAvoidance = SyncType.CreateAndAddProp<bool>(); m_autoPilotEnabled = SyncType.CreateAndAddProp<bool>(); m_dockingModeEnabled = SyncType.CreateAndAddProp<bool>(); m_currentFlightMode = SyncType.CreateAndAddProp<FlightMode>(); m_currentDirection = SyncType.CreateAndAddProp<Base6Directions.Direction>(); m_waypointThresholdDistance = SyncType.CreateAndAddProp<float>(); #endif // XB1 CreateTerminalControls(); TargettingAimDelta = 0; m_autoPilotEnabled.ValueChanged += (x) => OnSetAutoPilotEnabled(); }
public MyCharacter() { ControllerInfo.ControlAcquired += OnControlAcquired; ControllerInfo.ControlReleased += OnControlReleased; RadioReceiver = new MyRadioReceiver(); Components.Add<MyDataBroadcaster>(new MyRadioBroadcaster()); RadioBroadcaster.BroadcastRadius = 200; CustomNameWithFaction = new StringBuilder(); PositionComp = new MyCharacterPosition(); (PositionComp as MyPositionComponent).WorldPositionChanged = WorldPositionChanged; Render = new MyRenderComponentCharacter(); Render.EnableColorMaskHsv = true; Render.NeedsDraw = true; Render.CastShadows = true; Render.NeedsResolveCastShadow = false; Render.SkipIfTooSmall = false; SinkComp = new MyResourceSinkComponent(); #if !XB1 // !XB1_SYNC_NOREFLECTION SyncType = SyncHelpers.Compose(this); #else // XB1 SyncType = new SyncType(new List<SyncBase>()); m_currentAmmoCount = SyncType.CreateAndAddProp<int>(); m_currentMagazineAmmoCount = SyncType.CreateAndAddProp<int>(); m_controlInfo = SyncType.CreateAndAddProp<Sandbox.Game.World.MyPlayer.PlayerId>(); m_localHeadPosition = SyncType.CreateAndAddProp<Vector3>(); m_animLeaning = SyncType.CreateAndAddProp<float>(); m_animTurningSpeed = SyncType.CreateAndAddProp<float>(); m_localHeadTransform = SyncType.CreateAndAddProp<MyTransform>(); m_localHeadTransformTool = SyncType.CreateAndAddProp<MyTransform>(); m_isPromoted = SyncType.CreateAndAddProp<bool>(); //m_weaponPosition = SyncType.CreateAndAddProp<Vector3>(); #endif // XB1 AddDebugRenderComponent(new MyDebugRenderComponentCharacter(this)); if (MyPerGameSettings.CharacterDetectionComponent != null) Components.Add<MyCharacterDetectorComponent>((MyCharacterDetectorComponent)Activator.CreateInstance(MyPerGameSettings.CharacterDetectionComponent)); else Components.Add<MyCharacterDetectorComponent>(new MyCharacterRaycastDetectorComponent()); m_currentAmmoCount.ValidateNever(); m_currentMagazineAmmoCount.ValidateNever(); m_controlInfo.ValueChanged += (x) => ControlChanged(); m_controlInfo.ValidateNever(); m_isPromoted.ValidateNever(); m_isShooting = new bool[(int)MyEnum<MyShootActionEnum>.Range.Max + 1]; //m_weaponPosition.Value = Vector3D.Zero; m_localHeadTransformTool.ValueChanged += (x) => ToolHeadTransformChanged(); //Components.Add<MyCharacterDetectorComponent>(new MyCharacterShapecastDetectorComponent()); }
public MyFloatingObject() { WasRemovedFromWorld = false; m_soundEmitter = new MyEntity3DSoundEmitter(this); m_lastTimePlayedSound = MySandboxGame.TotalGamePlayTimeInMilliseconds; Render = new Components.MyRenderComponentFloatingObject(); #if !XB1 // !XB1_SYNC_NOREFLECTION SyncType = SyncHelpers.Compose(this); #else // XB1 SyncType = new SyncType(new List<SyncBase>()); Amount = SyncType.CreateAndAddProp<MyFixedPoint>(); #endif // XB1 Amount.ValueChanged += (x) => { Item.Amount = Amount.Value; UpdateInternalState(); }; }