Skip to content

Commit 1d7e96d

Browse files
committed
resizable windows
1 parent 1cdee01 commit 1d7e96d

File tree

7 files changed

+364
-34
lines changed

7 files changed

+364
-34
lines changed

.idea/.idea.Voksel/.idea/contentModel.xml

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.idea/.idea.Voksel/.idea/workspace.xml

Lines changed: 6 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Assets/Scenes/SampleScene.unity

Lines changed: 184 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -10589,6 +10589,96 @@ CanvasRenderer:
1058910589
m_PrefabAsset: {fileID: 0}
1059010590
m_GameObject: {fileID: 1064462620}
1059110591
m_CullTransparentMesh: 0
10592+
--- !u!1 &1104613308
10593+
GameObject:
10594+
m_ObjectHideFlags: 0
10595+
m_CorrespondingSourceObject: {fileID: 0}
10596+
m_PrefabInstance: {fileID: 0}
10597+
m_PrefabAsset: {fileID: 0}
10598+
serializedVersion: 6
10599+
m_Component:
10600+
- component: {fileID: 1104613309}
10601+
- component: {fileID: 1104613312}
10602+
- component: {fileID: 1104613311}
10603+
- component: {fileID: 1104613310}
10604+
m_Layer: 5
10605+
m_Name: Resize
10606+
m_TagString: Untagged
10607+
m_Icon: {fileID: 0}
10608+
m_NavMeshLayer: 0
10609+
m_StaticEditorFlags: 0
10610+
m_IsActive: 1
10611+
--- !u!224 &1104613309
10612+
RectTransform:
10613+
m_ObjectHideFlags: 0
10614+
m_CorrespondingSourceObject: {fileID: 0}
10615+
m_PrefabInstance: {fileID: 0}
10616+
m_PrefabAsset: {fileID: 0}
10617+
m_GameObject: {fileID: 1104613308}
10618+
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
10619+
m_LocalPosition: {x: 0, y: 0, z: 0}
10620+
m_LocalScale: {x: 1, y: 1, z: 1}
10621+
m_Children: []
10622+
m_Father: {fileID: 1614532418}
10623+
m_RootOrder: 2
10624+
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
10625+
m_AnchorMin: {x: 1, y: 0}
10626+
m_AnchorMax: {x: 1, y: 0}
10627+
m_AnchoredPosition: {x: -10, y: 10}
10628+
m_SizeDelta: {x: 20, y: 20}
10629+
m_Pivot: {x: 0.5, y: 0.5}
10630+
--- !u!114 &1104613310
10631+
MonoBehaviour:
10632+
m_ObjectHideFlags: 0
10633+
m_CorrespondingSourceObject: {fileID: 0}
10634+
m_PrefabInstance: {fileID: 0}
10635+
m_PrefabAsset: {fileID: 0}
10636+
m_GameObject: {fileID: 1104613308}
10637+
m_Enabled: 1
10638+
m_EditorHideFlags: 0
10639+
m_Script: {fileID: 11500000, guid: 9b94d9f775fd3ea47b655ab2fdec8fa8, type: 3}
10640+
m_Name:
10641+
m_EditorClassIdentifier:
10642+
rectTransform: {fileID: 1614532418}
10643+
minSize: {x: 400, y: 220}
10644+
maxSize: {x: 800, y: 400}
10645+
--- !u!114 &1104613311
10646+
MonoBehaviour:
10647+
m_ObjectHideFlags: 0
10648+
m_CorrespondingSourceObject: {fileID: 0}
10649+
m_PrefabInstance: {fileID: 0}
10650+
m_PrefabAsset: {fileID: 0}
10651+
m_GameObject: {fileID: 1104613308}
10652+
m_Enabled: 1
10653+
m_EditorHideFlags: 0
10654+
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
10655+
m_Name:
10656+
m_EditorClassIdentifier:
10657+
m_Material: {fileID: 0}
10658+
m_Color: {r: 0.87058824, g: 0.87058824, b: 0.87058824, a: 1}
10659+
m_RaycastTarget: 1
10660+
m_Maskable: 1
10661+
m_OnCullStateChanged:
10662+
m_PersistentCalls:
10663+
m_Calls: []
10664+
m_Sprite: {fileID: 21300000, guid: 9ca7ee64a98b43440b3a65bf03b00f0c, type: 3}
10665+
m_Type: 0
10666+
m_PreserveAspect: 0
10667+
m_FillCenter: 1
10668+
m_FillMethod: 4
10669+
m_FillAmount: 1
10670+
m_FillClockwise: 1
10671+
m_FillOrigin: 0
10672+
m_UseSpriteMesh: 0
10673+
m_PixelsPerUnitMultiplier: 1
10674+
--- !u!222 &1104613312
10675+
CanvasRenderer:
10676+
m_ObjectHideFlags: 0
10677+
m_CorrespondingSourceObject: {fileID: 0}
10678+
m_PrefabInstance: {fileID: 0}
10679+
m_PrefabAsset: {fileID: 0}
10680+
m_GameObject: {fileID: 1104613308}
10681+
m_CullTransparentMesh: 0
1059210682
--- !u!1 &1125496359
1059310683
GameObject:
1059410684
m_ObjectHideFlags: 0
@@ -13683,6 +13773,7 @@ RectTransform:
1368313773
m_Children:
1368413774
- {fileID: 660051556}
1368513775
- {fileID: 2133605690}
13776+
- {fileID: 1104613309}
1368613777
m_Father: {fileID: 1237187894}
1368713778
m_RootOrder: 4
1368813779
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
@@ -13721,7 +13812,6 @@ GameObject:
1372113812
m_Component:
1372213813
- component: {fileID: 1656111829}
1372313814
- component: {fileID: 1656111832}
13724-
- component: {fileID: 1656111831}
1372513815
- component: {fileID: 1656111830}
1372613816
m_Layer: 5
1372713817
m_Name: exporter
@@ -13743,6 +13833,7 @@ RectTransform:
1374313833
m_Children:
1374413834
- {fileID: 1011452295}
1374513835
- {fileID: 2145517887}
13836+
- {fileID: 1879320903}
1374613837
m_Father: {fileID: 1237187894}
1374713838
m_RootOrder: 3
1374813839
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
@@ -13763,35 +13854,6 @@ MonoBehaviour:
1376313854
m_Script: {fileID: 11500000, guid: c5d5101406df993418bd4c0eb7007986, type: 3}
1376413855
m_Name:
1376513856
m_EditorClassIdentifier:
13766-
--- !u!114 &1656111831
13767-
MonoBehaviour:
13768-
m_ObjectHideFlags: 0
13769-
m_CorrespondingSourceObject: {fileID: 0}
13770-
m_PrefabInstance: {fileID: 0}
13771-
m_PrefabAsset: {fileID: 0}
13772-
m_GameObject: {fileID: 1656111828}
13773-
m_Enabled: 1
13774-
m_EditorHideFlags: 0
13775-
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
13776-
m_Name:
13777-
m_EditorClassIdentifier:
13778-
m_Material: {fileID: 0}
13779-
m_Color: {r: 0.20754719, g: 0.2065682, b: 0.2065682, a: 1}
13780-
m_RaycastTarget: 1
13781-
m_Maskable: 1
13782-
m_OnCullStateChanged:
13783-
m_PersistentCalls:
13784-
m_Calls: []
13785-
m_Sprite: {fileID: 0}
13786-
m_Type: 1
13787-
m_PreserveAspect: 0
13788-
m_FillCenter: 1
13789-
m_FillMethod: 4
13790-
m_FillAmount: 1
13791-
m_FillClockwise: 1
13792-
m_FillOrigin: 0
13793-
m_UseSpriteMesh: 0
13794-
m_PixelsPerUnitMultiplier: 1
1379513857
--- !u!222 &1656111832
1379613858
CanvasRenderer:
1379713859
m_ObjectHideFlags: 0
@@ -14737,6 +14799,96 @@ CanvasRenderer:
1473714799
m_PrefabAsset: {fileID: 0}
1473814800
m_GameObject: {fileID: 1870261264}
1473914801
m_CullTransparentMesh: 0
14802+
--- !u!1 &1879320902
14803+
GameObject:
14804+
m_ObjectHideFlags: 0
14805+
m_CorrespondingSourceObject: {fileID: 0}
14806+
m_PrefabInstance: {fileID: 0}
14807+
m_PrefabAsset: {fileID: 0}
14808+
serializedVersion: 6
14809+
m_Component:
14810+
- component: {fileID: 1879320903}
14811+
- component: {fileID: 1879320905}
14812+
- component: {fileID: 1879320904}
14813+
- component: {fileID: 1879320906}
14814+
m_Layer: 5
14815+
m_Name: Resize
14816+
m_TagString: Untagged
14817+
m_Icon: {fileID: 0}
14818+
m_NavMeshLayer: 0
14819+
m_StaticEditorFlags: 0
14820+
m_IsActive: 1
14821+
--- !u!224 &1879320903
14822+
RectTransform:
14823+
m_ObjectHideFlags: 0
14824+
m_CorrespondingSourceObject: {fileID: 0}
14825+
m_PrefabInstance: {fileID: 0}
14826+
m_PrefabAsset: {fileID: 0}
14827+
m_GameObject: {fileID: 1879320902}
14828+
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
14829+
m_LocalPosition: {x: 0, y: 0, z: 0}
14830+
m_LocalScale: {x: 1, y: 1, z: 1}
14831+
m_Children: []
14832+
m_Father: {fileID: 1656111829}
14833+
m_RootOrder: 2
14834+
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
14835+
m_AnchorMin: {x: 1, y: 0}
14836+
m_AnchorMax: {x: 1, y: 0}
14837+
m_AnchoredPosition: {x: -10, y: 10}
14838+
m_SizeDelta: {x: 20, y: 20}
14839+
m_Pivot: {x: 0.5, y: 0.5}
14840+
--- !u!114 &1879320904
14841+
MonoBehaviour:
14842+
m_ObjectHideFlags: 0
14843+
m_CorrespondingSourceObject: {fileID: 0}
14844+
m_PrefabInstance: {fileID: 0}
14845+
m_PrefabAsset: {fileID: 0}
14846+
m_GameObject: {fileID: 1879320902}
14847+
m_Enabled: 1
14848+
m_EditorHideFlags: 0
14849+
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
14850+
m_Name:
14851+
m_EditorClassIdentifier:
14852+
m_Material: {fileID: 0}
14853+
m_Color: {r: 0.87058824, g: 0.87058824, b: 0.87058824, a: 1}
14854+
m_RaycastTarget: 1
14855+
m_Maskable: 1
14856+
m_OnCullStateChanged:
14857+
m_PersistentCalls:
14858+
m_Calls: []
14859+
m_Sprite: {fileID: 21300000, guid: 9ca7ee64a98b43440b3a65bf03b00f0c, type: 3}
14860+
m_Type: 0
14861+
m_PreserveAspect: 0
14862+
m_FillCenter: 1
14863+
m_FillMethod: 4
14864+
m_FillAmount: 1
14865+
m_FillClockwise: 1
14866+
m_FillOrigin: 0
14867+
m_UseSpriteMesh: 0
14868+
m_PixelsPerUnitMultiplier: 1
14869+
--- !u!222 &1879320905
14870+
CanvasRenderer:
14871+
m_ObjectHideFlags: 0
14872+
m_CorrespondingSourceObject: {fileID: 0}
14873+
m_PrefabInstance: {fileID: 0}
14874+
m_PrefabAsset: {fileID: 0}
14875+
m_GameObject: {fileID: 1879320902}
14876+
m_CullTransparentMesh: 0
14877+
--- !u!114 &1879320906
14878+
MonoBehaviour:
14879+
m_ObjectHideFlags: 0
14880+
m_CorrespondingSourceObject: {fileID: 0}
14881+
m_PrefabInstance: {fileID: 0}
14882+
m_PrefabAsset: {fileID: 0}
14883+
m_GameObject: {fileID: 1879320902}
14884+
m_Enabled: 1
14885+
m_EditorHideFlags: 0
14886+
m_Script: {fileID: 11500000, guid: 9b94d9f775fd3ea47b655ab2fdec8fa8, type: 3}
14887+
m_Name:
14888+
m_EditorClassIdentifier:
14889+
rectTransform: {fileID: 1656111829}
14890+
minSize: {x: 300, y: 300}
14891+
maxSize: {x: 700, y: 350}
1474014892
--- !u!1 &1879833089
1474114893
GameObject:
1474214894
m_ObjectHideFlags: 0
@@ -15617,13 +15769,13 @@ MonoBehaviour:
1561715769
m_Name:
1561815770
m_EditorClassIdentifier:
1561915771
m_Material: {fileID: 0}
15620-
m_Color: {r: 1, g: 1, b: 1, a: 0}
15772+
m_Color: {r: 0.20754719, g: 0.2065682, b: 0.2065682, a: 1}
1562115773
m_RaycastTarget: 1
1562215774
m_Maskable: 1
1562315775
m_OnCullStateChanged:
1562415776
m_PersistentCalls:
1562515777
m_Calls: []
15626-
m_Sprite: {fileID: 10907, guid: 0000000000000000f000000000000000, type: 0}
15778+
m_Sprite: {fileID: 0}
1562715779
m_Type: 1
1562815780
m_PreserveAspect: 0
1562915781
m_FillCenter: 1

Assets/Scripts/UI/ResizeWindow.cs

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
using System;
2+
using System.Collections;
3+
using System.Collections.Generic;
4+
using UnityEngine;
5+
using UnityEngine.EventSystems;
6+
7+
public class ResizeWindow : MonoBehaviour,IDragHandler,IPointerDownHandler
8+
{
9+
10+
private Vector2 currentPointerPosition;
11+
private Vector2 previousPointerPosition;
12+
13+
private Canvas parentCanvas;
14+
public RectTransform rectTransform;
15+
public Vector2 minSize;
16+
public Vector2 maxSize;
17+
private void Awake()
18+
{
19+
parentCanvas= transform.GetComponentInParent<Canvas>();
20+
}
21+
22+
public void OnDrag(PointerEventData eventData)
23+
{
24+
if (rectTransform == null)
25+
return;
26+
Vector2 sizeDelta = rectTransform.sizeDelta;
27+
28+
RectTransformUtility.ScreenPointToLocalPointInRectangle (rectTransform, eventData.position, eventData.pressEventCamera, out currentPointerPosition);
29+
Vector2 resizeValue = currentPointerPosition - previousPointerPosition;
30+
31+
sizeDelta += new Vector2 (resizeValue.x, -resizeValue.y);
32+
sizeDelta = new Vector2 (
33+
Mathf.Clamp (sizeDelta.x, minSize.x, maxSize.x),
34+
Mathf.Clamp (sizeDelta.y, minSize.y, maxSize.y)
35+
);
36+
37+
rectTransform.sizeDelta = sizeDelta;
38+
39+
previousPointerPosition = currentPointerPosition;
40+
}
41+
42+
public void OnPointerDown(PointerEventData eventData)
43+
{
44+
RectTransformUtility.ScreenPointToLocalPointInRectangle (rectTransform, eventData.position, eventData.pressEventCamera, out previousPointerPosition);
45+
}
46+
}

Assets/Scripts/UI/ResizeWindow.cs.meta

Lines changed: 11 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Assets/Textures/triangle.png

3.27 KB
Loading

0 commit comments

Comments
 (0)