public MultiplayerClient(TrueCraftUser user) { User = user; Client = new TcpClient(); PacketReader = new PacketReader(); PacketReader.RegisterCorePackets(); PacketHandlers = new PacketHandler[0x100]; Handlers.PacketHandlers.RegisterHandlers(this); World = new ReadOnlyWorld(); Inventory = new InventoryWindow(null); var repo = new BlockRepository(); repo.DiscoverBlockProviders(); World.World.BlockRepository = repo; World.World.ChunkProvider = new EmptyGenerator(); Physics = new PhysicsEngine(World.World, repo); SocketPool = new SocketAsyncEventArgsPool(100, 200, 65536); connected = 0; cancel = new CancellationTokenSource(); Health = 20; var crafting = new CraftingRepository(); CraftingRepository = crafting; crafting.DiscoverRecipes(); }
// We need to spawn the main thread manually so we can register the assembly resolver // and manage apartment state ourselves. private static void Main_Thread(string[] args) { UserSettings.Local = new UserSettings(); UserSettings.Local.Load(); var user = new TrueCraftUser { Username = args[1] }; var client = new MultiplayerClient(user); var game = new TrueCraftGame(client, ParseEndPoint(args[0])); game.Run(); client.Disconnect(); }
public static void Start(params string[] args) { var username = args.Length == 0 ? "" : args[0]; var endpoint = args.Length < 2 ? "127.0.0.1" : args[1]; UserSettings.Local = new UserSettings(); UserSettings.Local.Load(); var user = new TrueCraftUser { Username = username }; var client = new MultiPlayerClient(user); var game = new TrueCraftGame(client, ParseEndPoint(endpoint)); game.Run(); client.Disconnect(); }
public static void Main(string[] args) { if (args.Length == 0) { args = new[] { "127.0.0.1", "-" }; } UserSettings.Local = new UserSettings(); UserSettings.Local.Load(); var user = new TrueCraftUser { Username = args[1] }; var client = new MultiplayerClient(user); var game = new TrueCraftGame(client, ParseEndPoint(args[0])); game.Run(); client.Disconnect(); }
public LauncherWindow() { Title = "TrueCraft Launcher"; Width = 300; Height = 100; User = new TrueCraftUser(); MainContainer = new HBox(); OptionView = new OptionView(this); MultiPlayerView = new MultiPlayerView(this); SinglePlayerView = new SinglePlayerView(this); InteractionBox = new VBox(); MainMenuView = new MainMenuView(this); using (var stream = Assembly.GetExecutingAssembly() .GetManifestResourceStream("TrueCraft.Launcher.Content.truecraft_logo.png")) TrueCraftLogoImage = new ImageView(Image.FromStream(stream).WithBoxSize(300, 75)); InteractionBox.PackStart(TrueCraftLogoImage); InteractionBox.PackEnd(MainMenuView); MainContainer.PackEnd(InteractionBox); Content = MainContainer; }