This repository has been archived by the owner on Oct 22, 2024. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 124
Sandbox.ModAPI.Ingame.IMyCameraBlock
Morten Aune Lyrstad edited this page Apr 16, 2022
·
58 revisions
← Index ← Namespace Index
public interface IMyCameraBlock: IMyFunctionalBlock, IMyTerminalBlock, IMyCubeBlock, IMyEntity
Describes Camera block (PB scripting interface)
Namespace: Sandbox.ModAPI.Ingame
Assembly: Sandbox.Common.dll
Implements:
Type Definitions:
- MyObjectBuilder_CameraBlock/LargeCameraBlock
- MyObjectBuilder_CameraBlock/SmallCameraBlock
Member | Description |
---|---|
double AvailableScanRange { get; } | Gets the maximum distance that this camera can scan, based on the time since the last scan. |
SerializableDefinitionId BlockDefinition { get; } | Gets definition.Id assigned to this block Inherited from IMyCubeBlock |
bool Closed { get; } | True if the block has been removed from the world. Inherited from IMyEntity |
MyEntityComponentContainer Components { get; } | Gets blocks component logic container Inherited from IMyEntity |
IMyCubeGrid CubeGrid { get; } | Grid in which the block is placed Inherited from IMyCubeBlock |
string CustomData { get; set; } | Gets or sets the Custom Data string. NOTE: Only use this for user input. For storing large mod configs, create your own MyModStorageComponent Inherited from IMyTerminalBlock |
string CustomInfo { get; } | Gets information about block status (available from mods) Sandbox.ModAPI.IMyTerminalBlock.AppendingCustomInfo Sandbox.ModAPI.IMyTerminalBlock.RefreshCustomInfo . Inherited from IMyTerminalBlock |
string CustomName { get; set; } | Gets or sets how block is named in Terminal menu Inherited from IMyTerminalBlock |
string CustomNameWithFaction { get; } | Gets or sets how block is named in Terminal menu. Work only for Cockpit, LaserAntenna RadioAntenna, SpaceBall, Beacon Inherited from IMyTerminalBlock |
string DefinitionDisplayNameText { get; } | Definition name Inherited from IMyCubeBlock |
string DetailedInfo { get; } | Gets information about block status. In Control panel bottom right text Inherited from IMyTerminalBlock |
float DisassembleRatio { get; } | Is set in definition Ratio at which is the block disassembled (grinding) Bigger values - longer grinding Inherited from IMyCubeBlock |
string DisplayName { get; } | Gets user friendly name of entity. May be null For block terminal name use DisplayNameText Inherited from IMyEntity |
string DisplayNameText { get; } | Translated block name Inherited from IMyCubeBlock |
bool Enabled { get; set; } | Represents terminal gui toggle. Gets or sets if block is Enabled Inherited from IMyFunctionalBlock |
bool EnableRaycast { get; set; } | Gets or Sets whether the raycast is enabled. When this is true, the available raycast distance will count up, and power usage is increased. |
long EntityId { get; } | Id of entity Inherited from IMyEntity |
bool HasInventory { get; } | Returns true if this entity has got at least one inventory. Note that one aggregate inventory can contain zero simple inventories => zero will be returned even if GetInventory() != null. Inherited from IMyEntity |
int InventoryCount { get; } | Returns the count of the number of inventories this entity has. Inherited from IMyEntity |
bool IsActive { get; } | Gets whether this camera is currently in use by at least one player. |
bool IsBeingHacked { get; } | Hacking of the block is in progress Inherited from IMyCubeBlock |
bool IsFunctional { get; } | Gets if integrity is above breaking threshold Inherited from IMyCubeBlock |
bool IsWorking { get; } | True if block is able to do its work depening on block type (is functional, powered, enabled, etc...) Inherited from IMyCubeBlock |
float Mass { get; } | Block mass Inherited from IMyCubeBlock |
Vector3I Max { get; } | Maximum coordinates of grid cells occupied by this block Inherited from IMyCubeBlock |
Vector3I Min { get; } | Minimum coordinates of grid cells occupied by this block Inherited from IMyCubeBlock |
string Name { get; } | Some entities can have uniq name, and game can find them by name VRage.ModAPI.IMyEntities.TryGetEntityByName(System.String,VRage.ModAPI.IMyEntity@) Inherited from IMyEntity |
int NumberInGrid { get; } | Order in which were the blocks of same type added to grid Used in default display name Inherited from IMyCubeBlock |
MyBlockOrientation Orientation { get; } | Returns block orientation in base 6 directions Inherited from IMyCubeBlock |
long OwnerId { get; } | IdentityId of player owning block (not steam Id) Inherited from IMyCubeBlock |
Vector3I Position { get; } | Position in grid coordinates Inherited from IMyCubeBlock |
float RaycastConeLimit { get; } | Gets the maximum positive angle you can apply for pitch and yaw. |
double RaycastDistanceLimit { get; } | Gets the maximum distance you can request a raycast. -1 means infinite. |
float RaycastTimeMultiplier { get; } | Gets the raycast time multiplier that converts time in milliseconds to available raycast distance in meters. |
bool ShowInInventory { get; set; } | Represent terminal gui toggle Show block in Inventory Screen . Gets or sets its valueInherited from IMyTerminalBlock |
bool ShowInTerminal { get; set; } | Represent terminal gui toggle Show block in terminal . Gets or sets its valueInherited from IMyTerminalBlock |
bool ShowInToolbarConfig { get; set; } | Represent terminal gui toggle Show in toolbar config . Gets or sets its valueInherited from IMyTerminalBlock |
bool ShowOnHUD { get; set; } | Represent terminal gui toggle Show On HUD . Gets or sets its valueInherited from IMyTerminalBlock |
BoundingBoxD WorldAABB { get; } | Gets world axis-aligned bounding box Inherited from IMyEntity |
BoundingBoxD WorldAABBHr { get; } | Gets world axis-aligned bounding box Inherited from IMyEntity |
MatrixD WorldMatrix { get; } | Gets world matrix of this entity Inherited from IMyEntity |
BoundingSphereD WorldVolume { get; } | Gets bounding sphere of this entity Inherited from IMyEntity |
BoundingSphereD WorldVolumeHr { get; } | Gets bounding sphere of this entity Inherited from IMyEntity |
Member | Description |
---|---|
bool CanScan(double) | Checks if the camera can scan the given distance. |
bool CanScan(double, Vector3D) | Checks if the camera can scan to the given direction and distance (in camera local space). |
bool CanScan(Vector3D) | Checks if the camera can scan to the given target |
void GetActions(List<ITerminalAction>, Func<ITerminalAction, bool> = null) | Get all terminal actions available for block Inherited from IMyTerminalBlock |
ITerminalAction GetActionWithName(string) | Get first found terminal action with name Inherited from IMyTerminalBlock |
IMyInventory GetInventory() | Simply get the MyInventoryBase component stored in this entity. Inherited from IMyEntity |
IMyInventory GetInventory(int) | Search for inventory component with maching index. Inherited from IMyEntity |
string GetOwnerFactionTag() | Tag of faction owning block Inherited from IMyCubeBlock |
MyRelationsBetweenPlayerAndBlock GetPlayerRelationToOwner() |
Obsolete: GetPlayerRelationToOwner() is useless ingame. Mods should use the one in ModAPI.IMyCubeBlock Relation of local player to the block Should not be called on Dedicated Server. Inherited from IMyCubeBlock |
Vector3D GetPosition() | Gets position in world coordinates Inherited from IMyEntity |
void GetProperties(List<ITerminalProperty>, Func<ITerminalProperty, bool> = null) | Get all terminal actions available for block. Inherited from IMyTerminalBlock |
ITerminalProperty GetProperty(string) | Finds terminal property with provided id Inherited from IMyTerminalBlock |
MyRelationsBetweenPlayerAndBlock GetUserRelationToOwner(long, MyRelationsBetweenPlayerAndBlock = MyRelationsBetweenPlayerAndBlock.NoOwnership) | Gets relation to owner of block Inherited from IMyCubeBlock |
bool HasLocalPlayerAccess() | Returns if local player can use block. Executes HasPlayerAccess(long, MyRelationsBetweenPlayerAndBlock = MyRelationsBetweenPlayerAndBlock.NoOwnership) with local player identityId. On Dedicated Server as identityId it is using 0 as playerId Inherited from IMyTerminalBlock |
bool HasPlayerAccess(long, MyRelationsBetweenPlayerAndBlock = MyRelationsBetweenPlayerAndBlock.NoOwnership) | Returns if local player can use block. It is also checking for admin access. Inherited from IMyTerminalBlock |
bool IsSameConstructAs(IMyTerminalBlock) | Determines whether this block is VRage.Game.ModAPI.GridLinkTypeEnum.Mechanical connected to the other. This is any block connected with rotors or pistons or other mechanical devices, but not things like connectors. This will in most cases constitute your complete construct. Be aware that using merge blocks combines grids into one, so this function will not filter out grids connected that way. Also be aware that detaching the heads of pistons and rotors will cause this connection to change. Inherited from IMyTerminalBlock |
MyDetectedEntityInfo Raycast(double, float = 0, float = 0) | Does a raycast in the direction the camera is facing. |
MyDetectedEntityInfo Raycast(Vector3D) | Does a raycast to the specific target point. |
MyDetectedEntityInfo Raycast(double, Vector3D) | Does a raycast in the given direction (in camera local space). |
void RequestEnable(bool) |
Obsolete: Use the setter of Enabled Inherited from IMyFunctionalBlock |
void SearchActionsOfName(string, List<ITerminalAction>, Func<ITerminalAction, bool> = null) | Get all terminal actions available for block. NOTE: First called <br /><br /> and then <br /><br /> checkInherited from IMyTerminalBlock |
void SetCustomName(string) |
Obsolete: Use the setter of Customname Inherited from IMyTerminalBlock |
void SetCustomName(StringBuilder) |
Obsolete: Use the setter of Customname Inherited from IMyTerminalBlock |
int TimeUntilScan(double) | Calculates time until scan |
void UpdateIsWorking() |
Obsolete Force refresh working state. Call if you change block state that could affect its working status. Inherited from IMyCubeBlock |
void UpdateVisual() |
Obsolete Updates block visuals (ie. block emissivity) Inherited from IMyCubeBlock |
Do you have questions, comments, suggestions for improvements? Is there something I can do better? Did I make a mistake? Please add an issue here, and prefix your issue title with Wiki. Thank you, your help will be very appreciated!