├── Art
├── Icon_Gear.png
├── Icon_Sort.png
├── Icon_Refresh.png
├── Icon_Collapse.png
├── Polygon_Circle.png
├── GAZE_UI_Panels_01.png
├── GAZE_UI_Panels_02.png
├── GAZE_UI_Panels_03.png
├── GAZE_UI_Panels_PSD.psd
├── GAZE_UI_Panels_PSD.psd.meta
├── Icon_Gear.png.meta
├── GAZE_UI_Panels_01.png.meta
├── GAZE_UI_Panels_02.png.meta
├── GAZE_UI_Panels_03.png.meta
├── Icon_Refresh.png.meta
├── Icon_Sort.png.meta
├── Icon_Collapse.png.meta
└── Polygon_Circle.png.meta
├── Resources
├── Fonts
│ ├── Lato-Regular.ttf
│ ├── Lato-Regular SDF.asset.meta
│ └── Lato-Regular.ttf.meta
├── UI
│ ├── Toggle.prefab.meta
│ ├── InputField.prefab.meta
│ ├── MenuButton.prefab.meta
│ ├── ToggleField.prefab.meta
│ ├── Translator.prefab.meta
│ ├── RemoveButton.prefab.meta
│ ├── ConfirmationPopup.prefab.meta
│ ├── Scrollbar Vertical.prefab.meta
│ ├── TranslateHashElement.prefab.meta
│ ├── TranslateSheetElement.prefab.meta
│ ├── AddElementButton Variant.prefab.meta
│ ├── RemoveButton.prefab
│ ├── Scrollbar Vertical.prefab
│ ├── Toggle.prefab
│ ├── MenuButton.prefab
│ └── ToggleField.prefab
├── UI.meta
├── FanLangs.meta
├── Fonts.meta
└── FanLangs
│ ├── FanLang_Mordor.asset.meta
│ └── FanLang_Mordor.asset
├── StandaloneFileBrowser
├── Plugins
│ ├── Ookii.Dialogs.dll
│ ├── System.Windows.Forms.dll
│ ├── Linux
│ │ ├── x86_64
│ │ │ ├── libStandaloneFileBrowser.so
│ │ │ └── libStandaloneFileBrowser.so.meta
│ │ └── x86_64.meta
│ ├── StandaloneFileBrowser.bundle
│ │ ├── Contents
│ │ │ ├── MacOS
│ │ │ │ ├── StandaloneFileBrowser
│ │ │ │ └── StandaloneFileBrowser.meta
│ │ │ ├── MacOS.meta
│ │ │ ├── Info.plist.meta
│ │ │ └── Info.plist
│ │ └── Contents.meta
│ ├── Linux.meta
│ ├── StandaloneFileBrowser.bundle.meta
│ ├── StandaloneFileBrowser.jslib.meta
│ ├── Ookii.Dialogs.dll.meta
│ ├── System.Windows.Forms.dll.meta
│ └── StandaloneFileBrowser.jslib
├── StandaloneFileBrowserLinux.cs.meta
├── Plugins.meta
├── IStandaloneFileBrowser.cs.meta
├── StandaloneFileBrowser.cs.meta
├── StandaloneFileBrowserMac.cs.meta
├── StandaloneFileBrowserEditor.cs.meta
├── StandaloneFileBrowserWindows.cs.meta
├── IStandaloneFileBrowser.cs
├── StandaloneFileBrowserEditor.cs
├── StandaloneFileBrowserLinux.cs
├── StandaloneFileBrowserMac.cs
├── StandaloneFileBrowserWindows.cs
└── StandaloneFileBrowser.cs
├── README.md.meta
├── Art.meta
├── Editor.meta
├── Resources.meta
├── Scenes.meta
├── Scenes
└── TranslatorScene.unity.meta
├── Scripts.meta
├── Scripts
├── Data.meta
├── UI.meta
├── Utils.meta
├── Translator.meta
├── Data
│ ├── TranslateData.cs.meta
│ ├── TranslateHashData.cs.meta
│ ├── TranslateHashType.cs.meta
│ ├── TranslateSheetData.cs.meta
│ ├── TranslateHashType.cs
│ ├── TranslateData.cs
│ ├── TranslateHashData.cs
│ └── TranslateSheetData.cs
├── UI
│ ├── ButtonBinding.cs.meta
│ ├── ForceLastChild.cs.meta
│ ├── ToggleBinding.cs.meta
│ ├── InputFieldBinding.cs.meta
│ ├── TranslateDataUIElement.cs.meta
│ ├── TranslateHashUIElement.cs.meta
│ ├── TranslateSheetUIElement.cs.meta
│ ├── ConfirmationPopupBehaviour.cs.meta
│ ├── ForceLastChild.cs
│ ├── ButtonBinding.cs
│ ├── ToggleBinding.cs
│ ├── InputFieldBinding.cs
│ ├── TranslateHashUIElement.cs
│ ├── ConfirmationPopupBehaviour.cs
│ ├── TranslateDataUIElement.cs
│ └── TranslateSheetUIElement.cs
├── Translator
│ ├── Translator.cs.meta
│ ├── TranslatorBehaviour.cs.meta
│ ├── TranslatorSettings.cs.meta
│ ├── TranslatorBehaviour.cs
│ ├── Translator.cs
│ └── TranslatorSettings.cs
└── Utils
│ ├── DisposableContainer.cs.meta
│ └── DisposableContainer.cs
├── StandaloneFileBrowser.meta
├── Editor
├── ColorSwatches.colors.meta
└── ColorSwatches.colors
├── LICENSE
├── .gitignore
└── README.md
/Art/Icon_Gear.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mickboere/fanlang/HEAD/Art/Icon_Gear.png
--------------------------------------------------------------------------------
/Art/Icon_Sort.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mickboere/fanlang/HEAD/Art/Icon_Sort.png
--------------------------------------------------------------------------------
/Art/Icon_Refresh.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mickboere/fanlang/HEAD/Art/Icon_Refresh.png
--------------------------------------------------------------------------------
/Art/Icon_Collapse.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mickboere/fanlang/HEAD/Art/Icon_Collapse.png
--------------------------------------------------------------------------------
/Art/Polygon_Circle.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mickboere/fanlang/HEAD/Art/Polygon_Circle.png
--------------------------------------------------------------------------------
/Art/GAZE_UI_Panels_01.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mickboere/fanlang/HEAD/Art/GAZE_UI_Panels_01.png
--------------------------------------------------------------------------------
/Art/GAZE_UI_Panels_02.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mickboere/fanlang/HEAD/Art/GAZE_UI_Panels_02.png
--------------------------------------------------------------------------------
/Art/GAZE_UI_Panels_03.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mickboere/fanlang/HEAD/Art/GAZE_UI_Panels_03.png
--------------------------------------------------------------------------------
/Art/GAZE_UI_Panels_PSD.psd:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mickboere/fanlang/HEAD/Art/GAZE_UI_Panels_PSD.psd
--------------------------------------------------------------------------------
/Resources/Fonts/Lato-Regular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mickboere/fanlang/HEAD/Resources/Fonts/Lato-Regular.ttf
--------------------------------------------------------------------------------
/StandaloneFileBrowser/Plugins/Ookii.Dialogs.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mickboere/fanlang/HEAD/StandaloneFileBrowser/Plugins/Ookii.Dialogs.dll
--------------------------------------------------------------------------------
/StandaloneFileBrowser/StandaloneFileBrowserLinux.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 5d3a668018554b8a89c3fe12de72b60c
3 | timeCreated: 1538067919
--------------------------------------------------------------------------------
/StandaloneFileBrowser/Plugins/System.Windows.Forms.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mickboere/fanlang/HEAD/StandaloneFileBrowser/Plugins/System.Windows.Forms.dll
--------------------------------------------------------------------------------
/StandaloneFileBrowser/Plugins/Linux/x86_64/libStandaloneFileBrowser.so:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mickboere/fanlang/HEAD/StandaloneFileBrowser/Plugins/Linux/x86_64/libStandaloneFileBrowser.so
--------------------------------------------------------------------------------
/README.md.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: bfdaa2c45991f5a4489a84408dec4b78
3 | TextScriptImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Art.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: feab8b5913cf3744a97b46d084002bb0
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Resources/UI/Toggle.prefab.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 0080b5860a9ec1744a99e89d8b0c5543
3 | PrefabImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Editor.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 56e5a9b3503504442bc511e4074ccf49
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Resources.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 9883585983a8ac944a02e00d85e1bb64
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Resources/UI/InputField.prefab.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 2588d26a329c17245be478b3a4e552d5
3 | PrefabImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Resources/UI/MenuButton.prefab.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: ee433d8eabde2d24fa93eac3a51b275c
3 | PrefabImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Resources/UI/ToggleField.prefab.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: cfb97dfec0a2c284d80e160be30a196e
3 | PrefabImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Resources/UI/Translator.prefab.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 8683f6dee7db1824f92ab3bebfb9807a
3 | PrefabImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Scenes.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 281fe1bb905bf5d4cb35fb5e769ff83c
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Scenes/TranslatorScene.unity.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: c690f473a0bc84a42bf8bd17bc72594e
3 | DefaultImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Scripts.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 6391fd81cae4d60479fe165f17a47322
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Resources/UI.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 5af84e6ee5a050c41afc534a43af5348
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Resources/UI/RemoveButton.prefab.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 07e36cb96e3db1b4fa7bf262ad14987d
3 | PrefabImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Scripts/Data.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: d1e5e87468c878244a53a9e5e0af36f9
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Scripts/UI.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 78b910e42e114d74b81008d8792ecd97
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Scripts/Utils.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 7d2b501532511e049a579f0426e9e3dc
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Resources/FanLangs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 5d1f9e3d11aaabd428b4ec97bece4137
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Resources/Fonts.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: c92ae5e9b53d1834ab89a72507cfa27c
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Resources/UI/ConfirmationPopup.prefab.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 9dd9195d5ccc62d4983d94239bace5f8
3 | PrefabImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Resources/UI/Scrollbar Vertical.prefab.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 3f735da810e737240996c8fc85b580b4
3 | PrefabImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Resources/UI/TranslateHashElement.prefab.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 6ec5f8a7d42000d4d8f1b34b313f1e77
3 | PrefabImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Resources/UI/TranslateSheetElement.prefab.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 2cc4c7dac3f6e3d4982f62dcefb3823f
3 | PrefabImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Scripts/Translator.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: f5de31fd53e4c3e4ba6078665711a96f
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Resources/UI/AddElementButton Variant.prefab.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: ef10b4a6db0becc47ba545adbae5f748
3 | PrefabImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/StandaloneFileBrowser.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 57e25b4a578dba94c9353f4633b20549
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/StandaloneFileBrowser/Plugins.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: ddc4e7b83981f244ba9a26b88c18cb67
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/StandaloneFileBrowser/Plugins/StandaloneFileBrowser.bundle/Contents/MacOS/StandaloneFileBrowser:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mickboere/fanlang/HEAD/StandaloneFileBrowser/Plugins/StandaloneFileBrowser.bundle/Contents/MacOS/StandaloneFileBrowser
--------------------------------------------------------------------------------
/Editor/ColorSwatches.colors.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: b1ec397499ac2c448b728cad80b42ed6
3 | NativeFormatImporter:
4 | externalObjects: {}
5 | mainObjectFileID: 0
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Resources/FanLangs/FanLang_Mordor.asset.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: c9bc7ef3703c2b44b99d7fd24f46205f
3 | NativeFormatImporter:
4 | externalObjects: {}
5 | mainObjectFileID: 0
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Resources/Fonts/Lato-Regular SDF.asset.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 1922ad64e9e9dbe4f881091755ffe671
3 | NativeFormatImporter:
4 | externalObjects: {}
5 | mainObjectFileID: 0
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/StandaloneFileBrowser/Plugins/StandaloneFileBrowser.bundle/Contents.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 996ea0b0fb9804844ba9595686ee3e7a
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/StandaloneFileBrowser/Plugins/StandaloneFileBrowser.bundle/Contents/MacOS.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: a5a66f5db020f344c9327188aec2c060
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/StandaloneFileBrowser/Plugins/StandaloneFileBrowser.bundle/Contents/Info.plist.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: ce685769797f44046afa3e567860c94c
3 | timeCreated: 1505756861
4 | licenseType: Pro
5 | DefaultImporter:
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/StandaloneFileBrowser/Plugins/Linux.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 82666e520ab4d4cf08bebbb8059cd6f4
3 | folderAsset: yes
4 | timeCreated: 1538224809
5 | licenseType: Free
6 | DefaultImporter:
7 | externalObjects: {}
8 | userData:
9 | assetBundleName:
10 | assetBundleVariant:
11 |
--------------------------------------------------------------------------------
/StandaloneFileBrowser/Plugins/StandaloneFileBrowser.bundle/Contents/MacOS/StandaloneFileBrowser.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: ddf122e0e89124ce78aacfeecb3ec554
3 | timeCreated: 1508179371
4 | licenseType: Pro
5 | DefaultImporter:
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/StandaloneFileBrowser/Plugins/Linux/x86_64.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: bd198408642944765b9305bd99404136
3 | folderAsset: yes
4 | timeCreated: 1538230728
5 | licenseType: Free
6 | DefaultImporter:
7 | externalObjects: {}
8 | userData:
9 | assetBundleName:
10 | assetBundleVariant:
11 |
--------------------------------------------------------------------------------
/Scripts/Data/TranslateData.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: d67e832f3b27de94489cd7ab8abb7ca5
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Scripts/UI/ButtonBinding.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 09bee59b7020a8e4bb1f43b77d579735
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Scripts/UI/ForceLastChild.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: ab378ac6d9118384d85d46419cf3a9cf
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Scripts/UI/ToggleBinding.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 5c37263815237ed449c77350901d2c6d
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Scripts/Data/TranslateHashData.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: f67b1455781b07f4995956e953f927ad
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Scripts/Data/TranslateHashType.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: d2125d775b6631a49b7be1f996d4df6e
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Scripts/Data/TranslateSheetData.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 62da9986309f1ac4b88f7783a040e71e
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Scripts/Translator/Translator.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 9cdc5fed4d29b1e41b12c9c9b4ac4649
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Scripts/UI/InputFieldBinding.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 4a3333e8ccb56234889d64acdbba5370
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Scripts/UI/TranslateDataUIElement.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: abda284bb3ce03b408d3158bb900091a
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Scripts/UI/TranslateHashUIElement.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 9c5b1a6c1df4c7f4fa4ca1fa2a2078ae
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Scripts/UI/TranslateSheetUIElement.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: f0335455a30887e469820fdac85789e4
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Scripts/Utils/DisposableContainer.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: dcc9d34404364294f9f4a4ca17f17e3d
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Scripts/Translator/TranslatorBehaviour.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 778738a14f9f5424d969eeec33ba7fe6
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Scripts/Translator/TranslatorSettings.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 10bfbe4f460d7624a941ea63249f3336
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Scripts/UI/ConfirmationPopupBehaviour.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: f5e5843977dc3174d9d18bb4366b907d
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/StandaloneFileBrowser/IStandaloneFileBrowser.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 7609f7b6787a54496aa41a3053fcc76a
3 | timeCreated: 1483902788
4 | licenseType: Pro
5 | MonoImporter:
6 | serializedVersion: 2
7 | defaultReferences: []
8 | executionOrder: 0
9 | icon: {instanceID: 0}
10 | userData:
11 | assetBundleName:
12 | assetBundleVariant:
13 |
--------------------------------------------------------------------------------
/StandaloneFileBrowser/StandaloneFileBrowser.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 3c708be74128e4ced9b79eaaf80e8443
3 | timeCreated: 1483902788
4 | licenseType: Pro
5 | MonoImporter:
6 | serializedVersion: 2
7 | defaultReferences: []
8 | executionOrder: 0
9 | icon: {instanceID: 0}
10 | userData:
11 | assetBundleName:
12 | assetBundleVariant:
13 |
--------------------------------------------------------------------------------
/StandaloneFileBrowser/StandaloneFileBrowserMac.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: bcb49ddb0ed5644fda9c3b055cafa27a
3 | timeCreated: 1483902788
4 | licenseType: Pro
5 | MonoImporter:
6 | serializedVersion: 2
7 | defaultReferences: []
8 | executionOrder: 0
9 | icon: {instanceID: 0}
10 | userData:
11 | assetBundleName:
12 | assetBundleVariant:
13 |
--------------------------------------------------------------------------------
/StandaloneFileBrowser/StandaloneFileBrowserEditor.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 2650af8de2cda46b99b1bc7cf5d30ca5
3 | timeCreated: 1483902788
4 | licenseType: Pro
5 | MonoImporter:
6 | serializedVersion: 2
7 | defaultReferences: []
8 | executionOrder: 0
9 | icon: {instanceID: 0}
10 | userData:
11 | assetBundleName:
12 | assetBundleVariant:
13 |
--------------------------------------------------------------------------------
/StandaloneFileBrowser/StandaloneFileBrowserWindows.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 194e247414a78461d83ae606c1b96917
3 | timeCreated: 1483902788
4 | licenseType: Pro
5 | MonoImporter:
6 | serializedVersion: 2
7 | defaultReferences: []
8 | executionOrder: 0
9 | icon: {instanceID: 0}
10 | userData:
11 | assetBundleName:
12 | assetBundleVariant:
13 |
--------------------------------------------------------------------------------
/Scripts/Data/TranslateHashType.cs:
--------------------------------------------------------------------------------
1 | namespace FanLang
2 | {
3 | ///
4 | /// Defines what type of translate hash we're dealing with,
5 | /// has consequences for how the handles specific situations when replacing characters.
6 | ///
7 | public enum TranslateHashType
8 | {
9 | Default = 0,
10 | Prefix = 1,
11 | Suffix = 2,
12 | Word = 3
13 | }
14 | }
--------------------------------------------------------------------------------
/Scripts/UI/ForceLastChild.cs:
--------------------------------------------------------------------------------
1 | using UnityEngine;
2 |
3 | namespace FanLang
4 | {
5 | ///
6 | /// Simple that forces the object to always be the last child in its parent's hierarchy.
7 | ///
8 | public class ForceLastChild : MonoBehaviour
9 | {
10 | protected void LateUpdate()
11 | {
12 | if (transform.GetSiblingIndex() != transform.parent.childCount - 1)
13 | {
14 | transform.SetSiblingIndex(transform.parent.childCount - 1);
15 | }
16 | }
17 | }
18 | }
--------------------------------------------------------------------------------
/Resources/Fonts/Lato-Regular.ttf.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 9913e0d3b3b875640b7d9b0e4bd1b1ff
3 | TrueTypeFontImporter:
4 | externalObjects: {}
5 | serializedVersion: 4
6 | fontSize: 16
7 | forceTextureCase: -2
8 | characterSpacing: 0
9 | characterPadding: 1
10 | includeFontData: 1
11 | fontNames:
12 | - Lato
13 | fallbackFontReferences: []
14 | customCharacters:
15 | fontRenderingMode: 0
16 | ascentCalculationMode: 1
17 | useLegacyBoundsCalculation: 0
18 | shouldRoundAdvanceValue: 1
19 | userData:
20 | assetBundleName:
21 | assetBundleVariant:
22 |
--------------------------------------------------------------------------------
/Scripts/UI/ButtonBinding.cs:
--------------------------------------------------------------------------------
1 | using UnityEngine.UI;
2 | using System;
3 |
4 | namespace FanLang
5 | {
6 | ///
7 | /// binding that makes it easier to manage onClick subscriptions.
8 | ///
9 | public class ButtonBinding : IDisposable
10 | {
11 | private Button button;
12 | private Action callback;
13 |
14 | public ButtonBinding(Button button, Action callback)
15 | {
16 | this.button = button;
17 | this.callback = callback;
18 |
19 | button.onClick.AddListener(OnClickedButton);
20 | }
21 |
22 | public void Dispose()
23 | {
24 | if (button != null)
25 | {
26 | button.onClick.RemoveListener(OnClickedButton);
27 | }
28 | }
29 |
30 | private void OnClickedButton()
31 | {
32 | callback();
33 | }
34 | }
35 | }
--------------------------------------------------------------------------------
/StandaloneFileBrowser/IStandaloneFileBrowser.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace SFB {
4 | public interface IStandaloneFileBrowser {
5 | string[] OpenFilePanel(string title, string directory, ExtensionFilter[] extensions, bool multiselect);
6 | string[] OpenFolderPanel(string title, string directory, bool multiselect);
7 | string SaveFilePanel(string title, string directory, string defaultName, ExtensionFilter[] extensions);
8 |
9 | void OpenFilePanelAsync(string title, string directory, ExtensionFilter[] extensions, bool multiselect, Action cb);
10 | void OpenFolderPanelAsync(string title, string directory, bool multiselect, Action cb);
11 | void SaveFilePanelAsync(string title, string directory, string defaultName, ExtensionFilter[] extensions, Action cb);
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/Scripts/UI/ToggleBinding.cs:
--------------------------------------------------------------------------------
1 | using UnityEngine.UI;
2 | using System;
3 |
4 | namespace FanLang
5 | {
6 | ///
7 | /// binding that makes it easier to manage toggle value change subscriptions.
8 | ///
9 | public class ToggleBinding : IDisposable
10 | {
11 | private Toggle toggle;
12 | private Func getData;
13 | private Action setData;
14 |
15 | public ToggleBinding(Toggle toggle, Func getData, Action setData)
16 | {
17 | this.toggle = toggle;
18 | this.getData = getData;
19 | this.setData = setData;
20 |
21 | toggle.SetIsOnWithoutNotify(getData());
22 | toggle.onValueChanged.AddListener(OnInputChanged);
23 | }
24 |
25 | public void Dispose()
26 | {
27 | if (toggle != null)
28 | {
29 | toggle.onValueChanged.RemoveListener(OnInputChanged);
30 | }
31 | }
32 |
33 | private void OnInputChanged(bool value)
34 | {
35 | setData(value);
36 | }
37 | }
38 | }
--------------------------------------------------------------------------------
/StandaloneFileBrowser/Plugins/StandaloneFileBrowser.bundle.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 110fdfb459db4fc448a2ccd37e200fa4
3 | folderAsset: yes
4 | PluginImporter:
5 | externalObjects: {}
6 | serializedVersion: 2
7 | iconMap: {}
8 | executionOrder: {}
9 | isPreloaded: 0
10 | isOverridable: 0
11 | platformData:
12 | - first:
13 | Any:
14 | second:
15 | enabled: 0
16 | settings: {}
17 | - first:
18 | Editor: Editor
19 | second:
20 | enabled: 1
21 | settings:
22 | DefaultValueInitialized: true
23 | - first:
24 | Standalone: OSXIntel
25 | second:
26 | enabled: 1
27 | settings: {}
28 | - first:
29 | Standalone: OSXIntel64
30 | second:
31 | enabled: 1
32 | settings: {}
33 | - first:
34 | Standalone: OSXUniversal
35 | second:
36 | enabled: 1
37 | settings: {}
38 | userData:
39 | assetBundleName:
40 | assetBundleVariant:
41 |
--------------------------------------------------------------------------------
/Scripts/UI/InputFieldBinding.cs:
--------------------------------------------------------------------------------
1 | using TMPro;
2 | using System;
3 |
4 | namespace FanLang
5 | {
6 | ///
7 | /// binding that makes it easier to manage input data changes.
8 | ///
9 | public class InputFieldBinding : IDisposable
10 | {
11 | private TMP_InputField inputField;
12 | private Func getData;
13 | private Action setData;
14 |
15 | public InputFieldBinding(TMP_InputField inputField, Func getData, Action setData)
16 | {
17 | this.inputField = inputField;
18 | this.getData = getData;
19 | this.setData = setData;
20 |
21 | inputField.SetTextWithoutNotify(getData());
22 | inputField.onValueChanged.AddListener(OnInputChanged);
23 | }
24 |
25 | public void Dispose()
26 | {
27 | if (inputField != null)
28 | {
29 | inputField.onValueChanged.RemoveListener(OnInputChanged);
30 | }
31 | }
32 |
33 | private void OnInputChanged(string text)
34 | {
35 | setData(text);
36 | }
37 | }
38 | }
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2021 Mick Boere
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
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 | /[Mm]emoryCaptures/
12 |
13 | # Asset meta data should only be ignored when the corresponding asset is also ignored
14 | !/[Aa]ssets/**/*.meta
15 |
16 | # Uncomment this line if you wish to ignore the asset store tools plugin
17 | # /[Aa]ssets/AssetStoreTools*
18 |
19 | # Autogenerated Jetbrains Rider plugin
20 | [Aa]ssets/Plugins/Editor/JetBrains*
21 |
22 | # Visual Studio cache directory
23 | .vs/
24 |
25 | # Gradle cache directory
26 | .gradle/
27 |
28 | # Autogenerated VS/MD/Consulo solution and project files
29 | ExportedObj/
30 | .consulo/
31 | *.csproj
32 | *.unityproj
33 | *.sln
34 | *.suo
35 | *.tmp
36 | *.user
37 | *.userprefs
38 | *.pidb
39 | *.booproj
40 | *.svd
41 | *.pdb
42 | *.mdb
43 | *.opendb
44 | *.VC.db
45 |
46 | # Unity3D generated meta files
47 | *.pidb.meta
48 | *.pdb.meta
49 | *.mdb.meta
50 |
51 | # Unity3D generated file on crash reports
52 | sysinfo.txt
53 |
54 | # Builds
55 | *.apk
56 | *.unitypackage
57 |
58 | # Crashlytics generated file
59 | crashlytics-build.properties
60 |
61 |
--------------------------------------------------------------------------------
/Scripts/Data/TranslateData.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Linq;
4 |
5 | namespace FanLang
6 | {
7 | ///
8 | /// The root data object of a FanLang.
9 | /// Contains basic meta data about the FanLang as well as a collection of s used for translation.
10 | ///
11 | [Serializable]
12 | public class TranslateData : ICloneable
13 | {
14 | ///
15 | /// Unique ID (often of type ) used for identifying the language data.
16 | ///
17 | public string ID;
18 |
19 | ///
20 | /// The name of the language.
21 | ///
22 | public string Name;
23 |
24 | ///
25 | /// A description of the language. Could contain some lore, how to use it, etc.
26 | ///
27 | public string Description;
28 |
29 | ///
30 | /// The actual data used to translate our input.
31 | ///
32 | public List TranslateSheets;
33 |
34 | public TranslateData(string id, string name, string description, List translateSheets)
35 | {
36 | ID = id;
37 | Name = name;
38 | Description = description;
39 | TranslateSheets = translateSheets;
40 | }
41 |
42 | public object Clone()
43 | {
44 | return new TranslateData(ID, Name, Description, TranslateSheets.Select((x) => (TranslateSheetData)x.Clone()).ToList());
45 | }
46 | }
47 | }
--------------------------------------------------------------------------------
/Editor/ColorSwatches.colors:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!114 &1
4 | MonoBehaviour:
5 | m_ObjectHideFlags: 52
6 | m_CorrespondingSourceObject: {fileID: 0}
7 | m_PrefabInstance: {fileID: 0}
8 | m_PrefabAsset: {fileID: 0}
9 | m_GameObject: {fileID: 0}
10 | m_Enabled: 1
11 | m_EditorHideFlags: 0
12 | m_Script: {fileID: 12323, guid: 0000000000000000e000000000000000, type: 0}
13 | m_Name: ColorSwatches
14 | m_EditorClassIdentifier:
15 | m_Presets:
16 | - m_Name:
17 | m_Color: {r: 0.14901961, g: 0.14901961, b: 0.14901961, a: 1}
18 | - m_Name:
19 | m_Color: {r: 0.25, g: 0.25, b: 0.25, a: 1}
20 | - m_Name:
21 | m_Color: {r: 0.375, g: 0.375, b: 0.375, a: 1}
22 | - m_Name:
23 | m_Color: {r: 0.5, g: 0.5, b: 0.5, a: 1}
24 | - m_Name:
25 | m_Color: {r: 0.75, g: 0.75, b: 0.75, a: 1}
26 | - m_Name:
27 | m_Color: {r: 0.85, g: 0.85, b: 0.85, a: 1}
28 | - m_Name:
29 | m_Color: {r: 0.95, g: 0.95, b: 0.95, a: 1}
30 | - m_Name:
31 | m_Color: {r: 1, g: 1, b: 1, a: 1}
32 | - m_Name:
33 | m_Color: {r: 0.23529413, g: 0.2392157, b: 0.2509804, a: 1}
34 | - m_Name:
35 | m_Color: {r: 0.9490197, g: 0.23529413, b: 0.2901961, a: 1}
36 | - m_Name:
37 | m_Color: {r: 0.18823531, g: 0.1764706, b: 0.5176471, a: 1}
38 | - m_Name:
39 | m_Color: {r: 0.4156863, g: 0.427451, b: 0.5529412, a: 1}
40 | - m_Name:
41 | m_Color: {r: 0.7254902, g: 0.7411765, b: 0.7058824, a: 1}
42 |
--------------------------------------------------------------------------------
/Scripts/Data/TranslateHashData.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace FanLang
4 | {
5 | ///
6 | /// The data that decides the output of the FanLang.
7 | /// Contains a Input, a Output and a to allow for a range of configurable FanLangs.
8 | ///
9 | [Serializable]
10 | public class TranslateHashData : ICloneable
11 | {
12 | ///
13 | /// Should this hash be used?
14 | ///
15 | public bool Enabled;
16 |
17 | ///
18 | /// The input characters required to produce the defined output.
19 | ///
20 | public string Input;
21 |
22 | ///
23 | /// The ouput used to translate the defined input.
24 | ///
25 | public string Output;
26 |
27 | ///
28 | /// Defines the context in which the output is allowed to be used.
29 | ///
30 | public TranslateHashType HashType;
31 |
32 | public TranslateHashData()
33 | {
34 | Enabled = true;
35 | Input = "";
36 | Output = "";
37 | HashType = TranslateHashType.Default;
38 | }
39 |
40 | public TranslateHashData(bool enabled, string input, string output, TranslateHashType hashType)
41 | {
42 | Enabled = enabled;
43 | Input = input;
44 | Output = output;
45 | HashType = hashType;
46 | }
47 |
48 | public object Clone()
49 | {
50 | return new TranslateHashData(Enabled, Input, Output, HashType);
51 | }
52 | }
53 | }
--------------------------------------------------------------------------------
/Scripts/Data/TranslateSheetData.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Linq;
4 |
5 | namespace FanLang
6 | {
7 | ///
8 | /// Data object containing s.
9 | /// You can use multiple s to perform several iterations over the output in order to generate more complex languages.
10 | ///
11 | [Serializable]
12 | public class TranslateSheetData : ICloneable
13 | {
14 | ///
15 | /// Should the data in this sheet be used?
16 | ///
17 | public bool Enabled;
18 |
19 | ///
20 | /// The name of this sheet.
21 | ///
22 | public string Name;
23 |
24 | ///
25 | /// List containing the translate hashes which are used for the actual translation of the input.
26 | ///
27 | public List TranslateHashes;
28 |
29 | public TranslateSheetData()
30 | {
31 | Enabled = true;
32 | Name = "New Sheet";
33 | TranslateHashes = new List();
34 | TranslateHashes.Add(new TranslateHashData());
35 | }
36 |
37 | public TranslateSheetData(bool enabled, string name, List translateHashes)
38 | {
39 | Enabled = enabled;
40 | Name = name;
41 | TranslateHashes = translateHashes;
42 | }
43 |
44 | public object Clone()
45 | {
46 | return new TranslateSheetData(Enabled, Name, TranslateHashes.Select((x) => (TranslateHashData)x.Clone()).ToList());
47 | }
48 | }
49 | }
--------------------------------------------------------------------------------
/StandaloneFileBrowser/Plugins/StandaloneFileBrowser.bundle/Contents/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | BuildMachineOSBuild
6 | 18A391
7 | CFBundleDevelopmentRegion
8 | English
9 | CFBundleExecutable
10 | StandaloneFileBrowser
11 | CFBundleIdentifier
12 | com.gkngkc.sfb
13 | CFBundleInfoDictionaryVersion
14 | 6.0
15 | CFBundleName
16 | StandaloneFileBrowser
17 | CFBundlePackageType
18 | BNDL
19 | CFBundleShortVersionString
20 | 1.0
21 | CFBundleSignature
22 | ????
23 | CFBundleSupportedPlatforms
24 |
25 | MacOSX
26 |
27 | CFBundleVersion
28 | 1.0
29 | CSResourcesFileMapped
30 |
31 | DTCompiler
32 | com.apple.compilers.llvm.clang.1_0
33 | DTPlatformBuild
34 | 10A255
35 | DTPlatformVersion
36 | GM
37 | DTSDKBuild
38 | 18A384
39 | DTSDKName
40 | macosx10.14
41 | DTXcode
42 | 1000
43 | DTXcodeBuild
44 | 10A255
45 |
46 |
47 |
--------------------------------------------------------------------------------
/Resources/FanLangs/FanLang_Mordor.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!114 &11400000
4 | MonoBehaviour:
5 | m_ObjectHideFlags: 0
6 | m_CorrespondingSourceObject: {fileID: 0}
7 | m_PrefabInstance: {fileID: 0}
8 | m_PrefabAsset: {fileID: 0}
9 | m_GameObject: {fileID: 0}
10 | m_Enabled: 1
11 | m_EditorHideFlags: 0
12 | m_Script: {fileID: 11500000, guid: 38d114a20619afa4abb49ed77ecf3d44, type: 3}
13 | m_Name: FanLang_Mordor
14 | m_EditorClassIdentifier:
15 | translateData:
16 | TranslateSheets:
17 | - Enabled: 1
18 | Name: New Sheet
19 | TranslateHashes:
20 | - Enabled: 1
21 | Input: d
22 | Output: m
23 | HashType: 0
24 | - Enabled: 1
25 | Input: a
26 | Output: o
27 | HashType: 0
28 | - Enabled: 1
29 | Input: k
30 | Output: r
31 | HashType: 0
32 | - Enabled: 1
33 | Input: n
34 | Output: d
35 | HashType: 0
36 | - Enabled: 1
37 | Input: ess
38 | Output: or
39 | HashType: 0
40 | - Enabled: 1
41 | Input: th
42 | Output: l
43 | HashType: 0
44 | - Enabled: 1
45 | Input: e
46 | Output: a
47 | HashType: 0
48 | - Enabled: 1
49 | Input: ed
50 | Output: k
51 | HashType: 0
52 | - Enabled: 1
53 | Input: in
54 | Output: i
55 | HashType: 0
56 | - Enabled: 1
57 | Name: New Sheet
58 | TranslateHashes:
59 | - Enabled: 1
60 | Input: rr
61 | Output: r
62 | HashType: 0
63 |
--------------------------------------------------------------------------------
/Scripts/Utils/DisposableContainer.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 |
4 | namespace FanLang
5 | {
6 | ///
7 | /// Container object which allows for easy disposing of multiple s.
8 | ///
9 | public class DisposableContainer
10 | {
11 | private List disposables;
12 |
13 | public DisposableContainer()
14 | {
15 | disposables = new List();
16 | }
17 |
18 | public DisposableContainer(List disposables)
19 | {
20 | this.disposables = disposables;
21 | }
22 |
23 | ///
24 | /// Adds new to the container.
25 | ///
26 | ///
27 | public void Add(IDisposable disposable)
28 | {
29 | disposables.Add(disposable);
30 | }
31 |
32 | ///
33 | /// Removes the from the container but doesn't dispose it.
34 | ///
35 | ///
36 | public void Remove(IDisposable disposable)
37 | {
38 | disposables.Remove(disposable);
39 | }
40 |
41 | ///
42 | /// Disposes of and removes from container.
43 | ///
44 | public void Dispose(IDisposable disposable)
45 | {
46 | Remove(disposable);
47 | disposable.Dispose();
48 | }
49 |
50 | ///
51 | /// Disposes of all the stored s and clears the container.
52 | /// The container itself is not disposed of.
53 | ///
54 | public void Dispose()
55 | {
56 | foreach (IDisposable disposable in disposables)
57 | {
58 | disposable.Dispose();
59 | }
60 | disposables.Clear();
61 | }
62 | }
63 | }
64 |
--------------------------------------------------------------------------------
/StandaloneFileBrowser/Plugins/StandaloneFileBrowser.jslib.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 265aaf20a6d564e0fb00a9c4a7a9c300
3 | PluginImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | iconMap: {}
7 | executionOrder: {}
8 | isPreloaded: 0
9 | isOverridable: 0
10 | platformData:
11 | - first:
12 | '': Any
13 | second:
14 | enabled: 0
15 | settings:
16 | Exclude Editor: 1
17 | Exclude Linux: 1
18 | Exclude Linux64: 1
19 | Exclude LinuxUniversal: 1
20 | Exclude OSXUniversal: 1
21 | Exclude Win: 1
22 | Exclude Win64: 1
23 | - first:
24 | Any:
25 | second:
26 | enabled: 0
27 | settings: {}
28 | - first:
29 | Editor: Editor
30 | second:
31 | enabled: 0
32 | settings:
33 | CPU: AnyCPU
34 | DefaultValueInitialized: true
35 | OS: AnyOS
36 | - first:
37 | Facebook: WebGL
38 | second:
39 | enabled: 1
40 | settings: {}
41 | - first:
42 | Facebook: Win
43 | second:
44 | enabled: 0
45 | settings:
46 | CPU: AnyCPU
47 | - first:
48 | Facebook: Win64
49 | second:
50 | enabled: 0
51 | settings:
52 | CPU: AnyCPU
53 | - first:
54 | Standalone: Linux
55 | second:
56 | enabled: 0
57 | settings:
58 | CPU: x86
59 | - first:
60 | Standalone: Linux64
61 | second:
62 | enabled: 0
63 | settings:
64 | CPU: x86_64
65 | - first:
66 | Standalone: LinuxUniversal
67 | second:
68 | enabled: 0
69 | settings:
70 | CPU: None
71 | - first:
72 | Standalone: OSXUniversal
73 | second:
74 | enabled: 0
75 | settings:
76 | CPU: AnyCPU
77 | - first:
78 | Standalone: Win
79 | second:
80 | enabled: 0
81 | settings:
82 | CPU: AnyCPU
83 | - first:
84 | Standalone: Win64
85 | second:
86 | enabled: 0
87 | settings:
88 | CPU: AnyCPU
89 | - first:
90 | WebGL: WebGL
91 | second:
92 | enabled: 1
93 | settings: {}
94 | userData:
95 | assetBundleName:
96 | assetBundleVariant:
97 |
--------------------------------------------------------------------------------
/Art/GAZE_UI_Panels_PSD.psd.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 05e9e8c46e8481843a38b26063436cc2
3 | TextureImporter:
4 | internalIDToNameTable: []
5 | externalObjects: {}
6 | serializedVersion: 11
7 | mipmaps:
8 | mipMapMode: 0
9 | enableMipMap: 0
10 | sRGBTexture: 1
11 | linearTexture: 0
12 | fadeOut: 0
13 | borderMipMap: 0
14 | mipMapsPreserveCoverage: 0
15 | alphaTestReferenceValue: 0.5
16 | mipMapFadeDistanceStart: 1
17 | mipMapFadeDistanceEnd: 3
18 | bumpmap:
19 | convertToNormalMap: 0
20 | externalNormalMap: 0
21 | heightScale: 0.25
22 | normalMapFilter: 0
23 | isReadable: 0
24 | streamingMipmaps: 0
25 | streamingMipmapsPriority: 0
26 | vTOnly: 0
27 | grayScaleToAlpha: 0
28 | generateCubemap: 6
29 | cubemapConvolution: 0
30 | seamlessCubemap: 0
31 | textureFormat: 1
32 | maxTextureSize: 2048
33 | textureSettings:
34 | serializedVersion: 2
35 | filterMode: -1
36 | aniso: -1
37 | mipBias: -100
38 | wrapU: 1
39 | wrapV: 1
40 | wrapW: 1
41 | nPOTScale: 0
42 | lightmap: 0
43 | compressionQuality: 50
44 | spriteMode: 1
45 | spriteExtrude: 1
46 | spriteMeshType: 1
47 | alignment: 0
48 | spritePivot: {x: 0.5, y: 0.5}
49 | spritePixelsToUnits: 100
50 | spriteBorder: {x: 0, y: 0, z: 0, w: 0}
51 | spriteGenerateFallbackPhysicsShape: 1
52 | alphaUsage: 1
53 | alphaIsTransparency: 1
54 | spriteTessellationDetail: -1
55 | textureType: 8
56 | textureShape: 1
57 | singleChannelComponent: 0
58 | maxTextureSizeSet: 0
59 | compressionQualitySet: 0
60 | textureFormatSet: 0
61 | ignorePngGamma: 0
62 | applyGammaDecoding: 0
63 | platformSettings:
64 | - serializedVersion: 3
65 | buildTarget: DefaultTexturePlatform
66 | maxTextureSize: 2048
67 | resizeAlgorithm: 0
68 | textureFormat: -1
69 | textureCompression: 1
70 | compressionQuality: 50
71 | crunchedCompression: 0
72 | allowsAlphaSplitting: 0
73 | overridden: 0
74 | androidETC2FallbackOverride: 0
75 | forceMaximumCompressionQuality_BC6H_BC7: 0
76 | spriteSheet:
77 | serializedVersion: 2
78 | sprites: []
79 | outline: []
80 | physicsShape: []
81 | bones: []
82 | spriteID: 5e97eb03825dee720800000000000000
83 | internalID: 0
84 | vertices: []
85 | indices:
86 | edges: []
87 | weights: []
88 | secondaryTextures: []
89 | spritePackingTag:
90 | pSDRemoveMatte: 0
91 | pSDShowRemoveMatteOption: 0
92 | userData:
93 | assetBundleName:
94 | assetBundleVariant:
95 |
--------------------------------------------------------------------------------
/StandaloneFileBrowser/StandaloneFileBrowserEditor.cs:
--------------------------------------------------------------------------------
1 | #if UNITY_EDITOR
2 |
3 | using System;
4 | using UnityEditor;
5 |
6 | namespace SFB {
7 | public class StandaloneFileBrowserEditor : IStandaloneFileBrowser {
8 | public string[] OpenFilePanel(string title, string directory, ExtensionFilter[] extensions, bool multiselect) {
9 | string path = "";
10 |
11 | if (extensions == null) {
12 | path = EditorUtility.OpenFilePanel(title, directory, "");
13 | }
14 | else {
15 | path = EditorUtility.OpenFilePanelWithFilters(title, directory, GetFilterFromFileExtensionList(extensions));
16 | }
17 |
18 | return string.IsNullOrEmpty(path) ? new string[0] : new[] { path };
19 | }
20 |
21 | public void OpenFilePanelAsync(string title, string directory, ExtensionFilter[] extensions, bool multiselect, Action cb) {
22 | cb.Invoke(OpenFilePanel(title, directory, extensions, multiselect));
23 | }
24 |
25 | public string[] OpenFolderPanel(string title, string directory, bool multiselect) {
26 | var path = EditorUtility.OpenFolderPanel(title, directory, "");
27 | return string.IsNullOrEmpty(path) ? new string[0] : new[] {path};
28 | }
29 |
30 | public void OpenFolderPanelAsync(string title, string directory, bool multiselect, Action cb) {
31 | cb.Invoke(OpenFolderPanel(title, directory, multiselect));
32 | }
33 |
34 | public string SaveFilePanel(string title, string directory, string defaultName, ExtensionFilter[] extensions) {
35 | var ext = extensions != null ? extensions[0].Extensions[0] : "";
36 | var name = string.IsNullOrEmpty(ext) ? defaultName : defaultName + "." + ext;
37 | return EditorUtility.SaveFilePanel(title, directory, name, ext);
38 | }
39 |
40 | public void SaveFilePanelAsync(string title, string directory, string defaultName, ExtensionFilter[] extensions, Action cb) {
41 | cb.Invoke(SaveFilePanel(title, directory, defaultName, extensions));
42 | }
43 |
44 | // EditorUtility.OpenFilePanelWithFilters extension filter format
45 | private static string[] GetFilterFromFileExtensionList(ExtensionFilter[] extensions) {
46 | var filters = new string[extensions.Length * 2];
47 | for (int i = 0; i < extensions.Length; i++) {
48 | filters[(i * 2)] = extensions[i].Name;
49 | filters[(i * 2) + 1] = string.Join(",", extensions[i].Extensions);
50 | }
51 | return filters;
52 | }
53 | }
54 | }
55 |
56 | #endif
57 |
--------------------------------------------------------------------------------
/Scripts/UI/TranslateHashUIElement.cs:
--------------------------------------------------------------------------------
1 | using UnityEngine;
2 | using UnityEngine.UI;
3 | using TMPro;
4 | using System;
5 | using System.Collections.Generic;
6 | using System.Linq;
7 |
8 | namespace FanLang
9 | {
10 | ///
11 | /// UI element handling the showing and updating of a 's data.
12 | ///
13 | public class TranslateHashUIElement : MonoBehaviour
14 | {
15 | public event Action