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

回答編集履歴

1

参考コード追記

2019/01/10 11:34

投稿

negitama
negitama

スコア943

answer CHANGED
@@ -1,1 +1,28 @@
1
- 非MonoBehaviourな内部クラスにフィールドを持たせて、そのコンストラクタでのみ値をセットできるようにしてはいかがでしょうか。
1
+ 非MonoBehaviourな内部クラスにフィールドを持たせて、そのコンストラクタでのみ値をセットできるようにしてはいかがでしょうか。
2
+ たとえば以下のような感じで。
3
+
4
+ ```C#
5
+ using UnityEngine;
6
+
7
+ public class InitReadOnlyField : MonoBehaviour
8
+ {
9
+ // 内部クラス
10
+ private class MyField
11
+ {
12
+ private int myInt;
13
+ public int MyInt => myInt;
14
+
15
+ // コンストラクタでのみ値をセットできる
16
+ public MyField ( int val )
17
+ {
18
+ myInt = val;
19
+ }
20
+ }
21
+
22
+ private void Start ()
23
+ {
24
+ var a = new MyField(3);
25
+ Debug.Log ( a.MyInt );
26
+ }
27
+ }
28
+ ```