Git Product home page Git Product logo

umvc's Introduction


UMVC

Model-View-Controller Generator built for Unity

Fast, Simple and intuitive



UMVC.Editor Metrics

UMVC.Core Metrics


Requirements

  • Unity 2021.x
  • com.solidalloy.type-references (as version v0.5.0)

Install com.solidalloy.type-references (as version v0.5.0)

  • Edit the Packages/manifest.json file in your Unity project.
  • Add the following near the top of the file:
"scopedRegistries": [
   {
      "name":"package.openupm.com",
      "url":"https://package.openupm.com",
      "scopes":[
         "com.solidalloy.util",
         "com.solidalloy.unity-dropdown",
         "com.solidalloy.type-references",
         "com.openupm",
         "org.nuget"
      ]
   }
],
  • Add the following to the dependencies section of the file:
  "com.solidalloy.type-references": "2.16.0",

Features

Overall

✅ Customizable T4 Templates

✅ Customizable Base Templates

✅ Generate your architecture directly in the Unity Editor

Model

✅ Model Events

// triggered before the update of the field
OnFieldWillUpdate(Model model, object newValue, object oldValue, PropertyChangedEventArgs eventArgs)
// triggered after the update of the field
OnFieldDidUpdate(Model model, object newValue, PropertyChangedEventArgs eventArgs)

✅ Generate field when creating a Model

✅ Disable/Enable Model Events on demand

The library is following the MVC pattern


MVC Pattern

The View

Any representation of information such as a chart, diagram or table. Multiple views of the same information are possible, such as a bar chart for management and a tabular view for accountants.

The Model

The central component of the pattern. It is the application's dynamic data structure, independent of the user interface. It directly manages the data, logic and rules of the application.

The Controller

Accepts input and converts it to commands for the model or view.

Resume

In addition to dividing the application into these components, the model–view–controller design defines the interactions between them.

  • The model is responsible for managing the data of the application. It receives user input from the controller.
  • The view means presentation of the model in a particular format.
  • The controller responds to the user input and performs interactions on the data model objects. The controller receives the input, optionally validates it and then passes the input to the model.

How to get started

Choose your installation method

Requirements and use cases Release Archive(s)
With Unity assets store (this version uses pre built UMVC.Core dlls) UMVC - Model-View-Controller Generator built for Unity Unity Asset Store
For users who need basic usage: Pre built UMVC.Core dlls, fast setup
For users who need advanced usage: customs Base Components, custom templates and more... Download UMVC.Editor.MsBuildForUnityDownload UMVC.Core Sources

Basic usage using UMVC.Editor.PreBuiltDlls UnityPackage

  • Download UMVC.Editor.PreBuiltDlls UnityPackage from above

  • Import UMVC.Editor.PreBuiltDlls UnityPackage in Unity Editor Assets > Import Package > Custom Package

Advanced usage using UMVC.Editor.MsBuildForUnity UnityPackage and UMVC.Core sources

Download and unzip sources

  • Download UMVC.Editor.MsBuildForUnity UnityPackage from above

  • Download UMVC.Core sources from above

  • Import UMVC.Editor.MsBuildForUnity UnityPackage in Unity Editor Assets > Import Package > Custom Package

  • Unzip UMVC.Core sources to your project next to your Assets folder

Add MSBuildForUnity to your manifest.json

Add the com.microsoft.msbuildforunity UPM (Unity Package Manager) package.

Add MSBuildForUnity to your manifest.json

Add the com.microsoft.msbuildforunity UPM (Unity Package Manager) package.

  • Edit the Packages/manifest.json file in your Unity project.
  • Add the following near the top of the file:
"scopedRegistries": [
    {
      "name": "Microsoft",
      "url": "https://pkgs.dev.azure.com/UnityDeveloperTools/MSBuildForUnity/_packaging/UnityDeveloperTools/npm/registry/",
      "scopes": [
        "com.microsoft"
      ]
    }
],
  • Add the following to the dependencies section of the file:
  "com.microsoft.msbuildforunity": "0.9.2-20211109.1",

FAQ

See the associated wiki: UMVC Wiki

umvc's People

Contributors

loic-lopez avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

Forkers

409544041 borisoo

umvc's Issues

Complete the README.md

Complete the How To Get Started

  • With pre-builded UMVC.Core DLLS
  • Integrated UMVC.Core project with MSBuildForUnity

FAQ

  • How to enable / disable Automatic Model Events
  • How to use your custom Base classes
  • How to customize the generated namespace
  • How to modify T4 templates

[request] - change to MIT license

I would love to use this contribute to this framework, use it in my projects, and give proper attribution.

Unfortunately, the GPL licensing requires us to completely open-source our work, which I'm unable to do due to other conflicting licenses.

Changing to an MIT license would allow us to incorporate UMVC.

Cheers!

Workflows are referencing vulnerable actions

Hello, there!

As part of the university research we are currently doing regarding the security of Github Actions, we noticed that one or many of the workflows that are part of this repository are referencing vulnerable versions of the third-party actions. As part of a disclosure process, we decided to open issues to notify GitHub Community.

Please note that there are could be some false positives in our methodology, thus not all of the open issues could be valid. If that is the case, please let us know, so that we can improve on our approach. You can contact me directly using an email: ikoishy [at] ncsu.edu

Thanks in advance

  1. The workflow UMVC.Editor.Core.release.yml is referencing action gittools/actions/gitversion/setup using references v0.9.7. However this reference is missing the commit 90150b4 which may contain fix to the vulnerability.
  2. The workflow UMVC.Editor.Core.release.yml is referencing action gittools/actions/gitversion/execute using references v0.9.7. However this reference is missing the commit 90150b4 which may contain fix to the vulnerability.

The vulnerability fix that is missing by actions' versions could be related to:
(1) CVE fix
(2) upgrade of vulnerable dependency
(3) fix to secret leak and others.
Please consider updating the reference to the action.

If you end up updating the reference, please let us know. We need the stats for the paper :-)

Improve documentation of Model Events

Describe events and its parameters

  • Describe OnFieldDidUpdate
  • Describe OnFieldWillUpdate

Update how to enable / disable it

  • Update the in editor documentation
  • Update programmatically documentation

[UMVC.Core] Create release workflow

  • Create UMVC.Core.release.yml
  • refactor UMVC.Core.tests.yml to UMVC.Core.pull-request.yml
  • Copy the job from Create UMVC.Core.release.yml
  • At Build enable wait for Test Job
  • How to create a release from Github Actions?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.