Ejemplo n.º 1
0
        public static MyCharacter SpawnAgent(
            ulong steamId, string name, Color color, MatrixD startPosition, long identityId
            )
        {
            var identityBuilder = new MyObjectBuilder_Identity
            {
                DisplayName = name,
                ColorMask   = color.ToVector3(),
                IdentityId  = identityId,
            };

            var identity = MySession.Static.Players.CreateNewIdentity(identityBuilder);

            var character = MyCharacter.CreateCharacter(
                startPosition, Vector3.Zero, name, "", color, null, identityId: identityId);


            var client = new MyNetworkClient(steamId, name);
            //client.SetInstanceProperty("IsLocal", true);

            var player = MySession.Static.Players.CreateNewPlayer(
                identity: identity, steamClient: client, playerName: name,
                realPlayer: true
                );

            var characterController = new MyEntityController(player);

            characterController.TakeControl(character);

            return(player.Character);
        }
Ejemplo n.º 2
0
        public static MyCharacter SpawnAgent(ulong steamId, string name, Color color, MatrixD startPosition,
                                             long identityId = 1000)
        {
            var character = MyCharacter.CreateCharacter(
                startPosition, Vector3.Zero, name, "", color, null, identityId: identityId);

            character.SwitchJetpack();

            var playerId = new MyPlayer.PlayerId(steamId);

            var identityBuilder = new MyObjectBuilder_Identity
            {
                DisplayName       = name,
                CharacterEntityId = character.EntityId,
                ColorMask         = color.ToVector3()
            };
            var identity = new MyAgentIdentity().CreateNewIdentity(identityBuilder);

            var myPlayer = new MyPlayer(Sync.Clients.LocalClient, playerId)
            {
                Identity = identity
            };
            var characterController = new MyEntityController(myPlayer);

            characterController.TakeControl(character);

            return(character);
        }
Ejemplo n.º 3
0
        public MyObjectBuilder_Identity GetObjectBuilder()
        {
            var objectBuilder = new MyObjectBuilder_Identity();
            objectBuilder.IdentityId = IdentityId;
            objectBuilder.DisplayName = DisplayName;
            objectBuilder.CharacterEntityId = Character == null ? 0 : Character.EntityId;
            objectBuilder.Model = Model;
            objectBuilder.ColorMask = ColorMask;

            return objectBuilder;
        }
Ejemplo n.º 4
0
        public MyObjectBuilder_Identity GetObjectBuilder()
        {
            var objectBuilder = new MyObjectBuilder_Identity();

            objectBuilder.IdentityId        = IdentityId;
            objectBuilder.DisplayName       = DisplayName;
            objectBuilder.CharacterEntityId = Character == null ? 0 : Character.EntityId;
            objectBuilder.Model             = Model;
            objectBuilder.ColorMask         = ColorMask;

            return(objectBuilder);
        }
Ejemplo n.º 5
0
        public MyObjectBuilder_Identity GetObjectBuilder()
        {
            var objectBuilder = new MyObjectBuilder_Identity();

            objectBuilder.IdentityId         = IdentityId;
            objectBuilder.DisplayName        = DisplayName;
            objectBuilder.CharacterEntityId  = Character == null ? 0 : Character.EntityId;
            objectBuilder.Model              = Model;
            objectBuilder.ColorMask          = ColorMask;
            objectBuilder.BlockLimitModifier = BlockLimitModifier;
            objectBuilder.LastLoginTime      = LastLoginTime;

            return(objectBuilder);
        }
Ejemplo n.º 6
0
        private MyIdentity(MyObjectBuilder_Identity objectBuilder)
        {
            Init(objectBuilder.DisplayName, MyEntityIdentifier.FixObsoleteIdentityType(objectBuilder.IdentityId), objectBuilder.Model, objectBuilder.BlockLimitModifier);
            MyEntityIdentifier.MarkIdUsed(IdentityId);

            if (objectBuilder.ColorMask.HasValue)
                ColorMask = objectBuilder.ColorMask;
            IsDead = true;

            MyEntity character;
            MyEntities.TryGetEntityById(objectBuilder.CharacterEntityId, out character);

            if (character is MyCharacter)
                Character = character as MyCharacter;
        }
Ejemplo n.º 7
0
        private MyIdentity(MyObjectBuilder_Identity objectBuilder)
        {
            Init(objectBuilder.DisplayName, MyEntityIdentifier.FixObsoleteIdentityType(objectBuilder.IdentityId), objectBuilder.Model, objectBuilder.BlockLimitModifier);
            MyEntityIdentifier.MarkIdUsed(IdentityId);

            if (objectBuilder.ColorMask.HasValue)
            {
                ColorMask = objectBuilder.ColorMask;
            }
            IsDead = true;

            MyEntity character;

            MyEntities.TryGetEntityById(objectBuilder.CharacterEntityId, out character);

            if (character is MyCharacter)
            {
                Character = character as MyCharacter;
            }
        }
Ejemplo n.º 8
0
 public virtual MyIdentity CreateNewIdentity(MyObjectBuilder_Identity objectBuilder)
 {
     return(new MyIdentity(objectBuilder));
 }
Ejemplo n.º 9
0
 public virtual MyIdentity CreateNewIdentity(MyObjectBuilder_Identity objectBuilder)
 {
     return new MyIdentity(objectBuilder);
 }
        public override MyIdentity CreateNewIdentity(MyObjectBuilder_Identity objectBuilder)
        {
            bool obsoleteNpc = false;
            MyEntityIdentifier.ID_OBJECT_TYPE objectType = MyEntityIdentifier.GetIdObjectType(objectBuilder.IdentityId);
            if (objectType == MyEntityIdentifier.ID_OBJECT_TYPE.NPC || objectType == MyEntityIdentifier.ID_OBJECT_TYPE.SPAWN_GROUP)
                obsoleteNpc = true;

            MyIdentity identity = base.CreateNewIdentity(objectBuilder);
            AfterCreateIdentity(identity, obsoleteNpc);
            return identity;
        }
Ejemplo n.º 11
0
 public override MyIdentity CreateNewIdentity(MyObjectBuilder_Identity objectBuilder)
 {
     return(base.CreateNewIdentity(objectBuilder));
 }