{"repo":"kekchpek/UnityMVVM","free":true,"listed":false,"github":"https://github.com/kekchpek/UnityMVVM","clone":"git clone https://github.com/kekchpek/UnityMVVM.git","description":"The MVVM pattern core implemented for Unity3d","language":"C#","stars":17,"topics":["dependency-injection","mvvm","mvvm-architecture","unity","zenject","architecture","game-development","gamedev","mvvm-framework","mvvm-pattern"],"license":"MIT","category":"game-templates","readme_excerpt":"UnityMVVM The MVVM pattern core implemented for Unity3d. It is implemented over Zenject plugin. You have to add Zenject to your project to use it. (https://github.com/modesttree/Zenject) Concept Concept UnityMVVM is based on widely known MVVM pattern of application structure. It follows a layered architecture pattern, where all objects are supposed to be a part of a specific logical layer. UnityMVVM by default supports three layers - View(Interaction), ViewModel and Model. - View(Interaction) layer contains Unity3d objects, that are responsible for content displaying. These objects also could handle interactions with user like buttons clicks and interactions with UnityAPI like OnCollisionEnter , OnTriggerEnter methods and Unity3d physics handling. This layer is not intended to store any data about its state or business logic. View layer objects are inheritors of ViewBehaviour class. - ViewModel layer contains the data about View objects state. It is responsible for handling input from View layer and contain logic of handling Model layer entities state changing. ViewModel layer objects are inheritors of ViewModel class. - Model layer contains business logic, interaction with persistent storage, network or domain model. Model layer objects could have any type. The specific thing about UnityMVVM approach is that each View object has only one corresponding ViewModel object. So every entity(units, windows, popups and whatever you want) are a View-ViewModel pair. ViewModel could ha","default_branch":null,"files":null,"tree":[],"storefront":"/r/kekchpek","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/kekchpek/UnityMVVM/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}