Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Major refactor #1

Open
z3nth10n opened this issue Nov 10, 2020 · 0 comments
Open

Major refactor #1

z3nth10n opened this issue Nov 10, 2020 · 0 comments
Labels
enhancement New feature or request

Comments

@z3nth10n
Copy link
Member

z3nth10n commented Nov 10, 2020

Main problems to solve:

  • Remove all the warnings on compiler Visual Studio/Unity3D
  • uzLib.Lite doesn't compile at some platforms (Linux/iOS/Mac/Android is untested) and doesn't execute well on other ones (WebGL is being tested)
  • We need to document the legacy way to use this library compiled for a Unity3D project (actually, this approach makes more difficult everything, with a submodule and a proper .gitignore file every should be okay) / BeforeBuild, AfterBuild, DependencyManager, ExternalCode, and UnityEditor should be removed.
  • We have dupe code between ExternalCode and the original API with different namespaces (UnityEngine as uzLib.Lite and uzLib.Lite.ExternalCode), I need to investigate this in order to create a way to identify these duped method signatures (overloads? maybe with some kind of code interpreter: System.CodeDom or Microsoft.Build.Evaluation)
  • Dupe code for _System.Drawing and System.Drawing can be a problem.

TASKS for version 1.3+:

  • Make this to work as a submodule (Unity/WinForms) or package (for the Package Manager of Unity3D)
  • I'll create a new branch called dev (which it'll be the default one)
  • Create a branch called deps where the libraries (dll) needed by the uzLib.Lite is present in order to be used as a submodule on any project (Unity3D in most cases)

How to:

  • First, create the said branch, I'll be passing code from the master branch into the dev branch as long I need it.
  • The first project that will need it will be the uzSurfaceMapperDemo, then uzSurfaceMapper, then uzSourceToolkit. (DepotToolkit will not be counted here because we have another structure there)
  • I'll need to parse the code using System.CodeDom in order to see which are the methods that are common between ExternalCode and normal assembly.
  • I'll need to compile on different platforms in order to test the code. But I'll need also to test (UnitTesting?) all the methods in order to check if they work on different platforms (RESEARCH ABOUT THIS).
  • I'll need to document all the methods that I migrate between branches.
  • I'll to document how to contribute and install this project as a release or as a dev version in Unity and in WinForms / Visual Studio (nuget or submodule).
@z3nth10n z3nth10n added the enhancement New feature or request label Nov 10, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant