示例#1
0
        public override CommandResponseDto Execute(Player player, IGame game)
        {
            var visibleBlobs = new HashSet <Blob>();

            player.WaitForTick();

            foreach (var playerBlob in player.Blobs)
            {
                var radius = playerBlob.Radius * game.Settings.VisibilityFactor;
                _physics.ForBlobsInRange(playerBlob.Position, radius, blob => visibleBlobs.Add(blob));
            }

            var playerViewDto = new GetViewResponseDto
            {
                Blobs = Mapper.Map <BlobDto[]>(visibleBlobs)
            };

            return(playerViewDto);
        }
示例#2
0
        public override CommandResponseDto Execute(Player player, IGame game)
        {
            var visibleBlobs = new HashSet<Blob>();

            player.WaitForTick();

            foreach (var playerBlob in player.Blobs)
            {
                var radius = playerBlob.Radius * game.Settings.VisibilityFactor;
                _physics.ForBlobsInRange(playerBlob.Position, radius, blob => visibleBlobs.Add(blob));
            }

            var playerViewDto = new GetViewResponseDto
            {
                Blobs = Mapper.Map<BlobDto[]>(visibleBlobs)
            };

            return playerViewDto;
        }