private void Engine_onButtonAdded(object?sender, OpenDeck.Server.API.Events.ButtonAddedEventArgs e) { if (e.Button != null) { JSONButton button = e.Button; Dispatcher.UIThread.InvokeAsync((Action)(() => { this.FindControl <Button>("Button" + button.Position).Tag = button; this.FindControl <Button>("Button" + button.Position).Background = new ImageBrush(new Bitmap(Environment.CurrentDirectory + @"\res\" + button.Icon)); })); } }
private void Button_onClick(object sender, RoutedEventArgs e) { JSONButton button = ((Button)sender).Tag as JSONButton; if (button.Scope == OpenDeck.Server.API.Actions.ActionScope.Client) { switch (button.ActionCMD) { case "SOUND": break; } } }
public ButtonAddedEventArgs(ActionScope WhoAdded, JSONButton Button) { this.WhoAdded = WhoAdded; this.Button = Button; }
public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer) { if (value != null) { if (value.GetType() == typeof(Color)) { Color color = (Color)value; writer.WriteStartObject(); writer.WritePropertyName("r"); writer.WriteValue(Math.Floor(color.r * 1000) / 1000); writer.WritePropertyName("g"); writer.WriteValue(Math.Floor(color.g * 1000) / 1000); writer.WritePropertyName("b"); writer.WriteValue(Math.Floor(color.b * 1000) / 1000); writer.WritePropertyName("a"); writer.WriteValue(Math.Floor(color.a * 1000) / 1000); writer.WriteEndObject(); } else if (value.GetType() == typeof(Vector2)) { Vector2 v = (Vector2)value; writer.WriteStartObject(); writer.WritePropertyName("x"); writer.WriteValue(v.x); writer.WritePropertyName("y"); writer.WriteValue(v.y); writer.WriteEndObject(); } else if (value.GetType() == typeof(Vector3)) { Vector3 v = (Vector3)value; writer.WriteStartObject(); writer.WritePropertyName("x"); writer.WriteValue(v.x); writer.WritePropertyName("y"); writer.WriteValue(v.y); writer.WritePropertyName("z"); writer.WriteValue(v.z); writer.WriteEndObject(); } else if (value.GetType() == typeof(Vector4)) { Vector4 v = (Vector4)value; writer.WriteStartObject(); writer.WritePropertyName("x"); writer.WriteValue(v.x); writer.WritePropertyName("y"); writer.WriteValue(v.y); writer.WritePropertyName("z"); writer.WriteValue(v.z); writer.WritePropertyName("w"); writer.WriteValue(v.w); writer.WriteEndObject(); } else if (value.GetType() == typeof(Quaternion)) { Quaternion q = (Quaternion)value; writer.WriteStartObject(); writer.WritePropertyName("x"); writer.WriteValue(q.x); writer.WritePropertyName("y"); writer.WriteValue(q.y); writer.WritePropertyName("z"); writer.WriteValue(q.z); writer.WritePropertyName("w"); writer.WriteValue(q.w); writer.WriteEndObject(); } else if (value.GetType() == typeof(Matrix4x4)) { Matrix4x4 m = (Matrix4x4)value; writer.WriteStartArray(); for (int y = 0; y < 4; y++) { for (int x = 0; x < 4; x++) { writer.WriteValue(m[y, x]); } } writer.WriteEndArray(); } else if (value.GetType() == typeof(JSONKeyframe)) { JSONKeyframe kf = (JSONKeyframe)value; writer.WriteStartObject(); writer.WritePropertyName("time"); writer.WriteValue(kf.time); writer.WritePropertyName("value"); writer.WriteValue(kf.value); if (!string.IsNullOrEmpty(kf.name)) { writer.WritePropertyName("name"); writer.WriteValue(kf.name); } writer.WritePropertyName("onOff"); writer.WriteValue(kf.onOff); writer.WriteEndObject(); } else if (value.GetType() == typeof(JSONTransform)) { JSONTransform t = (JSONTransform)value; writer.WriteStartObject(); writeJSONTransform(writer, t, serializer); writer.WriteEndObject(); } else if (value.GetType() == typeof(JSONRectTransform)) { JSONRectTransform t = (JSONRectTransform)value; writer.WriteStartObject(); writeJSONTransform(writer, t, serializer); if (!t.anchoredPosition.Equals(Vector2.zero)) { writer.WritePropertyName("anchoredPosition"); serializer.Serialize(writer, t.anchoredPosition); } if (!t.anchorMax.Equals(new Vector2(0.5f, 0.5f))) { writer.WritePropertyName("anchorMax"); serializer.Serialize(writer, t.anchorMax); } if (!t.anchorMin.Equals(new Vector2(0.5f, 0.5f))) { writer.WritePropertyName("anchorMin"); serializer.Serialize(writer, t.anchorMin); } /* if (!t.offsetMax.Equals(Vector2.zero)) * { * writer.WritePropertyName("offsetMax"); * serializer.Serialize(writer, t.offsetMax); * } * * if (!t.offsetMin.Equals(Vector2.zero)) * { * writer.WritePropertyName("offsetMin"); * serializer.Serialize(writer, t.offsetMin); * } */ if (!t.pivot.Equals(new Vector2(0.5f, 0.5f))) { writer.WritePropertyName("pivot"); serializer.Serialize(writer, t.pivot); } if (!t.sizeDelta.Equals(Vector2.zero)) { writer.WritePropertyName("sizeDelta"); serializer.Serialize(writer, t.sizeDelta); } writer.WriteEndObject(); } else if (value.GetType() == typeof(JSONImage)) { JSONImage b = (JSONImage)value; writer.WriteStartObject(); writeJSONComponent(writer, b, serializer); writeJSONGraphic(writer, b, serializer); if (!string.IsNullOrEmpty(b.spriteName)) { writer.WritePropertyName("spriteName"); writer.WriteValue(b.spriteName); } if (b.minHeight != 0) { writer.WritePropertyName("minHeight"); writer.WriteValue(b.minHeight); } if (b.minWidth != 0) { writer.WritePropertyName("minWidth"); writer.WriteValue(b.minWidth); } if (b.preferredHeight != 0) { writer.WritePropertyName("preferredHeight"); writer.WriteValue(b.preferredHeight); } if (b.preferredWidth != 0) { writer.WritePropertyName("preferredWidth"); writer.WriteValue(b.preferredWidth); } if (!b.preserveAspect) { writer.WritePropertyName("preserveAspect"); writer.WriteValue(b.preserveAspect); } if (b.fillType != 0) { writer.WritePropertyName("fillType"); writer.WriteValue(b.fillType); if (b.fillType == 1) { if (!b.border.Equals(Vector4.zero)) { writer.WritePropertyName("border"); serializer.Serialize(writer, b.border); } } else if (b.fillType == 3) { writer.WritePropertyName("fillOrigin"); writer.WriteValue(b.fillOrigin); writer.WritePropertyName("fillAmount"); writer.WriteValue(b.fillAmount); writer.WritePropertyName("fillMethod"); writer.WriteValue(b.fillMethod); } } writer.WriteEndObject(); } else if (value.GetType() == typeof(JSONButton)) { JSONButton b = (JSONButton)value; writer.WriteStartObject(); writeJSONComponent(writer, b, serializer); if (b.interactable) { writer.WritePropertyName("interactable"); writer.WriteValue(b.interactable); } if (b.transition != 0) { writer.WritePropertyName("transition"); writer.WriteValue(b.transition); } if (!b.normalColor.Equals(blankColor)) { writer.WritePropertyName("normalColor"); serializer.Serialize(writer, b.normalColor); } if (!b.disabledColor.Equals(blankColor)) { writer.WritePropertyName("disabledColor"); serializer.Serialize(writer, b.disabledColor); } if (!b.pressedColor.Equals(blankColor)) { writer.WritePropertyName("pressedColor"); serializer.Serialize(writer, b.pressedColor); } if (!b.highlightedColor.Equals(blankColor)) { writer.WritePropertyName("highlightedColor"); serializer.Serialize(writer, b.highlightedColor); } if (b.colorMultiplier != 1) { writer.WritePropertyName("colorMultiplier"); writer.WriteValue(b.colorMultiplier); } if (!string.IsNullOrEmpty(b.disabledSprite)) { writer.WritePropertyName("disabledSprite"); writer.WriteValue(b.disabledSprite); } if (!string.IsNullOrEmpty(b.pressedSprite)) { writer.WritePropertyName("pressedSprite"); writer.WriteValue(b.pressedSprite); } if (!string.IsNullOrEmpty(b.highlightedSprite)) { writer.WritePropertyName("highlightedSprite"); writer.WriteValue(b.highlightedSprite); } writer.WriteEndObject(); } else if (value.GetType() == typeof(JSONText)) { JSONText t = (JSONText)value; writer.WriteStartObject(); writeJSONComponent(writer, t, serializer); writeJSONGraphic(writer, t, serializer); writer.WritePropertyName("text"); writer.WriteValue(t.text); writer.WritePropertyName("fontName"); writer.WriteValue(t.fontName); writer.WritePropertyName("fontSize"); writer.WriteValue(t.fontSize); writer.WritePropertyName("alignment"); writer.WriteValue(t.alignment); if (t.hOverflow != 0) { writer.WritePropertyName("hOverflow"); writer.WriteValue(t.hOverflow); } if (t.vOverflow != 0) { writer.WritePropertyName("vOverflow"); writer.WriteValue(t.vOverflow); } if (t.resizeTextForBestFit) { writer.WritePropertyName("resizeTextForBestFit"); writer.WriteValue(t.resizeTextForBestFit); if (t.resizeTextMaxSize != 0) { writer.WritePropertyName("resizeTextMaxSize"); writer.WriteValue(t.resizeTextMaxSize); } if (t.resizeTextMinSize != 0) { writer.WritePropertyName("resizeTextMinSize"); writer.WriteValue(t.resizeTextMinSize); } } if (t.lineSpacing != 0) { writer.WritePropertyName("lineSpacing"); writer.WriteValue(t.lineSpacing); } if (t.ignoreBitmapFont) { writer.WritePropertyName("ignoreBitmapFont"); writer.WriteValue(t.ignoreBitmapFont); if (t.fontWeight.ToLower() != "normal") { writer.WritePropertyName("fontWeight"); writer.WriteValue(t.fontWeight.ToLower()); } if (t.strokeThickness != 0) { writer.WritePropertyName("strokeThickness"); writer.WriteValue(t.strokeThickness); if (!t.stroke.Equals(Color.black)) { writer.WritePropertyName("stroke"); serializer.Serialize(writer, t.stroke); } } if (t.leading != 0) { writer.WritePropertyName("leading"); writer.WriteValue(t.leading); } if (t.letterSpacing != 0) { writer.WritePropertyName("letterSpacing"); writer.WriteValue(t.letterSpacing); } if (t.lineHeight != 0) { writer.WritePropertyName("lineHeight"); writer.WriteValue(t.lineHeight); } if (t.padding != 0) { writer.WritePropertyName("padding"); writer.WriteValue(t.padding); } if (t.dropShadow) { writer.WritePropertyName("dropShadow"); writer.WriteValue(t.dropShadow); writer.WritePropertyName("dropShadowAngle"); writer.WriteValue(t.dropShadowAngle); writer.WritePropertyName("dropShadowDistance"); writer.WriteValue(t.dropShadowDistance); if (t.dropShadowAlpha != 1) { writer.WritePropertyName("dropShadowAlpha"); writer.WriteValue(t.dropShadowAlpha); } if (t.dropShadowBlur != 0) { writer.WritePropertyName("dropShadowBlur"); writer.WriteValue(t.dropShadowBlur); } if (!t.dropShadowColor.Equals(Color.black)) { writer.WritePropertyName("dropShadowColor"); serializer.Serialize(writer, t.dropShadowColor); } } } writer.WriteEndObject(); } } }