Merge branch 'master' into LouDi_Quan

This commit is contained in:
shenjianxing 2025-03-07 16:03:15 +08:00
commit faceaae3a8
6 changed files with 67 additions and 6 deletions

View File

@ -51,6 +51,7 @@ MonoBehaviour:
m_Name: m_Name:
m_EditorClassIdentifier: m_EditorClassIdentifier:
answers: [] answers: []
bg: {fileID: 2575765536656914917}
Scroll: {fileID: 3666318679728618663} Scroll: {fileID: 3666318679728618663}
Content: {fileID: 8229723427790603414} Content: {fileID: 8229723427790603414}
ItemPrefab: {fileID: 3266964766418377106} ItemPrefab: {fileID: 3266964766418377106}
@ -869,6 +870,7 @@ GameObject:
- component: {fileID: 4604846658045866225} - component: {fileID: 4604846658045866225}
- component: {fileID: 7995524027316056123} - component: {fileID: 7995524027316056123}
- component: {fileID: 2575765536656914917} - component: {fileID: 2575765536656914917}
- component: {fileID: 7995406576721174090}
m_Layer: 0 m_Layer: 0
m_Name: bg m_Name: bg
m_TagString: Untagged m_TagString: Untagged
@ -891,9 +893,9 @@ RectTransform:
- {fileID: 9189599814967438796} - {fileID: 9189599814967438796}
m_Father: {fileID: 4477385101412774245} m_Father: {fileID: 4477385101412774245}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 1, y: 0.5} m_AnchorMin: {x: 0, y: 0.5}
m_AnchorMax: {x: 1, y: 0.5} m_AnchorMax: {x: 0, y: 0.5}
m_AnchoredPosition: {x: -133, y: 0} m_AnchoredPosition: {x: 111.5, y: 0}
m_SizeDelta: {x: 223, y: 653} m_SizeDelta: {x: 223, y: 653}
m_Pivot: {x: 0.5, y: 0.5} m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &7995524027316056123 --- !u!222 &7995524027316056123
@ -934,6 +936,22 @@ MonoBehaviour:
m_FillOrigin: 0 m_FillOrigin: 0
m_UseSpriteMesh: 0 m_UseSpriteMesh: 0
m_PixelsPerUnitMultiplier: 1 m_PixelsPerUnitMultiplier: 1
--- !u!114 &7995406576721174090
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3256755621147846471}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 0d51f3a7c41ab0346b49ae50d456bece, type: 3}
m_Name:
m_EditorClassIdentifier:
MarkType: 0
CustomComponentName: bg
CustomComment:
mComponentName: UnityEngine.UI.Image
--- !u!1 &3509989120642977392 --- !u!1 &3509989120642977392
GameObject: GameObject:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0

View File

@ -28,6 +28,7 @@ public class UIToolsAction : IAction
string autoHide; string autoHide;
string random; string random;
string scrollSpeed; string scrollSpeed;
string position;
public static UIToolsAction Allocate(Dictionary<string, string> datas, System.Action onDelayFinish = null) public static UIToolsAction Allocate(Dictionary<string, string> datas, System.Action onDelayFinish = null)
{ {
var retNode = mPool.Allocate(); var retNode = mPool.Allocate();
@ -48,6 +49,7 @@ public class UIToolsAction : IAction
retNode.autoHide = datas.ContainsKey("autoHide") ? datas["autoHide"] : ""; retNode.autoHide = datas.ContainsKey("autoHide") ? datas["autoHide"] : "";
retNode.random = datas.ContainsKey("random") ? datas["random"] : ""; retNode.random = datas.ContainsKey("random") ? datas["random"] : "";
retNode.scrollSpeed = datas.ContainsKey("scrollSpeed") ? datas["scrollSpeed"] : ""; retNode.scrollSpeed = datas.ContainsKey("scrollSpeed") ? datas["scrollSpeed"] : "";
retNode.position = datas.ContainsKey("position") ? datas["position"] : "";
return retNode; return retNode;
} }
@ -97,6 +99,7 @@ public class UIToolsAction : IAction
{ {
data.autoHideResult = -1; data.autoHideResult = -1;
} }
data.position = position;
UIKit.OpenPanelAsync<UITools>(uiData: data, canvasLevel: UILevel.PopUI).ToAction().StartGlobal(() => this.Finish()); UIKit.OpenPanelAsync<UITools>(uiData: data, canvasLevel: UILevel.PopUI).ToAction().StartGlobal(() => this.Finish());
} }

View File

@ -5,11 +5,13 @@ using QFramework;
namespace QFramework.Example namespace QFramework.Example
{ {
// Generate Id:5f777d12-69d4-455d-bef6-fb39dbeda60e // Generate Id:be7133cf-6b67-4ebc-b151-f39cadcba0d2
public partial class UITools public partial class UITools
{ {
public const string Name = "UITools"; public const string Name = "UITools";
[SerializeField]
public UnityEngine.UI.Image bg;
[SerializeField] [SerializeField]
public UnityEngine.UI.ScrollRect Scroll; public UnityEngine.UI.ScrollRect Scroll;
[SerializeField] [SerializeField]
@ -21,6 +23,7 @@ namespace QFramework.Example
protected override void ClearUIComponents() protected override void ClearUIComponents()
{ {
bg = null;
Scroll = null; Scroll = null;
Content = null; Content = null;
ItemPrefab = null; ItemPrefab = null;

View File

@ -25,6 +25,7 @@ namespace QFramework.Example
public float autoHideResult = -1; public float autoHideResult = -1;
public bool random = false; public bool random = false;
public float scrollSpeed = 25; public float scrollSpeed = 25;
public string position;
} }
public partial class UITools : UIPanel public partial class UITools : UIPanel
{ {
@ -140,6 +141,35 @@ namespace QFramework.Example
} }
mResLoader.LoadAsync(); mResLoader.LoadAsync();
Scroll.verticalNormalizedPosition = 1; Scroll.verticalNormalizedPosition = 1;
switch (mData.position)
{
case "left":
// 将锚点设为父容器的右侧中间Middle-Right
bg.rectTransform.anchorMin = new Vector2(0, 0.5f); // 左下锚点(右侧)
bg.rectTransform.anchorMax = new Vector2(0, 0.5f); // 右上锚点(右侧)
// 将位置偏移归零(相对于锚点)
bg.rectTransform.anchoredPosition = Vector2.zero;
// 可选:设置轴心点为右侧中点(影响缩放/旋转中心)
bg.rectTransform.pivot = new Vector2(0, 0.5f);
break;
case "right":
default:
// 将锚点设为父容器的右侧中间Middle-Right
bg.rectTransform.anchorMin = new Vector2(1, 0.5f); // 左下锚点(右侧)
bg.rectTransform.anchorMax = new Vector2(1, 0.5f); // 右上锚点(右侧)
// 将位置偏移归零(相对于锚点)
bg.rectTransform.anchoredPosition = Vector2.zero;
// 可选:设置轴心点为右侧中点(影响缩放/旋转中心)
bg.rectTransform.pivot = new Vector2(1, 0.5f);
break;
}
} }
public void SetSelected(GameObject item, bool isRight) public void SetSelected(GameObject item, bool isRight)

View File

@ -580,6 +580,11 @@ namespace XMLTool
{ {
act.args.Add("scrollSpeed", scrollSpeed.Value); act.args.Add("scrollSpeed", scrollSpeed.Value);
} }
var position = action.Attribute("position");
if (position != null)
{
act.args.Add("position", position.Value);
}
newAction = act; newAction = act;
} }
break; break;

View File

@ -31,7 +31,8 @@
autoHide =-1 则点击结束 否则 等待对应时间后自动结束 autoHide =-1 则点击结束 否则 等待对应时间后自动结束
totalScore 是配合wrongScore的用于初始化一个分数 然后选择扣分 totalScore 是配合wrongScore的用于初始化一个分数 然后选择扣分
random 是否打乱devices的顺序 random 是否打乱devices的顺序
scrollSpeed 鼠标滚轮的滑动速度--> scrollSpeed 鼠标滚轮的滑动速度
position left/right 可以让道具栏在左侧或者右侧-->
<Action type="UITools" devices="道具名字1" answers="正确道具" <Action type="UITools" devices="道具名字1" answers="正确道具"
setActive="true" setActive="true"
rightLabel="提示:器械选择正确。" rightLabel="提示:器械选择正确。"
@ -44,7 +45,8 @@
scoreStepName="手术准备器械选择" scoreStepName="手术准备器械选择"
autoHide="-1" autoHide="-1"
random="true" random="true"
scrollSpeed="25"></Action> scrollSpeed="25"
position="right"></Action>
<!--物体点位选择 物体的中心点--> <!--物体点位选择 物体的中心点-->
<Action type="PointQuestion" value="路径1,路径2"></Action> <Action type="PointQuestion" value="路径1,路径2"></Action>