【ハルシオンブログ】Toggleで値を変えたときにonValueChangedで処理したくないとき
こんにちは。
大坂です。
Toggleの値が変わったらonValueChangedでなにか処理をしたいときがよくありますね。
が、しかし処理タイミングによっては処理をしたくないときもあります。。
そんなときは「SetIsOnWithoutNotify」を使うとonValueChangedの処理が呼び出されなくなります。

「toggle.isOn」で変更している一回分のログしか出ていませんね。
という感じで、「SetIsOnWithoutNotify」を使用すればonValueChangedが呼び出されません。
他にもSliderやDropdownなら「SetValueWithoutNotify」を使用すればonValueChangedが呼び出されなくなります。
なにかの参考にしてくださいませ。
ではではノシ
大坂です。
Toggleの値が変わったらonValueChangedでなにか処理をしたいときがよくありますね。
が、しかし処理タイミングによっては処理をしたくないときもあります。。
そんなときは「SetIsOnWithoutNotify」を使うとonValueChangedの処理が呼び出されなくなります。
public class Test : MonoBehaviour
{
public Toggle toggle;
void Start()
{
toggle.onValueChanged.AddListener(a => Debug.Log("Test"));
// onValueChangedが呼び出される
toggle.isOn = false;
// onValueChangedが呼び出されない
toggle.SetIsOnWithoutNotify(true);
}
}

「toggle.isOn」で変更している一回分のログしか出ていませんね。
という感じで、「SetIsOnWithoutNotify」を使用すればonValueChangedが呼び出されません。
他にもSliderやDropdownなら「SetValueWithoutNotify」を使用すればonValueChangedが呼び出されなくなります。
なにかの参考にしてくださいませ。
ではではノシ
Category: 開発日記(Unity)
« 【ハルシオンブログ】Unity(C#)でDictionaryの紹介。Listばっかり使ってたけどこいつも悪くはねえなぁ | 【ハルシオンブログ】Unityのパッケージマネージャーにローカル通知のやつがあったので試してみたよ(Android) »
コメント
| h o m e |