回答編集履歴

1

コメントを受けてソース追加

2017/12/07 04:45

投稿

sakura_hana
sakura_hana

スコア11427

test CHANGED
@@ -21,3 +21,101 @@
21
21
  また、エラーが発生した時はエラーコードを読み、その後そのまま検索しましょう。
22
22
 
23
23
  (上記サイトはエラーコードでググって最初に出てきたものです)
24
+
25
+
26
+
27
+ ---
28
+
29
+ 2017/12/07 13:40 コメントを受けて追記
30
+
31
+ あまりスマートな書き方ではないですが、簡単にやるとこんな感じです。
32
+
33
+ 要は「完了フラグがオンになるまでループ処理しながら待つ」というやり方です。
34
+
35
+ 今回はUpdateでやりましたが負荷が気になるならコルーチンにして1秒毎にチェックとかでもいいと思います。
36
+
37
+ ```C#
38
+
39
+ public class Director : MonoBehaviour
40
+
41
+ {
42
+
43
+ FileSystemWatcher fsw = new FileSystemWatcher();
44
+
45
+
46
+
47
+ private bool isCreated; //追加:完了フラグ
48
+
49
+
50
+
51
+ public void Start ()
52
+
53
+ {
54
+
55
+ //監視対象のフォルダの設定
56
+
57
+ fsw.Path = フォルダパス;
58
+
59
+ //監視する種類の設定
60
+
61
+ fsw.NotifyFilter =
62
+
63
+ (NotifyFilters.Attributes
64
+
65
+ | NotifyFilters.LastAccess
66
+
67
+ | NotifyFilters.LastWrite
68
+
69
+ | NotifyFilters.FileName
70
+
71
+ | NotifyFilters.DirectoryName);
72
+
73
+ //サブディレクトリも監視
74
+
75
+ fsw.IncludeSubdirectories = true;
76
+
77
+
78
+
79
+ //すべてのファイルを監視
80
+
81
+ fsw.Filter = "";
82
+
83
+ //イベント設定
84
+
85
+ fsw.Created += fsw_Created;
86
+
87
+ //監視を開始
88
+
89
+ fsw.EnableRaisingEvents = true;
90
+
91
+ }
92
+
93
+ public void fsw_Created(object sender, FileSystemEventArgs e)
94
+
95
+ {
96
+
97
+ Debug.Log("Created");
98
+
99
+ isCreated = true; //変更:フラグをオンにするだけ
100
+
101
+ }
102
+
103
+
104
+
105
+ void Update ()
106
+
107
+ {
108
+
109
+ if (isCreated) { //追加:フラグがオンになったらシーン遷移実行
110
+
111
+ isCreated = false;
112
+
113
+ SceneManager.LoadScene("GameScene");
114
+
115
+ }
116
+
117
+ }
118
+
119
+ }
120
+
121
+ ```