From 3eeafd6e6e9a16f14dd8afddee704fdb6dce5060 Mon Sep 17 00:00:00 2001 From: ddg <1453062510@qq.com> Date: Tue, 16 Sep 2025 16:31:42 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9C=80=E6=96=B0=E5=88=B6=E4=BD=9C=E5=90=8E?= =?UTF-8?q?=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Main/ExcelData/Excel/MainData.xlsx | Bin 9776 -> 9756 bytes .../Main/ExcelData/ExcelToJson/MainData.json | 2 +- .../Main/ExcelData/ExcelToJson/MainData.json | 2 +- .../Other/连线题/PointLineManager.cs | 192 +++++++++++++++++- 4 files changed, 186 insertions(+), 10 deletions(-) diff --git a/Assets/Resources/Main/ExcelData/Excel/MainData.xlsx b/Assets/Resources/Main/ExcelData/Excel/MainData.xlsx index 8a9877ab8d52128bdfbca526064f4fedcf30805e..876b2df491bd5b360809e4d2d91acf1a6b0d6267 100644 GIT binary patch delta 2087 zcmV+?2-x?qOq@)xlK}-~Mpgwvlb8V?e@??N5JmS${6pk@Vke=fSV<}#>WWI0C<3vw z>}eYjKV-Y4{d=6G4Xr>d$M?>eJ0lmfy=t4)bsSMzv^BIlVB ztkDWebO48D)%8`u4dvRx(rN?N*WjW+QjT&{qOJFaV(j=9By&k{s35MjmCT3Ie{Qg0 z{F7|}XN25h37!e&8Sa3w8HwnK6nsRQoo#x6;20W^puEFrlHwn)2P@s54ZU*al(j#Y zu+uT_Ia}~S9Nl|YkH)rblQ!>Tg#0OfUp&9`tH!nJZp8srh2WH1U|!qmoh5+8 zbAA!dyskk!9I9or^SZ#lg}~`!K@TtxQ3yhZ*eB&Je|%caQI(M_kI6JnCo7UuazhFE z=;mJZcfp1Sd7S<~aT1feIK5qwjHc5|;t5doxi3FM^$oN40=5AT15^d}5(EGM9}NHi z7yyzc8h?#fU2m&65Pe^1{{!;-1q?|DRmfGF&z0`3s_lL}yI>Mjz$`eSy}y3PHjrRw zla~PF{GQG%91x8ZD#^ zUSDWRLrx>G3Nn5&mc4`|1zTV|y?XvbY`zwjX>vG%9PFAPfSq`n zu_<0M!sVo;kHA6KCRib8m)WrMrk=e`H2*ZHTZa;5|8jXgL+GmmGR( zIwD~ILd>iof@_-t{zS~zM3A}62(As$#5KLC<8)cwnGu|ek_fJCM!xBKcs9oqJoOzP z>fh98G$TvxyL6s-FPDpw)drkdVt-rYuPTRfp9+Jm#n8hXUZGH69~BtN3&yJ;dS2QK z>kKXq8^lwK5Y`Y=R(fEq2R3?Os|R*^V1E^`Ku0G=6ya_$3JhD^iNTtfA;Re+Rzrl_ zN34g4NguHpBBp)Bc8Hku5xXJ6>m&9<#JofFYA9a#yKAVx;O?%5e#a{J|9@$Sz?x@P zw;}7>kj-t#_BLd98?yfr(kmsriT9UMfv-!6bw7?kbVH6nbVrUrbW4svbWe^zbW@H% zbXSf*KCvYnI#5e+@!*^iUqNSPIs!2~veZ0R9#(oi)fgP9oqMrn-&G4~&$D&QcbVg8 ze%_2gw3W9lq@~^IfqfeoU4N(NGC09Tbc?9?W{X2wGs%-0gLdL`-3l_7pLlVOuZMFS zjds&6d7*VQ?`=mQn)h}i5Y2ngG%9UZ3te(iwNX8m`qE{zJW$b#RYu58If%wkmM(f} zMrB81bpy~R734sFC*>i@D4ewuEw@92#;3x*Jk-YlQ174vkM6z27lyg(sRNA0046X000yK004MwFLP*Na%E&w zbaH8KXLBxiZESs$U27CE6o&5w|HF`bH*3WrGBZV5dbc91qFzauNp}J>$v7t?^-l4l zUzV=l)RvZof(UiCMQ!bl)<4rscK?Mby(nZ{FY`R-J%^AScWOR~okuhSCb)+#H-DPQ zp*#>F;~fv(xjlR78gf7q9+Fsa>Y>LJ(3F4if(sxWljY!{NXqm&#t=j_A6p31J*LfylY^(3Pvm$vJzN)9EuXF^PN^nD0veMsEtWajcgXY^OE{)q1~1U;j3J^q0Zt z<9FNX<%8i?JOOf(!zCdb15^d}5(EGM9}NHi7ytkO000000RSKX R005qo|0OF1{~-VX004IM$nyXI delta 2074 zcmV+#2<7*jOt4I_lK}-3C}ycclb8V?e{O>?5JmTu`VYu^uz{uz3yAtqR*e*?RIR$R z>`8(Owq-jd`TH73C{e2}$M?>eJ0oZFeNzWtU~Hvij^c=*03=tUlA9d8mW%Kf1=cYs zSgj=F=l~YYi_43QYs!^@l~EdutH1`HBrWASM_cDK#n|#KG|WccA-%X(reV&Pe`bR< zXC?!NWn*>-kG`w2#%qK2Bfn%j$-`dbzmC%XG5<{oK58p z+V6CXJ7o(#h@*RNtI^oDZPccH44*&7@5|?xe$}v&-K{vFA`_f)1I#H?+;hnAr0#B4 zGwYWA%k}FEc zM>qGZzY8`zG{@=x6K5g0^U#vq(3H?LnGjEaqR)N)8H#VS_5!v61$U{m92JwX1SWrv zqc#+Muhjp5{Jwx831Jknn#pISZ8hrbw$C0g2^zo@oG`P$zSlO8VAx4s0$d*--*bI1 zH;b?DS!$eVStTqF5H@XO&^%;Ok{<%}6 zlpDa1R{=V5UOZS<6&`6uDw7p7hmn7nl^NmiSRSmZC@G2Lq%5@@+n!k&NphqZ9?E+- zSR5xIU9<3%(VQ!ilBR@1{?#!ls+R3Nx{EI=Nex=te6CVltC5ZmPX_sANm#Oq#oP>8 zW~tPMDt*iE>CD0b(MYi}QofyvFF;&?xYs02_=l9+CPev#r><+WE-Ew3n=F5>3WPn2 z^3|#0EL#&!&~hPn;JLJxiztCAimf+F8VBeRKkR1+;u7&sLhI`4-r(f*g{Cy*Gy=fA|Jr%hBC<(08FLH7qtv>}6nFd7NA$gA$Kt@t;l~N6qoEL&1I%CAy6Q)Zto4j-=C-m)dHZ=sQ#0Rm0YXS zyIfrETkTtE;pftbXiQEiU$OMxB;v;a`KXQk&FVc(4o8rKT@wVb6Hk+zexqla!eD^3 z7?1?W6AD6>!b^UUftWPKa5xeeLg zhU{)b_Mbv}rGz)}{!%LNbt$p##}SBb$PtL{$PtKc$q|U|$q|Td$`Od}$`QyfYzc=B z)Dm1gIH$x{(3zQzKn#y8HP4lYm0nLZ21jb=UaZ-7)k50yY~Au*<~W+4HzN>jH-v&n4>A8PQv=>9&A}YSw;*i!%@}$O~o#=Es8f2v)bNPuE=lFVLj%KV)yW|zE zW~}W9L^IZI1fm&BHdL}7x#WMzMb$?2Rq9KZ(egk=FIE{LJLND5Ls`1$r5TkSjnxf6 zpHz?o{gaf3B(IDVT0-b2;q#4*QZ--d0oqA6+C59Y& z^zZllpGUI&nDeWFZ#>2kCyZL)a;**wOdaMD+OojCyGxgD0D}ueUF0*0E${?$FmGSH zU~(>h43(wa0-g}zO$fQ;;Q;X(3o%t@g+&1p>KL^k4sWJ3g)f@+vLPHg+2L|mV=)r6t)S^$dqQI&1~~fr{&;C?j~7xLl^n$ zPPv_AyJOi|*Il+Z%6t12x^<%Z$j_tl{SV!L$(O_Y=`)!OWcP(UNN4DSRKD%!?QU_n zpN-e_qI~CTzLDhb)+gyO`*fshLWPdFh}5g-l(;&fD8M=scvZwv1#<_}3OvgKIE@e z`jhmx-0K&~7nwen-&2|P^~MeLgLJmYXzPCbkUWTS?SFnc_U|-3?jm-ZAlCF^-Td2l zac0$0voYg_mYYsQLc!s!F!YIogxWWFJ`SGGgKD$vKeG)H91#I~lPV%W0pycwA~OOA z9+RLVk_8kfW~oDyHzQO5_mhkxKmk&d%_A@YFq8fxHUd{4lV2YkD^N=T0u%rg00008 z0EbTEK=5kx!O{T$0GI;+02BZK000000096X0000TlYJyX0W*`oBsu}=llmk!0TGii zB|rfolX4|I0dteDB_SJksk9sw1ONaZ4FCWb000000000103ZMW0H2fVB`XFKA^-pY E08v`nwEzGB diff --git a/Assets/Resources/Main/ExcelData/ExcelToJson/MainData.json b/Assets/Resources/Main/ExcelData/ExcelToJson/MainData.json index 1ce9ae7..9f9b0fe 100644 --- a/Assets/Resources/Main/ExcelData/ExcelToJson/MainData.json +++ b/Assets/Resources/Main/ExcelData/ExcelToJson/MainData.json @@ -1 +1 @@ -[{"id":1,"name":"静脉输液(留置针)虚拟仿真训练系统","texture":"","scene":"Main","nameSpace":"DongWuYiXue.Main","fsmManager":"","fsmClassPath":"","folder":"Main"},{"id":2,"name":"静脉留置针","texture":"","scene":"daoNiaoShu","nameSpace":"DongWuYiXue.DaoNiaoShu","fsmManager":"FSMManager","fsmClassPath":"_Scripts/Application/daoNiaoShu/","folder":"daoNiaoShu"}] +[{"id":1,"name":"大型公犬导尿术虚实结合训练系统","texture":"","scene":"Main","nameSpace":"DongWuYiXue.Main","fsmManager":"","fsmClassPath":"","folder":"Main"},{"id":2,"name":"大型公犬导尿术虚实结合训练系统","texture":"","scene":"daoNiaoShu","nameSpace":"DongWuYiXue.DaoNiaoShu","fsmManager":"FSMManager","fsmClassPath":"_Scripts/Application/daoNiaoShu/","folder":"daoNiaoShu"}] diff --git a/Assets/StreamingAssets/Main/ExcelData/ExcelToJson/MainData.json b/Assets/StreamingAssets/Main/ExcelData/ExcelToJson/MainData.json index 1ce9ae7..9f9b0fe 100644 --- a/Assets/StreamingAssets/Main/ExcelData/ExcelToJson/MainData.json +++ b/Assets/StreamingAssets/Main/ExcelData/ExcelToJson/MainData.json @@ -1 +1 @@ -[{"id":1,"name":"静脉输液(留置针)虚拟仿真训练系统","texture":"","scene":"Main","nameSpace":"DongWuYiXue.Main","fsmManager":"","fsmClassPath":"","folder":"Main"},{"id":2,"name":"静脉留置针","texture":"","scene":"daoNiaoShu","nameSpace":"DongWuYiXue.DaoNiaoShu","fsmManager":"FSMManager","fsmClassPath":"_Scripts/Application/daoNiaoShu/","folder":"daoNiaoShu"}] +[{"id":1,"name":"大型公犬导尿术虚实结合训练系统","texture":"","scene":"Main","nameSpace":"DongWuYiXue.Main","fsmManager":"","fsmClassPath":"","folder":"Main"},{"id":2,"name":"大型公犬导尿术虚实结合训练系统","texture":"","scene":"daoNiaoShu","nameSpace":"DongWuYiXue.DaoNiaoShu","fsmManager":"FSMManager","fsmClassPath":"_Scripts/Application/daoNiaoShu/","folder":"daoNiaoShu"}] diff --git a/Assets/_Scripts/Application/daoNiaoShu/Other/连线题/PointLineManager.cs b/Assets/_Scripts/Application/daoNiaoShu/Other/连线题/PointLineManager.cs index badbf21..1fcddbb 100644 --- a/Assets/_Scripts/Application/daoNiaoShu/Other/连线题/PointLineManager.cs +++ b/Assets/_Scripts/Application/daoNiaoShu/Other/连线题/PointLineManager.cs @@ -7,6 +7,185 @@ namespace DongWuYiXue.DaoNiaoShu { public class PointLineManager : MonoBehaviour { + #region 修改逻辑前脚本 暂未删除 + //List points = new(); + //List lines = new(); + //public Line m_LinePfb; + //public RectTransform m_LineCon; + //public Color color; + //private List selectPoints = new(); + //private void Start() + //{ + // points = GetComponentsInChildren().ToList(); + // for (int i = 0; i < points.Count; i++) + // { + // points[i].Init(this); + // } + //} + ///// + ///// 画线 + ///// + //public void DrawLine(Point p) + //{ + // selectPoints.Add(p); + // if (selectPoints.Count == 2 && selectPoints[0].group != selectPoints[1].group)//凑齐两点,且两点不同区域 + // { + // if (TwoPointsAlreadyConnected(selectPoints))//两点之间是否已经连线 + // { + // UnselectPoints(); + // return; + // } + // if (OnePointsAlreadyConnected(selectPoints[0]) && OnePointsAlreadyConnected(selectPoints[1]))//两点是否都与第三点有连线 + // { + // if (selectPoints[0].multip && selectPoints[1].multip) + // { + // CreateLine(selectPoints[0], selectPoints[1]); + // } + // UnselectPoints(); + // return; + // } + // if (OnePointsAlreadyConnected(selectPoints[0]))//点1是否都与第三点有连线 + // { + // if (selectPoints[0].multip) + // { + // CreateLine(selectPoints[0], selectPoints[1]); + // } + // UnselectPoints(); + // return; + // } + // if (OnePointsAlreadyConnected(selectPoints[1]))//点2是否都与第三点有连线 + // { + // if (selectPoints[1].multip) + // { + // CreateLine(selectPoints[0], selectPoints[1]); + // } + // UnselectPoints(); + // return; + // } + // CreateLine(selectPoints[0], selectPoints[1]); + // UnselectPoints(); + // return; + // } + // if (selectPoints.Count == 2 && selectPoints[0].group == selectPoints[1].group)//凑齐两点,且两点同一区域 + // { + // UnselectPoints(); + // p.Select(); + // selectPoints.Add(p); + // return; + // } + //} + ///// + ///// 两点之间是否已经有连线 + ///// + //public bool TwoPointsAlreadyConnected(List p) + //{ + // for (int i = 0; i < lines.Count; i++) + // { + // if (lines[i].points.SequenceEqual(p)) + // { + // return true; + // } + // } + // return false; + //} + ///// + ///// 一点是否已经连线 + ///// + //public bool OnePointsAlreadyConnected(Point p) + //{ + // for (int i = 0; i < lines.Count; i++) + // { + // if (lines[i].points.Contains(p)) + // { + // return true; + // } + // } + // return false; + //} + ///// + ///// 取消所有点击 + ///// + //public void UnselectPoints() + //{ + // for (int i = 0; i < selectPoints.Count; i++) + // { + // selectPoints[i].UnSelect(); + // } + // selectPoints.Clear(); + //} + ///// + ///// 创建⼀条两点之间的线 + ///// + //private void CreateLine(Point p1, Point p2) + //{ + // //实例化需要显⽰的线段图⽚pfb + // Line line = DrawLineTool.DrawLine(p1.transform.position, p2.transform.position, color, m_LineCon).GetComponent(); + // line.AddPoint(p1); + // line.AddPoint(p2); + // line.gameObject.SetActive(true); + // lines.Add(line); + //} + ///// + ///// 清除线 + ///// + //public void ClearLine() + //{ + // for (int i = 0; i < lines.Count; i++) + // { + // Destroy(lines[i].gameObject); + // } + // lines.Clear(); + //} + ///// + ///// 判断对错 + ///// + //public bool JudgeLine() + //{ + // bool trueOrFalse = true; + // for (int i = 0; i < lines.Count; i++) + // { + // if (lines[i].Judge()) + // { + // lines[i].Correct(); + // } + // else + // { + // lines[i].Error(); + // trueOrFalse = false; + // } + // } + // for (int i = 0; i < points.Count; i++) + // { + // Point p = points[i]; + // if (p.answers != null && !OnePointsAlreadyConnected(p)) + // { + // trueOrFalse = false; + // } + // } + // return trueOrFalse; + //} + ///// + ///// 禁用按钮 + ///// + //public void ButtonForbidden() + //{ + // for (int i = 0; i < points.Count; i++) + // { + // points[i].btn.interactable = false; + // } + //} + ///// + ///// 启用按钮 + ///// + //public void ButtonOnEnable() + //{ + // for (int i = 0; i < points.Count; i++) + // { + // points[i].btn.interactable = true; + // } + //} + #endregion + List points = new(); List lines = new(); public Line m_LinePfb; @@ -141,6 +320,10 @@ namespace DongWuYiXue.DaoNiaoShu public bool JudgeLine() { bool trueOrFalse = true; + if (lines.Count == 0) + { + trueOrFalse = false; + } for (int i = 0; i < lines.Count; i++) { if (lines[i].Judge()) @@ -153,14 +336,6 @@ namespace DongWuYiXue.DaoNiaoShu trueOrFalse = false; } } - for (int i = 0; i < points.Count; i++) - { - Point p = points[i]; - if (p.answers != null && !OnePointsAlreadyConnected(p)) - { - trueOrFalse = false; - } - } return trueOrFalse; } /// @@ -183,5 +358,6 @@ namespace DongWuYiXue.DaoNiaoShu points[i].btn.interactable = true; } } + } } \ No newline at end of file