void SetupStyles() { selectedTexture = TextureGenerator.GenerateTexture(Color.green * 0.5f); selectedStyle = new GUIStyle(EditorStyles.helpBox); selectedStyle.normal.background = selectedTexture; SpriteColliderStyle.Setup(); isStyleSetup = true; }
void DrawSlicer() { var textureAreaRect = SpriteColliderStyle.CreateAreaRect(SpriteColliderStyle.Background1Style.Copy().WithHeight(470).WithWidth(984).WithMargin(20, 21, 20, 20)); var slicerRect = new Rect(textureAreaRect); if (slicer == null) { slicer = new UVSlicer(slicerRect); slicer.UVRectColor = Color.magenta; SetupSlicer(); } if (selectedFrameChanged && Event.current.type != EventType.Layout) { // slicer.SetRects(slicerRect); // slicer.ResetUVRect(); slicer.AreaRect = slicerRect; slicer.UVRectColor = Color.magenta; selectedFrameChanged = false; slicer.SetTexture(slicedSprites[selectedFrame]); } // EditorGUI.DrawTextureTransparent(slicerRect, SpriteColliderStyle.Selected, ScaleMode.StretchToFill); if (selectedFrame != -1 && selectedColliderData != -1) { var scd = spriteColliderData.Colliders[selectedColliderData]; var eventData = scd.Rects[selectedFrame]; slicer.UVRectActive = eventData.Active; switch (scd.Mode) { case SpriteColliderData.Mode.Hitbox: slicer.UVRectColor = SpriteColliderStyle.HitboxColor; break; case SpriteColliderData.Mode.Hurtbox: slicer.UVRectColor = SpriteColliderStyle.HurtboxColor; break; } } else { slicer.UVRectActive = false; } slicer.OnGUI(); if (slicer.Repaint) { Repaint(); slicer.Repaint = false; } SetPreviewProxyData(); }
void DrawEventArea() { // Clip Frames clipFrameLineOrigins.Clear(); using (new GUILayout.HorizontalScope(SpriteColliderStyle.Background4Style.Copy().WithHeight(80).WithWidth(1014))) { SpriteColliderStyle.CreateSpacing(SpriteColliderStyle.Background4Style.Copy().WithWidth(226)); for (int i = 0; i < frameCount; i++) { DrawClipFrame(i); } } // Events using (new GUILayout.VerticalScope(SpriteColliderStyle.Background3Style.Copy().WithHeight(382).WithWidth(1014))) { foreach (var clipFrameOrigin in clipFrameLineOrigins) { lineVertTemp[0] = clipFrameOrigin; lineVertTemp[1] = clipFrameOrigin - Vector2.down * 390f; // Handles.color = SpriteColliderStyle.BackgroundColor1; Handles.color = Color.white; Handles.DrawAAPolyLine(3f, lineVertTemp); } using (var scrollView = new GUILayout.ScrollViewScope(eventScrollPos, false, true)) { if (spriteColliderData != null) { for (int i = 0; i < spriteColliderData.Colliders.Count; i++) { DrawEvent(i); } } eventScrollPos = scrollView.scrollPosition; } } }