├── Unity Project
├── ProjectSettings
│ ├── ProjectVersion.txt
│ ├── editorsettings.asset
│ ├── ClusterInputManager.asset
│ ├── EditorBuildSettings.asset
│ ├── NetworkManager.asset
│ ├── TimeManager.asset
│ ├── AudioManager.asset
│ ├── TagManager.asset
│ ├── DynamicsManager.asset
│ ├── UnityConnectSettings.asset
│ ├── Physics2DSettings.asset
│ ├── NavMeshAreas.asset
│ ├── GraphicsSettings.asset
│ ├── QualitySettings.asset
│ ├── InputManager.asset
│ └── ProjectSettings.asset
├── UnityPackageManager
│ └── manifest.json
├── Assets
│ ├── Examples
│ │ ├── Language
│ │ │ ├── Resources
│ │ │ │ ├── Languages
│ │ │ │ │ ├── Swedish.txt
│ │ │ │ │ ├── French.txt
│ │ │ │ │ ├── German.txt
│ │ │ │ │ ├── English.txt
│ │ │ │ │ ├── English.txt.meta
│ │ │ │ │ ├── French.txt.meta
│ │ │ │ │ ├── German.txt.meta
│ │ │ │ │ └── Swedish.txt.meta
│ │ │ │ └── Languages.meta
│ │ │ ├── language_example.unity.meta
│ │ │ ├── Resources.meta
│ │ │ ├── LanguageButtons.cs.meta
│ │ │ ├── LanguageTimeParameter.cs.meta
│ │ │ ├── LanguageTimeParameter.cs
│ │ │ ├── LanguageButtons.cs
│ │ │ └── language_example.unity
│ │ └── Language.meta
│ ├── Plugins.meta
│ ├── Examples.meta
│ └── Plugins
│ │ ├── Farrokh Games.meta
│ │ └── Farrokh Games
│ │ ├── Language.meta
│ │ └── Language
│ │ ├── Editor.meta
│ │ ├── Editor
│ │ ├── Tests.meta
│ │ └── Tests
│ │ │ ├── LanguageContainerTests.cs.meta
│ │ │ ├── LanguageManagerTests.cs.meta
│ │ │ ├── LanguageManagerTests.cs
│ │ │ └── LanguageContainerTests.cs
│ │ ├── Language.cs.meta
│ │ ├── LanguageContainer.cs.meta
│ │ ├── LanguageManager.cs.meta
│ │ ├── AutoLanguageBehaviour.cs.meta
│ │ ├── AutoLanguageBehaviour.cs
│ │ ├── Language.cs
│ │ ├── LanguageManager.cs
│ │ └── LanguageContainer.cs
└── .vscode
│ └── settings.json
├── Documentation
├── language.gif
└── unittests.png
├── .gitignore
├── LICENSE
└── README.md
/Unity Project/ProjectSettings/ProjectVersion.txt:
--------------------------------------------------------------------------------
1 | m_EditorVersion: 2017.2.0f3
2 |
--------------------------------------------------------------------------------
/Unity Project/UnityPackageManager/manifest.json:
--------------------------------------------------------------------------------
1 | {
2 | "dependencies": {
3 | }
4 | }
5 |
--------------------------------------------------------------------------------
/Documentation/language.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FarrokhGames/Language/HEAD/Documentation/language.gif
--------------------------------------------------------------------------------
/Documentation/unittests.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FarrokhGames/Language/HEAD/Documentation/unittests.png
--------------------------------------------------------------------------------
/Unity Project/ProjectSettings/editorsettings.asset:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FarrokhGames/Language/HEAD/Unity Project/ProjectSettings/editorsettings.asset
--------------------------------------------------------------------------------
/Unity Project/ProjectSettings/ClusterInputManager.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!236 &1
4 | ClusterInputManager:
5 | m_ObjectHideFlags: 0
6 | m_Inputs: []
7 |
--------------------------------------------------------------------------------
/Unity Project/ProjectSettings/EditorBuildSettings.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!1045 &1
4 | EditorBuildSettings:
5 | m_ObjectHideFlags: 0
6 | serializedVersion: 2
7 | m_Scenes: []
8 |
--------------------------------------------------------------------------------
/Unity Project/ProjectSettings/NetworkManager.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!149 &1
4 | NetworkManager:
5 | m_ObjectHideFlags: 0
6 | m_DebugLevel: 0
7 | m_Sendrate: 15
8 | m_AssetToPrefab: {}
9 |
--------------------------------------------------------------------------------
/Unity Project/Assets/Examples/Language/Resources/Languages/Swedish.txt:
--------------------------------------------------------------------------------
1 | # Det här är en kommentar
2 | example.header=Ett enkelt språksystem för Unity3D
3 | example.time=Klockan är just nu {0}, och allt är fantastiskt!
--------------------------------------------------------------------------------
/Unity Project/Assets/Examples/Language/Resources/Languages/French.txt:
--------------------------------------------------------------------------------
1 | # Ceci est un commentaire
2 | example.header=Un système de langage simple pour Unity3D
3 | example.time=Il est maintenant {0} et tout est incroyable!
--------------------------------------------------------------------------------
/Unity Project/Assets/Examples/Language/Resources/Languages/German.txt:
--------------------------------------------------------------------------------
1 | # Das ist ein kommentar
2 | example.header=Ein einfaches sprachsystem für Unity3D
3 | example.time=Die Zeit ist jetzt {0} und alles ist fantastisch!
--------------------------------------------------------------------------------
/Unity Project/Assets/Plugins.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: f22fbf61a79eb45ffab157e3722001ed
3 | folderAsset: yes
4 | timeCreated: 1509798980
5 | licenseType: Free
6 | DefaultImporter:
7 | externalObjects: {}
8 | userData:
9 | assetBundleName:
10 | assetBundleVariant:
11 |
--------------------------------------------------------------------------------
/Unity Project/ProjectSettings/TimeManager.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!5 &1
4 | TimeManager:
5 | m_ObjectHideFlags: 0
6 | Fixed Timestep: 0.02
7 | Maximum Allowed Timestep: 0.33333334
8 | m_TimeScale: 1
9 | Maximum Particle Timestep: 0.03
10 |
--------------------------------------------------------------------------------
/Unity Project/Assets/Examples.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 27b798a67493846598d729796850a1f1
3 | folderAsset: yes
4 | timeCreated: 1509799008
5 | licenseType: Free
6 | DefaultImporter:
7 | externalObjects: {}
8 | userData:
9 | assetBundleName:
10 | assetBundleVariant:
11 |
--------------------------------------------------------------------------------
/Unity Project/Assets/Examples/Language/Resources/Languages/English.txt:
--------------------------------------------------------------------------------
1 | # This is a comment
2 | example.header=A simple language system for Unity3D
3 | example.time=The time is currently {0}, and everything is awesome!
4 | example.fallbackonly=This text is only available in english
--------------------------------------------------------------------------------
/Unity Project/Assets/Examples/Language.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: dc0085f6fae3f4d078c97dc276e309da
3 | folderAsset: yes
4 | timeCreated: 1509799027
5 | licenseType: Free
6 | DefaultImporter:
7 | externalObjects: {}
8 | userData:
9 | assetBundleName:
10 | assetBundleVariant:
11 |
--------------------------------------------------------------------------------
/Unity Project/Assets/Examples/Language/language_example.unity.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: e9cee2f06a8924044b8bf74cd1401d45
3 | timeCreated: 1509809181
4 | licenseType: Free
5 | DefaultImporter:
6 | externalObjects: {}
7 | userData:
8 | assetBundleName:
9 | assetBundleVariant:
10 |
--------------------------------------------------------------------------------
/Unity Project/Assets/Plugins/Farrokh Games.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 6c943fddf330b4ead87a182d677ae884
3 | folderAsset: yes
4 | timeCreated: 1509798985
5 | licenseType: Free
6 | DefaultImporter:
7 | externalObjects: {}
8 | userData:
9 | assetBundleName:
10 | assetBundleVariant:
11 |
--------------------------------------------------------------------------------
/Unity Project/Assets/Examples/Language/Resources.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 71bbfb7fc24fe4959bbea0be8f0e9e20
3 | folderAsset: yes
4 | timeCreated: 1509799033
5 | licenseType: Free
6 | DefaultImporter:
7 | externalObjects: {}
8 | userData:
9 | assetBundleName:
10 | assetBundleVariant:
11 |
--------------------------------------------------------------------------------
/Unity Project/Assets/Examples/Language/Resources/Languages/English.txt.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 2f772e81ab94f4a8b8f97b7ae9a3b44b
3 | timeCreated: 1509799067
4 | licenseType: Free
5 | TextScriptImporter:
6 | externalObjects: {}
7 | userData:
8 | assetBundleName:
9 | assetBundleVariant:
10 |
--------------------------------------------------------------------------------
/Unity Project/Assets/Examples/Language/Resources/Languages/French.txt.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: a18db05d80a9947d9968f6728e719f04
3 | timeCreated: 1509799067
4 | licenseType: Free
5 | TextScriptImporter:
6 | externalObjects: {}
7 | userData:
8 | assetBundleName:
9 | assetBundleVariant:
10 |
--------------------------------------------------------------------------------
/Unity Project/Assets/Examples/Language/Resources/Languages/German.txt.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 001afd09fd7fc4278a1d36ab5b1f4949
3 | timeCreated: 1509799067
4 | licenseType: Free
5 | TextScriptImporter:
6 | externalObjects: {}
7 | userData:
8 | assetBundleName:
9 | assetBundleVariant:
10 |
--------------------------------------------------------------------------------
/Unity Project/Assets/Examples/Language/Resources/Languages/Swedish.txt.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: b622bc71df2184369a6c8e7855ed47d1
3 | timeCreated: 1509799067
4 | licenseType: Free
5 | TextScriptImporter:
6 | externalObjects: {}
7 | userData:
8 | assetBundleName:
9 | assetBundleVariant:
10 |
--------------------------------------------------------------------------------
/Unity Project/Assets/Plugins/Farrokh Games/Language.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: f0260cdfa85b7460f9486025ba9afec0
3 | folderAsset: yes
4 | timeCreated: 1509798997
5 | licenseType: Free
6 | DefaultImporter:
7 | externalObjects: {}
8 | userData:
9 | assetBundleName:
10 | assetBundleVariant:
11 |
--------------------------------------------------------------------------------
/Unity Project/Assets/Examples/Language/Resources/Languages.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 5569401cbac8148bbaabed63d1bc044f
3 | folderAsset: yes
4 | timeCreated: 1509809456
5 | licenseType: Free
6 | DefaultImporter:
7 | externalObjects: {}
8 | userData:
9 | assetBundleName:
10 | assetBundleVariant:
11 |
--------------------------------------------------------------------------------
/Unity Project/Assets/Plugins/Farrokh Games/Language/Editor.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 3083cca3063b24dbdab884e71fc0c837
3 | folderAsset: yes
4 | timeCreated: 1509799228
5 | licenseType: Free
6 | DefaultImporter:
7 | externalObjects: {}
8 | userData:
9 | assetBundleName:
10 | assetBundleVariant:
11 |
--------------------------------------------------------------------------------
/Unity Project/Assets/Plugins/Farrokh Games/Language/Editor/Tests.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 98883e9faad1a44619bab380a889aaed
3 | folderAsset: yes
4 | timeCreated: 1509799233
5 | licenseType: Free
6 | DefaultImporter:
7 | externalObjects: {}
8 | userData:
9 | assetBundleName:
10 | assetBundleVariant:
11 |
--------------------------------------------------------------------------------
/Unity Project/Assets/Examples/Language/LanguageButtons.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 4767e164c1925412692738a1f3621b91
3 | timeCreated: 1509810540
4 | licenseType: Free
5 | MonoImporter:
6 | externalObjects: {}
7 | serializedVersion: 2
8 | defaultReferences: []
9 | executionOrder: 0
10 | icon: {instanceID: 0}
11 | userData:
12 | assetBundleName:
13 | assetBundleVariant:
14 |
--------------------------------------------------------------------------------
/Unity Project/Assets/Examples/Language/LanguageTimeParameter.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: c413dffc07b114284896e40fe8688d11
3 | timeCreated: 1509809609
4 | licenseType: Free
5 | MonoImporter:
6 | externalObjects: {}
7 | serializedVersion: 2
8 | defaultReferences: []
9 | executionOrder: 0
10 | icon: {instanceID: 0}
11 | userData:
12 | assetBundleName:
13 | assetBundleVariant:
14 |
--------------------------------------------------------------------------------
/Unity Project/Assets/Plugins/Farrokh Games/Language/Language.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 530ecb09a8bc44f0a93d29cd92f2bef0
3 | timeCreated: 1509799426
4 | licenseType: Free
5 | MonoImporter:
6 | externalObjects: {}
7 | serializedVersion: 2
8 | defaultReferences: []
9 | executionOrder: 0
10 | icon: {instanceID: 0}
11 | userData:
12 | assetBundleName:
13 | assetBundleVariant:
14 |
--------------------------------------------------------------------------------
/Unity Project/Assets/Plugins/Farrokh Games/Language/LanguageContainer.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 67cb04627426442adb47f388f0eef734
3 | timeCreated: 1509804523
4 | licenseType: Free
5 | MonoImporter:
6 | externalObjects: {}
7 | serializedVersion: 2
8 | defaultReferences: []
9 | executionOrder: 0
10 | icon: {instanceID: 0}
11 | userData:
12 | assetBundleName:
13 | assetBundleVariant:
14 |
--------------------------------------------------------------------------------
/Unity Project/Assets/Plugins/Farrokh Games/Language/LanguageManager.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: c323c4e1f68494f5ba174d5cec460817
3 | timeCreated: 1509820489
4 | licenseType: Free
5 | MonoImporter:
6 | externalObjects: {}
7 | serializedVersion: 2
8 | defaultReferences: []
9 | executionOrder: 0
10 | icon: {instanceID: 0}
11 | userData:
12 | assetBundleName:
13 | assetBundleVariant:
14 |
--------------------------------------------------------------------------------
/Unity Project/Assets/Plugins/Farrokh Games/Language/AutoLanguageBehaviour.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 12664d2381fab4763921093e77fa552a
3 | timeCreated: 1509799426
4 | licenseType: Free
5 | MonoImporter:
6 | externalObjects: {}
7 | serializedVersion: 2
8 | defaultReferences: []
9 | executionOrder: 0
10 | icon: {instanceID: 0}
11 | userData:
12 | assetBundleName:
13 | assetBundleVariant:
14 |
--------------------------------------------------------------------------------
/Unity Project/Assets/Plugins/Farrokh Games/Language/Editor/Tests/LanguageContainerTests.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 3585b2fc156244dc59f7e9a2ba8249da
3 | timeCreated: 1509804523
4 | licenseType: Free
5 | MonoImporter:
6 | externalObjects: {}
7 | serializedVersion: 2
8 | defaultReferences: []
9 | executionOrder: 0
10 | icon: {instanceID: 0}
11 | userData:
12 | assetBundleName:
13 | assetBundleVariant:
14 |
--------------------------------------------------------------------------------
/Unity Project/Assets/Plugins/Farrokh Games/Language/Editor/Tests/LanguageManagerTests.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: a2c15f0480db64b2b9f12c9a8e363248
3 | timeCreated: 1509820489
4 | licenseType: Free
5 | MonoImporter:
6 | externalObjects: {}
7 | serializedVersion: 2
8 | defaultReferences: []
9 | executionOrder: 0
10 | icon: {instanceID: 0}
11 | userData:
12 | assetBundleName:
13 | assetBundleVariant:
14 |
--------------------------------------------------------------------------------
/Unity Project/ProjectSettings/AudioManager.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!11 &1
4 | AudioManager:
5 | m_ObjectHideFlags: 0
6 | m_Volume: 1
7 | Rolloff Scale: 1
8 | Doppler Factor: 1
9 | Default Speaker Mode: 2
10 | m_SampleRate: 0
11 | m_DSPBufferSize: 0
12 | m_VirtualVoiceCount: 512
13 | m_RealVoiceCount: 32
14 | m_SpatializerPlugin:
15 | m_AmbisonicDecoderPlugin:
16 | m_DisableAudio: 0
17 | m_VirtualizeEffects: 1
18 |
--------------------------------------------------------------------------------
/Unity Project/ProjectSettings/TagManager.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!78 &1
4 | TagManager:
5 | serializedVersion: 2
6 | tags: []
7 | layers:
8 | - Default
9 | - TransparentFX
10 | - Ignore Raycast
11 | -
12 | - Water
13 | - UI
14 | -
15 | -
16 | -
17 | -
18 | -
19 | -
20 | -
21 | -
22 | -
23 | -
24 | -
25 | -
26 | -
27 | -
28 | -
29 | -
30 | -
31 | -
32 | -
33 | -
34 | -
35 | -
36 | -
37 | -
38 | -
39 | -
40 | m_SortingLayers:
41 | - name: Default
42 | uniqueID: 0
43 | locked: 0
44 |
--------------------------------------------------------------------------------
/Unity Project/Assets/Examples/Language/LanguageTimeParameter.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using UnityEngine.UI;
3 |
4 | namespace FarrokhGames.Language
5 | {
6 | public class LanguageTimeParameter : AutoLanguageBehaviour
7 | {
8 | protected override void UpdateText(Text text, string identifier)
9 | {
10 | UpdateText();
11 | }
12 |
13 | void Update()
14 | {
15 | UpdateText();
16 | }
17 |
18 | private void UpdateText()
19 | {
20 | var time = DateTime.Now.ToString("HH:mm:ss");
21 | _text.text = Language.Get(_identifier, time);
22 | }
23 | }
24 | }
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | # =============== #
2 | # Unity generated #
3 | # =============== #
4 | Temp/
5 | Obj/
6 | UnityGenerated/
7 | Library/
8 | Unity Project/Temp/
9 | Unity Project/Obj/
10 | Unity Project/UnityGenerated/
11 | Unity Project/Library/
12 |
13 | # ===================================== #
14 | # Visual Studio / MonoDevelop generated #
15 | # ===================================== #
16 | ExportedObj/
17 | *.svd
18 | *.userprefs
19 | *.csproj
20 | *.pidb
21 | *.suo
22 | *.sln
23 | *.user
24 | *.unityproj
25 | *.booproj
26 |
27 | # ============ #
28 | # OS generated #
29 | # ============ #
30 | .DS_Store
31 | .DS_Store?
32 | ._*
33 | .Spotlight-V100
34 | .Trashes
35 | Icon?
36 | ehthumbs.db
37 | Thumbs.db
--------------------------------------------------------------------------------
/Unity Project/ProjectSettings/DynamicsManager.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!55 &1
4 | PhysicsManager:
5 | m_ObjectHideFlags: 0
6 | serializedVersion: 3
7 | m_Gravity: {x: 0, y: -9.81, z: 0}
8 | m_DefaultMaterial: {fileID: 0}
9 | m_BounceThreshold: 2
10 | m_SleepThreshold: 0.005
11 | m_DefaultContactOffset: 0.01
12 | m_DefaultSolverIterations: 6
13 | m_DefaultSolverVelocityIterations: 1
14 | m_QueriesHitBackfaces: 0
15 | m_QueriesHitTriggers: 1
16 | m_EnableAdaptiveForce: 0
17 | m_EnablePCM: 1
18 | m_LayerCollisionMatrix: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
19 | m_AutoSimulation: 1
20 | m_AutoSyncTransforms: 1
21 |
--------------------------------------------------------------------------------
/Unity Project/ProjectSettings/UnityConnectSettings.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!310 &1
4 | UnityConnectSettings:
5 | m_ObjectHideFlags: 0
6 | m_Enabled: 0
7 | m_TestMode: 0
8 | m_TestEventUrl:
9 | m_TestConfigUrl:
10 | m_TestInitMode: 0
11 | CrashReportingSettings:
12 | m_EventUrl: https://perf-events.cloud.unity3d.com/api/events/crashes
13 | m_NativeEventUrl: https://perf-events.cloud.unity3d.com/symbolicate
14 | m_Enabled: 0
15 | m_CaptureEditorExceptions: 1
16 | UnityPurchasingSettings:
17 | m_Enabled: 0
18 | m_TestMode: 0
19 | UnityAnalyticsSettings:
20 | m_Enabled: 0
21 | m_InitializeOnStartup: 1
22 | m_TestMode: 0
23 | m_TestEventUrl:
24 | m_TestConfigUrl:
25 | UnityAdsSettings:
26 | m_Enabled: 0
27 | m_InitializeOnStartup: 1
28 | m_TestMode: 0
29 | m_IosGameId:
30 | m_AndroidGameId:
31 | m_GameIds: {}
32 | m_GameId:
33 | PerformanceReportingSettings:
34 | m_Enabled: 0
35 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2017 Farrokh Games
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 |
--------------------------------------------------------------------------------
/Unity Project/Assets/Plugins/Farrokh Games/Language/AutoLanguageBehaviour.cs:
--------------------------------------------------------------------------------
1 | using UnityEngine;
2 | using UnityEngine.UI;
3 |
4 | namespace FarrokhGames.Language
5 | {
6 | ///
7 | /// Behaviour for automatically localizing a UnityEngine.UI.Text,
8 | /// using its initial value as an identifier, when the language changes.
9 | ///
10 | public class AutoLanguageBehaviour : MonoBehaviour
11 | {
12 | protected Text _text;
13 | protected string _identifier;
14 |
15 | void Awake()
16 | {
17 | _text = GetComponent();
18 | _identifier = _text.text;
19 | }
20 |
21 | void OnEnable()
22 | {
23 | Language.OnLanguageChanged += HandleLanguageChanged;
24 | HandleLanguageChanged();
25 | }
26 |
27 | void OnDisable()
28 | {
29 | Language.OnLanguageChanged -= HandleLanguageChanged;
30 | }
31 |
32 | private void HandleLanguageChanged()
33 | {
34 | UpdateText(_text, _identifier);
35 | }
36 |
37 | protected virtual void UpdateText(Text text, string identifier)
38 | {
39 | text.text = Language.Get(identifier);
40 | }
41 | }
42 | }
--------------------------------------------------------------------------------
/Unity Project/ProjectSettings/Physics2DSettings.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!19 &1
4 | Physics2DSettings:
5 | m_ObjectHideFlags: 0
6 | serializedVersion: 3
7 | m_Gravity: {x: 0, y: -9.81}
8 | m_DefaultMaterial: {fileID: 0}
9 | m_VelocityIterations: 8
10 | m_PositionIterations: 3
11 | m_VelocityThreshold: 1
12 | m_MaxLinearCorrection: 0.2
13 | m_MaxAngularCorrection: 8
14 | m_MaxTranslationSpeed: 100
15 | m_MaxRotationSpeed: 360
16 | m_BaumgarteScale: 0.2
17 | m_BaumgarteTimeOfImpactScale: 0.75
18 | m_TimeToSleep: 0.5
19 | m_LinearSleepTolerance: 0.01
20 | m_AngularSleepTolerance: 2
21 | m_DefaultContactOffset: 0.01
22 | m_AutoSimulation: 1
23 | m_QueriesHitTriggers: 1
24 | m_QueriesStartInColliders: 1
25 | m_ChangeStopsCallbacks: 0
26 | m_CallbacksOnDisable: 1
27 | m_AutoSyncTransforms: 1
28 | m_AlwaysShowColliders: 0
29 | m_ShowColliderSleep: 1
30 | m_ShowColliderContacts: 0
31 | m_ShowColliderAABB: 0
32 | m_ContactArrowScale: 0.2
33 | m_ColliderAwakeColor: {r: 0.5686275, g: 0.95686275, b: 0.54509807, a: 0.7529412}
34 | m_ColliderAsleepColor: {r: 0.5686275, g: 0.95686275, b: 0.54509807, a: 0.36078432}
35 | m_ColliderContactColor: {r: 1, g: 0, b: 1, a: 0.6862745}
36 | m_ColliderAABBColor: {r: 1, g: 1, b: 0, a: 0.2509804}
37 | m_LayerCollisionMatrix: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
38 |
--------------------------------------------------------------------------------
/Unity Project/.vscode/settings.json:
--------------------------------------------------------------------------------
1 | {
2 | "files.exclude":
3 | {
4 | "**/.DS_Store":true,
5 | "**/.git":true,
6 | "**/.gitignore":true,
7 | "**/.gitmodules":true,
8 | "**/*.booproj":true,
9 | "**/*.pidb":true,
10 | "**/*.suo":true,
11 | "**/*.user":true,
12 | "**/*.userprefs":true,
13 | "**/*.unityproj":true,
14 | "**/*.dll":true,
15 | "**/*.exe":true,
16 | "**/*.pdf":true,
17 | "**/*.mid":true,
18 | "**/*.midi":true,
19 | "**/*.wav":true,
20 | "**/*.gif":true,
21 | "**/*.ico":true,
22 | "**/*.jpg":true,
23 | "**/*.jpeg":true,
24 | "**/*.png":true,
25 | "**/*.psd":true,
26 | "**/*.tga":true,
27 | "**/*.tif":true,
28 | "**/*.tiff":true,
29 | "**/*.3ds":true,
30 | "**/*.3DS":true,
31 | "**/*.fbx":true,
32 | "**/*.FBX":true,
33 | "**/*.lxo":true,
34 | "**/*.LXO":true,
35 | "**/*.ma":true,
36 | "**/*.MA":true,
37 | "**/*.obj":true,
38 | "**/*.OBJ":true,
39 | "**/*.asset":true,
40 | "**/*.cubemap":true,
41 | "**/*.flare":true,
42 | "**/*.mat":true,
43 | "**/*.meta":true,
44 | "**/*.prefab":true,
45 | "**/*.unity":true,
46 | "build/":true,
47 | "Build/":true,
48 | "Library/":true,
49 | "library/":true,
50 | "obj/":true,
51 | "Obj/":true,
52 | "ProjectSettings/":true,
53 | "temp/":true,
54 | "Temp/":true
55 | }
56 | }
--------------------------------------------------------------------------------
/Unity Project/Assets/Examples/Language/LanguageButtons.cs:
--------------------------------------------------------------------------------
1 | using System.Collections;
2 | using System.Collections.Generic;
3 | using UnityEngine;
4 | using UnityEngine.UI;
5 |
6 | namespace FarrokhGames.Language
7 | {
8 | public class LanguageButtons : MonoBehaviour
9 | {
10 | [SerializeField] private Button _prefabButton;
11 |
12 | private Dictionary _buttons;
13 |
14 | void Awake()
15 | {
16 | _buttons = new Dictionary();
17 | foreach (var language in Language.AllLanguages)
18 | {
19 | var btn = GameObject.Instantiate(_prefabButton.gameObject, Vector3.zero, Quaternion.identity, transform).GetComponent