本文整理汇总了C#中Sandbox.Game.EntityComponents.MyResourceSinkComponent.Init方法的典型用法代码示例。如果您正苦于以下问题:C# MyResourceSinkComponent.Init方法的具体用法?C# MyResourceSinkComponent.Init怎么用?C# MyResourceSinkComponent.Init使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Sandbox.Game.EntityComponents.MyResourceSinkComponent
的用法示例。
在下文中一共展示了MyResourceSinkComponent.Init方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Init
public override void Init(MyObjectBuilder_CubeBlock objectBuilder, MyCubeGrid cubeGrid)
{
m_cameraDummy = Matrix.Identity;
m_characterDummy = Matrix.Identity;
base.Init(objectBuilder, cubeGrid);
var chamberOb = objectBuilder as MyObjectBuilder_CryoChamber;
if (chamberOb.SteamId != null && chamberOb.SerialId != null)
{
m_currentPlayerId = new MyPlayer.PlayerId(chamberOb.SteamId.Value, chamberOb.SerialId.Value);
}
else
{
m_currentPlayerId = null;
}
var overlayTexture = BlockDefinition.OverlayTexture;
if (!string.IsNullOrEmpty(overlayTexture))
{
m_overlayTextureName = overlayTexture;
}
var sinkComp = new MyResourceSinkComponent();
sinkComp.Init(
MyStringHash.GetOrCompute(BlockDefinition.ResourceSinkGroup),
BlockDefinition.IdlePowerConsumption,
this.CalculateRequiredPowerInput);
sinkComp.IsPoweredChanged += Receiver_IsPoweredChanged;
ResourceSink = sinkComp;
NeedsUpdate |= MyEntityUpdateEnum.BEFORE_NEXT_FRAME;
}
示例2: Init
public override void Init(MyObjectBuilder_CubeBlock objectBuilder, MyCubeGrid cubeGrid)
{
base.Init(objectBuilder, cubeGrid);
ResourceSink = new MyResourceSinkComponent();
ResourceSink.Init(
BlockDefinition.ResourceSinkGroup,
BlockDefinition.RequiredPowerInput,
this.CalculateRequiredPowerInput);
ResourceSink.IsPoweredChanged += Receiver_IsPoweredChanged;
ResourceSink.Update();
if (Physics != null)
{
Physics.Close();
}
var detectorShape = new HkBoxShape(new Vector3(cubeGrid.GridSize / 3.0f));
var massProperties = HkInertiaTensorComputer.ComputeBoxVolumeMassProperties(detectorShape.HalfExtents, BlockDefinition.VirtualMass);
Physics = new Engine.Physics.MyPhysicsBody(this, RigidBodyFlag.RBF_DEFAULT);
Physics.IsPhantom = false;
Physics.CreateFromCollisionObject(detectorShape, Vector3.Zero, WorldMatrix, massProperties, MyPhysics.VirtualMassLayer);
Physics.Enabled = IsWorking && cubeGrid.Physics != null && cubeGrid.Physics.Enabled;
Physics.RigidBody.Activate();
detectorShape.Base.RemoveReference();
UpdateText();
NeedsUpdate = MyEntityUpdateEnum.EACH_FRAME;
SlimBlock.ComponentStack.IsFunctionalChanged += ComponentStack_IsFunctionalChanged;
}
示例3: Init
public override void Init(MyObjectBuilder_CubeBlock objectBuilder, MyCubeGrid cubeGrid)
{
base.Init(objectBuilder, cubeGrid);
var def = BlockDefinition as MyPoweredCargoContainerDefinition;
var ob = objectBuilder as MyObjectBuilder_Collector;
m_inventory = new MyInventory(def.InventorySize.Volume, def.InventorySize, MyInventoryFlags.CanSend, this);
m_inventory.Init(ob.Inventory);
m_inventory.ContentsChanged += Inventory_ContentChangedCallback;
if (Sync.IsServer && CubeGrid.CreatePhysics)
LoadDummies();
var sinkComp = new MyResourceSinkComponent();
sinkComp.Init(
MyStringHash.GetOrCompute(def.ResourceSinkGroup),
MyEnergyConstants.MAX_REQUIRED_POWER_COLLECTOR,
() => base.CheckIsWorking() ? ResourceSink.MaxRequiredInput : 0f);
ResourceSink = sinkComp;
ResourceSink.Update();
ResourceSink.IsPoweredChanged += Receiver_IsPoweredChanged;
AddDebugRenderComponent(new Components.MyDebugRenderComponentDrawPowerReciever(ResourceSink,this));
SlimBlock.ComponentStack.IsFunctionalChanged += UpdateReceiver;
base.EnabledChanged += UpdateReceiver;
m_useConveyorSystem = ob.UseConveyorSystem;
}
示例4: MyGridWheelSystem
public MyGridWheelSystem(MyCubeGrid grid)
{
m_wheels = new HashSet<MyMotorSuspension>();
m_wheelsChanged = false;
m_grid = grid;
SinkComp = new MyResourceSinkComponent();
SinkComp.Init(MyStringHash.GetOrCompute("Utility"), m_maxRequiredPowerInput, () => m_maxRequiredPowerInput);
SinkComp.IsPoweredChanged += Receiver_IsPoweredChanged;
grid.OnPhysicsChanged += grid_OnPhysicsChanged;
}
示例5: MyGridGyroSystem
public MyGridGyroSystem(MyCubeGrid grid)
{
m_grid = grid;
m_gyros = new HashSet<MyGyro>();
m_gyrosChanged = false;
ResourceSink = new MyResourceSinkComponent();
ResourceSink.Init(
MyStringHash.GetOrCompute("Gyro"),
m_maxRequiredPowerInput,
() => m_maxRequiredPowerInput);
ResourceSink.IsPoweredChanged += Receiver_IsPoweredChanged;
}
示例6: Init
public override void Init(MyObjectBuilder_CubeBlock objectBuilder, MyCubeGrid cubeGrid)
{
m_cameraDummy = Matrix.Identity;
m_characterDummy = Matrix.Identity;
base.Init(objectBuilder, cubeGrid);
if (ResourceSink == null)
{
// we've already created ResourceSink in ancestor!
var sinkComp = new MyResourceSinkComponent();
sinkComp.Init(
MyStringHash.GetOrCompute(BlockDefinition.ResourceSinkGroup),
BlockDefinition.IdlePowerConsumption,
this.CalculateRequiredPowerInput);
sinkComp.IsPoweredChanged += Receiver_IsPoweredChanged;
ResourceSink = sinkComp;
}
else
{
// override electricity settings
ResourceSink.SetMaxRequiredInputByType(MyResourceDistributorComponent.ElectricityId, BlockDefinition.IdlePowerConsumption);
ResourceSink.SetRequiredInputFuncByType(MyResourceDistributorComponent.ElectricityId, this.CalculateRequiredPowerInput);
ResourceSink.IsPoweredChanged += Receiver_IsPoweredChanged;
}
var chamberOb = objectBuilder as MyObjectBuilder_CryoChamber;
if (chamberOb.SteamId != null && chamberOb.SerialId != null)
{
m_currentPlayerId = new MyPlayer.PlayerId(chamberOb.SteamId.Value, chamberOb.SerialId.Value);
}
else
{
m_currentPlayerId = null;
}
var overlayTexture = BlockDefinition.OverlayTexture;
if (!string.IsNullOrEmpty(overlayTexture))
{
m_overlayTextureName = overlayTexture;
}
HorizonIndicatorEnabled = false;
NeedsUpdate |= MyEntityUpdateEnum.BEFORE_NEXT_FRAME | MyEntityUpdateEnum.EACH_10TH_FRAME;
}
示例7: Init
public override void Init(MyObjectBuilder_CubeBlock objectBuilder, MyCubeGrid cubeGrid)
{
var ob = objectBuilder as MyObjectBuilder_Collector;
var sinkComp = new MyResourceSinkComponent();
sinkComp.Init(
MyStringHash.GetOrCompute(BlockDefinition.ResourceSinkGroup),
BlockDefinition.RequiredPowerInput,
ComputeRequiredPower);
ResourceSink = sinkComp;
base.Init(objectBuilder, cubeGrid);
m_useConveyorSystem.Value = true;
if (MyFakes.ENABLE_INVENTORY_FIX)
{
FixSingleInventory();
}
if (this.GetInventory() == null)
{
MyInventory inventory = new MyInventory(BlockDefinition.InventorySize.Volume, BlockDefinition.InventorySize, MyInventoryFlags.CanSend);
Components.Add<MyInventoryBase>(inventory);
inventory.Init(ob.Inventory);
}
Debug.Assert(this.GetInventory().Owner == this, "Ownership was not set!");
if (Sync.IsServer && CubeGrid.CreatePhysics)
LoadDummies();
ResourceSink.IsPoweredChanged += Receiver_IsPoweredChanged;
AddDebugRenderComponent(new Components.MyDebugRenderComponentDrawPowerReciever(ResourceSink,this));
SlimBlock.ComponentStack.IsFunctionalChanged += UpdateReceiver;
base.EnabledChanged += UpdateReceiver;
m_useConveyorSystem.Value = ob.UseConveyorSystem;
ResourceSink.Update();
NeedsUpdate |= MyEntityUpdateEnum.EACH_100TH_FRAME;
}
示例8: Init
public override void Init(MyObjectBuilder_CubeBlock objectBuilder, MyCubeGrid cubeGrid)
{
var def = BlockDefinition as MyPoweredCargoContainerDefinition;
var sinkComp = new MyResourceSinkComponent();
sinkComp.Init(
MyStringHash.GetOrCompute(def.ResourceSinkGroup),
MyEnergyConstants.MAX_REQUIRED_POWER_COLLECTOR,
() => base.CheckIsWorking() ? ResourceSink.MaxRequiredInput : 0f);
ResourceSink = sinkComp;
ResourceSink.Update();
base.Init(objectBuilder, cubeGrid);
var ob = objectBuilder as MyObjectBuilder_Collector;
m_useConveyorSystem.Value = true;
if (MyFakes.ENABLE_INVENTORY_FIX)
{
FixSingleInventory();
}
if (this.GetInventory() == null)
{
Components.Add<MyInventoryBase>( new MyInventory(def.InventorySize.Volume, def.InventorySize, MyInventoryFlags.CanSend, this));
this.GetInventory().Init(ob.Inventory);
}
Debug.Assert(this.GetInventory().Owner == this, "Ownership was not set!");
if (Sync.IsServer && CubeGrid.CreatePhysics)
LoadDummies();
ResourceSink.IsPoweredChanged += Receiver_IsPoweredChanged;
AddDebugRenderComponent(new Components.MyDebugRenderComponentDrawPowerReciever(ResourceSink,this));
SlimBlock.ComponentStack.IsFunctionalChanged += UpdateReceiver;
base.EnabledChanged += UpdateReceiver;
m_useConveyorSystem.Value = ob.UseConveyorSystem;
}
示例9: Init
public override void Init(MyObjectBuilder_CubeBlock builder, MyCubeGrid cubeGrid)
{
ResourceSink = new MyResourceSinkComponent();
ResourceSink.Init(
MyStringHash.GetOrCompute(BlockDefinition.ResourceSinkGroup),
BlockDefinition.PowerConsumptionMoving,
UpdatePowerInput);
base.Init(builder, cubeGrid);
var ob = (MyObjectBuilder_AirtightDoorGeneric)builder;
m_open.Value = ob.Open;
m_currOpening = ob.CurrOpening;
m_openingSpeed = BlockDefinition.OpeningSpeed;
m_sound = new MySoundPair(BlockDefinition.Sound);
m_subpartMovementDistance = BlockDefinition.SubpartMovementDistance;
if (!Enabled || !ResourceSink.IsPoweredByType(MyResourceDistributorComponent.ElectricityId))
UpdateDoorPosition();
OnStateChange();
ResourceSink.IsPoweredChanged += Receiver_IsPoweredChanged;
ResourceSink.Update();
SlimBlock.ComponentStack.IsFunctionalChanged += ComponentStack_IsFunctionalChanged;
ResourceSink.Update();
}
示例10: MyGridConveyorSystem
public MyGridConveyorSystem(MyCubeGrid grid)
{
m_grid = grid;
m_lineEndpoints = null;
m_linePoints = null;
m_deserializedLines = null;
ResourceSink = new MyResourceSinkComponent();
ResourceSink.Init(
MyStringHash.GetOrCompute("Conveyors"),
CONVEYOR_SYSTEM_CONSUMPTION,
CalculateConsumption);
ResourceSink.IsPoweredChanged += Receiver_IsPoweredChanged;
ResourceSink.Update();
}
示例11: Init
public override void Init(MyObjectBuilder_CubeBlock objectBuilder, MyCubeGrid cubeGrid)
{
SyncFlag = true;
base.Init(objectBuilder, cubeGrid);
m_inputInventory = new MyInventory(
ProductionBlockDefinition.InventoryMaxVolume,
ProductionBlockDefinition.InventorySize,
MyInventoryFlags.CanReceive,
this);
m_outputInventory = new MyInventory(
ProductionBlockDefinition.InventoryMaxVolume,
ProductionBlockDefinition.InventorySize,
MyInventoryFlags.CanSend,
this);
var ob = (MyObjectBuilder_ProductionBlock)objectBuilder;
if (ob.InputInventory != null)
InputInventory.Init(ob.InputInventory);
if (ob.OutputInventory != null)
OutputInventory.Init(ob.OutputInventory);
m_nextItemId = ob.NextItemId;
bool nextIdWasZero = m_nextItemId == 0;
base.IsWorkingChanged += CubeBlock_IsWorkingChanged;
var sinkComp = new MyResourceSinkComponent();
sinkComp.Init(ProductionBlockDefinition.ResourceSinkGroup, ProductionBlockDefinition.OperationalPowerConsumption, ComputeRequiredPower);
sinkComp.IsPoweredChanged += Receiver_IsPoweredChanged;
ResourceSink = sinkComp;
ResourceSink.Update();
AddDebugRenderComponent(new Components.MyDebugRenderComponentDrawPowerReciever(ResourceSink, this));
SlimBlock.ComponentStack.IsFunctionalChanged += ComponentStack_IsFunctionalChanged;
if (ob.Queue != null)
{
m_queue.Clear();
if (m_queue.Capacity < ob.Queue.Length)
m_queue.Capacity = ob.Queue.Length;
for (int i = 0; i < ob.Queue.Length; ++i)
{
var item = ob.Queue[i];
Debug.Assert(item.ItemId != null || nextIdWasZero, "Item index was null while next id for production block was given non-zero. This is inconsistency.");
var deserializedItem = DeserializeQueueItem(item);
Debug.Assert(deserializedItem.Blueprint != null, "Could not add item into production block's queue: Blueprint was not found.");
if (deserializedItem.Blueprint != null)
{
m_queue.Add(deserializedItem);
MySandboxGame.Log.WriteLine(string.Format("Could not add item into production block's queue: Blueprint {0} was not found.", item.Id));
}
}
UpdatePower();
}
m_useConveyorSystem = ob.UseConveyorSystem;
m_lastUpdateTime = MySandboxGame.TotalGamePlayTimeInMilliseconds;
}
示例12: Init
public override void Init(MyObjectBuilder_CubeBlock builder, MyCubeGrid cubeGrid)
{
SyncFlag = true;
var sinkComp = new MyResourceSinkComponent();
sinkComp.Init(
BlockDefinition.ResourceSinkGroup,
0.0001f,
() => IsFunctional ? 0.0001f : 0);
sinkComp.IsPoweredChanged += Receiver_IsPoweredChanged;
sinkComp.IsPoweredChanged += ComponentStack_IsFunctionalChanged;
ResourceSink = sinkComp;
base.Init(builder, cubeGrid);
m_emissiveNames = new List<string>(BlockDefinition.ButtonCount);
for (int i = 1; i <= BlockDefinition.ButtonCount; i++) //button dummies have 1-based index
{
m_emissiveNames.Add(string.Format("Emissive{0}", i)); // because of modding
}
var ob = builder as MyObjectBuilder_ButtonPanel;
Toolbar = new MyToolbar(MyToolbarType.ButtonPanel, Math.Min(BlockDefinition.ButtonCount, MyToolbar.DEF_SLOT_COUNT), (BlockDefinition.ButtonCount / MyToolbar.DEF_SLOT_COUNT) + 1);
Toolbar.DrawNumbers = false;
Toolbar.GetSymbol = (slot) =>
{
var ret = new Sandbox.Graphics.GUI.MyGuiControlGrid.ColoredIcon();
if(Toolbar.SlotToIndex(slot) < BlockDefinition.ButtonCount)
{
ret.Icon = BlockDefinition.ButtonSymbols[Toolbar.SlotToIndex(slot) % BlockDefinition.ButtonSymbols.Length];
var color = BlockDefinition.ButtonColors[Toolbar.SlotToIndex(slot) % BlockDefinition.ButtonColors.Length];
color.W = 1;
ret.Color = color;
}
return ret;
};
Toolbar.Init(ob.Toolbar, this);
Toolbar.ItemChanged += Toolbar_ItemChanged;
AnyoneCanUse = ob.AnyoneCanUse;
SlimBlock.ComponentStack.IsFunctionalChanged += ComponentStack_IsFunctionalChanged;
ResourceSink.Update();
if (ob.CustomButtonNames != null)
{
m_customButtonNames = ob.CustomButtonNames;
}
NeedsUpdate |= MyEntityUpdateEnum.BEFORE_NEXT_FRAME | MyEntityUpdateEnum.EACH_FRAME;
UseObjectsComponent.GetInteractiveObjects<MyUseObjectPanelButton>(m_buttonsUseObjects);
}
示例13: Init
public override void Init(MyObjectBuilder_CubeBlock objectBuilder, MyCubeGrid cubeGrid)
{
var sinkComp = new MyResourceSinkComponent();
sinkComp.Init(
BlockDefinition.ResourceSinkGroup,
BlockDefinition.RequiredPowerInput,
CalculateRequiredPowerInput);
ResourceSink = sinkComp;
base.Init(objectBuilder, cubeGrid);
if (!MyFakes.ENABLE_PROJECTOR_BLOCK)
{
return;
}
var projectorBuilder = (MyObjectBuilder_ProjectorBase)objectBuilder;
if (projectorBuilder.ProjectedGrid != null)
{
m_projectionOffset = projectorBuilder.ProjectionOffset;
m_projectionRotation = projectorBuilder.ProjectionRotation;
m_savedProjection = projectorBuilder.ProjectedGrid;
KeepProjection = projectorBuilder.KeepProjection;
}
m_showOnlyBuildable = projectorBuilder.ShowOnlyBuildable;
InstantBuildingEnabled = projectorBuilder.InstantBuildingEnabled;
MaxNumberOfProjections = projectorBuilder.MaxNumberOfProjections;
MaxNumberOfBlocksPerProjection = projectorBuilder.MaxNumberOfBlocks;
GetOwnershipFromProjector = projectorBuilder.GetOwnershipFromProjector;
m_projectionsRemaining = MathHelper.Clamp(projectorBuilder.ProjectionsRemaining, 0, m_maxNumberOfProjections);
IsWorkingChanged += MyProjector_IsWorkingChanged;
sinkComp.IsPoweredChanged += PowerReceiver_IsPoweredChanged;
ResourceSink.Update();
m_statsDirty = true;
UpdateText();
NeedsUpdate |= MyEntityUpdateEnum.BEFORE_NEXT_FRAME | MyEntityUpdateEnum.EACH_100TH_FRAME;
SlimBlock.ComponentStack.IsFunctionalChanged += ComponentStack_IsFunctionalChanged;
CubeGrid.OnBlockAdded += previewGrid_OnBlockAdded;
CubeGrid.OnBlockRemoved += previewGrid_OnBlockRemoved;
CubeGrid.OnGridSplit += CubeGrid_OnGridSplit;
}
示例14: Init
public override void Init(MyObjectBuilder_CubeBlock builder, MyCubeGrid cubeGrid)
{
base.Init(builder, cubeGrid);
//m_subpartsSize = 0.5f * (0.5f * SlimBlock.CubeGrid.GridSize - 0.3f);
var doorDefinition = BlockDefinition as MyDoorDefinition;
MyStringHash resourceSinkGroup;
if (doorDefinition != null)
{
MaxOpen = doorDefinition.MaxOpen;
m_openSound = new MySoundPair(doorDefinition.OpenSound);
m_closeSound = new MySoundPair(doorDefinition.CloseSound);
resourceSinkGroup = MyStringHash.GetOrCompute(doorDefinition.ResourceSinkGroup);
}
else
{
MaxOpen = 1.2f;
m_openSound = new MySoundPair("BlockDoorSmallOpen");
m_closeSound = new MySoundPair("BlockDoorSmallClose");
resourceSinkGroup = MyStringHash.GetOrCompute("Doors");
}
var ob = (MyObjectBuilder_Door)builder;
m_open = ob.State;
m_currOpening = ob.Opening;
var sinkComp = new MyResourceSinkComponent();
sinkComp.Init(
resourceSinkGroup,
MyEnergyConstants.MAX_REQUIRED_POWER_DOOR,
() => (Enabled && IsFunctional) ? sinkComp.MaxRequiredInput : 0f);
sinkComp.IsPoweredChanged += Receiver_IsPoweredChanged;
sinkComp.Update();
ResourceSink = sinkComp;
if (!Enabled || !ResourceSink.IsPowered)
UpdateSlidingDoorsPosition(true);
OnStateChange();
if (m_open)
{
// required when reinitializing a door after the armor beneath it is destroyed
if (Open && (m_currOpening == MaxOpen))
UpdateSlidingDoorsPosition(true);
}
SlimBlock.ComponentStack.IsFunctionalChanged += ComponentStack_IsFunctionalChanged;
}
示例15: Init
public override void Init(MyObjectBuilder_CubeBlock objectBuilder, MyCubeGrid cubeGrid)
{
SyncFlag = true;
var sinkComp = new MyResourceSinkComponent();
sinkComp.Init(
BlockDefinition.ResourceSinkGroup,
m_powerNeeded,
this.CalculateRequiredPowerInput);
ResourceSink = sinkComp;
base.Init(objectBuilder, cubeGrid);
NeedsUpdate = MyEntityUpdateEnum.BEFORE_NEXT_FRAME | MyEntityUpdateEnum.EACH_FRAME | MyEntityUpdateEnum.EACH_10TH_FRAME;
var remoteOb = (MyObjectBuilder_RemoteControl)objectBuilder;
m_savedPreviousControlledEntityId = remoteOb.PreviousControlledEntityId;
sinkComp.IsPoweredChanged += Receiver_IsPoweredChanged;
sinkComp.RequiredInputChanged += Receiver_RequiredInputChanged;
sinkComp.Update();
m_autoPilotEnabled.Value = remoteOb.AutoPilotEnabled;
m_dockingModeEnabled.Value = remoteOb.DockingModeEnabled;
m_currentFlightMode.Value = (FlightMode)remoteOb.FlightMode;
m_currentDirection.Value = (Base6Directions.Direction)remoteOb.Direction;
m_autopilotSpeedLimit.Value = remoteOb.AutopilotSpeedLimit;
m_bindedCamera.Value = remoteOb.BindedCamera;
m_waypointThresholdDistance.Value = remoteOb.WaypointThresholdDistance;
m_currentAutopilotSpeedLimit = m_autopilotSpeedLimit;
m_stuckDetection = new MyStuckDetection(0.03f, 0.01f, this.CubeGrid.PositionComp.WorldAABB);
if (remoteOb.Coords == null || remoteOb.Coords.Count == 0)
{
if (remoteOb.Waypoints == null)
{
m_waypoints = new List<MyAutopilotWaypoint>();
CurrentWaypoint = null;
}
else
{
m_waypoints = new List<MyAutopilotWaypoint>(remoteOb.Waypoints.Count);
for (int i = 0; i < remoteOb.Waypoints.Count; i++)
{
m_waypoints.Add(new MyAutopilotWaypoint(remoteOb.Waypoints[i], this));
}
}
}
else
{
m_waypoints = new List<MyAutopilotWaypoint>(remoteOb.Coords.Count);
for (int i = 0; i < remoteOb.Coords.Count; i++)
{
m_waypoints.Add(new MyAutopilotWaypoint(remoteOb.Coords[i], remoteOb.Names[i], this));
}
if (remoteOb.AutoPilotToolbar != null && m_currentFlightMode == FlightMode.OneWay)
{
m_waypoints[m_waypoints.Count - 1].SetActions(remoteOb.AutoPilotToolbar.Slots);
}
}
if (remoteOb.CurrentWaypointIndex == -1 || remoteOb.CurrentWaypointIndex >= m_waypoints.Count)
{
CurrentWaypoint = null;
}
else
{
CurrentWaypoint = m_waypoints[remoteOb.CurrentWaypointIndex];
}
UpdatePlanetWaypointInfo();
m_actionToolbar = new MyToolbar(MyToolbarType.ButtonPanel, pageCount: 1);
m_actionToolbar.DrawNumbers = false;
m_actionToolbar.Init(null, this);
m_selectedGpsLocations = new List<IMyGps>();
m_selectedWaypoints = new List<MyAutopilotWaypoint>();
UpdateText();
AddDebugRenderComponent(new MyDebugRenderComponentRemoteControl(this));
m_useCollisionAvoidance.Value = remoteOb.CollisionAvoidance;
for (int i = 0; i < TERRAIN_HEIGHT_DETECTION_SAMPLES; i++)
{
m_terrainHeightDetection[i] = 0.0f;
}
}