3434using UnityEditor . AnimatedValues ;
3535using UnityEngine . Events ;
3636using VRM ;
37+ using System . Linq ;
38+
3739namespace EVMC4U
3840{
3941 public class Tutorial : EditorWindow
@@ -60,7 +62,8 @@ private class TutorialJson
6062 {
6163 public bool debug ;
6264 public TutorialPage [ ] pages ;
63- public override string ToString ( ) {
65+ public override string ToString ( )
66+ {
6467 return "TutorialJson debug:" + debug + " pages:" + pages . Length ;
6568 }
6669 }
@@ -104,7 +107,8 @@ public override string ToString()
104107 static void InitializeOnLoad ( )
105108 {
106109 //一度も開いたことない場合は、ここで開く
107- if ( EditorUserSettings . GetConfigValue ( "Opened" ) != "1" || ( check && EditorUserSettings . GetConfigValue ( "VRMCheckCaution" ) != "1" ) ) {
110+ if ( EditorUserSettings . GetConfigValue ( "Opened" ) != "1" || ( check && EditorUserSettings . GetConfigValue ( "VRMCheckCaution" ) != "1" ) )
111+ {
108112 Open ( ) ;
109113 }
110114 }
@@ -167,7 +171,8 @@ public static void Open()
167171 //一度開いたのを覚えておく
168172 EditorUserSettings . SetConfigValue ( "Opened" , "1" ) ;
169173 }
170- catch ( ArgumentException e ) {
174+ catch ( ArgumentException e )
175+ {
171176 //Debug.LogError(e);
172177 jsonError = e . ToString ( ) ;
173178 tutorialJson = null ;
@@ -179,7 +184,8 @@ public static void Open()
179184 EditorUserSettings . SetConfigValue ( "VRMCheckCaution" , "1" ) ;
180185 page = "versionCheckFailed" ;
181186 }
182- else {
187+ else
188+ {
183189 EditorUserSettings . SetConfigValue ( "VRMCheckCaution" , "0" ) ;
184190 }
185191 }
@@ -194,29 +200,33 @@ public static void ResetLanguage()
194200 void OnGUI ( )
195201 {
196202 //ページを開いたまま初期化されたら、初期ロード処理に飛ばす
197- if ( page == "" ) {
203+ if ( page == "" )
204+ {
198205 GUI . Label ( new Rect ( 10 , 10 , window_w , window_h ) , "INVALID STATE\n \n チュートリアルの読み込みに失敗しました。\n UnityPackageの導入からやり直してみてください\n \n Tutorial load failed.\n Please re-import UnityPackage." ) ;
199206 Open ( ) ;
200207 return ;
201208 }
202209
203210 //アニメーションを立ち上げる
204- if ( anim . valueChanged == null ) {
211+ if ( anim . valueChanged == null )
212+ {
205213 var repaintEvent = new UnityEvent ( ) ;
206214 repaintEvent . AddListener ( ( ) => Repaint ( ) ) ;
207215 anim . valueChanged = repaintEvent ;
208216 }
209217
210218 //アニメーション折り返し
211- if ( anim . value > anim . target - 0.1f ) {
219+ if ( anim . value > anim . target - 0.1f )
220+ {
212221 anim . target = 0.001f ;
213222 }
214223
215224 //ページの表示処理を開始
216225 TutorialPage tutorialPage ;
217- if ( ! tutorialPages . TryGetValue ( page , out tutorialPage ) ) {
226+ if ( ! tutorialPages . TryGetValue ( page , out tutorialPage ) )
227+ {
218228 //JSONが多分バグってるときに表示
219- GUI . Label ( new Rect ( 10 , 10 , window_w - 20 , window_h ) , "JSON LOAD FAILED\n " + jsonError + "\n \n チュートリアルの読み込みに失敗しました。\n UnityPackageの導入からやり直してみてください\n \n Tutorial load failed.\n Please re-import UnityPackage." ) ;
229+ GUI . Label ( new Rect ( 10 , 10 , window_w - 20 , window_h ) , "JSON LOAD FAILED\n " + jsonError + "\n \n チュートリアルの読み込みに失敗しました。\n UnityPackageの導入からやり直してみてください\n \n Tutorial load failed.\n Please re-import UnityPackage." ) ;
220230 if ( GUI . Button ( new Rect ( 0 , window_h - 30 , window_w , 30 ) , "Reload" ) )
221231 {
222232 Open ( ) ;
@@ -242,14 +252,16 @@ void OnGUI()
242252 GUI . Label ( new Rect ( 0 , 0 , window_w , window_h ) , tutorialPage . text ) ;
243253
244254 //ボタンを1つずつ表示
245- foreach ( var b in tutorialPage . buttons ) {
255+ foreach ( var b in tutorialPage . buttons )
256+ {
246257 if ( tutorialJson . debug )
247258 {
248259 Debug . Log ( b ) ;
249260 }
250261
251262 //ボタンに画像があればそれを表示
252- if ( b . image != "" ) {
263+ if ( b . image != "" )
264+ {
253265 //画像を読み込む
254266 var texture = Resources . Load < Texture > ( "tutorial/" + b . image ) ;
255267
@@ -260,7 +272,7 @@ void OnGUI()
260272 b . w = window_w ;
261273 }
262274
263- string buttonName = "btn#" + page + "#" + b . x + "-" + b . y + "-" + b . w + "-" + b . h ;
275+ string buttonName = "btn#" + page + "#" + b . x + "-" + b . y + "-" + b . w + "-" + b . h ;
264276 float height = b . w * texture . height / texture . width ;
265277
266278 Rect r = new Rect ( b . x , b . y , b . w , height ) ;
@@ -281,9 +293,11 @@ void OnGUI()
281293 anim . target = 2f ;
282294 }
283295 }
284- else {
296+ else
297+ {
285298 //テキストボタンを表示
286- if ( GUI . Button ( new Rect ( b . x , b . y , b . w , b . h ) , b . text ) ) {
299+ if ( GUI . Button ( new Rect ( b . x , b . y , b . w , b . h ) , b . text ) )
300+ {
287301 buttonFireProcess ( b . fire ) ;
288302 buttonUriProcess ( b . uri ) ;
289303 }
@@ -293,14 +307,15 @@ void OnGUI()
293307 //デバッグ再読み込みボタン
294308 if ( tutorialJson . debug )
295309 {
296- if ( GUI . Button ( new Rect ( 0 , window_h - 30 , 30 , 30 ) , "#" ) )
310+ if ( GUI . Button ( new Rect ( 0 , window_h - 30 , 30 , 30 ) , "#" ) )
297311 {
298312 Open ( ) ;
299313 }
300314 }
301315 }
302316
303- void buttonUriProcess ( string uri ) {
317+ void buttonUriProcess ( string uri )
318+ {
304319 if ( tutorialJson . debug )
305320 {
306321 Debug . LogWarning ( "buttonProcess: " + uri ) ;
@@ -320,10 +335,42 @@ void buttonUriProcess(string uri) {
320335 }
321336 }
322337
323- void buttonFireProcess ( string fire ) {
324- switch ( fire ) {
325- case "SaveLanguageJa" : EditorUserSettings . SetConfigValue ( "Language" , "ja" ) ; break ;
326- case "SaveLanguageEn" : EditorUserSettings . SetConfigValue ( "Language" , "en" ) ; break ;
338+ void buttonFireProcess ( string fire )
339+ {
340+ switch ( fire )
341+ {
342+ case "SaveLanguageJa" :
343+ {
344+ EditorUserSettings . SetConfigValue ( "Language" , "ja" ) ;
345+ var symbols = PlayerSettings . GetScriptingDefineSymbolsForGroup ( BuildTargetGroup . Standalone ) . Split ( ';' ) . ToList ( ) ;
346+ if ( symbols . Contains ( "EVMC4U_EN" ) )
347+ {
348+ symbols . Remove ( "EVMC4U_EN" ) ;
349+ }
350+ if ( ! symbols . Contains ( "EVMC4U_JA" ) )
351+ {
352+ symbols . Add ( "EVMC4U_JA" ) ;
353+ }
354+ PlayerSettings . SetScriptingDefineSymbolsForGroup ( BuildTargetGroup . Standalone , String . Join ( ";" , symbols . ToArray ( ) ) ) ;
355+
356+ break ;
357+ }
358+ case "SaveLanguageEn" :
359+ {
360+ EditorUserSettings . SetConfigValue ( "Language" , "en" ) ;
361+ var symbols = PlayerSettings . GetScriptingDefineSymbolsForGroup ( BuildTargetGroup . Standalone ) . Split ( ';' ) . ToList ( ) ;
362+ if ( symbols . Contains ( "EVMC4U_JA" ) )
363+ {
364+ symbols . Remove ( "EVMC4U_JA" ) ;
365+ }
366+ if ( ! symbols . Contains ( "EVMC4U_EN" ) )
367+ {
368+ symbols . Add ( "EVMC4U_EN" ) ;
369+ }
370+ PlayerSettings . SetScriptingDefineSymbolsForGroup ( BuildTargetGroup . Standalone , String . Join ( ";" , symbols . ToArray ( ) ) ) ;
371+
372+ break ;
373+ }
327374 default : break ;
328375 }
329376 }
0 commit comments