Show / Hide Table of Contents

Class MySkinnedEntity

Inheritance
System.Object
MyEntity
MySkinnedEntity
Implements
IMySkinnedEntity
IMyParallelUpdateable
IMyEntity
IMyEntity
Inherited Members
MyEntity.m_contactPoint
MyEntity.DefinitionId
MyEntity.DebugAsyncLoading
MyEntity.m_hudParams
MyEntity.m_positionResetFromServer
MyEntity.m_modelCollision
MyEntity.GamePruningProxyId
MyEntity.TopMostPruningProxyId
MyEntity.StaticForPruningStructure
MyEntity.TargetPruningProxyId
MyEntity.IsPreviewChanged
MyEntity.ReadyForReplicationAction
MyEntity.PropagateSubpartRotationThroughHieerarchy
MyEntity.ReplicationStarted
MyEntity.ReplicationEnded
MyEntity.OnEntityCloseRequest
MyEntity.InstantiateSubpartOverrideFunc
MyEntity.AddToGamePruningStructureExtCallBack
MyEntity.RemoveFromGamePruningStructureExtCallBack
MyEntity.UpdateGamePruningStructureExtCallBack
MyEntity.MyEntityFactoryCreateObjectBuilderExtCallback
MyEntity.CreateDefaultSyncEntityExtCallback
MyEntity.MyWeldingGroupsAddNodeExtCallback
MyEntity.MyWeldingGroupsRemoveNodeExtCallback
MyEntity.MyWeldingGroupsGetGroupNodesExtCallback
MyEntity.MyWeldingGroupsGroupExistsExtCallback
MyEntity.MyProceduralWorldGeneratorTrackEntityExtCallback
MyEntity.CreateStandardRenderComponentsExtCallback
MyEntity.InitComponentsExtCallback
MyEntity.MyEntitiesCreateFromObjectBuilderExtCallback
MyEntity.DebugDraw()
MyEntity.DebugDrawInvalidTriangles()
MyEntity.AddDebugRenderComponent(MyDebugRenderComponentBase)
MyEntity.ContainsDebugRenderComponent(Type)
MyEntity.TryGetDebugRenderComponent<T>(T)
MyEntity.RemoveDebugRenderComponent(Type)
MyEntity.RemoveDebugRenderComponent(MyDebugRenderComponentBase)
MyEntity.ClearDebugRenderComponents()
MyEntity.GetTopMostParent(Type)
MyEntity.GetHudParams(Boolean)
MyEntity.CanBeAddedToRender()
MyEntity.InitComponents()
MyEntity.InitComponentsForTesting()
MyEntity.Components_ComponentAdded(Type, IMyEntityComponentBase)
MyEntity.Components_ComponentRemoved(Type, IMyEntityComponentBase)
MyEntity.OnCreateSync()
MyEntity.CreateSync()
MyEntity.GetSubpart(String)
MyEntity.TryGetSubpart(String, MyEntitySubpart)
MyEntity.UpdateOnceBeforeFrame()
MyEntity.UpdateBeforeSimulation()
MyEntity.Simulate()
MyEntity.UpdateAfterSimulation()
MyEntity.UpdatingStopped()
MyEntity.UpdateBeforeSimulation10()
MyEntity.UpdateAfterSimulation10()
MyEntity.UpdateBeforeSimulation100()
MyEntity.UpdateAfterSimulation100()
MyEntity.GetFriendlyName()
MyEntity.GetViewMatrix()
MyEntity.Teleport(MatrixD, Object, Boolean)
MyEntity.DebugDrawPhysics()
MyEntity.GetIntersectionWithLine(LineD, Nullable<Vector3D>, Boolean, IntersectionFlags)
MyEntity.GetIntersectionWithLine(LineD, Nullable<MyIntersectionResultLineTriangleEx>, IntersectionFlags)
MyEntity.GetIntersectionWithLineAndBoundingSphere(LineD, Single)
MyEntity.GetIntersectionWithSphere(BoundingSphereD)
MyEntity.GetIntersectionWithAABB(BoundingBoxD)
MyEntity.GetTrianglesIntersectingSphere(BoundingSphere, Nullable<Vector3>, Nullable<Single>, List<MyTriangle_Vertex_Normals>, Int32)
MyEntity.DoOverlapSphereTest(Single, Vector3D)
MyEntity.GetSmallestDistanceBetweenCameraAndBoundingSphere()
MyEntity.GetLargestDistanceBetweenCameraAndBoundingSphere()
MyEntity.GetDistanceBetweenCameraAndBoundingSphere()
MyEntity.GetDistanceBetweenPlayerPositionAndBoundingSphere()
MyEntity.GetDistanceBetweenCameraAndPosition()
MyEntity.GetBaseEntity()
MyEntity.OnAddedToScene(Object)
MyEntity.OnReplicationStarted()
MyEntity.OnReplicationEnded()
MyEntity.SetFadeOut(Boolean)
MyEntity.OnRemovedFromScene(Object)
MyEntity.AddToGamePruningStructure()
MyEntity.RemoveFromGamePruningStructure()
MyEntity.UpdateGamePruningStructure()
MyEntity.RaisePhysicsChanged()
MyEntity.Init(MyObjectBuilder_EntityBase)
MyEntity.BeforeGameLogicInit()
MyEntity.ClampToWorld()
MyEntity.RefreshModels(String, String)
MyEntity.Delete()
MyEntity.BeforeDelete()
MyEntity.Closing()
MyEntity.Close()
MyEntity.GetObjectBuilder(Boolean)
MyEntity.BeforeSave()
MyEntity.PrepareForDraw()
MyEntity.BeforePaste()
MyEntity.AfterPaste()
MyEntity.SetEmissiveParts(String, Color, Single)
MyEntity.SetEmissivePartsForSubparts(String, Color, Single)
MyEntity.UpdateNamedEmissiveParts(UInt32, String, Color, Single)
MyEntity.InstantiateSubpart(MyModelDummy, MyEntitySubpart.Data)
MyEntity.GetCubeBlockParent(MyEntity)
MyEntity.ToString()
MyEntity.GetInventoryBase(Int32)
MyEntity.GetInventoryBase()
MyEntity.OnInventoryComponentAdded(MyInventoryBase)
MyEntity.OnInventoryComponentRemoved(MyInventoryBase)
MyEntity.SerializeControls(BitStream)
MyEntity.DeserializeControls(BitStream, Boolean)
MyEntity.ApplyLastControls()
MyEntity.ResetControls()
MyEntity.Pin()
MyEntity.Unpin()
MyEntity.UpdateSoundContactPoint(Int64, Vector3, Vector3, Vector3, Single)
MyEntity.IMyEntity.GetTopMostParent(Type)
MyEntity.IMyEntity.GetChildren(List<IMyEntity>, Func<IMyEntity, Boolean>)
MyEntity.IMyEntity.GetFriendlyName()
MyEntity.IMyEntity.Close()
MyEntity.IMyEntity.Delete()
MyEntity.IMyEntity.GetDiffuseColor()
MyEntity.IMyEntity.GetDistanceBetweenCameraAndBoundingSphere()
MyEntity.IMyEntity.GetDistanceBetweenCameraAndPosition()
MyEntity.IMyEntity.GetLargestDistanceBetweenCameraAndBoundingSphere()
MyEntity.IMyEntity.GetSmallestDistanceBetweenCameraAndBoundingSphere()
MyEntity.IMyEntity.GetIntersectionWithLineAndBoundingSphere(LineD, Single)
MyEntity.IMyEntity.GetIntersectionWithSphere(BoundingSphereD)
MyEntity.IMyEntity.GetInventory()
MyEntity.IMyEntity.GetInventory(Int32)
MyEntity.IMyEntity.GetTrianglesIntersectingSphere(BoundingSphere, Nullable<Vector3>, Nullable<Single>, List<MyTriangle_Vertex_Normals>, Int32)
MyEntity.IMyEntity.DoOverlapSphereTest(Single, Vector3D)
MyEntity.IMyEntity.GetObjectBuilder(Boolean)
MyEntity.IMyEntity.IsVisible()
MyEntity.IMyEntity.GetViewMatrix()
MyEntity.IMyEntity.GetWorldMatrixNormalizedInv()
MyEntity.IMyEntity.SetLocalMatrix(Matrix, Object)
MyEntity.IMyEntity.SetWorldMatrix(MatrixD, Object)
MyEntity.IMyEntity.SetPosition(Vector3D)
MyEntity.IMyEntity.EnableColorMaskForSubparts(Boolean)
MyEntity.IMyEntity.SetColorMaskForSubparts(Vector3)
MyEntity.IMyEntity.SetTextureChangesForSubparts(Dictionary<String, MyTextureChange>)
MyEntity.IMyEntity.SetTextureChangesForSubparts(Dictionary<MyStringId, MyTextureChange>)
MyEntity.IMyEntity.SetEmissiveParts(String, Color, Single)
MyEntity.IMyEntity.SetEmissivePartsForSubparts(String, Color, Single)
MyEntity.IMyEntity.GetInventory()
MyEntity.IMyEntity.GetInventory(Int32)
MyEntity.IMyEntity.GetPosition()
MyEntity.Components
MyEntity.Name
MyEntity.PositionComp
MyEntity.Render
MyEntity.GameLogic
MyEntity.EntityId
MyEntity.SyncObject
MyEntity.Storage
MyEntity.EntityStorage
MyEntity.Closed
MyEntity.MarkedForClose
MyEntity.MaxGlassDistSq
MyEntity.Save
MyEntity.IsPreview
MyEntity.IsReadyForReplication
MyEntity.NeedsUpdate
MyEntity.WorldMatrix
MyEntity.Parent
MyEntity.Hierarchy
MyEntity.IMyEntity.Hierarchy
MyEntity.IMyEntity.Physics
MyEntity.Physics
MyEntity.InvalidateOnMove
MyEntity.SyncFlag
MyEntity.NeedsWorldMatrix
MyEntity.InScene
MyEntity.IsVolumetric
MyEntity.LocationForHudMarker
MyEntity.Model
MyEntity.ModelCollision
MyEntity.DisplayName
MyEntity.DebugName
MyEntity.Subparts
MyEntity.IsCCDForProjectiles
MyEntity.Pinned
MyEntity.UpdateDuration
MyEntity.IsReplicated
MyEntity.InventoryCount
MyEntity.HasInventory
MyEntity.DisplayNameText
MyEntity.LastSnapshotFlags
MyEntity.Flags
MyEntity.IMyEntity.Parent
MyEntity.IMyEntity.Name
MyEntity.IMyEntity.DebugAsyncLoading
MyEntity.IMyEntity.DisplayName
MyEntity.IMyEntity.MarkedForClose
MyEntity.IMyEntity.Closed
MyEntity.IMyEntity.Model
MyEntity.IMyEntity.GameLogic
MyEntity.IMyEntity.NeedsUpdate
MyEntity.IMyEntity.NearFlag
MyEntity.IMyEntity.CastShadows
MyEntity.IMyEntity.FastCastShadowResolve
MyEntity.IMyEntity.NeedsResolveCastShadow
MyEntity.IMyEntity.MaxGlassDistSq
MyEntity.IMyEntity.NeedsDraw
MyEntity.IMyEntity.NeedsDrawFromParent
MyEntity.IMyEntity.Transparent
MyEntity.IMyEntity.ShadowBoxLod
MyEntity.IMyEntity.SkipIfTooSmall
MyEntity.IMyEntity.Storage
MyEntity.IMyEntity.Visible
MyEntity.IMyEntity.Save
MyEntity.IMyEntity.PersistentFlags
MyEntity.IMyEntity.InScene
MyEntity.IMyEntity.InvalidateOnMove
MyEntity.IMyEntity.IsCCDForProjectiles
MyEntity.IMyEntity.IsVolumetric
MyEntity.IMyEntity.LocalAABB
MyEntity.IMyEntity.LocalAABBHr
MyEntity.IMyEntity.LocalMatrix
MyEntity.IMyEntity.LocalVolume
MyEntity.IMyEntity.LocalVolumeOffset
MyEntity.IMyEntity.LocationForHudMarker
MyEntity.IMyEntity.Synchronized
MyEntity.IMyEntity.WorldMatrix
MyEntity.IMyEntity.WorldMatrixInvScaled
MyEntity.IMyEntity.WorldMatrixNormalizedInv
MyEntity.IMyEntity.ModelCollision
MyEntity.IMyEntity.HasInventory
MyEntity.IMyEntity.InventoryCount
MyEntity.IMyEntity.DisplayName
MyEntity.IMyEntity.Name
MyEntity.IMyEntity.WorldAABB
MyEntity.IMyEntity.WorldAABBHr
MyEntity.IMyEntity.WorldMatrix
MyEntity.IMyEntity.WorldVolume
MyEntity.IMyEntity.WorldVolumeHr
MyEntity.StopPhysicsActivation
MyEntity.OnMarkForClose
MyEntity.OnClose
MyEntity.OnClosing
MyEntity.OnModelRefresh
MyEntity.OnUpdateOnceBeforeNextFrame
MyEntity.OnDebugDraw
MyEntity.OnPhysicsChanged
MyEntity.OnPhysicsComponentChanged
MyEntity.AddedToScene
MyEntity.RemovedFromScene
MyEntity.OnTeleported
MyEntity.IMyEntity.OnClose
MyEntity.IMyEntity.OnClosing
MyEntity.IMyEntity.OnMarkForClose
MyEntity.IMyEntity.OnPhysicsChanged
Namespace: Sandbox.Game.Entities
Assembly: Sandbox.Game.dll
Syntax
public class MySkinnedEntity : MyEntity, IMySkinnedEntity, IMyParallelUpdateable, IMyEntity, IMyEntity

Constructors

MySkinnedEntity()

Declaration
public MySkinnedEntity()

Fields

m_actualDrawFrame

Declaration
protected ulong m_actualDrawFrame
Field Value
Type Description
System.UInt64

m_actualUpdateFrame

Declaration
protected ulong m_actualUpdateFrame
Field Value
Type Description
System.UInt64

m_additionalRotations

Declaration
protected Dictionary<string, Quaternion> m_additionalRotations
Field Value
Type Description
System.Collections.Generic.Dictionary<System.String, Quaternion>

UseNewAnimationSystem

VRAGE TODO: THIS IS TEMPORARY! Remove when by the time we use only the new animation system.

Declaration
public bool UseNewAnimationSystem
Field Value
Type Description
System.Boolean

Properties

AnimationController

Declaration
public MyAnimationControllerComponent AnimationController { get; }
Property Value
Type Description
MyAnimationControllerComponent

BoneAbsoluteTransforms

Declaration
public Matrix[] BoneAbsoluteTransforms { get; }
Property Value
Type Description
Matrix[]

BoneRelativeTransforms

Declaration
public Matrix[] BoneRelativeTransforms { get; }
Property Value
Type Description
Matrix[]

DecalBoneUpdates

Declaration
public List<MyBoneDecalUpdate> DecalBoneUpdates { get; }
Property Value
Type Description
System.Collections.Generic.List<VRageRender.Messages.MyBoneDecalUpdate>

UpdateFlags

Declaration
public MyParallelUpdateFlags UpdateFlags { get; }
Property Value
Type Description
MyParallelUpdateFlags

Methods

AddBoneDecal(UInt32, Int32)

Declaration
protected void AddBoneDecal(uint decalId, int boneIndex)
Parameters
Type Name Description
System.UInt32 decalId
System.Int32 boneIndex

AddCommand(MyAnimationCommand, Boolean)

Enqueue animation command. Parameter sync is used in child classes.

Declaration
public virtual void AddCommand(MyAnimationCommand command, bool sync = false)
Parameters
Type Name Description
MyAnimationCommand command
System.Boolean sync

CalculateTransforms(Single)

Declaration
protected virtual void CalculateTransforms(float distance)
Parameters
Type Name Description
System.Single distance

FlushAnimationQueue()

Process all commands in the animation queue at once. If any command is generated during flushing, it is processed as well.

Declaration
protected void FlushAnimationQueue()

GetAdditionalRotation(String)

Declaration
public Quaternion GetAdditionalRotation(string bone)
Parameters
Type Name Description
System.String bone
Returns
Type Description
Quaternion

Init(StringBuilder, String, MyEntity, Nullable<Single>, String)

Declaration
public override void Init(StringBuilder displayName, string model, MyEntity parentObject, Nullable<float> scale, string modelCollision = null)
Parameters
Type Name Description
System.Text.StringBuilder displayName
System.String model
MyEntity parentObject
System.Nullable<System.Single> scale
System.String modelCollision
Overrides
MyEntity.Init(StringBuilder, String, MyEntity, Nullable<Single>, String)

InitBones()

Declaration
protected void InitBones()

ObtainBones()

Get the bones from the model and create a bone class object for each bone. We use our bone class to do the real animated bone work.

Declaration
public virtual void ObtainBones()

OnAnimationPlay(MyAnimationDefinition, MyAnimationCommand, ref String, ref MyFrameOption, ref Boolean)

Virtual method called when animation is started, used in MyCharacter.

Declaration
protected virtual void OnAnimationPlay(MyAnimationDefinition animDefinition, MyAnimationCommand command, ref string bonesArea, ref MyFrameOption frameOption, ref bool useFirstPersonVersion)
Parameters
Type Name Description
VRage.Game.Definitions.Animation.MyAnimationDefinition animDefinition
MyAnimationCommand command
System.String bonesArea
MyFrameOption frameOption
System.Boolean useFirstPersonVersion

ProcessCommands()

Process all commands in the animation queue at once. If any command is generated during flushing, it will be processed later.

Declaration
protected bool ProcessCommands()
Returns
Type Description
System.Boolean

SetBoneLODs(Dictionary<Single, String[]>)

Declaration
public void SetBoneLODs(Dictionary<float, string[]> boneLODs)
Parameters
Type Name Description
System.Collections.Generic.Dictionary<System.Single, System.String[]> boneLODs

TryGetAnimationDefinition(String, out MyAnimationDefinition)

Try getting animation definition matching given subtype name. VRage TODO: dependency on MyDefinitionManager, do we really need it here? backward compatibility is for modders? move backward compatibility to MyDefinitionManager.TryGetAnimationDefinition? then we do not need this method

marked as obsolete, needs to be resolved

Declaration
protected bool TryGetAnimationDefinition(string animationSubtypeName, out MyAnimationDefinition animDefinition)
Parameters
Type Name Description
System.String animationSubtypeName
VRage.Game.Definitions.Animation.MyAnimationDefinition animDefinition
Returns
Type Description
System.Boolean

UpdateAfterSimulationParallel()

Declaration
public virtual void UpdateAfterSimulationParallel()

UpdateAnimation(Single)

Declaration
public virtual void UpdateAnimation(float distance)
Parameters
Type Name Description
System.Single distance

UpdateBeforeSimulationParallel()

Declaration
public virtual void UpdateBeforeSimulationParallel()

UpdateControl(Single)

Declaration
public virtual void UpdateControl(float distance)
Parameters
Type Name Description
System.Single distance

UpdateRenderObject()

Declaration
protected void UpdateRenderObject()

Implements

IMySkinnedEntity
IMyParallelUpdateable
IMyEntity
IMyEntity

Extension Methods

MyEntityInventoryOwnerExtensions.InventoryOwnerType(MyEntity)
MyEntityExtensions.GetPhysicsBody(MyEntity)
MyEntityExtensions.UpdateGamePruningStructure(MyEntity)
MyEntityExtensions.AddToGamePruningStructure(MyEntity)
MyEntityExtensions.RemoveFromGamePruningStructure(MyEntity)
MyEntityExtensions.EntityFactoryCreateObjectBuilder(MyEntity)
MyEntityExtensions.CreateDefaultSyncEntity(MyEntity)
MyEntityExtensions.AddNodeToWeldingGroups(MyEntity)
MyEntityExtensions.RemoveNodeFromWeldingGroups(MyEntity)
MyEntityExtensions.GetWeldingGroupNodes(MyEntity, List<MyEntity>)
MyEntityExtensions.WeldingGroupExists(MyEntity)
MyEntityExtensions.ProceduralWorldGeneratorTrackEntity(MyEntity)
MyEntityExtensions.TryGetInventory(MyEntity, out MyInventoryBase)
MyEntityExtensions.TryGetInventory(MyEntity, out MyInventory)
MyEntityExtensions.GetInventory(MyEntity, Int32)
MyEntityContainerEventExtensions.RaiseEntityEvent(MyEntity, MyStringHash, MyEntityContainerEventExtensions.EntityEventParams)
☀
☾
In This Article
  • Constructors
    • MySkinnedEntity()
  • Fields
    • m_actualDrawFrame
    • m_actualUpdateFrame
    • m_additionalRotations
    • UseNewAnimationSystem
  • Properties
    • AnimationController
    • BoneAbsoluteTransforms
    • BoneRelativeTransforms
    • DecalBoneUpdates
    • UpdateFlags
  • Methods
    • AddBoneDecal(UInt32, Int32)
    • AddCommand(MyAnimationCommand, Boolean)
    • CalculateTransforms(Single)
    • FlushAnimationQueue()
    • GetAdditionalRotation(String)
    • Init(StringBuilder, String, MyEntity, Nullable<Single>, String)
    • InitBones()
    • ObtainBones()
    • OnAnimationPlay(MyAnimationDefinition, MyAnimationCommand, ref String, ref MyFrameOption, ref Boolean)
    • ProcessCommands()
    • SetBoneLODs(Dictionary<Single, String[]>)
    • TryGetAnimationDefinition(String, out MyAnimationDefinition)
    • UpdateAfterSimulationParallel()
    • UpdateAnimation(Single)
    • UpdateBeforeSimulationParallel()
    • UpdateControl(Single)
    • UpdateRenderObject()
  • Implements
  • Extension Methods
Back to top
Generated by DocFX
☀
☾