/// <inheritdoc /> public BedrockServerType(Alex game, XboxAuthService xboxAuthService) : base(new BedrockServerQueryProvider(game), "Bedrock", "bedrock") { DefaultPort = 19132; Alex = game; ProtocolVersion = McpeProtocolInfo.ProtocolVersion; XboxAuthService = xboxAuthService; }
public PlayingState(Alex alex, GraphicsDevice graphics, WorldProvider worldProvider, INetworkProvider networkProvider) : base(alex) { NetworkProvider = networkProvider; World = new World(alex, graphics, Options, new FirstPersonCamera(Options.VideoOptions.RenderDistance, Vector3.Zero, Vector3.Zero), networkProvider); SkyRenderer = new SkyBox(alex, graphics, World); WorldProvider = worldProvider; if (worldProvider is SPWorldProvider) { World.FreezeWorldTime = true; } var chat = new ChatComponent(World); var title = new TitleComponent(); WorldProvider = worldProvider; WorldProvider.Init(World, chat, out var info, out var chatProvider); World.WorldInfo = info; chat.ChatProvider = chatProvider; WorldProvider.TitleComponent = title; _playingHud = new PlayingHud(Alex, World.Player, chat, title); _debugInfo = new GuiDebugInfo(); InitDebugInfo(); }
private async void OnJoinServerButtonPressed() { var entry = SelectedItem.SavedServerEntry; var ips = Dns.GetHostAddresses(entry.Host).ToArray(); IPAddress ip = ips[Rnd.Next(0, ips.Length - 1)]; if (ip == null) { return; } IPEndPoint target = new IPEndPoint(ip, entry.Port); var authenticationService = GetService <IPlayerProfileService>(); var currentProfile = authenticationService.CurrentProfile; if (Alex.ServerTypeManager.TryGet(entry.ServerType, out var typeImplementation)) { if (!await typeImplementation.VerifyAuthentication(currentProfile)) { await typeImplementation.Authenticate(_skyBox, result => { if (result) { Alex.ConnectToServer(typeImplementation, new ServerConnectionDetails(target, entry.Host), authenticationService.CurrentProfile); } }); } else { Alex.ConnectToServer(typeImplementation, new ServerConnectionDetails(target, entry.Host), authenticationService.CurrentProfile); } } }
public void ChargeAccounts() { var cashAccount = new Account(Session) { Type = AccountTypeEnum.Cash }; Session.CommitChanges(); Andrew.DepositAmount(30); Session.CommitChanges(); Alex.DepositAmount(30); Session.CommitChanges(); Assert.IsTrue(cashAccount.Balance == -60); VideoRentDateTime.AddMonths(1); Andrew.DebitMembershipFee(30); Session.CommitChanges(); VideoRentDateTime.AddMonths(1); Andrew.DepositAmount(30); Session.CommitChanges(); Andrew.DebitMembershipFee(30); Session.CommitChanges(); VideoRentDateTime.AddMonths(1); Andrew.DebitMembershipFee(30); Session.CommitChanges(); Assert.IsTrue(Andrew.IsMembershipDebter); Assert.IsTrue(GetMonths(VideoRentDateTime.Now - Andrew.LastPayDate()) == 3); Assert.IsFalse(Alex.IsMembershipDebter); Assert.IsTrue(cashAccount.Balance == 0); Assert.IsTrue(Andrew.Accounts[0].Balance == -30); }
public SingleplayerServer(string world, Alex alex, IPEndPoint endPoint, PlayerProfile profile, DedicatedThreadPool threadPool, out INetworkProvider networkProvider) : base(alex, endPoint, profile, threadPool, out networkProvider) { Server = new MiNetServer(new IPEndPoint(IPAddress.Loopback, 0)); ConnectionEndpoint = Server.Endpoint; Server.LevelManager = new LevelManager(); MiNETLevel = Server.LevelManager.GetLevel(null, world); }
public BedrockWorldProvider(Alex alex, IPEndPoint endPoint, PlayerProfile profile, out INetworkProvider networkProvider) { Alex = alex; Client = new BedrockClient(alex, endPoint, profile, new DedicatedThreadPool(new DedicatedThreadPoolSettings(Environment.ProcessorCount, ThreadType.Background, "BedrockClientThread")), this); networkProvider = Client; }
public EntityModelExplorer(Alex alex, World world) { Alex = alex; World = world; GraphicsDevice = alex.GraphicsDevice; _entityDefinitions = alex.Resources.BedrockResourcePack.EntityDefinitions.ToArray(); }
public BlockModelExplorer(Alex alex, World world) { Alex = alex; World = world; GraphicsDevice = alex.GraphicsDevice; _blockStates = BlockFactory.AllBlockstates.Values.ToArray(); }
public SPWorldProvider(Alex alex, IWorldGenerator worldGenerator) { Alex = alex; OptionsProvider = alex.Services.GetService <IOptionsProvider>(); _generator = worldGenerator; ThreadCancellationTokenSource = new CancellationTokenSource(); }
public World(Alex alex, GraphicsDevice graphics, AlexOptions options, Camera camera, INetworkProvider networkProvider) { Alex = alex; Graphics = graphics; Camera = camera; Options = options; PhysicsEngine = new PhysicsManager(alex, this); ChunkManager = new ChunkManager(alex, graphics, options, this); EntityManager = new EntityManager(graphics, this, networkProvider); Ticker = new TickManager(this); PlayerList = new PlayerList(); ChunkManager.Start(); var profileService = alex.Services.GetService <IPlayerProfileService>(); string username = string.Empty; Skin skin = profileService?.CurrentProfile?.Skin; if (skin == null) { alex.Resources.ResourcePack.TryGetBitmap("entity/alex", out Bitmap rawTexture); var t = TextureUtils.BitmapToTexture2D(graphics, rawTexture); skin = new Skin() { Texture = t, Slim = true }; } if (!string.IsNullOrWhiteSpace(profileService?.CurrentProfile?.Username)) { username = profileService.CurrentProfile.Username; } Player = new Player(graphics, alex, username, this, skin, networkProvider, PlayerIndex.One); Player.KnownPosition = new PlayerLocation(GetSpawnPoint()); Camera.MoveTo(Player.KnownPosition, Vector3.Zero); Options.FieldOfVision.ValueChanged += FieldOfVisionOnValueChanged; Camera.FOV = Options.FieldOfVision.Value; PhysicsEngine.AddTickable(Player); Player.Inventory.IsPeInventory = true; if (ItemFactory.TryGetItem("minecraft:diamond_sword", out var sword)) { Player.Inventory[Player.Inventory.SelectedSlot] = sword; Player.Inventory.MainHand = sword; } else { Log.Warn($"Could not get diamond sword!"); } }
public ChunkManager(Alex alex, GraphicsDevice graphics, AlexOptions option, IWorld world) { Game = alex; Graphics = graphics; World = world; Options = option; ProfilerService = alex.Services.GetService <ProfilerService>(); Chunks = new ConcurrentDictionary <ChunkCoordinates, IChunkColumn>(); var fogStart = 0; TransparentEffect = new AlphaTestEffect(Graphics) { Texture = alex.Resources.Atlas.GetStillAtlas(), VertexColorEnabled = true, World = Matrix.Identity, AlphaFunction = CompareFunction.Greater, ReferenceAlpha = 127, FogStart = fogStart, FogEnabled = false }; AnimatedEffect = new AlphaTestEffect(Graphics) { Texture = alex.Resources.Atlas.GetAtlas(0), VertexColorEnabled = true, World = Matrix.Identity, AlphaFunction = CompareFunction.Greater, ReferenceAlpha = 127, FogStart = fogStart, FogEnabled = false }; OpaqueEffect = new BasicEffect(Graphics) { TextureEnabled = true, Texture = alex.Resources.Atlas.GetStillAtlas(), FogStart = fogStart, VertexColorEnabled = true, LightingEnabled = true, FogEnabled = false }; //if (alex.) FrameCount = alex.Resources.Atlas.GetFrameCount(); ChunkManagementThread = new Thread(ChunkUpdateThread) { IsBackground = true, Name = "Chunk Management" }; HighestPriority = new ConcurrentQueue <ChunkCoordinates>(); }
public void ReturnMovie() { var rent = Alex.DoRent(new RentInfo(Avatar, 1)).Rents[0]; VideoRentDateTime.AddDays(3); var overdueReceipt = Alex.ReturnRent(rent); Assert.IsNotNull(overdueReceipt); Assert.AreNotEqual(0, overdueReceipt.Payment); }
public PlayingHud(Alex game, Player player, TitleComponent titleComponent) : base() { Title = titleComponent; Alex = game; Player = player; Player.OnInventoryChanged += OnInventoryChanged; Anchor = Alignment.Fill; Padding = Thickness.One; _playerController = player.Controller; InputManager.AddListener(new MouseInputListener(InputManager.PlayerIndex)); _healthAndHotbar = new GuiStackContainer() { Orientation = Orientation.Vertical, ChildAnchor = Alignment.Fill }; _bottomContainer = new GuiMultiStackContainer(); _bottomContainer.ChildAnchor = Alignment.BottomFill; _bottomContainer.Anchor = Alignment.BottomCenter; _bottomContainer.AutoSizeMode = AutoSizeMode.GrowAndShrink; _bottomContainer.Orientation = Orientation.Vertical; //BottomContainer. _hotbar = new GuiItemHotbar(player.Inventory); _hotbar.Anchor = Alignment.BottomCenter; _hotbar.Padding = Thickness.Zero; Chat = new ChatComponent(); Chat.Enabled = false; Chat.Anchor = Alignment.BottomLeft; _healthContainer = new GuiContainer(); _healthContainer.Anchor = Alignment.Fill; _healthContainer.Margin = new Thickness(0, 0, 0, 1); _healthComponent = new HealthComponent(player); _healthComponent.Anchor = Alignment.TopLeft; _hungerComponent = new HungerComponent(player); _hungerComponent.Anchor = Alignment.TopRight; _tipPopupComponent = new TipPopupComponent(); _tipPopupComponent.Anchor = Alignment.BottomCenter; _tipPopupComponent.AutoSizeMode = AutoSizeMode.GrowAndShrink; Scoreboard = new ScoreboardView(); Scoreboard.Anchor = Alignment.MiddleRight; }
public static Alex getAlex() { lock (typeof(Alex)) { if (theSingleton == null) { theSingleton = new Alex(); } } return(theSingleton); }
private void Debug(IWorldGenerator generator) { Alex.IsMultiplayer = false; Alex.IsMouseVisible = false; generator.Initialize(); var debugProvider = new SPWorldProvider(Alex, generator); Alex.LoadWorld(debugProvider, debugProvider.Network); }
public void RentMovies_CalcPayment() { var receipt = Alex.Buy(new RentInfo[] { new RentInfo(Avatar), new RentInfo(Cube) }); Assert.AreEqual(2, receipt.Rents.Count); Assert.AreEqual(MovieItemStatus.Sold, receipt.Rents[0].Item.Status); Assert.AreEqual(MovieItemStatus.Sold, receipt.Rents[1].Item.Status); var payment = receipt.Rents[0].Item.SellingPrice + receipt.Rents[1].Item.SellingPrice; Assert.AreEqual(payment, receipt.Payment); }
public PlayingState(Alex alex, GraphicsDevice graphics, WorldProvider worldProvider, NetworkProvider networkProvider) : base(alex) { NetworkProvider = networkProvider; World = new World(alex.Services, graphics, Options, networkProvider); World.Player.IsFirstPersonMode = true; WorldProvider = worldProvider; if (worldProvider is SPWorldProvider) { World.DoDaylightcycle = false; //World.Player.SetInventory(new BedrockInventory(46)); if (ItemFactory.TryGetItem("minecraft:diamond_sword", out var sword)) { World.Player.Inventory.MainHand = sword; World.Player.Inventory[World.Player.Inventory.SelectedSlot] = sword; } } var title = new TitleComponent(); WorldProvider = worldProvider; WorldProvider.Init(World); WorldProvider.TitleComponent = title; _playingHud = new PlayingHud(Alex, World.Player, title); _playingHud.Chat.Network = networkProvider; WorldProvider.ScoreboardView = _playingHud.Scoreboard; WorldProvider.ChatRecipient = _playingHud; //WorldProvider.ScoreboardView _debugInfo = new GuiDebugInfo(); InitDebugInfo(); MiniMap = new GuiMiniMap(World.ChunkManager) { Anchor = Alignment.TopRight }; var settings = GetService <IOptionsProvider>(); settings.AlexOptions.VideoOptions.Minimap.Bind(OnMinimapSettingChange); RenderMinimap = settings.AlexOptions.VideoOptions.Minimap.Value; if (RenderMinimap) { _playingHud.AddChild(MiniMap); } _networkDebugHud = new NetworkDebugHud(NetworkProvider); }
public void AsTest() { using (var session = Domain.OpenSession()) { using (var transactionn = session.OpenTransaction()) { var alex = new Alex(); session.SaveChanges(); var query = session.Query.All <Developer>().Select(developer => new { SoloProfessional = developer as IAmSoloProfessional }).ToArray(); Assert.AreEqual(1, query.Length); Assert.AreSame(alex, query[0].SoloProfessional); } } }
public ProfileSelectionState(GuiPanoramaSkyBox skyBox, Alex alex) { Alex = alex; _skyBox = skyBox; ProfileService = GetService <IPlayerProfileService>(); Title = "Select Profile"; Background = new GuiTexture2D(_skyBox, TextureRepeatMode.Stretch); base.ListContainer.ChildAnchor = Alignment.MiddleCenter; base.ListContainer.Orientation = Orientation.Horizontal; Footer.AddRow(row => { row.AddChild(_addBtn = new GuiButton("Add", AddClicked) { }); row.AddChild(_editBtn = new GuiButton("Edit", EditClicked) { Enabled = false }); row.AddChild(_deleteBtn = new GuiButton("Delete", DeleteClicked) { Enabled = false }); }); Footer.AddRow(row => { // row.ChildAnchor = Alignment.CenterX; row.AddChild(_selectBtn = new GuiButton("Select Profile", OnProfileSelect) { Enabled = false }); row.AddChild(_cancelBtn = new GuiButton("Cancel", OnCancelButtonPressed) { }); }); if (_defaultSkin == null) { Alex.Instance.Resources.ResourcePack.TryGetBitmap("entity/alex", out var rawTexture); _defaultSkin = new Skin() { Slim = true, Texture = TextureUtils.BitmapToTexture2D(Alex.Instance.GraphicsDevice, rawTexture) }; } Reload(); }
public BedrockWorldProvider(Alex alex, IPEndPoint endPoint, PlayerProfile profile, out NetworkProvider networkProvider) { Alex = alex; //Client = new ExperimentalBedrockClient(alex, alex.Services, this, endPoint); Client = new BedrockClient(alex, endPoint, profile, this); networkProvider = Client; var guiManager = Alex.GuiManager; FormManager = new BedrockFormManager(networkProvider, guiManager, alex.InputManager); }
public BedrockClientPacketHandler(BedrockClient client, Alex alex, CancellationToken cancellationToken) : base(client) { BaseClient = client; AlexInstance = alex; CancellationToken = cancellationToken; AnvilWorldProvider.LoadBlockConverter(); ChunkProcessor = new ChunkProcessor(4, alex.Services.GetService <IOptionsProvider>().AlexOptions.MiscelaneousOptions.ServerSideLighting, cancellationToken); }
public BedrockWorldProvider(Alex alex, IPEndPoint endPoint, PlayerProfile profile, DedicatedThreadPool threadPool, out NetworkProvider networkProvider) { Alex = alex; var eventDispatcher = alex.Services.GetRequiredService <IEventDispatcher>(); EventDispatcher = eventDispatcher; //Client = new ExperimentalBedrockClient(alex, alex.Services, this, endPoint); Client = new BedrockClient(alex, eventDispatcher, endPoint, profile, threadPool, this); networkProvider = Client; EventDispatcher.RegisterEvents(this); }
public void CheckAccountBalance() { var cashAccount = new Account(Session) { Debit = 300, Type = AccountTypeEnum.Cash }; Session.CommitChanges(); Andrew.DepositAmount(30); Session.CommitChanges(); Alex.DepositAmount(30); Session.CommitChanges(); Assert.IsTrue(cashAccount.Balance == -360); }
public void GeneratePuzzle(Alex owner, Alex.Puzzle puzzle) { this.owner = owner; this.currentPuzzle = puzzle; Cleanup(); currentChar = 0; if (puzzle.arrow) { GenerateArrowPuzzle(puzzle); } else if (puzzle.words) { GenerateTextPuzzle(puzzle); } else { throw new System.Exception("Puzzle type unknown " + puzzle); } inPuzzle = true; }
public DebugModelRenderer(Alex alex) { Background = Color.DeepSkyBlue; Anchor = Alignment.Fill; ClipToBounds = false; EntityPosition = new PlayerLocation(Vector3.Zero); Camera = new DebugModelRendererCamera(this); // World = new World(alex, alex.GraphicsDevice, alex.Services.GetService<IOptionsProvider>().AlexOptions, // new FirstPersonCamera(16, Vector3.Zero, Vector3.Zero), new DebugNetworkProvider()); BlockModelExplorer = new BlockModelExplorer(alex, null); EntityModelExplorer = new EntityModelExplorer(alex, null); ModelExplorer = BlockModelExplorer; }
public Player(GraphicsDevice graphics, Alex alex, string name, World world, Skin skin, INetworkProvider networkProvider, PlayerIndex playerIndex) : base(name, world, networkProvider, skin.Texture, true) { // DoRotationCalculations = false; PlayerIndex = playerIndex; Controller = new PlayerController(graphics, world, alex.InputManager, this, playerIndex); NoAi = false; //Inventory = new Inventory(46); //Inventory.SelectedHotbarSlotChanged += SelectedHotbarSlotChanged; //base.Inventory.IsPeInventory = true; MovementSpeed = 4.317f; FlyingSpeed = 10.89f; SnapHeadYawRotationOnMovement = false; RenderEntity = true; }
public void UpdateExtCtrl(Band band, Band bandb, bool tx) { if (!tx && (int)band < 12) // if !tx ignore given band and round off to nearest band based on freq { band = Alex.AntBandFromFreq(); } if (!tx && (int)bandb < 12) { bandb = Alex.AntBandFromFreqB(); } int idx = (int)band - (int)Band.B160M; int idxb = (int)bandb - (int)Band.B160M; int bits; if ((idx < 0 || idx > 26) || (idxb < 0 || idxb > 26)) { bits = 0; } else { if (SplitPins) { bits = tx ? (TXABitMasks[idx] & RxABitMask) | TXBBitMasks[idxb] : (RXABitMasks[idx] & RxABitMask) | RXBBitMasks[idxb]; } else { if (tx && VFOTBX) { bits = TXABitMasks[idxb]; } else if (tx) { bits = TXABitMasks[idx]; } else { bits = RXABitMasks[idx]; } } } System.Console.WriteLine("Bits: " + bits + " Band: " + (int)band + " Band: " + (int)bandb); NetworkIO.SetOCBits(bits); }
public void Dispose() { Heart?.Dispose(); Hearts?.Dispose(); Stage?.Dispose(); PenguinSliding?.Dispose(); PenguinWalking?.Dispose(); PenguinWithBoard?.Dispose(); UIBackground?.Dispose(); Grzesiek?.Dispose(); DOG?.Dispose(); Alex?.Dispose(); Kamil?.Dispose(); Marcin?.Dispose(); Marek?.Dispose(); Tymon?.Dispose(); PenguinIcons?.Dispose(); }
public PlayingHud(Alex game, Player player, ChatComponent chat, TitleComponent titleComponent) : base() { Title = titleComponent; Alex = game; Player = player; _playerController = player.Controller; InputManager.AddListener(new MouseInputListener(InputManager.PlayerIndex)); _hotbar = new GuiItemHotbar(player.Inventory); _hotbar.Anchor = Alignment.BottomCenter; _hotbar.Padding = Thickness.Zero; Chat = chat; Chat.Enabled = false; Chat.Anchor = Alignment.BottomLeft; }
public PluginManager(Alex parent) { Parent = parent; HostAssembly = Assembly.GetAssembly(typeof(PluginManager)); AssemblyReferences = new ConcurrentDictionary <string, Assembly>(); LoadedAssemblies = new Dictionary <Assembly, LoadedAssembly>(); References = new ConcurrentDictionary <Type, object>(); foreach (var referencedAssemblies in AppDomain.CurrentDomain.GetAssemblies()) { if (!AssemblyReferences.ContainsKey(referencedAssemblies.GetName().Name)) { AssemblyReferences.TryAdd(referencedAssemblies.GetName().Name, referencedAssemblies); } } //AppDomain.CurrentDomain.AssemblyResolve += PluginManagerOnAssemblyResolve; }
public void CheckDayOffset() { var cashAccount = new Account(Session) { Debit = 300, Type = AccountTypeEnum.Cash }; Session.CommitChanges(); Andrew.DepositAmount(30); Session.CommitChanges(); VideoRentDateTime.AddDays(2); Alex.DepositAmount(30); Session.CommitChanges(); VideoRentDateTime.AddDays(2); Andrew.DepositAmount(30); Session.CommitChanges(); Assert.IsTrue((VideoRentDateTime.Now - Andrew.LastPayDate()).Days == 4); Assert.IsTrue((VideoRentDateTime.Now - Alex.LastPayDate()).Days == 2); }
void GenerateTextPuzzle(Alex.Puzzle puzzle) { puzzleSequence = new int[puzzle.wordAaron.Length]; // all lower, we aren't checking uppercase shift keys string keyedWord = puzzle.wordAaron.ToLower(); for (int i = 0; i < puzzle.wordAaron.Length; i++) { puzzleSequence[i] = (int)keyedWord[i]; } labelAlexWord = new FLabel("comfortaa32", puzzle.wordAlex); labelAlexWord.color = onColor; labelAlexWord.anchorX = 0f; labelAlexWord.y = 50f; puzzleUI.AddChild(labelAlexWord); labelAaronWord = new FLabel("comfortaa32", puzzle.wordAaron); labelAaronWord.color = Color.white; labelAaronWord.anchorX = 0f; puzzleUI.AddChild(labelAaronWord); }
void GenerateArrowPuzzle(Alex.Puzzle puzzle) { // generate a new sequence of buttons to solve puzzleSequence = new int[puzzle.arrowLength]; labelsOn = new FSprite[puzzle.arrowLength]; labelsOff = new FSprite[puzzle.arrowLength]; nextX = 0f; for (int i = 0; i < puzzle.arrowLength; i++) { puzzleSequence[i] = Random.Range(0, 4); labelsOn[i] = new FSprite(buttonNames[puzzleSequence[i]] + "-on"); labelsOff[i] = new FSprite(buttonNames[puzzleSequence[i]] + "-off"); labelsOn[i].x = nextX; labelsOff[i].x = nextX; // next button to the right nextX += labelsOn[i].width + 5f; puzzleUI.AddChild(labelsOff[i]); } }