public override void OnGUITool(SWBaseInfo info, bool isSelected) { center = info.imageRect.center + offset; base.OnGUITool(info, isSelected); rect = SWCommon.GetRect(center + ArrowOff, new Vector2(boxSize, boxSize)); mat.SetFloat("r", -SWCommon.Vector2Angle(ArrowOff)); if (ArrowOff.magnitude > 8f) { Graphics.DrawTexture(rect, SWEditorUI.Texture(SWUITex.effectArrow), mat); } Graphics.DrawTexture(SWCommon.GetRect(center, new Vector2(centerSize, centerSize)), SWEditorUI.Texture(SWUITex.effectCenter), mat); mat.SetFloat("r", 0f); mat.SetTexture("_MainTex", SWEditorUI.Texture(SWUITex.effectLine)); SWDraw.DrawLine(center, rect.center, Color.white, lineWidth, mat); float dis = ArrowOff.magnitude; dis = dis - 3; dis = Mathf.Clamp(dis, 0, float.MaxValue); Vector2 v = center + ArrowOff.normalized * dis; v = center; GUI.color = Color.black; GUI.Label(SWCommon.GetRect(v, new Vector2(15, 15)), title); GUI.color = Color.white; }
void ShowBG_Textures() { foreach (var item in SWWindowMain.Instance.NodeAll()) { if (item.Value.data.id == info.effector.data.id) { continue; } var tex = item.Value.Texture; if (item.Value is SWNodeMask) { tex = ((SWNodeMask)item.Value).texMask.Texture; } if (tex == null) { continue; } if (!info.effector.data.layerMask.Has(item.Value.data.id)) { continue; } var dt = item.Value.data; Material matBot = new Material(SWEditorUI.GetShader("RectTRS")); Set_Material(matBot, -dt.effectData.t_startMove, dt.effectData.r_angle, dt.effectData.s_scale); Set_MaterialLoop(matBot, dt); Graphics.DrawTexture(info.baseRect, tex, matBot); } }
public void Show(float width, string title = "", float titleWidth = 0, bool wrapInHorizontal = true) { if (wrapInHorizontal) { GUILayout.BeginHorizontal(); } if (!string.IsNullOrEmpty(title)) { GUILayout.Label(title, SWEditorUI.Style_Get(SWCustomStyle.eTxtSmallLight), GUILayout.Width(titleWidth)); } var newIndex = 0; if (customStyle == false) { newIndex = EditorGUILayout.Popup(index, strs, GUILayout.Width(width)); } else { newIndex = EditorGUILayout.Popup(index, strs, style, GUILayout.Width(width)); } NewIndex(newIndex); if (wrapInHorizontal) { GUILayout.EndHorizontal(); } }
public override void DrawRight() { base.DrawRight(); GUILayout.BeginHorizontal(); GUILayout.Space(position.width - rightupWidth - al_scrollBarWidth * 1.8f + SWGlobalSettings.UIGap); GUILayout.BeginVertical(); if (!showRight) { Rect rect = new Rect(position.width - 50 - al_scrollBarWidth * 1f, position.height - 50 - al_scrollBarWidth, 50, 50); GUI.DrawTexture(rect, SWEditorUI.Texture(SWUITex.effectRight1)); if (rect.Contains(Event.current.mousePosition) && Event.current.type == EventType.MouseDown) { showRight = true; } } else { Rect rect = new Rect(position.width - rightupWidth - 50 - al_scrollBarWidth * 1.8f, position.height - 50 - al_scrollBarWidth, 50, 50); GUI.DrawTexture(rect, SWEditorUI.Texture(SWUITex.effectRight2)); if (rect.Contains(Event.current.mousePosition) && Event.current.type == EventType.MouseDown) { showRight = false; } DrawRightUp(); } GUILayout.EndVertical(); }