自省録(mod関係)
modに関して得た知見を脈絡なく無限に書いていく場所。Ho:ホスト、Cl:クライアント
Awake→Start→SafeAwake?→FixedUpdate→LateUpdate?
OnSimulateStart:HoCl両方で実行される
SimulateUpdateAlways:HoCl両方
SimulateUpdateHost:Hoのみ
public override void ○○{ base.○○(); ~~}・・・overrideするとvirtualの方は実行されないため、base.○○();で実行させる
<Toggle displayName="Display UI" key = "use-UI" default = "false" /> Key,Slider,Toggle:Key
プレイヤーあたり1個だけしかないならmod.csの上の方でpublic staticで定義すると便利、Mod.〇〇で呼び出せる(Mod.Log()と同じ)
anchorで位置調整ができる。Min(0.5f, 0.5f), Max(0.5f, 0.5f)が真ん中
ScriptはComponentの一種。GameObjectにはデフォでtransformがある。他にはRigidbody、BoxCollider、Canvas、Audio Sourceなどがある
GameObject.Find("AA")のAAはGameObjectのもつnameプロパティであり、モノ自体の名前?とは異なる。
GameObject A = new GameObject("B");、GameObject A' = new GameObject("B' ");としたとき、これを探すにはGameObject.FInd("B"); とするが、親を設定する時は、A.transform.SetParent(A'.transform);のようにAやA'を使う
AdExplosionEffect:FixedUpdate→Explode→ExplodeMessage→ExplosionForce うちExplodeMessageのみpublic
public void A(int i){}のとき、(イベント)+= A とするとイベントにAを追加できる
Unity5.4.0だとParticleSystemのカラーはColor32
private Text a;としたものをAddComponentでUIに追加する場合、UIのGameObjectが作られてからでないとエラーが出る
isHostingはソロプレイだとfalse
Debugをtrueにしないとコンソールからログは見れない(Debug.Log()しても見えない)
float A = 1f / B; (fを入れないとダメ)
Canvas/ScoreboardHUD/Container/Background/Scoreboard/Content/Scroll View/Content/ScoreboardItem(Clone)/いろいろ!!!!
機体名やHPはシミュ開始時に取得しないと出入りがあるからダメ
AnchorPosition…X:+が右、-が左 Y:+が上、-が下
Toggleは基本buildblock内で動かそう!(MToggle.Toggled += ValueChange)
どうしてもシミュ直後にしたいならGetToggle()で改めて取得?
BlockScriptを無理くり追加する場合はOnSimulateStart()が呼ばれない?Start()で代替
StatMaster.PlayMode == BesiegePlayMode.Spectatorで観戦を受け取る
Event.OnPlayerJoin, Event.OnPlayerLeave, Event.OnConnect, Event.OnDisconnectがある