Merge remote-tracking branch 'origin/NewMaster' into AnHui_BaoShi

This commit is contained in:
shenjianxing 2025-04-28 14:51:38 +08:00
commit c09d49040e
2 changed files with 119 additions and 13 deletions

View File

@ -159,9 +159,9 @@ RectTransform:
m_Children: []
m_Father: {fileID: 8333043509333940129}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0.5}
m_AnchorMax: {x: 0.5, y: 0.5}
m_AnchoredPosition: {x: 0, y: 0}
m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 0, y: 1}
m_AnchoredPosition: {x: 960, y: -540}
m_SizeDelta: {x: 100, y: 100}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &4674184409838659037
@ -185,7 +185,7 @@ MonoBehaviour:
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_Color: {r: 1, g: 1, b: 1, a: 0}
m_RaycastTarget: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
@ -508,7 +508,7 @@ MonoBehaviour:
m_Name:
m_EditorClassIdentifier:
m_Content: {fileID: 6336473892143704609}
m_Horizontal: 1
m_Horizontal: 0
m_Vertical: 1
m_MovementType: 1
m_Elasticity: 0.1
@ -555,7 +555,8 @@ RectTransform:
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Children:
- {fileID: 8914544173708230318}
m_Father: {fileID: 8333043509333940129}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0.5}
@ -584,7 +585,7 @@ MonoBehaviour:
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_Color: {r: 1, g: 1, b: 1, a: 0}
m_RaycastTarget: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
@ -726,7 +727,7 @@ RectTransform:
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: 0, y: 0.0008044916}
m_AnchoredPosition: {x: 0, y: 0.0005044027}
m_SizeDelta: {x: 0, y: 300}
m_Pivot: {x: 0, y: 1}
--- !u!114 &1181747651547168674
@ -749,7 +750,7 @@ MonoBehaviour:
m_ChildAlignment: 0
m_StartCorner: 0
m_StartAxis: 0
m_CellSize: {x: 100, y: 100}
m_CellSize: {x: 120, y: 120}
m_Spacing: {x: 10, y: 10}
m_Constraint: 0
m_ConstraintCount: 2
@ -769,6 +770,81 @@ MonoBehaviour:
CustomComponentName: Content
CustomComment:
mComponentName: RectTransform
--- !u!1 &4835406052127461971
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 8914544173708230318}
- component: {fileID: 5613198329882542977}
- component: {fileID: 6312209549581201463}
m_Layer: 0
m_Name: Pic
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &8914544173708230318
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4835406052127461971}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 5065642014798611877}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0.5}
m_AnchorMax: {x: 0.5, y: 0.5}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 100, y: 100}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &5613198329882542977
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4835406052127461971}
m_CullTransparentMesh: 1
--- !u!114 &6312209549581201463
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4835406052127461971}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 0
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Sprite: {fileID: 0}
m_Type: 0
m_PreserveAspect: 0
m_FillCenter: 1
m_FillMethod: 4
m_FillAmount: 1
m_FillClockwise: 1
m_FillOrigin: 0
m_UseSpriteMesh: 0
m_PixelsPerUnitMultiplier: 1
--- !u!1 &4900020430220917441
GameObject:
m_ObjectHideFlags: 0

View File

@ -33,6 +33,8 @@ namespace QFramework.Example
GameObject enterRight;
GameObject leftDragObj;
Dictionary<GameObject, UIImageSelectMapData.OptionItem> itemDatas = new Dictionary<GameObject, UIImageSelectMapData.OptionItem>();
Dictionary<GameObject, GameObject> leftObjAndRightObj = new Dictionary<GameObject, GameObject>();
protected override void OnInit(IUIData uiData = null)
{
mData = uiData as UIImageSelectMapData ?? new UIImageSelectMapData();
@ -47,21 +49,24 @@ namespace QFramework.Example
LeftContent.RemoveAllChildren();
RightContent.RemoveAllChildren();
itemDatas.Clear();
leftObjAndRightObj.Clear();
foreach (var item in mData.items)
{
var leftObj = GameObject.Instantiate(LeftItem, LeftContent);
leftObj.name = item.pic;
var path = Global.imagePath + item.pic;
loader.Add2Load(path.ToNetImageResName(), (success, res) =>
{
if (success)
{
leftObj.GetComponent<Image>().sprite = Utility.GetSprite(res.Asset as Texture2D);
leftObj.transform.Find("Pic").GetComponent<Image>().sprite = Utility.GetSprite(res.Asset as Texture2D);
}
});
leftObj.OnBeginDragEvent(LeftOnBeginDrag);
leftObj.OnDragEvent(LeftOnDrag);
leftObj.OnEndDragEvent(LeftOnEndDrag);
itemDatas.Add(leftObj.gameObject, item);
var rightObj = GameObject.Instantiate(RightItem, RightContent);
rightObj.name = item.pic;
@ -69,8 +74,7 @@ namespace QFramework.Example
rightObj.rectTransform.sizeDelta = item.size;
rightObj.OnPointerEnterEvent(RightOnEnter);
rightObj.OnPointerExitEvent(RightOnExit);
itemDatas.Add(leftObj.gameObject, item);
rightObj.OnPointerClickEvent(RightOnClick);
}
@ -91,6 +95,27 @@ namespace QFramework.Example
}
private void RightOnClick(PointerEventData data)
{
Transform trans = data.pointerClick.transform;
if (trans.childCount > 0)
{
var child = trans.GetChild(0).gameObject;
if (leftObjAndRightObj.ContainsKey(child))
{
leftObjAndRightObj[child].SetActive(true);
leftObjAndRightObj.Remove(child);
GameObject.Destroy(child);
trans.GetComponent<Image>().color = new Color(1, 1, 1, 0);
}
else
{
Debug.LogError("没有找到对应的左边物体");
}
}
}
private void RightOnExit(PointerEventData data)
{
enterRight = null;
@ -104,8 +129,11 @@ namespace QFramework.Example
private void LeftOnBeginDrag(PointerEventData data)
{
leftDragObj = data.pointerDrag;
moveObj = GameObject.Instantiate(LeftItem.gameObject, gameObject.transform);
moveObj = GameObject.Instantiate(leftDragObj, gameObject.transform);
moveObj.name = moveObj.name.Replace("(Clone)", "");
moveObj.GetComponent<RectTransform>().sizeDelta = LeftContent.GetComponent<GridLayoutGroup>().cellSize;
moveObj.GetComponent<Image>().raycastTarget = false;
}
private void LeftOnEndDrag(PointerEventData data)
@ -124,6 +152,8 @@ namespace QFramework.Example
}
moveObj.transform.parent = enterRight.transform;
moveObj.transform.localPosition = Vector3.zero;
leftObjAndRightObj.Add(moveObj, leftDragObj);
leftDragObj.SetActive(false);
}
else
{