├── 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 --------------------------------------------------------------------------------