public override void OnFrameworkInitializationCompleted() { AssetBank.LoadAssets(); _lifetime = (IClassicDesktopStyleApplicationLifetime)ApplicationLifetime; // Initialize suspension hooks. var suspension = new AutoSuspendHelper(ApplicationLifetime); RxApp.SuspensionHost.CreateNewAppState = () => new MainWindowViewModel(); //RxApp.SuspensionHost.SetupDefaultSuspendResume(new NewtonsoftJsonSuspensionDriver("appstate.json")); RxApp.SuspensionHost.SetupDefaultSuspendResume(new NewtonsoftJsonSuspensionDriver(Program.Settings.ConfigDir + "/appstate.json")); suspension.OnFrameworkInitializationCompleted(); // Read main view model state from disk. var state = RxApp.SuspensionHost.GetAppState <MainWindowViewModel>(); Locator.CurrentMutable.RegisterConstant <IScreen>(state); // Register views. Locator.CurrentMutable.Register <IViewFor <ChessboardViewModel> >(() => new Chessboard()); Locator.CurrentMutable.Register <IViewFor <PlayViewModel> >(() => new PlayView()); Locator.CurrentMutable.Register <IViewFor <LoginViewModel> >(() => new LoginView()); Locator.CurrentMutable.Register <IViewFor <StartMenuViewModel> >(() => new StartMenuView()); Locator.CurrentMutable.Register <IViewFor <CreateGameViewModel> >(() => new CreateGameView()); Locator.CurrentMutable.Register <IViewFor <GameBrowserViewModel> >(() => new GameBrowserView()); Locator.CurrentMutable.Register <IViewFor <ChessClockViewModel> >(() => new ChessClock()); Locator.CurrentMutable.Register <IViewFor <CapturedPicesViewModel> >(() => new CapturedPices()); Locator.CurrentMutable.Register <IViewFor <ChatboxViewModel> >(() => new Chatbox()); Locator.CurrentMutable.Register <IViewFor <RegisterUserViewModel> >(() => new RegisterUserView()); // Show the main window. new MainWindow { DataContext = Locator.Current.GetService <IScreen>() }.Show(); base.OnFrameworkInitializationCompleted(); }
public GameController GetGameController(IOutputter outputter) { var randomiser = new Randomiser(new System.Random()); var scheduleController = new ScheduleController(); var renderController = new RenderController(outputter); var inputController = new InputController(); var saveController = new SaveController(); var levelController = new LevelController(); var levelFactory = new LevelFactory(randomiser); var itemFactory = new ItemFactory(); var stringFormatter = new StringFormatterSmartFormat(); var assetBank = new AssetBank(stringFormatter); var eventBus = new EventBus(); var eventKeeper = new EventKeeper(eventBus, assetBank); var screenFactory = new ScreenFactory(eventKeeper); var playerFactory = new PlayerFactory(levelController, eventBus, randomiser, scheduleController); var enemyFactory = new EnemyFactory(eventBus, randomiser, scheduleController); return(new GameController( renderController, inputController, saveController, levelController, levelFactory, itemFactory, screenFactory, playerFactory, enemyFactory, eventBus, scheduleController )); }
public CapturedPice(ChessCom.PiceCapture pc) { Background = (ChessboardModel.FieldColorLight(pc.Location) ? StyleMirror.WhiteField : StyleMirror.BlackField) ?? new SolidColorBrush(Colors.Pink); Pice = AssetBank.ImageFromPice(pc.Pice); Field = pc.Location; PiceType = pc.Pice; }
public Context() { Assets = new AssetBank(); Camera = new Camera(this); Renderer = new Renderer(this); Hud = new HUD(this); Random = new Random(); FloatRandom = new FloatRandom(Random); }
public static TimedSpriteSet GetWalkingSpriteSet(AssetBank assets, int personNum, PersonOrientation orientation) { var b = assets.TimedSprites; return(personNum switch { 1 => orientation switch { PersonOrientation.Down => b.Person1Down, PersonOrientation.Right => b.Person1Right, PersonOrientation.Up => b.Person1Up, PersonOrientation.Left => b.Person1Left, },
public void ListImportableObjects() { assetBank = ToolsManager.GetTool("AssetBank").GetComponent <AssetBank>(); // Add Blender asset bank assets GlobalState.blenderBankImportObjectEvent.AddListener(OnBlenderBankObjectImported); GlobalState.blenderBankListEvent.AddListener(OnBlenderBank); BlenderBankInfo info = new BlenderBankInfo { action = BlenderBankAction.ListRequest }; MixerClient.Instance.SendBlenderBank(info); }
public FormSelectBIGEntry( AssetBank bank, LinkDestination link, string current) : base(current) { myBank = bank; myLink = link; FindEntries(); listViewEntries.Columns.RemoveAt(1); listViewEntries.Columns[0].Width = listViewEntries.ClientSize.Width; }
private string GetAssetName(AssetBank bank, string name) { if (bank.FindEntryBySymbolName(name) == null) { return(name); } int id = 1; while (id <= 99) { string tmpName = string.Format("{0}_{1:D2}", name, id); if (bank.FindEntryBySymbolName(tmpName) == null) { return(tmpName); } ++id; } return(null); }
public EventKeeper(EventBus eventBus, AssetBank assetBank) { _assetBank = assetBank; eventBus.AddListener(this); }
public static Indexer2D <Tile> LoadIndexer(Texture2D src, AssetBank assets) { Dictionary <uint, Tile> map = new Dictionary <uint, Tile> { { 0x005784u, assets.Tiles.HospitalFloor }, { 0xae9a9au, assets.Tiles.HospitalL }, { 0xa19a9au, assets.Tiles.HospitalR }, { 0xe4e4e4u, assets.Tiles.HospitalWindow1 }, { 0xadadadu, assets.Tiles.HospitalWindow2 }, { 0x584848u, assets.Tiles.HospitalWall }, { 0x472f2fu, assets.Tiles.HospitalWallFlat }, { 0x817676u, assets.Tiles.HospitalTableL }, { 0x6d6262u, assets.Tiles.HospitalTableR }, { 0x423535u, assets.Tiles.HospitalDoctor }, { 0x5a4a34u, assets.Tiles.HouseFloor }, { 0x185122u, assets.Tiles.HouseStairL }, { 0x257332u, assets.Tiles.HouseStairR }, { 0x7bfc91u, assets.Tiles.HouseElevatorL }, { 0x80ca8cu, assets.Tiles.HouseElevatorR }, { 0x1dff43u, assets.Tiles.HouseWall }, { 0x04340cu, assets.Tiles.HouseWallFlat }, { 0x197653u, assets.Tiles.MarketL }, { 0x0d5b3du, assets.Tiles.MarketR }, { 0x534129u, assets.Tiles.MarketIsleL }, { 0x352714u, assets.Tiles.MarketIsleR }, { 0xdb8717u, assets.Tiles.MarketCheckoutL }, { 0xbf740fu, assets.Tiles.MarketCheckoutR }, { 0xd2a05du, assets.Tiles.MarketWall }, { 0x9d9d9du, assets.Tiles.MarketFloor }, { 0xbe781au, assets.Tiles.MarketWallFlat }, { 0x428b1du, assets.Tiles.ParkGrass }, { 0x08668cu, assets.Tiles.ParkFence }, { 0x383838u, assets.Tiles.Cobble }, { 0x402b2bu, assets.Tiles.Cobble1 }, { 0x361b1bu, assets.Tiles.Cobble2 }, { 0x963030u, assets.Tiles.Cobble4 }, { 0x840a0au, assets.Tiles.Cobble7 }, { 0xcc7a7au, assets.Tiles.Cobble9 }, { 0xff3232u, assets.Tiles.Cobble10 }, { 0x54985fu, assets.Tiles.HouseS1L }, { 0x3c8348u, assets.Tiles.HouseS1R }, { 0x917575u, assets.Tiles.HouseS2L }, { 0x735555u, assets.Tiles.HouseS2R }, { 0x547359u, assets.Tiles.HouseS3L }, { 0x3d5e43u, assets.Tiles.HouseS3R }, }; Tile[] lHouses = { assets.Tiles.House1L, assets.Tiles.House2L, assets.Tiles.House3L, assets.Tiles.House4L, }; Tile[] rHouses = { assets.Tiles.House1R, assets.Tiles.House2R, assets.Tiles.House3R, assets.Tiles.House4R, }; int w = src.Width, h = src.Height; uint[] data = new uint[w * h]; src.GetData(data); Random random = new Random(); Indexer2D <Tile> indexer2D = new Indexer2D <Tile>(w, h); for (int col = 0; col < w; col++) { for (int row = 0; row < h; row++) { uint pixel = data[col + row * w] & 0xffffff; pixel = ((pixel & 0xff) << 16) | (pixel & 0xff00) | ((pixel & 0xff0000) >> 16); // special case for left and right side of houses if (pixel == 0xff8787u) { indexer2D[col, row] = lHouses[random.Next(0, lHouses.Length)]; } else if (pixel == 0xff0000u) { indexer2D[col, row] = rHouses[random.Next(0, rHouses.Length)]; } else { if (!map.ContainsKey(pixel)) { indexer2D[col, row] = assets.Tiles.Empty; } else { indexer2D[col, row] = map[pixel]; } } } } return(indexer2D); }
/// <summary> /// Attempts to load a shader by extracting the binary blob from the asset bank at the specified resource /// </summary> /// <param name="sourceBank"></param> /// <param name="shaderName"></param> public ShaderTechnique(GraphicsDevice device, AssetBank sourceBank, string shaderName) { _assetPath = shaderName; }