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);
    }
Пример #2
0
    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;
        }
    }