Skip to content

Commit d831f67

Browse files
authored
Initial commit
0 parents  commit d831f67

File tree

19 files changed

+742
-0
lines changed

19 files changed

+742
-0
lines changed

.gitattributes

Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
## Unity ##
2+
3+
*.cs diff=csharp text
4+
*.cginc text
5+
*.shader text
6+
7+
*.mat merge=unityyamlmerge
8+
*.anim merge=unityyamlmerge
9+
*.unity merge=unityyamlmerge
10+
*.prefab merge=unityyamlmerge
11+
*.physicsMaterial2D merge=unityyamlmerge
12+
*.physicsMaterial merge=unityyamlmerge
13+
*.asset merge=unityyamlmerge
14+
*.meta merge=unityyamlmerge
15+
*.controller merge=unityyamlmerge
16+
17+
18+
## git-lfs ##
19+
20+
#Image
21+
*.jpg filter=lfs diff=lfs merge=lfs -text
22+
*.jpeg filter=lfs diff=lfs merge=lfs -text
23+
*.png filter=lfs diff=lfs merge=lfs -text
24+
*.gif filter=lfs diff=lfs merge=lfs -text
25+
*.psd filter=lfs diff=lfs merge=lfs -text
26+
*.ai filter=lfs diff=lfs merge=lfs -text
27+
*.tif filter=lfs diff=lfs merge=lfs -text
28+
*.tga filter=lfs diff=lfs merge=lfs -text
29+
*.cubemap filter=lfs diff=lfs merge=lfs -text
30+
*.svg filter=lfs diff=lfs merge=lfs -text
31+
32+
#Audio
33+
*.mp3 filter=lfs diff=lfs merge=lfs -text
34+
*.wav filter=lfs diff=lfs merge=lfs -text
35+
*.ogg filter=lfs diff=lfs merge=lfs -text
36+
37+
#Video
38+
*.mp4 filter=lfs diff=lfs merge=lfs -text
39+
*.mov filter=lfs diff=lfs merge=lfs -text
40+
*.webm filter=lfs diff=lfs merge=lfs -text
41+
42+
#3D Object
43+
*.FBX filter=lfs diff=lfs merge=lfs -text
44+
*.fbx filter=lfs diff=lfs merge=lfs -text
45+
*.blend filter=lfs diff=lfs merge=lfs -text
46+
*.obj filter=lfs diff=lfs merge=lfs -text
47+
48+
#ETC
49+
*.a filter=lfs diff=lfs merge=lfs -text
50+
*.exr filter=lfs diff=lfs merge=lfs -text
51+
*.pdf filter=lfs diff=lfs merge=lfs -text
52+
*.zip filter=lfs diff=lfs merge=lfs -text
53+
*.dll filter=lfs diff=lfs merge=lfs -text
54+
*.unitypackage filter=lfs diff=lfs merge=lfs -text
55+
*.aif filter=lfs diff=lfs merge=lfs -text
56+
*.ttf filter=lfs diff=lfs merge=lfs -text
57+
*.rns filter=lfs diff=lfs merge=lfs -text
58+
*.reason filter=lfs diff=lfs merge=lfs -text
59+
*.lxo filter=lfs diff=lfs merge=lfs -text

.github/workflows/ci.yml

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
name: CI
2+
on:
3+
push:
4+
branches:
5+
- main
6+
jobs:
7+
split-upm:
8+
name: split upm branch (force)
9+
runs-on: ubuntu-latest
10+
steps:
11+
- uses: actions/checkout@v2
12+
with:
13+
fetch-depth: 0
14+
- name: split upm branch
15+
run: |
16+
git branch -d upm &> /dev/null || echo upm branch not found
17+
git subtree split -P "$PKG_ROOT" -b upm
18+
git checkout upm
19+
if [[ -d "Samples" ]]; then
20+
git mv Samples Samples~
21+
rm -f Samples.meta
22+
git config --global user.name 'github-bot'
23+
git config --global user.email 'github-bot@users.noreply.github.com'
24+
git commit -am "fix: Samples => Samples~"
25+
fi
26+
git push -f -u origin upm
27+
env:
28+
PKG_ROOT: Packages/PACKAGE_NAME

.gitignore

Lines changed: 84 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,84 @@
1+
# This .gitignore file should be placed at the root of your Unity project directory
2+
#
3+
# Get latest from https://github.com/github/gitignore/blob/master/Unity.gitignore
4+
#
5+
/[Ll]ibrary/
6+
/[Tt]emp/
7+
/[Oo]bj/
8+
/[Bb]uild/
9+
/[Bb]uilds/
10+
/[Ll]ogs/
11+
/[Uu]ser[Ss]ettings/
12+
13+
# MemoryCaptures can get excessive in size.
14+
# They also could contain extremely sensitive data
15+
/[Mm]emoryCaptures/
16+
17+
# Asset meta data should only be ignored when the corresponding asset is also ignored
18+
!/[Aa]ssets/**/*.meta
19+
20+
# Uncomment this line if you wish to ignore the asset store tools plugin
21+
# /[Aa]ssets/AssetStoreTools*
22+
23+
# Autogenerated Jetbrains Rider plugin
24+
/[Aa]ssets/Plugins/Editor/JetBrains*
25+
26+
# Visual Studio cache directory
27+
.vs/
28+
29+
# Gradle cache directory
30+
.gradle/
31+
32+
# Jetbrains Rider cache directory
33+
.idea/
34+
35+
# Autogenerated VS/MD/Consulo solution and project files
36+
ExportedObj/
37+
.consulo/
38+
*.csproj
39+
*.unityproj
40+
*.sln
41+
*.suo
42+
*.tmp
43+
*.user
44+
*.userprefs
45+
*.pidb
46+
*.booproj
47+
*.svd
48+
*.pdb
49+
*.mdb
50+
*.opendb
51+
*.VC.db
52+
53+
# Unity3D generated meta files
54+
*.pidb.meta
55+
*.pdb.meta
56+
*.mdb.meta
57+
58+
# Unity3D generated file on crash reports
59+
sysinfo.txt
60+
61+
# Builds
62+
*.apk
63+
*.unitypackage
64+
65+
# Crashlytics generated file
66+
crashlytics-build.properties
67+
68+
# Packed Addressables
69+
/[Aa]ssets/[Aa]ddressable[Aa]ssets[Dd]ata/*/*.bin*
70+
71+
# Temporary auto-generated Android Assets
72+
/[Aa]ssets/[Ss]treamingAssets/aa.meta
73+
/[Aa]ssets/[Ss]treamingAssets/aa/*
74+
75+
# Exceptions
76+
!*.dll
77+
!*.obj
78+
79+
# Archives
80+
*.zip
81+
*.rar
82+
# Archives' meta files
83+
*.zip.meta
84+
*.rar.meta

Assets/Plugins.meta

Lines changed: 8 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Assets/Plugins/GitIntegration.meta

Lines changed: 8 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Assets/Plugins/GitIntegration/SmartMerge.meta

Lines changed: 8 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
#if UNITY_EDITOR
2+
using UnityEngine;
3+
using UnityEditor;
4+
using System;
5+
6+
namespace GitIntegration
7+
{
8+
[InitializeOnLoad]
9+
public class SmartMergeRegistrator
10+
{
11+
const string SmartMergeRegistratorEditorPrefsKey = "smart_merge_installed";
12+
const int Version = 1;
13+
static string VersionKey = $"{Version}_{Application.unityVersion}";
14+
15+
[MenuItem("Tools/Git/SmartMerge registration")]
16+
static void SmartMergeRegister()
17+
{
18+
try
19+
{
20+
var UnityYAMLMergePath = EditorApplication.applicationContentsPath + "/Tools" + "/UnityYAMLMerge.exe";
21+
Utils.ExecuteGitWithParams("config merge.unityyamlmerge.name \"Unity SmartMerge (UnityYamlMerge)\"");
22+
Utils.ExecuteGitWithParams($"config merge.unityyamlmerge.driver \"\\\"{UnityYAMLMergePath}\\\" merge -h -p --force --fallback none %O %B %A %A\"");
23+
Utils.ExecuteGitWithParams("config merge.unityyamlmerge.recursive binary");
24+
EditorPrefs.SetString(SmartMergeRegistratorEditorPrefsKey, VersionKey);
25+
Debug.Log($"Succesfuly registered UnityYAMLMerge with path {UnityYAMLMergePath}");
26+
}
27+
catch (Exception e)
28+
{
29+
Debug.Log($"Fail to register UnityYAMLMerge with error: {e}");
30+
}
31+
}
32+
33+
[MenuItem("Tools/Git/SmartMerge unregistration")]
34+
static void SmartMergeUnRegister()
35+
{
36+
Utils.ExecuteGitWithParams("config --remove-section merge.unityyamlmerge");
37+
Debug.Log($"Succesfuly unregistered UnityYAMLMerge");
38+
}
39+
40+
//Unity calls the static constructor when the engine opens
41+
static SmartMergeRegistrator()
42+
{
43+
var instaledVersionKey = EditorPrefs.GetString(SmartMergeRegistratorEditorPrefsKey);
44+
if (instaledVersionKey != VersionKey)
45+
SmartMergeRegister();
46+
}
47+
}
48+
}
49+
#endif

Assets/Plugins/GitIntegration/SmartMerge/SmartMergeRegistrator.cs.meta

Lines changed: 11 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
using System;
2+
3+
namespace GitIntegration
4+
{
5+
public class Utils
6+
{
7+
public static string ExecuteGitWithParams(string param)
8+
{
9+
var processInfo = new System.Diagnostics.ProcessStartInfo("git");
10+
11+
processInfo.UseShellExecute = false;
12+
processInfo.WorkingDirectory = Environment.CurrentDirectory;
13+
processInfo.RedirectStandardOutput = true;
14+
processInfo.RedirectStandardError = true;
15+
processInfo.CreateNoWindow = true;
16+
17+
var process = new System.Diagnostics.Process();
18+
process.StartInfo = processInfo;
19+
process.StartInfo.FileName = "git";
20+
process.StartInfo.Arguments = param;
21+
process.Start();
22+
process.WaitForExit();
23+
24+
if (process.ExitCode != 0)
25+
throw new Exception(process.StandardError.ReadLine());
26+
27+
return process.StandardOutput.ReadLine();
28+
}
29+
}
30+
}

Assets/Plugins/GitIntegration/Utils.cs.meta

Lines changed: 11 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)