Integrácia šachovej hry s MVVMCross zahŕňa niekoľko krokov, vrátane nastavenia rámca MVVMCross, navrhovania logiky šachovej hry a implementácie používateľského rozhrania. Tu je podrobný sprievodca, ako to dosiahnuť:
Krok 1: Nastavenie MVVMCross
Najprv musíte nastaviť projekt MVVMCross. Zahŕňa to vytvorenie základného projektu, ktorý bude obsahovať zdieľaný kód, ako sú modely a modely zobrazenia, a projekty špecifické pre platformu pre Android a iOS.
1. Vytvorte základný projekt: Tento projekt bude prenosná knižnica triedy (PCL) alebo .NET Standard Library. Bude obsahovať vaše modely, modely, modely a obchodnú logiku.
2. Vytvorte projekty špecifické pre platformu: Pre Android a iOS vytvorte samostatné projekty, ktoré budú obsahovať používateľské rozhranie a kód špecifický pre platformu.
3. Nainštalujte balíčky MVVMCross Nuget: Nainštalujte balíčky MVVMCross Nuget do projektov špecifických pre jadro aj platformu. Môžete to urobiť pomocou konzoly Package Manager s príkazom `install-Package MVVMCross` [3].
Krok 2: Navrhovanie logiky šachovej hry
Logika šachovej hry bude bývať v hlavnom projekte. Zahŕňa to pravidlá šachu, pohyby kusov a správu hier.
1. Vytvorte šachové modely: Definujte triedy pre šachové kúsky (napr. „Piece“, `pešiak,` rytier 'atď.) A šachová doska (`Board`).
2. Implementovať logiku hry: Vytvorte triedu služieb alebo manažéra (`ChessgameManager`), ktorá spracováva logiku hry, ako sú napríklad pohyblivé kusy, kontrola checkmate a riadenie zákrut.
3. Použite injekciu závislosti: zaregistrujte `ChessgameManager` v kontajneri IOC v triede` App` hlavného projektu, aby sa sprístupnil počas celej aplikácie [2].
Krok 3: Implementácia používateľského rozhrania
Pre používateľské rozhranie vytvoríte zobrazenia v projektoch špecifických pre platformu.
1. Zobrazenia Android: V projekte Android vytvorte rozloženia pre šachovú dosku a kúsky. Použite schopnosti väzby údajov MVVMCross na viazanie prvkov používateľského rozhrania na modely zobrazenia.
2. Zobraziť iOS: Podobne v projekte iOS vytvorte výhľady na šachovú dosku a kúsky. Na pripojenie prvkov používateľského rozhrania k modelom zobrazenia použite väzbu údajov MVVMCross.
3. Zdieľaná logika používateľského rozhrania: Ak je to možné, zdieľajte logiku používateľského rozhrania pomocou Xamarin.Forms alebo vytvorením vlastných ovládacích prvkov, ktoré je možné použiť na platformách.
Krok 4: Integrácia šachovej logiky s MVVMCross
1. Vytvorte modely šachového zobrazenia: V hlavnom projekte vytvorte modely View (`ChessviewModel`), ktoré interagujú s` ChessgameManager`. Tieto modely zobrazenia vystanú vlastnosti a príkazy, na ktoré sa používateľské rozhranie môže viazať.
2. Prejdite medzi zobrazeniami: Použite navigačné funkcie MVVMCross na pohyb medzi rôznymi pohľadmi na šachovú hru, napríklad od hlavnej ponuky po hernú dosku.
3. PASS Parametre: Použite mechanizmus odovzdávania parametrov MVVMCROSS na odovzdávanie údajov medzi modelmi pohľadu, ako je napríklad súčasný stav hry [1].
Krok 5: Testovanie a nasadenie
1. Testovanie jednotiek: Používajte pomocníkov jednotkovej jednotky MVVMCross na písanie testov pre vaše modely zobrazenia a logiku hry.
2. Testovanie používateľského rozhrania: Vykonajte testy používateľského rozhrania na každej platforme, aby sa zabezpečilo, že šachová hra funguje podľa očakávania.
3. Nasadenie aplikácie: Akonáhle je všetko testované a fungovanie, nasadte aplikáciu do príslušných obchodov s aplikáciami.
Podľa týchto krokov môžete integrovať šachovú hru s MVVMCross a využiť jeho možnosti viacerých platforiem na zdieľanie kódu a logiky medzi platformami Android a iOS.
Citácie:[1] https://www.packtpub.com/en-us/learning/how-to-tutorials/sharing-mvvmcross
[2] https://www.mvvmcross.com/documentation/advanced/custoughing-using-app-and-setup
[3] https://github.com/mvvmcross/mvvmcross
[4] https://stackoverflow.com/questions/50111506/how-do-i-specify-to-use-view-from-shared-project-in-mvvvvmcross-6-0
[5] https://leaware.com/creating-cross-platform-xamarin-applications-using-the-mvvvmcross-framework/
[6] https://www.chessnutech.com
[7] https://www.mvvmcross.com/documentation/getting-started/getting-started
[8] http://squareoffnow.com