private void Execute(GameObject target) { int[] lottery = new int[target.transform.childCount]; int inactiveCnt = 0; for (int cidx = 0; cidx < target.transform.childCount; cidx++) { if (target.transform.GetChild(cidx).gameObject.activeSelf != operation) { lottery[inactiveCnt] = cidx; inactiveCnt++; } } if (inactiveCnt == 0) { return; } if (broadcastGlobal) { Random.InitState(broadcastGlobal.GetSeed() + seedOffset); seedOffset++; } target.transform.GetChild(lottery[Random.Range(0, inactiveCnt)]).gameObject.SetActive(operation); }
public void Action() { if (!audioBank || !RandomJudgement()) { return; } #if !UNITY_EDITOR if (broadcastGlobal) { audioBank.SetInitialSeed(broadcastGlobal.GetSeed() + 20000); } #endif switch (command) { case 0: audioBank.Play(index); break; case 1: audioBank.Stop(); break; case 2: audioBank.PlayNext(); break; case 3: audioBank.Shuffle(); break; } }