zhangwenjie 121a338d00 feat: 项目源码 | 1 year ago | |
---|---|---|
.. | ||
.Resources | 1 year ago | |
Documentation~ | 1 year ago | |
Editor | 1 year ago | |
Lib | 1 year ago | |
Tests | 1 year ago | |
.gitattributes | 1 year ago | |
.signature | 1 year ago | |
CHANGELOG.md | 1 year ago | |
CHANGELOG.md.meta | 1 year ago | |
Editor.meta | 1 year ago | |
LICENSE.md | 1 year ago | |
LICENSE.md.meta | 1 year ago | |
Lib.meta | 1 year ago | |
README.md | 1 year ago | |
README.md.meta | 1 year ago | |
Tests.meta | 1 year ago | |
Third Party Notices.md | 1 year ago | |
Third Party Notices.md.meta | 1 year ago | |
ValidationConfig.json | 1 year ago | |
ValidationConfig.json.meta | 1 year ago | |
ValidationExceptions.json | 1 year ago | |
ValidationExceptions.json.meta | 1 year ago | |
package.json | 1 year ago | |
package.json.meta | 1 year ago |
This is the package to add Collaborate support to the Unity Editor. Unlike its predecessor CollabProxy, this package has completely switched the UI to using UIElements. There is no more CEF, JS, or HTML.
The project is exclusively targeting .NetStandard 2.0 and will not work with the legacy Mono runtime.
The minimum supported version of the Unity Editor is 2020.1a13.
For developers:
Option 1: clone this repository out into the packages/
directory in a project.
Option 2: clone elsewhere and link with the packages/manifest.json
file in the project:
"com.unity.collab-proxy": "file:/some/path/to/package"
To add testing support also add the testibles section to the manifest. Your manifest should look like this:
{
"dependencies": {
"com.unity.collab-proxy": "file:/some/path/to/package",
...
},
"testables": [
"com.unity.collab-proxy",
...
]
}
For internal testers: simply add the git url into the packages/manifest.json
file:
"com.unity.collab-proxy": "git://git@github.cds.internal.unity3d.com:unity/com.unity.cloud.collaborate.git"
If you need a specific revisision:
"com.unity.collab-proxy": "git://git@github.cds.internal.unity3d.com:unity/com.unity.cloud.collaborate.git#<rev>"
If you need more information, read the Documentation for package dependencies from git.
Code style is as dictated in Unity Meta.
There are IDE Specific code style configs under the Config/
directory in the above repo.
Source code for the packages is contained within the Editor/
and the tests are in Tests/
. The structure of the package follows
the MVP pattern with a separate directory for each group of classes
and interfaces.
Here are some files and folders of note:
<root>
├── package.json
├── README.md
├── CHANGELOG.md
├── LICENSE.md
├── Third Party Notices.md
├── QAReport.md
├── Editor/
│ └── Collaborate
│ ├── Unity.CollabProxy.Editor.asmdef
│ ├── Assets/
│ │ ├── Icons/
│ │ ├── Layouts/
│ │ ├── Styles/
│ │ └── UiConstants.cs
│ ├── Models/
│ │ ├── Api/
│ │ │ └── ISourceControlProvider.cs
│ │ └── Providers/
│ │ └── Collab.cs
│ ├── Views/
│ ├── Presenters/
│ ├── Common/
│ ├── Settings/
│ ├── Components/
│ ├── Utilities/
│ └── UserInterface/
│ ├── Bootstrap.cs
│ ├── WindowCache.cs
│ ├── ToolbarButton.cs
│ └── CollaborateWindow.cs
├── Tests/
│ ├── Collaborate
│ │ └── Editor/
│ │ └── Unity.CollabProxy.EditorTests.asmdef
│ └── .tests.json
└── Documentation~/
├── unity-cloud-collaborate.md
└── Images/
Editor/Assets/
directory of the collaborate assets.Editor/Assets/Icons/
directory for the collection of icons (png) used in the UI.Editor/Assets/Layouts/
directory for the collection of layouts (uxml) used in the UI.Editor/Assets/Styles/
directory for the collection of styles (uss) used in the UI.Editor/Models/
directory of the models in the MVP architecture.Editor/Models/Api/ISourceControlProvider.cs
interface for source control providers. Just Collab for now.Editor/Models/Providers/Collab.cs
backend for providing the interface between this client and collab in the Unity Editor.Editor/Views/
directory of the views in the MVP architecture.Editor/Views/Adaptors/
directory for the list adaptors used in views.Editor/Presenters/
directory of the presenters in the MVP architecture.Editor/Components/
directory for the collection of UIElements components used in the UI.Editor/UserInterface/
directory for the window and toolbar button source code.Editor/UserInterface/Bootstrap.cs
code to bootstrap the toolbar button when the editor starts.Editor/UserInterface/WindowCache.cs
code to cache the state of the window during domain reload.Editor/UserInterface/ToolbarButton.cs
code to create and manage the collab button in the toolbar.Editor/UserInterface/CollaborateWindow.cs
code for the window itself.Tests/Editor/
directory of the client tests.Each directory contains a README file with additional details about what is contained within them, including code examples.
For more info on packages and best practices, visit the package-starter-kit repository and read the documentation.