├── CryptographyHelper.cs
├── LanguageHelper.cs
├── ObjectDistanceMeasure.cs
└── README.md
/CryptographyHelper.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Text;
3 | using System.Security.Cryptography;
4 |
5 | public class CryptographyHelper {
6 |
7 | public static string Md5Sum(string strToEncrypt) {
8 | UTF8Encoding encoding = new UTF8Encoding();
9 | byte[] bytes = encoding.GetBytes(strToEncrypt);
10 |
11 | // encrypt bytes
12 | MD5CryptoServiceProvider md5 = new MD5CryptoServiceProvider();
13 | byte[] hashBytes = md5.ComputeHash(bytes);
14 |
15 | // Convert the encrypted bytes back to a string (base 16)
16 | string hashString = "";
17 | for (int i = 0; i < hashBytes.Length; i++) {
18 | hashString += Convert.ToString(hashBytes[i], 16).PadLeft(2, "0"[0]);
19 | }
20 |
21 | return hashString.PadLeft(32, "0"[0]);
22 | }
23 |
24 | public static string Sha1Sum(string strToEncrypt)
25 | {
26 | UTF8Encoding ue = new UTF8Encoding();
27 | byte[] bytes = ue.GetBytes(strToEncrypt);
28 |
29 | // encrypt bytes
30 | SHA1 sha = new SHA1CryptoServiceProvider();
31 | byte[] hashBytes = sha.ComputeHash(bytes);
32 |
33 | // Convert the encrypted bytes back to a string (base 16)
34 | string hashString = "";
35 |
36 | for (int i = 0; i < hashBytes.Length; i++)
37 | {
38 | hashString += Convert.ToString(hashBytes[i], 16).PadLeft(2, '0');
39 | }
40 |
41 | return hashString.PadLeft(32, '0');
42 | }
43 | }
--------------------------------------------------------------------------------
/LanguageHelper.cs:
--------------------------------------------------------------------------------
1 | using UnityEngine;
2 | using System.Collections;
3 |
4 | public class LanguageHelper {
5 |
6 | ///
7 | /// Helps to convert Unity's Application.systemLanguage to a
8 | /// 2 letter ISO country code. There is unfortunately not more
9 | /// countries available as Unity's enum does not enclose all
10 | /// countries.
11 | ///
12 | /// The 2-letter ISO code from system language.
13 | public static string Get2LetterISOCodeFromSystemLanguage() {
14 | SystemLanguage lang = Application.systemLanguage;
15 | string res = "EN";
16 | switch (lang) {
17 | case SystemLanguage.Afrikaans: res = "AF"; break;
18 | case SystemLanguage.Arabic: res = "AR"; break;
19 | case SystemLanguage.Basque: res = "EU"; break;
20 | case SystemLanguage.Belarusian: res = "BY"; break;
21 | case SystemLanguage.Bulgarian: res = "BG"; break;
22 | case SystemLanguage.Catalan: res = "CA"; break;
23 | case SystemLanguage.Chinese: res = "ZH"; break;
24 | case SystemLanguage.Czech: res = "CS"; break;
25 | case SystemLanguage.Danish: res = "DA"; break;
26 | case SystemLanguage.Dutch: res = "NL"; break;
27 | case SystemLanguage.English: res = "EN"; break;
28 | case SystemLanguage.Estonian: res = "ET"; break;
29 | case SystemLanguage.Faroese: res = "FO"; break;
30 | case SystemLanguage.Finnish: res = "FI"; break;
31 | case SystemLanguage.French: res = "FR"; break;
32 | case SystemLanguage.German: res = "DE"; break;
33 | case SystemLanguage.Greek: res = "EL"; break;
34 | case SystemLanguage.Hebrew: res = "IW"; break;
35 | case SystemLanguage.Hugarian: res = "HU"; break;
36 | case SystemLanguage.Icelandic: res = "IS"; break;
37 | case SystemLanguage.Indonesian: res = "IN"; break;
38 | case SystemLanguage.Italian: res = "IT"; break;
39 | case SystemLanguage.Japanese: res = "JA"; break;
40 | case SystemLanguage.Korean: res = "KO"; break;
41 | case SystemLanguage.Latvian: res = "LV"; break;
42 | case SystemLanguage.Lithuanian: res = "LT"; break;
43 | case SystemLanguage.Norwegian: res = "NO"; break;
44 | case SystemLanguage.Polish: res = "PL"; break;
45 | case SystemLanguage.Portuguese: res = "PT"; break;
46 | case SystemLanguage.Romanian: res = "RO"; break;
47 | case SystemLanguage.Russian: res = "RU"; break;
48 | case SystemLanguage.SerboCroatian: res = "SH"; break;
49 | case SystemLanguage.Slovak: res = "SK"; break;
50 | case SystemLanguage.Slovenian: res = "SL"; break;
51 | case SystemLanguage.Spanish: res = "ES"; break;
52 | case SystemLanguage.Swedish: res = "SV"; break;
53 | case SystemLanguage.Thai: res = "TH"; break;
54 | case SystemLanguage.Turkish: res = "TR"; break;
55 | case SystemLanguage.Ukrainian: res = "UK"; break;
56 | case SystemLanguage.Unknown: res = "EN"; break;
57 | case SystemLanguage.Vietnamese: res = "VI"; break;
58 | }
59 | // Debug.Log ("Lang: " + res);
60 | return res;
61 | }
62 | }
63 |
--------------------------------------------------------------------------------
/ObjectDistanceMeasure.cs:
--------------------------------------------------------------------------------
1 | using UnityEngine;
2 | using UnityEditor;
3 | using System.Collections;
4 |
5 | public class ObjectDistanceMeasure : EditorWindow {
6 |
7 | GameObject object1;
8 | GameObject object2;
9 |
10 | [MenuItem("Tools/Distance Measure")]
11 | static void SceneLoadHelper() {
12 | ObjectDistanceMeasure window = (ObjectDistanceMeasure)EditorWindow.GetWindow (typeof (ObjectDistanceMeasure));
13 | }
14 |
15 | void OnGUI () {
16 | if (null != Selection.objects && Selection.objects.Length > 1) {
17 | object1 = (GameObject)Selection.objects[0];
18 | object2 = (GameObject)Selection.objects[1];
19 | }
20 |
21 | float distance3D = 0f;
22 | float distance2D = 0f;
23 | if (null != object1 && null != object2) {
24 | Vector3 pos1 = object1.transform.position;
25 | Vector3 pos2 = object2.transform.position;
26 | distance3D = Vector3.Distance (pos1, pos2);
27 | pos1.y = pos2.y = 0f;
28 | distance2D = Vector3.Distance (pos1, pos2);
29 | }
30 | GUILayout.Label ("3D Distance: " + distance3D);
31 | GUILayout.Label ("2D Distance: " + distance2D);
32 | }
33 |
34 | public void Update()
35 | {
36 | // This is necessary to make the framerate normal for the editor window.
37 | Repaint();
38 | }
39 |
40 | }
41 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MartinSchultz/unity3d/45206f4e02051cc61097e7cb180ce77dc77b0bdd/README.md
--------------------------------------------------------------------------------