Show / Hide Table of Contents

Class MySessionComponentSafeZones

Inheritance
System.Object
MySessionComponentBase
MySessionComponentSafeZones
Inherited Members
MySessionComponentBase.DebugName
MySessionComponentBase.Priority
MySessionComponentBase.ComponentType
MySessionComponentBase.Session
MySessionComponentBase.UpdatedBeforeInit()
MySessionComponentBase.SetUpdateOrder(MyUpdateOrder)
MySessionComponentBase.InitFromDefinition(MySessionComponentDefinition)
MySessionComponentBase.AfterLoadData()
MySessionComponentBase.UnloadDataConditional()
MySessionComponentBase.SaveData()
MySessionComponentBase.BeforeStart()
MySessionComponentBase.UpdateBeforeSimulation()
MySessionComponentBase.Simulate()
MySessionComponentBase.UpdatingStopped()
MySessionComponentBase.Draw()
MySessionComponentBase.HandleInput()
MySessionComponentBase.ToString()
MySessionComponentBase.UpdateOrder
MySessionComponentBase.ObjectBuilderType
MySessionComponentBase.ModContext
MySessionComponentBase.Loaded
MySessionComponentBase.Initialized
MySessionComponentBase.UpdateOnPause
MySessionComponentBase.IsServerOnly
MySessionComponentBase.Definition
MySessionComponentBase.Dependencies
Namespace: Sandbox.Game.Entities
Assembly: Sandbox.Game.dll
Syntax
[StaticEventOwner]
[MySessionComponentDescriptor]
public class MySessionComponentSafeZones : MySessionComponentBase, IMyUserInputComponent

Constructors

MySessionComponentSafeZones()

Declaration
public MySessionComponentSafeZones()

Fields

AllowedActions

Declaration
public static MySafeZoneAction AllowedActions
Field Value
Type Description
VRage.Game.ObjectBuilders.Components.MySafeZoneAction

Properties

IsRequiredByGame

Declaration
public override bool IsRequiredByGame { get; }
Property Value
Type Description
System.Boolean
Overrides
MySessionComponentBase.IsRequiredByGame

SafeZones

Declaration
public static ListReader<MySafeZone> SafeZones { get; }
Property Value
Type Description
ListReader<MySafeZone>

Methods

AddSafeZone(MySafeZone)

Declaration
public static void AddSafeZone(MySafeZone safeZone)
Parameters
Type Name Description
MySafeZone safeZone

CanPerformAction(MySafeZoneAction, UInt64)

Declaration
public static bool CanPerformAction(MySafeZoneAction action, ulong user = 0UL)
Parameters
Type Name Description
VRage.Game.ObjectBuilders.Components.MySafeZoneAction action
System.UInt64 user
Returns
Type Description
System.Boolean

CrateSafeZone(MatrixD, MySafeZoneShape, MySafeZoneAccess, Int64[], Int64[], Single, Boolean, Boolean, Vector3, String, Int64, String)

Declaration
public static MyEntity CrateSafeZone(MatrixD transform, MySafeZoneShape safeZoneShape, MySafeZoneAccess zoneAccess, long[] players, long[] factions, float startRadius, bool enable, bool isVisible = true, Vector3 color = null, string visualTexture = "", long safeZoneBlockId = 0L, string name = null)
Parameters
Type Name Description
MatrixD transform
MySafeZoneShape safeZoneShape
MySafeZoneAccess zoneAccess
System.Int64[] players
System.Int64[] factions
System.Single startRadius
System.Boolean enable
System.Boolean isVisible
Vector3 color
System.String visualTexture
System.Int64 safeZoneBlockId
System.String name
Returns
Type Description
MyEntity

CreateSafeZone_Implementation(Vector3D)

Declaration
[Event(null, 325)]
[Reliable]
[Server]
public static void CreateSafeZone_Implementation(Vector3D position)
Parameters
Type Name Description
Vector3D position

CreateSafeZone_ImplementationPlayer(Int64, Single, Boolean, UInt64)

Declaration
public static long CreateSafeZone_ImplementationPlayer(long safeZoneBlockId, float startRadius, bool activate, ulong playerSteamId)
Parameters
Type Name Description
System.Int64 safeZoneBlockId
System.Single startRadius
System.Boolean activate
System.UInt64 playerSteamId
Returns
Type Description
System.Int64

DeleteSafeZone_Implementation(Int64)

Declaration
[Event(null, 483)]
[Reliable]
[Server]
public static void DeleteSafeZone_Implementation(long entityId)
Parameters
Type Name Description
System.Int64 entityId

DeleteSafeZone_ImplementationPlayer(Int64, Int64, UInt64)

Declaration
public static void DeleteSafeZone_ImplementationPlayer(long safeZoneBlockId, long safeZoneId, ulong steamId)
Parameters
Type Name Description
System.Int64 safeZoneBlockId
System.Int64 safeZoneId
System.UInt64 steamId

GetBelongingSafezones(Int64, ICollection<MySafeZone>)

Declaration
public static void GetBelongingSafezones(long entity, ICollection<MySafeZone> where)
Parameters
Type Name Description
System.Int64 entity
System.Collections.Generic.ICollection<MySafeZone> where

GetObjectBuilder()

Declaration
public override MyObjectBuilder_SessionComponent GetObjectBuilder()
Returns
Type Description
MyObjectBuilder_SessionComponent
Overrides
MySessionComponentBase.GetObjectBuilder()

GetSafeZonesInAABB(BoundingBoxD, List<MySafeZone>)

Declaration
public static List<MySafeZone> GetSafeZonesInAABB(BoundingBoxD worldAabb, List<MySafeZone> buffer = null)
Parameters
Type Name Description
BoundingBoxD worldAabb
System.Collections.Generic.List<MySafeZone> buffer
Returns
Type Description
System.Collections.Generic.List<MySafeZone>

Init(MyObjectBuilder_SessionComponent)

Declaration
public override void Init(MyObjectBuilder_SessionComponent sessionComponent)
Parameters
Type Name Description
MyObjectBuilder_SessionComponent sessionComponent
Overrides
MySessionComponentBase.Init(MyObjectBuilder_SessionComponent)

IsActionAllowed(MyCubeGrid, Vector3I, Vector3I, MySafeZoneAction, Int64)

Declaration
public static bool IsActionAllowed(MyCubeGrid grid, Vector3I cubeMin, Vector3I cubeMax, MySafeZoneAction AllowedActions, long attackerId)
Parameters
Type Name Description
MyCubeGrid grid
Vector3I cubeMin
Vector3I cubeMax
VRage.Game.ObjectBuilders.Components.MySafeZoneAction AllowedActions
System.Int64 attackerId
Returns
Type Description
System.Boolean

IsActionAllowed(MyEntity, MySafeZoneAction, Int64, UInt64)

Checks if action is allowed.

Declaration
public static bool IsActionAllowed(MyEntity entity, MySafeZoneAction action, long sourceEntityId = 0L, ulong user = 0UL)
Parameters
Type Name Description
MyEntity entity

Entity that would have applied action

VRage.Game.ObjectBuilders.Components.MySafeZoneAction action

What king of action

System.Int64 sourceEntityId

Who is performing action

System.UInt64 user

What player triggered action

Returns
Type Description
System.Boolean

IsActionAllowed(BoundingBoxD, MySafeZoneAction, Int64, UInt64)

Declaration
public static bool IsActionAllowed(BoundingBoxD aabb, MySafeZoneAction action, long sourceEntityId = 0L, ulong user = 0UL)
Parameters
Type Name Description
BoundingBoxD aabb
VRage.Game.ObjectBuilders.Components.MySafeZoneAction action
System.Int64 sourceEntityId
System.UInt64 user
Returns
Type Description
System.Boolean

IsActionAllowed(BoundingSphere, MySafeZoneAction, Int64, UInt64)

Declaration
public static bool IsActionAllowed(BoundingSphere boundingSphere, MySafeZoneAction action, long sourceEntityId = 0L, ulong user = 0UL)
Parameters
Type Name Description
BoundingSphere boundingSphere
VRage.Game.ObjectBuilders.Components.MySafeZoneAction action
System.Int64 sourceEntityId
System.UInt64 user
Returns
Type Description
System.Boolean

IsActionAllowed(Vector3D, MySafeZoneAction, Int64, UInt64)

Declaration
public static bool IsActionAllowed(Vector3D point, MySafeZoneAction action, long sourceEntityId = 0L, ulong user = 0UL)
Parameters
Type Name Description
Vector3D point
VRage.Game.ObjectBuilders.Components.MySafeZoneAction action
System.Int64 sourceEntityId
System.UInt64 user
Returns
Type Description
System.Boolean

IsActionAllowedFullyInside(MyCubeGrid, MySafeZoneAction, Int64)

Declaration
public static bool IsActionAllowedFullyInside(MyCubeGrid grid, MySafeZoneAction AllowedActions, long sourceEntityId)
Parameters
Type Name Description
MyCubeGrid grid
VRage.Game.ObjectBuilders.Components.MySafeZoneAction AllowedActions
System.Int64 sourceEntityId
Returns
Type Description
System.Boolean

IsInSafezone(Int64, MySafeZone)

Declaration
public static bool IsInSafezone(long entityId, MySafeZone safeZone)
Parameters
Type Name Description
System.Int64 entityId
MySafeZone safeZone
Returns
Type Description
System.Boolean

IsInSafezone(Int64, List<MySafeZone>)

Declaration
public static bool IsInSafezone(long entityId, List<MySafeZone> safeZones)
Parameters
Type Name Description
System.Int64 entityId
System.Collections.Generic.List<MySafeZone> safeZones
Returns
Type Description
System.Boolean

IsPlayerValid(UInt64, Int64, out MyIdentity, out MyCubeBlock)

Validates player and beacon associated with beacon id.

Declaration
public static bool IsPlayerValid(ulong steamId, long safeZoneBlockId, out MyIdentity playerIdentity, out MyCubeBlock beaconBlock)
Parameters
Type Name Description
System.UInt64 steamId

Player id

System.Int64 safeZoneBlockId

Beacon entity id to check aginst

Sandbox.Game.World.MyIdentity playerIdentity

Returns player identity id

MyCubeBlock beaconBlock

Returns block

Returns
Type Description
System.Boolean

IsRecentlyAddedOrRemoved(MyEntity)

Declaration
public static bool IsRecentlyAddedOrRemoved(MyEntity obj)
Parameters
Type Name Description
MyEntity obj
Returns
Type Description
System.Boolean

IsSafeZoneColliding(Int64, MatrixD, MySafeZoneShape, Single, Vector3)

Declaration
public static bool IsSafeZoneColliding(long safeZoneId, MatrixD safeZoneWorld, MySafeZoneShape shape, float newRadius = 0F, Vector3 newSize = null)
Parameters
Type Name Description
System.Int64 safeZoneId
MatrixD safeZoneWorld
MySafeZoneShape shape
System.Single newRadius
Vector3 newSize
Returns
Type Description
System.Boolean

LoadData()

Declaration
public override void LoadData()
Overrides
MySessionComponentBase.LoadData()

RemoveSafeZone(MySafeZone)

Declaration
public static void RemoveSafeZone(MySafeZone safeZone)
Parameters
Type Name Description
MySafeZone safeZone

RequestCreateSafeZone(Vector3D)

Declaration
public static void RequestCreateSafeZone(Vector3D position)
Parameters
Type Name Description
Vector3D position

RequestDeleteSafeZone(Int64)

Declaration
public static void RequestDeleteSafeZone(long entityId)
Parameters
Type Name Description
System.Int64 entityId

RequestUpdateGlobalSafeZone()

Declaration
public static void RequestUpdateGlobalSafeZone()

RequestUpdateSafeZone(MyObjectBuilder_SafeZone)

Declaration
public static void RequestUpdateSafeZone(MyObjectBuilder_SafeZone ob)
Parameters
Type Name Description
MyObjectBuilder_SafeZone ob

RequestUpdateSafeZone_Player(Int64, MyObjectBuilder_SafeZone)

Updates safe zone of a beacon with new settings set inside of the object builder

Declaration
public static void RequestUpdateSafeZone_Player(long safeZoneBlockId, MyObjectBuilder_SafeZone ob)
Parameters
Type Name Description
System.Int64 safeZoneBlockId

Beacon for which to update safe zone

MyObjectBuilder_SafeZone ob

Object builder containing new safe zone settings.

RequestUpdateSafeZonePlayer(Int64, MyObjectBuilder_SafeZone)

Declaration
public static void RequestUpdateSafeZonePlayer(long safeZoneBlockId, MyObjectBuilder_SafeZone ob)
Parameters
Type Name Description
System.Int64 safeZoneBlockId
MyObjectBuilder_SafeZone ob

RequestUpdateSafeZoneRadius_Player(Int64, Int64, Single)

Declaration
public static void RequestUpdateSafeZoneRadius_Player(long safezoneBlockId, long safezoneId, float newRadius)
Parameters
Type Name Description
System.Int64 safezoneBlockId
System.Int64 safezoneId
System.Single newRadius

UnloadData()

Declaration
protected override void UnloadData()
Overrides
MySessionComponentBase.UnloadData()

UpdateAfterSimulation()

Declaration
public override void UpdateAfterSimulation()
Overrides
MySessionComponentBase.UpdateAfterSimulation()

UpdateGlobalSafeZone_Implementation(MySafeZoneAction)

Declaration
[Event(null, 732)]
[Reliable]
[Server]
[Broadcast]
public static void UpdateGlobalSafeZone_Implementation(MySafeZoneAction allowedActions)
Parameters
Type Name Description
VRage.Game.ObjectBuilders.Components.MySafeZoneAction allowedActions

UpdateSafeZone(MyObjectBuilder_SafeZone, Boolean)

Updates save zone with data from object builder. Use only on server

Declaration
public static void UpdateSafeZone(MyObjectBuilder_SafeZone ob, bool sync = false)
Parameters
Type Name Description
MyObjectBuilder_SafeZone ob

Object builder with new data

System.Boolean sync

UpdateSafeZone_Implementation(MyObjectBuilder_SafeZone)

Declaration
[Event(null, 527)]
[Reliable]
[Server]
[Broadcast]
public static void UpdateSafeZone_Implementation(MyObjectBuilder_SafeZone ob)
Parameters
Type Name Description
MyObjectBuilder_SafeZone ob

UpdateSafeZone_ImplementationPlayer(Int64, MyObjectBuilder_SafeZone)

Declaration
[Event(null, 588)]
[Reliable]
[Server]
[Broadcast]
public static void UpdateSafeZone_ImplementationPlayer(long safezoneBlockId, MyObjectBuilder_SafeZone ob)
Parameters
Type Name Description
System.Int64 safezoneBlockId
MyObjectBuilder_SafeZone ob

UpdateSafeZonePlayer_Implementation(Int64, MyObjectBuilder_SafeZone)

Declaration
[Event(null, 534)]
[Reliable]
[Server]
[Broadcast]
public static void UpdateSafeZonePlayer_Implementation(long safeZoneBlockId, MyObjectBuilder_SafeZone ob)
Parameters
Type Name Description
System.Int64 safeZoneBlockId
MyObjectBuilder_SafeZone ob

UpdateSafeZoneRadius_ImplementationPlayer(Int64, Int64, Single)

Declaration
[Event(null, 621)]
[Reliable]
[Server]
[Broadcast]
public static void UpdateSafeZoneRadius_ImplementationPlayer(long safezoneBlockId, long safezoneId, float radius)
Parameters
Type Name Description
System.Int64 safezoneBlockId
System.Int64 safezoneId
System.Single radius

Events

OnAddSafeZone

Declaration
public static event EventHandler OnAddSafeZone
Event Type
Type Description
System.EventHandler

OnRemoveSafeZone

Declaration
public static event EventHandler OnRemoveSafeZone
Event Type
Type Description
System.EventHandler

OnSafeZoneUpdated

Declaration
public static event Action<MySafeZone> OnSafeZoneUpdated
Event Type
Type Description
System.Action<MySafeZone>
☀
☾
In This Article
Back to top
Generated by DocFX
☀
☾