teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

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

2017/12/07 04:45

投稿

sakura_hana
sakura_hana

スコア11429

answer CHANGED
@@ -9,4 +9,53 @@
9
9
  質問を記入する際、ソースコードは「```」で囲んでください。
10
10
  (入力欄上の「</>」ボタンを押すとテンプレートが表示されます)
11
11
  また、エラーが発生した時はエラーコードを読み、その後そのまま検索しましょう。
12
- (上記サイトはエラーコードでググって最初に出てきたものです)
12
+ (上記サイトはエラーコードでググって最初に出てきたものです)
13
+
14
+ ---
15
+ 2017/12/07 13:40 コメントを受けて追記
16
+ あまりスマートな書き方ではないですが、簡単にやるとこんな感じです。
17
+ 要は「完了フラグがオンになるまでループ処理しながら待つ」というやり方です。
18
+ 今回はUpdateでやりましたが負荷が気になるならコルーチンにして1秒毎にチェックとかでもいいと思います。
19
+ ```C#
20
+ public class Director : MonoBehaviour
21
+ {
22
+ FileSystemWatcher fsw = new FileSystemWatcher();
23
+
24
+ private bool isCreated; //追加:完了フラグ
25
+
26
+ public void Start ()
27
+ {
28
+ //監視対象のフォルダの設定
29
+ fsw.Path = フォルダパス;
30
+ //監視する種類の設定
31
+ fsw.NotifyFilter =
32
+ (NotifyFilters.Attributes
33
+ | NotifyFilters.LastAccess
34
+ | NotifyFilters.LastWrite
35
+ | NotifyFilters.FileName
36
+ | NotifyFilters.DirectoryName);
37
+ //サブディレクトリも監視
38
+ fsw.IncludeSubdirectories = true;
39
+
40
+ //すべてのファイルを監視
41
+ fsw.Filter = "";
42
+ //イベント設定
43
+ fsw.Created += fsw_Created;
44
+ //監視を開始
45
+ fsw.EnableRaisingEvents = true;
46
+ }
47
+ public void fsw_Created(object sender, FileSystemEventArgs e)
48
+ {
49
+ Debug.Log("Created");
50
+ isCreated = true; //変更:フラグをオンにするだけ
51
+ }
52
+
53
+ void Update ()
54
+ {
55
+ if (isCreated) { //追加:フラグがオンになったらシーン遷移実行
56
+ isCreated = false;
57
+ SceneManager.LoadScene("GameScene");
58
+ }
59
+ }
60
+ }
61
+ ```