Exemplo n.º 1
0
    internal AudioEntity CreatePattern(int size, FollowType type, AudioEntity pulseSource)
    {
        var e = _contexts.audio.CreateEntity();
        List <AudioEntity> steps = new List <AudioEntity>();

        for (int i = 0; i < size; i++)
        {
            var s = _contexts.audio.CreateEntity();
            s.AddStep(false);
            s.AddVolume(1f);
            s.AddPitch(0);
            s.AddOffset(0);
            steps.Add(s);
        }
        e.AddPattern(steps, type, pulseSource);
        e.AddStepIndex(0);
        e.AddPosition(new IntVector2(0, type == FollowType.Pulse ? 0 : -3));
        e.isInteractive = true;
        e.AddAsset(type == FollowType.Pulse ? Res.KickSampler : Res.XyloSampler);
        e.AddPulseTrigger(AudioSettings.dspTime);
        entityService.CreateButtonLayout(type == FollowType.Pulse ? 0:-3, size, e);
        return(e);
    }