Exemple #1
0
    private void EventPassed(bool initial, int index, BeatmapObject data)
    {
        if (!readyToGo || !IsActive)
        {
            return;
        }
        MapEvent e = data as MapEvent;

        if (!e.IsUtilityEvent())                                     //Filter out Ring Spin, Ring Zoom, and Laser Speeds
        {
            List <OscMessage> messages    = new List <OscMessage>(); //Collection of messages to mass send
            OscMessage        mainMessage = new OscMessage();
            mainMessage.address = $"/pb/{e._type}/{e._value}";
            messages.Add(mainMessage);
            if (e._value >= ColourManager.RGB_INT_OFFSET)                 //If we have a Chroma event in our hands...
            {
                Color      color = ColourManager.ColourFromInt(e._value); //Grab Chroma color from data
                OscMessage r     = new OscMessage();
                OscMessage g     = new OscMessage();                      //We hvae to make a new message for each RGB value, yay!
                OscMessage b     = new OscMessage();
                r.address = $"/exec/\"R\"/{color.r}";                     //Color values are floats from 0-1
                g.address = $"/exec/\"G\"/{color.g}";
                b.address = $"/exec/\"B\"/{color.b}";
                messages.AddRange(new List <OscMessage>()
                {
                    r, g, b
                });                                                    //Smack these guys into our messages list
            }
            foreach (OscMessage message in messages)
            {
                osc?.Send(message);                                      //Send those guys down the pipe.
            }
        }
    }
Exemple #2
0
 internal override void OnMouseOver()
 {
     if (Input.GetMouseButtonDown(2) && !KeybindsController.ShiftHeld)
     {
         if (eventData.IsUtilityEvent())
         {
             return;
         }
         if (eventData._value > 4 && eventData._value < 8)
         {
             eventData._value -= 4;
         }
         else if (eventData._value > 0)
         {
             eventData._value += 4;
         }
         eventAppearance.SetEventAppearance(this);
     }
     else if (Input.GetAxis("Mouse ScrollWheel") != 0)
     {
         if (KeybindsController.AltHeld && (eventData._type == MapEvent.EVENT_TYPE_LEFT_LASERS_SPEED || eventData._type == MapEvent.EVENT_TYPE_RIGHT_LASERS_SPEED))
         {
             eventData._value += (Input.GetAxis("Mouse ScrollWheel") > 0 ? -1 : 1);
             if (eventData._value < 0)
             {
                 eventData._value = 0;
             }
             eventAppearance.SetEventAppearance(this);
         }
     }
     else
     {
         base.OnMouseOver();
     }
 }
Exemple #3
0
    private void EventPassed(bool initial, int index, BeatmapObject data)
    {
        if (!readyToGo || !IsActive)
        {
            return;
        }
        MapEvent e = data as MapEvent;

        if (!e.IsUtilityEvent())
        {
            OscMessage message = new OscMessage();
            message.address = $"/CM_EventType{e._type}";
            if (e._value >= ColourManager.RGB_INT_OFFSET)
            {
                Color color = ColourManager.ColourFromInt(e._value);
                message.values.Add(color.r);
                message.values.Add(color.g);
                message.values.Add(color.b);
            }
            else
            {
                message.values.Add(e._value);
            }
            osc?.Send(message);
        }
    }