public string PlaceAt(DefinitionId blockDefinitionId, PlainVec3D position, PlainVec3D orientationForward, PlainVec3D orientationUp) { Definitions.CheckDefinitionIdExists(blockDefinitionId.ToMyDefinitionId()); return(m_blockPlacer.PlaceSingleBlock(m_session.CurrentCharacterId, blockDefinitionId, position.ToVector3(), orientationForward.ToVector3(), orientationUp.ToVector3()).BlockId().ToString()); }
public CharacterObservation Teleport(PlainVec3D position, PlainVec3D?orientationForward, PlainVec3D?orientationUp) { var vecPosition = new Vector3D(position.ToVector3()); if (orientationForward == null && orientationUp == null) { GetEntityController().ControlledEntity.Entity.PositionComp.SetPosition(vecPosition); return(m_observer.Observe()); } if (orientationForward == null || orientationUp == null) { throw new InvalidOperationException("Either both or none of the orientations are supposed to be set"); } var matrix = MatrixD.CreateWorld( vecPosition, orientationForward?.ToVector3() ?? Vector3.Zero, orientationUp?.ToVector3() ?? Vector3.Zero ); GetEntityController().Player.Character.PositionComp.SetWorldMatrix(ref matrix); return(m_observer.Observe()); }
public CharacterObservation MoveAndRotate(PlainVec3D movement, PlainVec2F rotation3, float roll = 0, int ticks = 1) { return(Enqueue(() => { m_character.MoveAndRotate(movement, rotation3, roll, ticks); return m_observer.Observe(); })); }
public CharacterObservation Teleport(PlainVec3D position, PlainVec3D?orientationForward, PlainVec3D?orientationUp) { return(Enqueue(() => { m_character.Teleport(position, orientationForward, orientationUp); return m_observer.Observe(); })); }
public void ConvertsCorrectlyFromVector3D() { var vector3D = new Vector3D(1, 2, 3); var plainVec = new PlainVec3D(1, 2, 3); var convertedPlainVec = vector3D.ToPlain(); var jsoner = new Jsoner(); Assert.Equal(jsoner.ToJson(plainVec), jsoner.ToJson(convertedPlainVec)); }
public void DeserializesPlainVec3DIntoVector3D() { var originalVector = new PlainVec3D(1, 2, -3); var json = m_jsoner.ToJson(originalVector); var vector3 = m_jsoner.ToObject <Vector3D>(json); Assert.Equal(originalVector.X, vector3.X); Assert.Equal(originalVector.Y, vector3.Y); Assert.Equal(originalVector.Z, vector3.Z); }
public CharacterObservation MoveAndRotate(PlainVec3D movement, PlainVec2F rotation3, float roll, int ticks) { var vector3d = movement.ToVector3D(); if (vector3d == Vector3D.Down && Character.CurrentMovementState == MyCharacterMovementEnum.Standing && !Character.JetpackRunning) { Character.Crouch(); } else if (vector3d == Vector3D.Up && Character.CurrentMovementState == MyCharacterMovementEnum.Crouching && !Character.JetpackRunning) { Character.Stand(); } IvxrPlugin.Context.ContinuousMovementController.ChangeMovement( new ContinuousMovementContext() { MoveVector = movement, RotationVector = rotation3, Roll = roll, TicksLeft = ticks } ); return(m_observer.Observe()); }
CharacterObservation Create(string id, PlainVec3D position, PlainVec3D orientationForward, PlainVec3D orientationUp) { return(m_se.Admin.Character.Create(id, position, orientationForward, orientationUp)); }
public string PlaceAt(DefinitionId blockDefinitionId, PlainVec3D position, PlainVec3D orientationForward, PlainVec3D orientationUp) { return(m_blockPlacer.PlaceBlock(blockDefinitionId, position.ToVector3(), orientationForward.ToVector3(), orientationUp.ToVector3()).BlockId().ToString()); }
CharacterObservation MoveAndRotate(PlainVec3D movement, PlainVec2F rotation3, float roll = 0, int ticks = 1) { return(m_se.Character.MoveAndRotate(movement, rotation3, roll, ticks)); }
CharacterObservation Teleport(PlainVec3D position, PlainVec3D?orientationForward = null, PlainVec3D?orientationUp = null) { return(m_se.Admin.Character.Teleport(position, orientationForward, orientationUp)); }
public static Vector3D ToVector3D(this PlainVec3D vector) { return(new Vector3D(vector.X, vector.Y, vector.Z)); }
string PlaceAt(DefinitionId blockDefinitionId, PlainVec3D position, PlainVec3D orientationForward, PlainVec3D orientationUp) { return(m_se.Admin.Blocks.PlaceAt(blockDefinitionId, position, orientationForward, orientationUp)); }
public CharacterObservation Teleport(PlainVec3D position, PlainVec3D?orientationForward, PlainVec3D?orientationUp) { throw new NotImplementedException(); }
/// <summary> /// Use in a single thread only. /// </summary> public FatNode Create(PlainVec3D position) { return(new FatNode(GenerateId(), position)); }
public string PlaceAt(DefinitionId blockDefinitionId, PlainVec3D position, PlainVec3D orientationForward, PlainVec3D orientationUp) { return(Enqueue(() => m_blocks.PlaceAt(blockDefinitionId, position, orientationForward, orientationUp))); }
public void Reset() { TicksLeft = 0; MoveVector = PlainVec3DConst.Zero; RotationVector = PlainVec2FConst.Zero; }
public CharacterObservation Create(string id, PlainVec3D position, PlainVec3D orientationForward, PlainVec3D orientationUp) { return(Enqueue(() => m_character.Create(id, position, orientationForward, orientationUp))); }
public FatNode(int id, PlainVec3D position) { Id = id; Position = position; }
public CharacterObservation Create(string name, PlainVec3D position, PlainVec3D orientationForward, PlainVec3D orientationUp) { m_session.CreateCharacter(name, position.ToVector3D(), orientationForward.ToVector3D(), orientationUp.ToVector3D()); return(m_observer.Observe()); }
public void PlaceAt(string blockType, PlainVec3D position, PlainVec3D orientationForward, PlainVec3D orientationUp) { throw new System.NotImplementedException(); }
public CharacterObservation MoveAndRotate(PlainVec3D movement, PlainVec2F rotation3, float roll, int ticks) { throw new NotImplementedException(); }