Esempio n. 1
0
        private void SpawnPlayerCharacter(SpawnCharacterCommand command)
        {
            Entity entity = World.EntityManager.CreateEntity(playerArchtype);
            int    id;
            bool   isLoadingPlayer = false;

            if (command.characterID != 0)
            {
                id = command.characterID;
                isLoadingPlayer = true;
            }
            else
            {
                id = Bootstrap.GenerateUniqueID();
            }
            if (SetCharacter(entity, id, isLoadingPlayer, command.world, command.metaID, command.classID, command.clanID, command.position))
            {
                SetPlayerCharacter(entity, id, command.world, command.metaID, command.position);
                cameraSystem.ConnectCameraToCharacter(command.camera, entity);
                playerSpawnSystem.SetPlayerCharacter(entity, command.playerID);
                if (isLoadingPlayer)
                {
                    saveSystem.LoadPlayer(entity);
                }
                Entity gameEntity = command.game;
                var    game       = World.EntityManager.GetComponentData <Game>(gameEntity);
                game.AddPlayerCharacter(id);
                World.EntityManager.SetComponentData(gameEntity, game);
                worldSpawnSystem.OnAddedStreamer(entity, command.world);
            }
        }