回答編集履歴

1

追記

2019/10/29 12:37

投稿

KanazawaKureha
KanazawaKureha

スコア368

test CHANGED
@@ -22,4 +22,66 @@
22
22
 
23
23
  ---
24
24
 
25
+ データを同期させるためのオブジェクト作成→アタッチ
26
+
27
+ ```C#
28
+
29
+ public class DataSerializer : Photon.MonoBihaviour
30
+
31
+ {
32
+
33
+ bool isStarted = false;//モデルが作成されているならば真になる変数
34
+
35
+ public int nextModeNumber = 0;//モデル番号が格納されるべき変数
36
+
37
+
38
+
39
+ void OnPhotonSerializeView(PhotonStream phS, PhotonMessageInfo phInfo)
40
+
41
+ {
42
+
43
+ if (phS.isWriting && isStarted)//書き込みターン且つモデル作成済み(nextModelNumberに値が格納済み)ならば次の値を格納させる
44
+
45
+ {
46
+
47
+ phS.SendNext(++nextModeNumber);
48
+
49
+ }
50
+
51
+ else if (!phS.isWriting)//読み込みターンならば共有変数を取得
52
+
53
+ {
54
+
55
+ nextModeNumber = (int)phS.Receivenext();
56
+
57
+ ≪モデル作成関数≫(nextModeNumber);
58
+
59
+ isStarted = true;
60
+
61
+ }
62
+
63
+ }
64
+
65
+ }
66
+
67
+ ```
68
+
69
+ 上記コードはかなり適当ですが
70
+
71
+ やっていることは
72
+
73
+ OnPhotonSerializeView(...)内で
74
+
75
+ ・自分が読み込みターンならば、変数nextModelNumberを取得
76
+
77
+ ・自分はすでにモデル作成を済ませており、書き込みターンならば、変数nextModelNumber+1を格納
78
+
79
+ という処理です。
80
+
81
+ 自身PUNを使ったのがかなり前のことなのでミスがないとは言えないので参考までに。
82
+
83
+
84
+
85
+ ---
86
+
25
87
  回答が的を得ていない。理解できない、やり方がわからない時はお手数ですがコメントお願いします。