forked from Meragon/Unity-WinForms
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathUnitySystem.cs
More file actions
83 lines (78 loc) · 4.03 KB
/
Copy pathUnitySystem.cs
File metadata and controls
83 lines (78 loc) · 4.03 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
namespace Unity.API
{
using System.Drawing;
using System.Globalization;
using System.Linq;
using UnityEngine;
public class UnitySystem : IApiSystem
{
public CultureInfo CurrentCulture
{
get
{
var language = Application.systemLanguage;
string name;
switch (language)
{
case SystemLanguage.Afrikaans: name = "af-ZA"; break;
case SystemLanguage.Arabic: name = "ar-AE"; break;
case SystemLanguage.Basque: name = "eu-ES"; break;
case SystemLanguage.Belarusian: name = "be-BY"; break;
case SystemLanguage.Bulgarian: name = "bg-BG"; break;
case SystemLanguage.Catalan: name = "ca-ES"; break;
case SystemLanguage.Chinese: name = "zh-CN"; break;
case SystemLanguage.ChineseSimplified: name = "zh-CHS"; break;
case SystemLanguage.ChineseTraditional: name = "zh-CHT"; break;
case SystemLanguage.Czech: name = "cs-CZ"; break;
case SystemLanguage.Danish: name = "da-DK"; break;
case SystemLanguage.Dutch: name = "nl-BE"; break;
case SystemLanguage.Estonian: name = "et-EE"; break;
case SystemLanguage.Faroese: name = "fo-FO"; break;
case SystemLanguage.Finnish: name = "fi-FI "; break;
case SystemLanguage.French: name = "fr-FR"; break;
case SystemLanguage.German: name = "de-DE"; break;
case SystemLanguage.Greek: name = "el-GR"; break;
case SystemLanguage.Hebrew: name = "he-IL"; break;
case SystemLanguage.Hungarian: name = "hu-HU"; break;
case SystemLanguage.Icelandic: name = "is-IS"; break;
case SystemLanguage.Indonesian: name = "id-ID"; break;
case SystemLanguage.Italian: name = "it-IT"; break;
case SystemLanguage.Japanese: name = "ja-JP"; break;
case SystemLanguage.Korean: name = "ko-KR"; break;
case SystemLanguage.Latvian: name = "lv-LV"; break;
case SystemLanguage.Lithuanian: name = "lt-LT"; break;
case SystemLanguage.Norwegian: name = "nb-NO"; break;
case SystemLanguage.Polish: name = "pl-PL"; break;
case SystemLanguage.Portuguese: name = "pt-PT"; break;
case SystemLanguage.Romanian: name = "ro-RO"; break;
case SystemLanguage.Russian: name = "ru-RU"; break;
case SystemLanguage.SerboCroatian: name = "Lt-sr-SP"; break;
case SystemLanguage.Slovak: name = "sk-SK"; break;
case SystemLanguage.Slovenian: name = "sl-SI"; break;
case SystemLanguage.Spanish: name = "es-ES"; break;
case SystemLanguage.Swedish: name = "sv-SE"; break;
case SystemLanguage.Thai: name = "th-TH"; break;
case SystemLanguage.Turkish: name = "tr-TR"; break;
case SystemLanguage.Ukrainian: name = "uk-UA"; break;
case SystemLanguage.Vietnamese: name = "vi-VN"; break;
default:
name = "en-GB";
break;
}
return CultureInfo.GetCultures(CultureTypes.AllCultures).FirstOrDefault(c => c.Name == name);
}
}
public Point MousePosition
{
get
{
var mp = UnityEngine.Input.mousePosition;
var mx = mp.x;
var my = UnityEngine.Screen.height - mp.y;
var sx = System.Windows.Forms.Application.ScaleX;
var sy = System.Windows.Forms.Application.ScaleY;
return new Point((int) (mx / sx), (int) (my / sy));
}
}
}
}