質問編集履歴

1

コードが反映されていなかったので。

2016/11/17 13:45

投稿

退会済みユーザー
test CHANGED
@@ -1 +1 @@
1
- unity/C#/宴で質問です
1
+ unity/C#/宴で質問です
test CHANGED
@@ -4,6 +4,10 @@
4
4
 
5
5
 
6
6
 
7
+ 丸なげ質問って言われてますね…。自分でもなんとか理解したいのですが理解が乏しいのでこのような質問しかできません。すいません。
8
+
9
+
10
+
7
11
  ・実装したいこと・
8
12
 
9
13
  追加でメニュー画面の作成しました(プログラムではなくほぼunity内で作成)
@@ -64,17 +68,7 @@
64
68
 
65
69
  何か助言してくださる方お願いします。
66
70
 
67
- ```/// <summary>
68
-
69
- /// メインゲーム画面のサンプル
70
-
71
- /// 入力処理に起点になるため、スクリプトの実行順を通常よりも少しはやくすること
72
-
73
- /// http://docs-jp.unity3d.com/Documentation/Components/class-ScriptExecution.html
74
-
75
- /// </summary>
76
-
77
- [AddComponentMenu("Utage/TemplateUI/MainGame")]
71
+ ```[AddComponentMenu("Utage/TemplateUI/MainGame")]
78
72
 
79
73
  public class UtageUguiMainGame : UguiView
80
74
 
@@ -192,551 +186,81 @@
192
186
 
193
187
 
194
188
 
195
- /// <summary>
196
-
197
- /// 画面を閉じる
198
-
199
- /// </summary>
200
-
201
- public override void Close()
202
-
203
- {
204
-
205
- base.Close();
206
-
207
- Engine.UiManager.Close();
208
-
209
- Engine.Config.IsSkip = false;
210
-
211
- }
212
-
213
-
214
-
215
- //起動データをクリア
216
-
217
- void ClearBootData()
218
-
219
- {
220
-
221
- bootType = BootType.Default;
222
-
223
- isInit = false;
224
-
225
- loadData = null;
226
-
227
- }
228
-
229
-
230
-
231
- /// <summary>
232
-
233
- /// ゲームをはじめから開始
234
-
235
- /// </summary>
236
-
237
- public void OpenStartGame()
238
-
239
- {
240
-
241
- ClearBootData();
242
-
243
- bootType = BootType.Start;
244
-
245
- Open();
246
-
247
- }
248
-
249
-
250
-
251
- /// <summary>
252
-
253
- /// 指定ラベルからゲーム開始
254
-
255
- /// </summary>
256
-
257
- public void OpenStartLabel(string label)
258
-
259
- {
260
-
261
- ClearBootData();
262
-
263
- bootType = BootType.StartLabel;
264
-
265
- this.scenaioLabel = label;
266
-
267
- Open();
268
-
269
- }
270
-
271
-
272
-
273
- /// <summary>
274
-
275
- /// セーブデータをロードしてゲーム再開
276
-
277
- /// </summary>
278
-
279
- /// <param name="loadData">ロードするセーブデータ</param>
280
-
281
- public void OpenLoadGame(AdvSaveData loadData)
282
-
283
- {
284
-
285
- ClearBootData();
286
-
287
- bootType = BootType.Load;
288
-
289
- this.loadData = loadData;
290
-
291
- Open();
292
-
293
- }
294
-
295
-
296
-
297
- /// <summary>
298
-
299
- /// シーン回想としてシーンを開始
300
-
301
- /// </summary>
302
-
303
- /// <param name="scenaioLabel">シーンラベル</param>
304
-
305
- public void OpenSceneGallery(string scenaioLabel)
306
-
307
- {
308
-
309
- ClearBootData();
310
-
311
- bootType = BootType.SceneGallery;
312
-
313
- this.scenaioLabel = scenaioLabel;
314
-
315
- Open();
316
-
317
- }
318
-
319
-
320
-
321
- /// <summary>
322
-
323
- /// オープンしたときに呼ばれる
324
-
325
- /// </summary>
326
-
327
- void OnOpen()
328
-
329
- {
330
-
331
- //スクショをクリア
332
-
333
- if (Engine.SaveManager.Type != AdvSaveManager.SaveType.SavePoint)
334
-
335
- {
336
-
337
- Engine.SaveManager.ClearCaptureTexture();
338
-
339
- }
340
-
341
- StartCoroutine(CoWaitOpen());
342
-
343
- }
344
-
345
-
346
-
347
-
348
-
349
- //起動待ちしてから開く
350
-
351
- IEnumerator CoWaitOpen()
352
-
353
- {
354
-
355
- while (Engine.IsWaitBootLoading) yield return 0;
356
-
357
-
358
-
359
- switch (bootType)
360
-
361
- {
362
-
363
- case BootType.Default:
364
-
365
- Engine.UiManager.Open();
366
-
367
- break;
368
-
369
- case BootType.Start:
370
-
371
- Engine.StartGame();
372
-
373
- break;
374
-
375
- case BootType.Load:
376
-
377
- Engine.OpenLoadGame(loadData);
378
-
379
- break;
380
-
381
- case BootType.SceneGallery:
382
-
383
- Engine.StartSceneGallery(scenaioLabel);
384
-
385
- break;
386
-
387
- case BootType.StartLabel:
388
-
389
- Engine.StartGame(scenaioLabel);
390
-
391
- break;
392
-
393
- }
394
-
395
- ClearBootData();
396
-
397
- loadData = null;
398
-
399
- Engine.Config.IsSkip = false;
400
-
401
- isInit = true;
402
-
403
- }
404
-
405
-
406
-
407
- //更新中
408
-
409
- void Update()
410
-
411
- {
412
-
413
- if (!isInit) return;
414
-
415
-
416
-
417
- //ローディングアイコンを表示
418
-
419
- if (SystemUi.GetInstance())
420
-
421
- {
422
-
423
- if (Engine.IsLoading)
189
+
190
+
191
+
192
+
193
+ public void LateUpdate()
194
+
195
+ {
196
+
197
+ //メニューボタンの表示・表示を切り替え
198
+
199
+ buttons.SetActive(Engine.UiManager.IsShowingMenuButton && Engine.UiManager.Status == AdvUiManager.UiStatus.Default);
200
+
201
+
202
+
203
+ //スキップフラグを反映
204
+
205
+ if (checkSkip)
206
+
207
+ {
208
+
209
+ if (checkSkip.isOn != Engine.Config.IsSkip)
424
210
 
425
211
  {
426
212
 
427
- SystemUi.GetInstance().StartIndicator(this);
213
+ checkSkip.isOn = Engine.Config.IsSkip;
428
214
 
429
215
  }
430
216
 
217
+ }
218
+
219
+
220
+
221
+ //オートフラグを反映
222
+
431
- else
223
+ if (checkAuto)
224
+
225
+ {
226
+
227
+ if (checkAuto.isOn != Engine.Config.IsAutoBrPage)
432
228
 
433
229
  {
434
230
 
435
- SystemUi.GetInstance().StopIndicator(this);
231
+ checkAuto.isOn = Engine.Config.IsAutoBrPage;
436
232
 
437
233
  }
438
234
 
439
235
  }
440
236
 
441
-
237
+ }
442
-
443
-
444
-
238
+
239
+
240
+
241
+
242
+
445
- if (Engine.IsEndScenario)
243
+ void CaptureScreenOnSavePoint( AdvPage page )
446
-
244
+
447
- {
245
+ {
448
-
246
+
449
- Close();
247
+ if (Engine.SaveManager.Type == AdvSaveManager.SaveType.SavePoint)
248
+
450
-
249
+ {
250
+
451
- if (Engine.IsSceneGallery)
251
+ if (page.IsSavePoint)
452
252
 
453
253
  {
454
254
 
455
- //回想シーン終了したのでギャラリーに
255
+ Debug.Log("Capture");
456
-
256
+
457
- gallery.Open();
257
+ StartCoroutine(CoCaptureScreen());
458
258
 
459
259
  }
460
260
 
461
- else
462
-
463
- {
464
-
465
- //シナリオ終了したのでタイトルへ
466
-
467
- title.Open(this);
468
-
469
- }
261
+ }
470
-
262
+
471
- }
263
+ }
472
-
473
- }
474
-
475
-
476
-
477
- public void LateUpdate()
478
-
479
- {
480
-
481
- //メニューボタンの表示・表示を切り替え
482
-
483
- buttons.SetActive(Engine.UiManager.IsShowingMenuButton && Engine.UiManager.Status == AdvUiManager.UiStatus.Default);
484
-
485
-
486
-
487
- //スキップフラグを反映
488
-
489
- if (checkSkip)
490
-
491
- {
492
-
493
- if (checkSkip.isOn != Engine.Config.IsSkip)
494
-
495
- {
496
-
497
- checkSkip.isOn = Engine.Config.IsSkip;
498
-
499
- }
500
-
501
- }
502
-
503
-
504
-
505
- //オートフラグを反映
506
-
507
- if (checkAuto)
508
-
509
- {
510
-
511
- if (checkAuto.isOn != Engine.Config.IsAutoBrPage)
512
-
513
- {
514
-
515
- checkAuto.isOn = Engine.Config.IsAutoBrPage;
516
-
517
- }
518
-
519
- }
520
-
521
- }
522
-
523
-
524
-
525
-
526
-
527
- void CaptureScreenOnSavePoint( AdvPage page )
528
-
529
- {
530
-
531
- if (Engine.SaveManager.Type == AdvSaveManager.SaveType.SavePoint)
532
-
533
- {
534
-
535
- if (page.IsSavePoint)
536
-
537
- {
538
-
539
- Debug.Log("Capture");
540
-
541
- StartCoroutine(CoCaptureScreen());
542
-
543
- }
544
-
545
- }
546
-
547
- }
548
-
549
-
550
-
551
-
552
-
553
-
554
-
555
-
556
-
557
-
558
-
559
- IEnumerator CoCaptureScreen()
560
-
561
- {
562
-
563
- yield return new WaitForEndOfFrame();
564
-
565
- //セーブ用のスクショを撮る
566
-
567
- Engine.SaveManager.CaptureTexture = LetterBoxCamera.CaptureScreen();
568
-
569
- }
570
-
571
-
572
-
573
- //スキップボタンが押された
574
-
575
- public void OnTapSkip( bool isOn )
576
-
577
- {
578
-
579
- Engine.Config.IsSkip = isOn;
580
-
581
- }
582
-
583
-
584
-
585
- //自動読み進みボタンが押された
586
-
587
- public void OnTapAuto( bool isOn )
588
-
589
- {
590
-
591
- Engine.Config.IsAutoBrPage = isOn;
592
-
593
- }
594
-
595
-
596
-
597
- //コンフィグボタンが押された
598
-
599
- public void OnTapConfig()
600
-
601
- {
602
-
603
- Close();
604
-
605
- config.Open(this);
606
-
607
- }
608
-
609
-
610
-
611
-
612
-
613
- //セーブボタンが押された
614
-
615
- public void OnTapSave()
616
-
617
- {
618
-
619
- if (Engine.IsSceneGallery) return;
620
-
621
-
622
-
623
- StartCoroutine(CoSave());
624
-
625
- }
626
-
627
- IEnumerator CoSave()
628
-
629
- {
630
-
631
- if (Engine.SaveManager.Type != AdvSaveManager.SaveType.SavePoint)
632
-
633
- {
634
-
635
- yield return new WaitForEndOfFrame();
636
-
637
- //セーブ用のスクショを撮る
638
-
639
- Engine.SaveManager.CaptureTexture = LetterBoxCamera.CaptureScreen();
640
-
641
- }
642
-
643
- //セーブ画面開く
644
-
645
- Close();
646
-
647
- saveLoad.OpenSave(this);
648
-
649
- }
650
-
651
-
652
-
653
- //ロードボタンが押された
654
-
655
- public void OnTapLoad()
656
-
657
- {
658
-
659
- if (Engine.IsSceneGallery) return;
660
-
661
-
662
-
663
- Close();
664
-
665
- saveLoad.OpenLoad(this);
666
-
667
- }
668
-
669
-
670
-
671
- //クイックセーブボタンが押された
672
-
673
- public void OnTapQSave()
674
-
675
- {
676
-
677
- if (Engine.IsSceneGallery) return;
678
-
679
-
680
-
681
- Engine.Config.IsSkip = false;
682
-
683
- StartCoroutine(CoQSave());
684
-
685
- }
686
-
687
- IEnumerator CoQSave()
688
-
689
- {
690
-
691
- if (Engine.SaveManager.Type != AdvSaveManager.SaveType.SavePoint)
692
-
693
- {
694
-
695
- yield return new WaitForEndOfFrame();
696
-
697
- //セーブ用のスクショを撮る
698
-
699
- Engine.SaveManager.CaptureTexture = LetterBoxCamera.CaptureScreen();
700
-
701
- }
702
-
703
- //クイックセーブ
704
-
705
- Engine.QuickSave();
706
-
707
- //スクショをクリア
708
-
709
- if (Engine.SaveManager.Type != AdvSaveManager.SaveType.SavePoint)
710
-
711
- {
712
-
713
- Engine.SaveManager.ClearCaptureTexture();
714
-
715
- }
716
-
717
- }
718
-
719
-
720
-
721
- //クイックロードボタンが押された
722
-
723
- public void OnTapQLoad()
724
-
725
- {
726
-
727
- if (Engine.IsSceneGallery) return;
728
-
729
-
730
-
731
- Engine.Config.IsSkip = false;
732
-
733
- Engine.QuickLoad();
734
-
735
- }
736
-
737
- }
738
-
739
-
740
264
 
741
265
  コード
742
266