Skip to content

Major refactor #1

Description

@z3nth10n

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).

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions