From 11fe1d18e98930900f9aa742fb71116e4de2f3d8 Mon Sep 17 00:00:00 2001 From: Mootfrost777 Date: Wed, 6 Jul 2022 22:22:44 +0300 Subject: [PATCH] Menu structure. Simple label lib. --- .../DesignTimeBuild/.dtbcache.v2 | Bin 63581 -> 72464 bytes ...05de5e12-1bc0-45e9-a7bc-3d423ac15619.vsidx | Bin 0 -> 23397 bytes ...269565db-9a45-40e0-8f9d-e1ffed185708.vsidx | Bin 16545 -> 0 bytes ...37693621-a472-4bc5-9110-8c443659911d.vsidx | Bin 0 -> 20068 bytes ...6484866e-eea5-4265-89f6-bab82cfa38b3.vsidx | Bin 16016 -> 0 bytes ...9a445599-fff2-462a-8a11-72fb76731c7a.vsidx | Bin 0 -> 19611 bytes ...b991bb2c-ab85-4986-a4e0-cec7ed18a46b.vsidx | Bin 0 -> 19673 bytes ...cd81d398-8a1c-41e6-9655-d1d1f678060c.vsidx | Bin 16292 -> 0 bytes ...ef1bb82f-f1a8-4637-ba07-23eda1c362ca.vsidx | Bin 23196 -> 0 bytes .vs/Pacman_refactored/v17/.suo | Bin 77824 -> 107520 bytes .../pacman_refactored.metadata.v3 | Bin 139527 -> 145930 bytes .../pacman_refactored.projects.v3 | Bin 493731 -> 675477 bytes LabelMonoGame/Label.cs | 137 ++++++++++++++++ LabelMonoGame/LabelMonoGame.csproj | 11 ++ .../Properties}/HorizontalAlignment.cs | 6 +- .../Properties}/VerticalAlignment.cs | 2 +- ...CoreApp,Version=v3.1.AssemblyAttributes.cs | 4 + .../LabelMonoGame.AssemblyInfo.cs | 23 +++ .../LabelMonoGame.AssemblyInfoInputs.cache | 1 + ....GeneratedMSBuildEditorConfig.editorconfig | 3 + .../netcoreapp3.1/LabelMonoGame.assets.cache | Bin 0 -> 3022 bytes ...belMonoGame.csproj.AssemblyReference.cache | Bin 0 -> 88752 bytes .../LabelMonoGame.csproj.nuget.dgspec.json | 74 +++++++++ .../obj/LabelMonoGame.csproj.nuget.g.props | 16 ++ .../obj/LabelMonoGame.csproj.nuget.g.targets | 6 + LabelMonoGame/obj/project.assets.json | 155 ++++++++++++++++++ LabelMonoGame/obj/project.nuget.cache | 10 ++ Pacman_refactored.sln | 12 +- Pacman_refactored/Classes/Entity/Ghost.cs | 5 +- Pacman_refactored/Classes/Food/Energizer.cs | 6 +- Pacman_refactored/Classes/Food/Fruit.cs | 3 - Pacman_refactored/Classes/UI/GameOverMenu.cs | 10 ++ Pacman_refactored/Classes/UI/Label/Label.cs | 30 ---- Pacman_refactored/Classes/UI/MainMenu.cs | 10 ++ Pacman_refactored/Classes/UI/Menu.cs | 48 +++++- Pacman_refactored/Interfaces/IAnimate.cs | 2 +- Pacman_refactored/Interfaces/IBoostable.cs | 7 +- Pacman_refactored/Pacman_refactored.csproj | 2 +- 38 files changed, 524 insertions(+), 59 deletions(-) create mode 100644 .vs/Pacman_refactored/FileContentIndex/05de5e12-1bc0-45e9-a7bc-3d423ac15619.vsidx delete mode 100644 .vs/Pacman_refactored/FileContentIndex/269565db-9a45-40e0-8f9d-e1ffed185708.vsidx create mode 100644 .vs/Pacman_refactored/FileContentIndex/37693621-a472-4bc5-9110-8c443659911d.vsidx delete mode 100644 .vs/Pacman_refactored/FileContentIndex/6484866e-eea5-4265-89f6-bab82cfa38b3.vsidx create mode 100644 .vs/Pacman_refactored/FileContentIndex/9a445599-fff2-462a-8a11-72fb76731c7a.vsidx create mode 100644 .vs/Pacman_refactored/FileContentIndex/b991bb2c-ab85-4986-a4e0-cec7ed18a46b.vsidx delete mode 100644 .vs/Pacman_refactored/FileContentIndex/cd81d398-8a1c-41e6-9655-d1d1f678060c.vsidx delete mode 100644 .vs/Pacman_refactored/FileContentIndex/ef1bb82f-f1a8-4637-ba07-23eda1c362ca.vsidx create mode 100644 LabelMonoGame/Label.cs create mode 100644 LabelMonoGame/LabelMonoGame.csproj rename {Pacman_refactored/Classes/UI/Label/Enums => LabelMonoGame/Properties}/HorizontalAlignment.cs (53%) rename {Pacman_refactored/Classes/UI/Label/Enums => LabelMonoGame/Properties}/VerticalAlignment.cs (76%) create mode 100644 LabelMonoGame/obj/Debug/netcoreapp3.1/.NETCoreApp,Version=v3.1.AssemblyAttributes.cs create mode 100644 LabelMonoGame/obj/Debug/netcoreapp3.1/LabelMonoGame.AssemblyInfo.cs create mode 100644 LabelMonoGame/obj/Debug/netcoreapp3.1/LabelMonoGame.AssemblyInfoInputs.cache create mode 100644 LabelMonoGame/obj/Debug/netcoreapp3.1/LabelMonoGame.GeneratedMSBuildEditorConfig.editorconfig create mode 100644 LabelMonoGame/obj/Debug/netcoreapp3.1/LabelMonoGame.assets.cache create mode 100644 LabelMonoGame/obj/Debug/netcoreapp3.1/LabelMonoGame.csproj.AssemblyReference.cache create mode 100644 LabelMonoGame/obj/LabelMonoGame.csproj.nuget.dgspec.json create mode 100644 LabelMonoGame/obj/LabelMonoGame.csproj.nuget.g.props create mode 100644 LabelMonoGame/obj/LabelMonoGame.csproj.nuget.g.targets create mode 100644 LabelMonoGame/obj/project.assets.json create mode 100644 LabelMonoGame/obj/project.nuget.cache create mode 100644 Pacman_refactored/Classes/UI/GameOverMenu.cs delete mode 100644 Pacman_refactored/Classes/UI/Label/Label.cs create mode 100644 Pacman_refactored/Classes/UI/MainMenu.cs diff --git a/.vs/Pacman_refactored/DesignTimeBuild/.dtbcache.v2 b/.vs/Pacman_refactored/DesignTimeBuild/.dtbcache.v2 index 129aa727672082b871428e02bfa5124cfeed9bab..b553d437fd7380ab64f67adacae338e4398c85b5 100644 GIT binary patch delta 1253 zcmb7>+fNfg6vk(^XyP41V!&vs#s`fCy4~GwOQKn##w#Fr2Nd^e&_b~V6>s%^MQOVV z_&4~ZP5cKm(PvE*CB~45;M+{$`& zYn~NVG)+;wkgP?Ouz;K%$TLRy5cCB>*$^)n_4zgUJ{U1 z_0huzFKdm6t?DsXRl;6Wjar^oHHYBcYgQ z#!SaiNkEQ8No7@{yQ|u-87yD9!?fIZZK5Nw*=% z|5~?dUQwYRu3s~E)`qy5O39UWifFeLYgE(gf>GLKwF>(!6DEJME)=^L6hJ5CYTPOstvQF z;203|IJ6yffZ3P}hiTo&Ss(!%;DY(6?Svi&Nst0vpc|Y3C&4KoynDcDiKNLH1ZP1h zn$JOnfjI7enEdiU+pmkvM0|eAD-9Lbz5v8wE3hV>=Ax7)#CXUNk?wMbyTFCSnDA23;DE{4|G1G3bC7s zoxrtq&JG+ut&|<-9NYC&?a2>h%Ds&5QZVOBN)XP#xa3OOu=IRG&zIW`h1R@#{ybdr+4?ijTb3uG;X7KiFtT; z^P1|C7Ry+{D%OysVx5#KIqr95`L9YAe-G8nxLDt@LCVjSAm8m|O)g*)TiC`9r28)R rAQ!Ta103QA$B;fJ3Bxr`8Js~5QpPzh(D*UAF}d-}dS2C%Zy%{IW4uLB diff --git a/.vs/Pacman_refactored/FileContentIndex/05de5e12-1bc0-45e9-a7bc-3d423ac15619.vsidx b/.vs/Pacman_refactored/FileContentIndex/05de5e12-1bc0-45e9-a7bc-3d423ac15619.vsidx new file mode 100644 index 0000000000000000000000000000000000000000..574f5d6bf9014be031df598b85e9a78dabfd431d GIT binary patch literal 23397 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 z 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 VcQz;bEHD`Jel@yVKvqjNg~} zs_R$hKF&S&oO5qI0zo)3uT(0XH7qCjo9|GXBRuXfC!oGuu9Y{eD~C}z_RB55oTcR= zt5j>1!D?l2pc0r$7*$MCX~dNgzY-;trm4hHrR7%=Q_0ebG%jq#n#!18tz^||t=jUd zS-N6Hb;XLBH?-PYUG;o9>Rw>HAohaP3#(oz=gbRp&m>+W_eP92l6z6&MTHmpUTnOU z?P&`(DEB=VD!{jBU~RX_9mY}C(vKM(zU(l3l(6uzzc z*7t4TTjSeN-$uU8{dVk+SNzF=x^L?yuA96bn|d78Q@@_3_0-mLQ!gs@!q(f;GY~?&>Rn9H9U=jGzro)NZUc421PBf12UVy zMuANOTLkSqEN=+CAoRk}God#UdQs@bp_hkVJM?X68lfpdGZsd97)N0`9%g=+i!*F! zjj2>kWl$2xAXf@gt(t1hc%ktk<7E;~GZdQjW$~l&o2KrIp(aR8U`<#y;ed>1!kU4i z(3pm4_@*J})HJM#%O_EeM4ZF5sYa@PZ#3Uoej*QxoXlx`lBS~u{ z_eVWB!ck9BA(0S`MsnEEbbQoSNA19xn( z%a&lOv8lx-h{Yc!i_KUZ1(FeQG!jQi92Ifw#c_Z@#Zep=aq7ouEHo7hTXtBD;*Y%Q@q(#nco)5PXUdmw4Il9Th)m%~cbQ%V0QQFp{?oTf=RO)6

4v1toQk!DuH2EWMs+qS6M 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 diff --git a/.vs/Pacman_refactored/FileContentIndex/37693621-a472-4bc5-9110-8c443659911d.vsidx b/.vs/Pacman_refactored/FileContentIndex/37693621-a472-4bc5-9110-8c443659911d.vsidx new file mode 100644 index 0000000000000000000000000000000000000000..fffde8cf068fb10ebbf81a4bacd2c7c820f98dd3 GIT binary patch literal 20068 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 diff --git a/.vs/Pacman_refactored/FileContentIndex/9a445599-fff2-462a-8a11-72fb76731c7a.vsidx b/.vs/Pacman_refactored/FileContentIndex/9a445599-fff2-462a-8a11-72fb76731c7a.vsidx new file mode 100644 index 0000000000000000000000000000000000000000..a24152482af2f1f5009f50be33a4cb221f2a7e08 GIT binary patch literal 19611 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 Cq8PjY delta 2530 zcmah~X-rgC6n^LNW*mlrnZgW=fH(+M>N+5ZD1pZ+`(hQhDzYeotU6fNGNz!UHCE>! zuc@i2@TXN1!52Hmwu(#R(zIB$jV88AW223Y+62>LD)ii$VQ}wDzIV?(=iam4d#?4o z(t1nSWe(*z*Qet+HIZySI5afGxE_SC?!qA6=i#@9>T`ErgUQ6P&cuz%jnF4QQhEWX z5QKoHQN$lj@F&pbAq9;l7tQAEGtxYm;7e#DkU_4Uz+_6-=tbj1f*(OoV4jSlk*%3V zV;~`j5bEMFIeno+Pn?ANuXQb$LgQ3|d`y)AHon@&bT8dMe>jpjMs;hzM%^f~Mhmk+x`wxH-2Mp5%rcO5dUjmzN3Z79$$`;>d;EfzU?##lo zO0%MmY@WtKL$-WY9}h=zQos{piO2lI!HmhcKDX5tm?6YF=Ml0ca0hgl_#@`?AVj&C znoc763GBm$lT)OSN>IzO;TJrd8fOweoXMOT3j~+?2(MD&J|@s7H3UPATs^T3Y*}YK z9qU;QX-|aQpQQn`Mk`U7bwb7bdq&b>R@(wy@iF(}`6C%3==NUxK4#0Hx7OhCYl_W7 zr+{W5eEJzxk>=XoVwa9LUXv zaHq0b3uItpZ4=DFN432wR#N6F3qawB69*!*RqQOYN;5Y0M+M`qPs%}ukD~G&JHlKd z&|>5C4{hxh7=?{RO`ya_?e9Y?ZdlMM2N&H2+s780zkutbb5!iMu-oR;7;OblY>a7A zutO@y1B*uSwuGOtC}AQlHyE)eQSX45*n?u1fa7_ctY7x0mXe~d(T+hmGtUkk_2XI9 zhYReidNQvqU$L^JvD#8>si{v-iZY{iad%TI?E(U82?bS^J;fQ^dZFI0{)zqGF$K{TO+~^y ziy=!%bg=sP(Scn7XLb<1{o5U-3Z<7&lQ5Yoa;h{@Q^z~|5$OhOC<{k(nNGHrP2>4H9G0v)jcdxnaML&Q zachME#i}Cot z+Uz9V5`6HtOW>f~eCbw=dxwK`YgbgPs#|Npty?CMjh2y_JZ)Pu;NcC6?Y~6A41f#F zxa{2;Lbr!fLs@csmEwz$(DhI4bu3?cWg^%Uy&wf%49C8Xhg=v5>RH!)yfSm^)|Hf2 zub5i47K#yeW@1;o2KSv*gBkn&2ppdAuMLrzo!0g&|a!JEE~*ZAv39P zOr>5PLe#I6NH_CffttNn45=^XLkejCFPO^|stZcWYD#L!Ko|?c%RPOm7KVS5tEFoz}u}= z<9Gqws-4pj{Vx+QQnMQn$&8E~CA+-p>@q0xiPs&ExEKMM3PYg9{@xh)005|CC9+m%`2B-r?qRYdL#i4qWGtUWW;9 VO7r%^>s~i0*#t(rF#_(6`VUlUS!@6R diff --git a/.vs/ProjectEvaluation/pacman_refactored.metadata.v3 b/.vs/ProjectEvaluation/pacman_refactored.metadata.v3 index 290f68e4a12d9ca137556e900099eafc4af1fd6c..92c4598420b64858654061831ec10e5bb5183c96 100644 GIT binary patch delta 3409 zcma);T}&KR6vvrOrbQY|pimZp?m{UAfdTqOTZ_6~z6%rzTc~cu+1b0h1M}6Hfp+nO zG{&e+G$!*fkvHRunwaQ=uO=8@#56%4`(WsUiAf(!)Wk>q-`R!k-JMl8*@t`nzjN+6 zckaFCzVmJ6{XZ+YH|}w7bKKWlz;50=ex#zJH>!x1MXY#iB0eQ1h!P*s)>JD#uAB0P zuGyjzQRK9y63rGQD+G`3G9EXGY0DDJhru_N@ZLOvl(1SM*A~drL|elwZPc7gV^}tc zWXrk+^NAo3*(y}SPxJjN!iv-N!L2&R}zJ{r+&%oklw;(A#7dDtTqZ(#7ao>++wLX)T#D%BW^ z`&%eb&tCw(KyfyCr!N%bFG5?Q+9u-|pEY%Z?rgw0A~u4Aq2^ox%Ec395K22MqygWc@|MP;k=dv3MS8 zo!=xcKse?f`$b4GpX&Fv8u_)^JptrTGs@mAu1K6ac?`wPeO}Qt@MLCbKgC~Uxog_5&!7_ z&z-paJ=frz-^tWY!Q~ROB+i4K-rDI>^Xd=1{WCCkFm(Pf3QMA@%;GXXJ*tRl!M z1FHLc%-zS0Y<2=|0k$PbqLd-C@bV5oQT1Q^-ptQI%lbzgVRK3o&0N!LSta?K%8Pv+ z{_OD;lEkot6-(FVp(#GGu`MHP>;sntxD@RPc2XKQ258Mc?nyRosqYQ=`qhh^idN^F zzZwP?OVddb3*D2LPs&^Z#2yZJo8y}Ko3LM?r=uvT(g-hsj8KwI!3z_3`H1_a!!@Kuygj?;eIyQSl-EKi_}&X38CG33T&^FziH{EpA&l v@C)a?J=w)BI;c;#1cEgmr=Fs*Dt^NM;qIruzU31v%$0c}x>v%1RgU`yB?N!m delta 192 zcmeDB!qI++gHf)Lv6Yc=DVANDL z1`u!s;wZ*jB@xr_STJcb@=PvNtY)m7ypd6KvcH1BWLag6$?;0;)8$Sva!%J>4-}p7 zl$|kmdSEi6<75MQmgyT#GHNhJLikV%7|W5gb58$xlF^ef8%2jATR~BNL9qrLLGeNfqC%i#0vVK+4@#lb6fiTj8f_T!O9^w; zZ7d%oHI6fycc{*kqh1`RadM`xmz9cK9jEaz%1tL9Q_`OMzx4RlOkbLbnS0M~&z{{q zXZP%${qJf?+Pp1&Z4)$Mlh&j+8BOMg)~*e5pHC}W1a&g23>T+Ubh;(!mfI|#$r;uS zNFslpnGX&dl5KF>kYa<&hExTsWMiiFW|I7_+FW5`nxK}q(19aEcy9f5T?8F=^RCW}w9R+NML7uO% zd?SfHt%C2Vr4zI1m{)%-G2qV@poXw8;9pNRPsS?FSV7(05H~vDAE&0{`UKoO$x)n~ zK29D_#w*Tv;i-Tt^6C-IXX*jJTX>uiQ-TDIxd?8ia)qZgA~jAC0B{|8{O5R2|AjEt z&J$Y>=(Z45{)nlzc;{`Kpw>QCyHj*&aiasf=G5{YCa{F<86Ug&kb5>+f z&jXnu;ToT*sBA$|0!#2gLC!=-(mzAqCc49PSrb%z@|k@`Pr?F0lNsq+A{f?0wNfZ3 zdmsi^DhJ|CoFwS*5z~c}1uYwdE}SB$rz?1#ae~&3;GFc000WBz)!)V2SS)16HEnY^ zJ|yJEI2?>vB4qC+-K|-r%6uu`<#5~}?|x;zqvKRTfoyQ$G}bz4rT~@+S?|I$;1yYu z14Up*rSg=yIQC(s&jSZqT~emb!*oHNv6>4X5!7{4ci{{n8{Dwdkf(-gsfgu*z@a%k zLyBWQiZ|Avr@1l%EBFX#6l0~J!k^4ie3U)Y3>VI1;UR3}F}9h)HmlgC;#Ui5m;ygo zzv!GF*TcwH1XJM-73Sbl0CJ{j)4-G+!}K`tY^rX<#|6y|XSFBTw-WYkmY|L+9KhLZ zCYJ;Fq>%GVAs_K6L0N(Y=ZN;~+3V5vbX`7+@TJvHXVtlaCjHE+^Mvfl$2MC;&M$`| zMY;u5jMb_JFSq0Ir2#55D!FL;5My_Q-w626@xNP^4>e4P99DtKz@Vk72r z?gv>ixfs(SrPlx}XamfE|7+Go#%~zE<-f+XPOY)VmI%(KkY4LZeLP@|pn35|DqaR^ z&edY+?RXD_4H- zBA!o(?(tt!Dz#Ryrr5FGRu~=?dI##1BVGXcMYTE9pdA~uqiiUL!@V1h;xp>aO7KK| zx(61>&OPw)AjMM8&zP-REaE~zH3z_fwSwj>upC$?=v9T!3fiIYIYB;!i}+bnxL9}s z$AilqZ*bx875NWBg7vN{`6Yt(Z_|=+f}oh~S^}M2Xc_oC-~XRX2QKA8+G`iq*}eRJ zE)!e!pXY(Q-kD>i94(2s&G5on&|O zIIC8e1x)cf)3P5!RHsdGFrvIzsEk*5gKPXQZ1kdvIBV|r@;SIhPIxiFYE&DnV7EFT z8Tb&3tX{1#ER4MM);-kRjOd} zS+LR?r9+o&XxGje^2RZIPXi9(<)hU5x;21$4{9X?F_>+)2L$|g2FMxftt#yA3;lhe zzc2is`a;G(?+f|xlKp+V>fd*X;K%Ulzjg};uKA;B-~#(|7GC~a^H37~J>F7M2#)7Pc+yi#q^k+6X}a diff --git a/LabelMonoGame/Label.cs b/LabelMonoGame/Label.cs new file mode 100644 index 0000000..c5446bc --- /dev/null +++ b/LabelMonoGame/Label.cs @@ -0,0 +1,137 @@ +using Microsoft.Xna.Framework; +using Microsoft.Xna.Framework.Graphics; + +using Mootfrost.Monogame.Label.Properties; + +namespace Mootfrost.Monogame.Label +{ + public class Label + { + public Vector2 Position { get; set; } + public Vector2 EndPosition { get; set; } + + public SpriteFont SpriteFont { get; set; } + public Color Color { get; set; } + + public string Text { get; set; } + + public float Scale { get; set; } = 1; + public float Rotation { get; set; } = 0; + + public HorizontalAlignment HorizontalAlignment { get; set; } = HorizontalAlignment.Left; + public VerticalAlignment VerticalAlignment { get; set; } = VerticalAlignment.Top; + + public Label() + { + Position = new Vector2(0); + EndPosition = new Vector2(200); + + Text = "Label"; + Color = Color.White; + } + + /// + /// + /// + /// + /// + /// + /// Right side of label. Needed for alignments. Can be screen size. + /// + public Label(SpriteFont sprteFont, string text, Vector2 position, Vector2 endPosition, Color color) + { + SpriteFont = sprteFont; + Text = text; + Position = position; + EndPosition = endPosition; + Color = color; + } + + /// + /// + /// + /// + /// + /// + /// Right side of label. Needed for alignments. Can be screen size. + /// Needed for scaling font. You can use multiple spritefonts instead. + /// + public Label(SpriteFont sprteFont, string text, Vector2 position, Vector2 endPosition, float scale, Color color) + { + SpriteFont = sprteFont; + Text = text; + Position = position; + EndPosition = endPosition; + Scale = scale; + Color = color; + } + + /// + /// + /// + /// + /// + /// + /// Right side of label. Needed for alignments. Can be screen size. + /// Needed for scaling font. You can use multiple spritefonts instead. + /// Label rotation in radians. + /// + public Label(SpriteFont sprteFont, string text, Vector2 position, Vector2 endPosition, float scale, float rotation, Color color) + { + SpriteFont = sprteFont; + Text = text; + Position = position; + EndPosition = endPosition; + Scale = scale; + Rotation = rotation; + Color = color; + } + + private float SetHorizontalAlignment() + { + float x = Position.X; + switch (HorizontalAlignment) + { + case HorizontalAlignment.Left: + x = Position.X; + break; + case HorizontalAlignment.Center: + x = Position.X + EndPosition.X / 2 - SpriteFont.MeasureString(Text).X / 2; + break; + case HorizontalAlignment.Right: + x = EndPosition.X - SpriteFont.MeasureString(Text).X; + break; + } + return x; + } + + private float SetVericalAlignment() + { + float y = Position.Y; + switch (VerticalAlignment) + { + case VerticalAlignment.Top: + y = Position.Y; + break; + case VerticalAlignment.Center: + y = Position.Y + EndPosition.Y / 2 - SpriteFont.MeasureString(Text).Y / 2; + break; + case VerticalAlignment.Bottom: + y = EndPosition.Y - SpriteFont.MeasureString(Text).Y; + break; + } + return y; + } + + public void Draw(SpriteBatch spriteBatch) + { + Vector2 position = new Vector2(SetHorizontalAlignment(), + SetVericalAlignment()); + + spriteBatch.DrawString(SpriteFont, Text, position, + Color, Rotation, new Vector2(SpriteFont.MeasureString(Text).X / 2, + SpriteFont.MeasureString(Text).Y / 2), + Scale, SpriteEffects.None, 0); + } + } +} diff --git a/LabelMonoGame/LabelMonoGame.csproj b/LabelMonoGame/LabelMonoGame.csproj new file mode 100644 index 0000000..f2f3813 --- /dev/null +++ b/LabelMonoGame/LabelMonoGame.csproj @@ -0,0 +1,11 @@ + + + + netcoreapp3.1 + + + + + + + diff --git a/Pacman_refactored/Classes/UI/Label/Enums/HorizontalAlignment.cs b/LabelMonoGame/Properties/HorizontalAlignment.cs similarity index 53% rename from Pacman_refactored/Classes/UI/Label/Enums/HorizontalAlignment.cs rename to LabelMonoGame/Properties/HorizontalAlignment.cs index 1186494..5bbbeee 100644 --- a/Pacman_refactored/Classes/UI/Label/Enums/HorizontalAlignment.cs +++ b/LabelMonoGame/Properties/HorizontalAlignment.cs @@ -2,11 +2,11 @@ using System.Collections.Generic; using System.Text; -namespace Pacman_refactored.Classes.UI.Label.Enums +namespace Mootfrost.Monogame.Label.Properties { - public enum HoriZontalAlignment + public enum HorizontalAlignment { - Top, + Left, Center, Right } diff --git a/Pacman_refactored/Classes/UI/Label/Enums/VerticalAlignment.cs b/LabelMonoGame/Properties/VerticalAlignment.cs similarity index 76% rename from Pacman_refactored/Classes/UI/Label/Enums/VerticalAlignment.cs rename to LabelMonoGame/Properties/VerticalAlignment.cs index b6f0991..9602cff 100644 --- a/Pacman_refactored/Classes/UI/Label/Enums/VerticalAlignment.cs +++ b/LabelMonoGame/Properties/VerticalAlignment.cs @@ -2,7 +2,7 @@ using System.Collections.Generic; using System.Text; -namespace Pacman_refactored.Classes.UI.Label.Enums +namespace Mootfrost.Monogame.Label.Properties { public enum VerticalAlignment { diff --git a/LabelMonoGame/obj/Debug/netcoreapp3.1/.NETCoreApp,Version=v3.1.AssemblyAttributes.cs b/LabelMonoGame/obj/Debug/netcoreapp3.1/.NETCoreApp,Version=v3.1.AssemblyAttributes.cs new file mode 100644 index 0000000..ad8dfe1 --- /dev/null +++ b/LabelMonoGame/obj/Debug/netcoreapp3.1/.NETCoreApp,Version=v3.1.AssemblyAttributes.cs @@ -0,0 +1,4 @@ +// +using System; +using System.Reflection; +[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETCoreApp,Version=v3.1", FrameworkDisplayName = "")] diff --git a/LabelMonoGame/obj/Debug/netcoreapp3.1/LabelMonoGame.AssemblyInfo.cs b/LabelMonoGame/obj/Debug/netcoreapp3.1/LabelMonoGame.AssemblyInfo.cs new file mode 100644 index 0000000..d1292e1 --- /dev/null +++ b/LabelMonoGame/obj/Debug/netcoreapp3.1/LabelMonoGame.AssemblyInfo.cs @@ -0,0 +1,23 @@ +//------------------------------------------------------------------------------ +// +// Этот код создан программой. +// Исполняемая версия:4.0.30319.42000 +// +// Изменения в этом файле могут привести к неправильной работе и будут потеряны в случае +// повторной генерации кода. +// +//------------------------------------------------------------------------------ + +using System; +using System.Reflection; + +[assembly: System.Reflection.AssemblyCompanyAttribute("LabelMonoGame")] +[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")] +[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")] +[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0")] +[assembly: System.Reflection.AssemblyProductAttribute("LabelMonoGame")] +[assembly: System.Reflection.AssemblyTitleAttribute("LabelMonoGame")] +[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")] + +// Создано классом WriteCodeFragment MSBuild. + diff --git a/LabelMonoGame/obj/Debug/netcoreapp3.1/LabelMonoGame.AssemblyInfoInputs.cache b/LabelMonoGame/obj/Debug/netcoreapp3.1/LabelMonoGame.AssemblyInfoInputs.cache new file mode 100644 index 0000000..83a487c --- /dev/null +++ b/LabelMonoGame/obj/Debug/netcoreapp3.1/LabelMonoGame.AssemblyInfoInputs.cache @@ -0,0 +1 @@ +eb281257258394298fc3abb5f80064e36f68fb0c diff --git a/LabelMonoGame/obj/Debug/netcoreapp3.1/LabelMonoGame.GeneratedMSBuildEditorConfig.editorconfig b/LabelMonoGame/obj/Debug/netcoreapp3.1/LabelMonoGame.GeneratedMSBuildEditorConfig.editorconfig new file mode 100644 index 0000000..c371ad3 --- /dev/null +++ b/LabelMonoGame/obj/Debug/netcoreapp3.1/LabelMonoGame.GeneratedMSBuildEditorConfig.editorconfig @@ -0,0 +1,3 @@ +is_global = true +build_property.RootNamespace = LabelMonoGame +build_property.ProjectDir = C:\Users\Semejkin_AV\Desktop\Pacman_refactored\LabelMonoGame\ diff --git a/LabelMonoGame/obj/Debug/netcoreapp3.1/LabelMonoGame.assets.cache b/LabelMonoGame/obj/Debug/netcoreapp3.1/LabelMonoGame.assets.cache new file mode 100644 index 0000000000000000000000000000000000000000..f75d6618730bcfcabb7a13b51f5848fbe70ed111 GIT binary patch literal 3022 zcmc(g&2G~`5XS>8Eh)6n?@|f`Xec1nPC^w04wb4#jUrMM5$I{9%8j?FiQ^6Sx=GI5 z;K%`qSKtwN0&bkkl_P=|Kq|BK+TOT!noEkM$!6EHvp@emo+&>sY>dTXu`l0$&$N!# zj(>h$&wnhg|9JoDTYTjB>#q+-G5PPi*~*_$aN^em7!Nm}q1P5REmXk`{HCrMyBj-5 zGVB_rsHs%zN)216K@3t;8d%yl;kQN1x};*OPD!(-qbE{MN=fPLS{muv9x^bssA8y! zsb-`U+J>zKwsp(js_R1n!bSMc=EGo@__{bS%%zYpd554-V$Li`vae@h-UaY1o1_Lv zi7idXRw9|nwR72I<|*3NswT0>K27XsmaXWC3bj>@pvr+_Vimox3z(Lrq1Aj38d(#J6B%Lf-~^doIMRzU>l7>>kv2fF?}m1gtZiMe0H7oXfhoeU{F5 zBZ%*D;`=Z%otMD|sk2YqkIqS;3DfxjtTUZOYM7o}EATrZwxXiivqesezB|zFHDZkU zjeEST(1W7E+u9?j8FF_UmqYq5q)vRpvM_zsY2s1d0pgpa*(s5#q7PHk##7Lwsm59X zF)H>RJ7z9C)MK}W$X*MPofZNM-7RFqS@(9F-E`)=G4h&;tCX0XMfcFtAtqlsEv=|x zXl?r%Hsc=HLw8#!tI#q$$J6oQp#;YjFCvuku;=Eb-19@dOa6=-PxKptJxTY5+GizC?LILt&mUb?5I-!>DHug`@>rZmx$GIR d{x|GCO#s$+aA0#;k0W@5$l*CTuznQL=^v-aU{(MC literal 0 HcmV?d00001 diff --git a/LabelMonoGame/obj/Debug/netcoreapp3.1/LabelMonoGame.csproj.AssemblyReference.cache b/LabelMonoGame/obj/Debug/netcoreapp3.1/LabelMonoGame.csproj.AssemblyReference.cache new file mode 100644 index 0000000000000000000000000000000000000000..39d745cf0e95f2bd4e89a905c2dfdcfebd734afc GIT binary patch literal 88752 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≻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 SZ|5Q;w}rm5t*Utb;Qs-)e!dL= literal 0 HcmV?d00001 diff --git a/LabelMonoGame/obj/LabelMonoGame.csproj.nuget.dgspec.json b/LabelMonoGame/obj/LabelMonoGame.csproj.nuget.dgspec.json new file mode 100644 index 0000000..6763975 --- /dev/null +++ b/LabelMonoGame/obj/LabelMonoGame.csproj.nuget.dgspec.json @@ -0,0 +1,74 @@ +{ + "format": 1, + "restore": { + "C:\\Users\\Semejkin_AV\\Desktop\\Pacman_refactored\\LabelMonoGame\\LabelMonoGame.csproj": {} + }, + "projects": { + "C:\\Users\\Semejkin_AV\\Desktop\\Pacman_refactored\\LabelMonoGame\\LabelMonoGame.csproj": { + "version": "1.0.0", + "restore": { + "projectUniqueName": "C:\\Users\\Semejkin_AV\\Desktop\\Pacman_refactored\\LabelMonoGame\\LabelMonoGame.csproj", + "projectName": "LabelMonoGame", + "projectPath": "C:\\Users\\Semejkin_AV\\Desktop\\Pacman_refactored\\LabelMonoGame\\LabelMonoGame.csproj", + "packagesPath": "C:\\Users\\Semejkin_AV\\.nuget\\packages\\", + "outputPath": "C:\\Users\\Semejkin_AV\\Desktop\\Pacman_refactored\\LabelMonoGame\\obj\\", + "projectStyle": "PackageReference", + "fallbackFolders": [ + "C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages" + ], + "configFilePaths": [ + "C:\\Users\\Semejkin_AV\\AppData\\Roaming\\NuGet\\NuGet.Config", + "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.FallbackLocation.config", + "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config" + ], + "originalTargetFrameworks": [ + "netcoreapp3.1" + ], + "sources": { + "C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {}, + "C:\\Program Files\\dotnet\\library-packs": {}, + "https://api.nuget.org/v3/index.json": {} + }, + "frameworks": { + "netcoreapp3.1": { + "targetAlias": "netcoreapp3.1", + "projectReferences": {} + } + }, + "warningProperties": { + "warnAsError": [ + "NU1605" + ] + } + }, + "frameworks": { + "netcoreapp3.1": { + "targetAlias": "netcoreapp3.1", + "dependencies": { + "MonoGame.Framework.DesktopGL": { + "target": "Package", + "version": "[3.8.0.1641, )" + } + }, + "imports": [ + "net461", + "net462", + "net47", + "net471", + "net472", + "net48", + "net481" + ], + "assetTargetFallback": true, + "warn": true, + "frameworkReferences": { + "Microsoft.NETCore.App": { + "privateAssets": "all" + } + }, + "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\6.0.400-preview.22301.10\\RuntimeIdentifierGraph.json" + } + } + } + } +} \ No newline at end of file diff --git a/LabelMonoGame/obj/LabelMonoGame.csproj.nuget.g.props b/LabelMonoGame/obj/LabelMonoGame.csproj.nuget.g.props new file mode 100644 index 0000000..97558c5 --- /dev/null +++ b/LabelMonoGame/obj/LabelMonoGame.csproj.nuget.g.props @@ -0,0 +1,16 @@ + + + + True + NuGet + $(MSBuildThisFileDirectory)project.assets.json + $(UserProfile)\.nuget\packages\ + C:\Users\Semejkin_AV\.nuget\packages\;C:\Program Files (x86)\Microsoft Visual Studio\Shared\NuGetPackages + PackageReference + 6.3.0 + + + + + + \ No newline at end of file diff --git a/LabelMonoGame/obj/LabelMonoGame.csproj.nuget.g.targets b/LabelMonoGame/obj/LabelMonoGame.csproj.nuget.g.targets new file mode 100644 index 0000000..3d2bae3 --- /dev/null +++ b/LabelMonoGame/obj/LabelMonoGame.csproj.nuget.g.targets @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/LabelMonoGame/obj/project.assets.json b/LabelMonoGame/obj/project.assets.json new file mode 100644 index 0000000..d208ce7 --- /dev/null +++ b/LabelMonoGame/obj/project.assets.json @@ -0,0 +1,155 @@ +{ + "version": 3, + "targets": { + ".NETCoreApp,Version=v3.1": { + "MonoGame.Framework.DesktopGL/3.8.0.1641": { + "type": "package", + "compile": { + "lib/netstandard2.0/MonoGame.Framework.dll": {} + }, + "runtime": { + "lib/netstandard2.0/MonoGame.Framework.dll": {} + }, + "build": { + "build/MonoGame.Framework.DesktopGL.targets": {} + }, + "runtimeTargets": { + "runtimes/linux-x64/native/libSDL2-2.0.so.0": { + "assetType": "native", + "rid": "linux-x64" + }, + "runtimes/linux-x64/native/libopenal.so.1": { + "assetType": "native", + "rid": "linux-x64" + }, + "runtimes/osx/native/libSDL2-2.0.0.dylib": { + "assetType": "native", + "rid": "osx" + }, + "runtimes/osx/native/libopenal.1.dylib": { + "assetType": "native", + "rid": "osx" + }, + "runtimes/win-x64/native/SDL2.dll": { + "assetType": "native", + "rid": "win-x64" + }, + "runtimes/win-x64/native/soft_oal.dll": { + "assetType": "native", + "rid": "win-x64" + }, + "runtimes/win-x86/native/SDL2.dll": { + "assetType": "native", + "rid": "win-x86" + }, + "runtimes/win-x86/native/soft_oal.dll": { + "assetType": "native", + "rid": "win-x86" + } + } + } + } + }, + "libraries": { + "MonoGame.Framework.DesktopGL/3.8.0.1641": { + "sha512": "rJQlrlHQbnOECYV6EcQ8GlGRQ2lzPTroXQcyyOZ0ki+BQRSJEN2zVBm9skqLiXya348aGAfTSSGTaSKjAy9NaA==", + "type": "package", + "path": "monogame.framework.desktopgl/3.8.0.1641", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "build/MonoGame.Framework.DesktopGL.targets", + "lib/net452/MonoGame.Framework.dll", + "lib/net452/MonoGame.Framework.xml", + "lib/netstandard2.0/MonoGame.Framework.dll", + "lib/netstandard2.0/MonoGame.Framework.xml", + "monogame.framework.desktopgl.3.8.0.1641.nupkg.sha512", + "monogame.framework.desktopgl.nuspec", + "runtimes/linux-x64/native/libSDL2-2.0.so.0", + "runtimes/linux-x64/native/libopenal.so.1", + "runtimes/osx/native/libSDL2-2.0.0.dylib", + "runtimes/osx/native/libopenal.1.dylib", + "runtimes/win-x64/native/SDL2.dll", + "runtimes/win-x64/native/soft_oal.dll", + "runtimes/win-x86/native/SDL2.dll", + "runtimes/win-x86/native/soft_oal.dll" + ] + } + }, + "projectFileDependencyGroups": { + ".NETCoreApp,Version=v3.1": [ + "MonoGame.Framework.DesktopGL >= 3.8.0.1641" + ] + }, + "packageFolders": { + "C:\\Users\\Semejkin_AV\\.nuget\\packages\\": {}, + "C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages": {} + }, + "project": { + "version": "1.0.0", + "restore": { + "projectUniqueName": "C:\\Users\\Semejkin_AV\\Desktop\\Pacman_refactored\\LabelMonoGame\\LabelMonoGame.csproj", + "projectName": "LabelMonoGame", + "projectPath": "C:\\Users\\Semejkin_AV\\Desktop\\Pacman_refactored\\LabelMonoGame\\LabelMonoGame.csproj", + "packagesPath": "C:\\Users\\Semejkin_AV\\.nuget\\packages\\", + "outputPath": "C:\\Users\\Semejkin_AV\\Desktop\\Pacman_refactored\\LabelMonoGame\\obj\\", + "projectStyle": "PackageReference", + "fallbackFolders": [ + "C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages" + ], + "configFilePaths": [ + "C:\\Users\\Semejkin_AV\\AppData\\Roaming\\NuGet\\NuGet.Config", + "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.FallbackLocation.config", + "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config" + ], + "originalTargetFrameworks": [ + "netcoreapp3.1" + ], + "sources": { + "C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {}, + "C:\\Program Files\\dotnet\\library-packs": {}, + "https://api.nuget.org/v3/index.json": {} + }, + "frameworks": { + "netcoreapp3.1": { + "targetAlias": "netcoreapp3.1", + "projectReferences": {} + } + }, + "warningProperties": { + "warnAsError": [ + "NU1605" + ] + } + }, + "frameworks": { + "netcoreapp3.1": { + "targetAlias": "netcoreapp3.1", + "dependencies": { + "MonoGame.Framework.DesktopGL": { + "target": "Package", + "version": "[3.8.0.1641, )" + } + }, + "imports": [ + "net461", + "net462", + "net47", + "net471", + "net472", + "net48", + "net481" + ], + "assetTargetFallback": true, + "warn": true, + "frameworkReferences": { + "Microsoft.NETCore.App": { + "privateAssets": "all" + } + }, + "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\6.0.400-preview.22301.10\\RuntimeIdentifierGraph.json" + } + } + } +} \ No newline at end of file diff --git a/LabelMonoGame/obj/project.nuget.cache b/LabelMonoGame/obj/project.nuget.cache new file mode 100644 index 0000000..6d1ef47 --- /dev/null +++ b/LabelMonoGame/obj/project.nuget.cache @@ -0,0 +1,10 @@ +{ + "version": 2, + "dgSpecHash": "4CtLDvXCle59fdKhx18wrAPDRQzHxMWYsNhseQIGFpDdg6o4LqPUDbE0X2onB+aUibcM5JoqNJ3vl6ZIaTxvJA==", + "success": true, + "projectFilePath": "C:\\Users\\Semejkin_AV\\Desktop\\Pacman_refactored\\LabelMonoGame\\LabelMonoGame.csproj", + "expectedPackageFiles": [ + "C:\\Users\\Semejkin_AV\\.nuget\\packages\\monogame.framework.desktopgl\\3.8.0.1641\\monogame.framework.desktopgl.3.8.0.1641.nupkg.sha512" + ], + "logs": [] +} \ No newline at end of file diff --git a/Pacman_refactored.sln b/Pacman_refactored.sln index e7a55bd..3da6361 100644 --- a/Pacman_refactored.sln +++ b/Pacman_refactored.sln @@ -1,9 +1,11 @@  Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio Version 16 -VisualStudioVersion = 16.0.32413.511 +# Visual Studio Version 17 +VisualStudioVersion = 17.3.32611.2 MinimumVisualStudioVersion = 10.0.40219.1 -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Pacman_refactored", "Pacman_refactored\Pacman_refactored.csproj", "{8C511935-ED5F-4850-8EF4-32058A50A89E}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Pacman_refactored", "Pacman_refactored\Pacman_refactored.csproj", "{8C511935-ED5F-4850-8EF4-32058A50A89E}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "LabelMonoGame", "LabelMonoGame\LabelMonoGame.csproj", "{70F40C9C-E4A8-4199-8B94-F5E5A97C25A1}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution @@ -15,6 +17,10 @@ Global {8C511935-ED5F-4850-8EF4-32058A50A89E}.Debug|Any CPU.Build.0 = Debug|Any CPU {8C511935-ED5F-4850-8EF4-32058A50A89E}.Release|Any CPU.ActiveCfg = Release|Any CPU {8C511935-ED5F-4850-8EF4-32058A50A89E}.Release|Any CPU.Build.0 = Release|Any CPU + {70F40C9C-E4A8-4199-8B94-F5E5A97C25A1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {70F40C9C-E4A8-4199-8B94-F5E5A97C25A1}.Debug|Any CPU.Build.0 = Debug|Any CPU + {70F40C9C-E4A8-4199-8B94-F5E5A97C25A1}.Release|Any CPU.ActiveCfg = Release|Any CPU + {70F40C9C-E4A8-4199-8B94-F5E5A97C25A1}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/Pacman_refactored/Classes/Entity/Ghost.cs b/Pacman_refactored/Classes/Entity/Ghost.cs index 89ed33a..7458cb0 100644 --- a/Pacman_refactored/Classes/Entity/Ghost.cs +++ b/Pacman_refactored/Classes/Entity/Ghost.cs @@ -1,7 +1,4 @@ -using System; -using System.Collections.Generic; -using System.Text; -using Microsoft.Xna.Framework; +using Microsoft.Xna.Framework; using Microsoft.Xna.Framework.Graphics; using Pacman_refactored.Interfaces; diff --git a/Pacman_refactored/Classes/Food/Energizer.cs b/Pacman_refactored/Classes/Food/Energizer.cs index 7720112..a7397ca 100644 --- a/Pacman_refactored/Classes/Food/Energizer.cs +++ b/Pacman_refactored/Classes/Food/Energizer.cs @@ -1,9 +1,7 @@ using Microsoft.Xna.Framework; using Microsoft.Xna.Framework.Graphics; -using System; -using System.Collections.Generic; -using System.Text; -using Pacman_refactored.Classes.Interfaces; + +using Pacman_refactored.Interfaces; namespace Pacman_refactored.Classes.Food { diff --git a/Pacman_refactored/Classes/Food/Fruit.cs b/Pacman_refactored/Classes/Food/Fruit.cs index 8fe7ca8..862bd6f 100644 --- a/Pacman_refactored/Classes/Food/Fruit.cs +++ b/Pacman_refactored/Classes/Food/Fruit.cs @@ -1,8 +1,5 @@ using Microsoft.Xna.Framework; using Microsoft.Xna.Framework.Graphics; -using System; -using System.Collections.Generic; -using System.Text; namespace Pacman_refactored.Classes.Food { diff --git a/Pacman_refactored/Classes/UI/GameOverMenu.cs b/Pacman_refactored/Classes/UI/GameOverMenu.cs new file mode 100644 index 0000000..26f3912 --- /dev/null +++ b/Pacman_refactored/Classes/UI/GameOverMenu.cs @@ -0,0 +1,10 @@ +using System; +using System.Collections.Generic; +using System.Text; + +namespace Pacman_refactored.Classes.UI +{ + public class GameOverMenu : Menu + { + } +} diff --git a/Pacman_refactored/Classes/UI/Label/Label.cs b/Pacman_refactored/Classes/UI/Label/Label.cs deleted file mode 100644 index 7b57902..0000000 --- a/Pacman_refactored/Classes/UI/Label/Label.cs +++ /dev/null @@ -1,30 +0,0 @@ -using Microsoft.Xna.Framework; -using Microsoft.Xna.Framework.Graphics; - -namespace Pacman_refactored.Classes.UI.Label -{ - public class Label - { - public Vector2 Position { get; set; } - - public SpriteFont SpriteFont { get; set; } - public Color Color { get; set; } - - public string Text { get; set; } - - public Label() - { - Position = new Vector2(0, 0); - Text = "Label"; - Color = Color.White; - } - - public Label(SpriteFont sprteFont, string text, Vector2 position, Color color) - { - SpriteFont = sprteFont; - Text = text; - Position = position; - Color = color; - } - } -} diff --git a/Pacman_refactored/Classes/UI/MainMenu.cs b/Pacman_refactored/Classes/UI/MainMenu.cs new file mode 100644 index 0000000..23632f5 --- /dev/null +++ b/Pacman_refactored/Classes/UI/MainMenu.cs @@ -0,0 +1,10 @@ +using System; +using System.Collections.Generic; +using System.Text; + +namespace Pacman_refactored.Classes.UI +{ + public class MainMenu : Menu + { + } +} diff --git a/Pacman_refactored/Classes/UI/Menu.cs b/Pacman_refactored/Classes/UI/Menu.cs index 829c8f3..576e893 100644 --- a/Pacman_refactored/Classes/UI/Menu.cs +++ b/Pacman_refactored/Classes/UI/Menu.cs @@ -1,14 +1,56 @@ -using System; -using System.Collections.Generic; -using System.Text; +using Microsoft.Xna.Framework; +using Microsoft.Xna.Framework.Graphics; using Pacman_refactored.Enums; using Pacman_refactored.Interfaces; +using Mootfrost.Monogame.Label; +using Mootfrost.Monogame.Label.Properties; namespace Pacman_refactored.Classes.UI { public abstract class Menu : IControl { + public abstract SpriteFont SpriteFont { get; set; } + + public abstract Vector2 Position { get; set; } + public abstract Vector2 ScreenSize { get; set; } + public abstract string[] MenuItems { get; set; } + public abstract int SelectedItem { get; set; } + + public abstract Direction PrevDirection { get; set; } + + public virtual void Update(GameTime gameTime) + { + Direction direction = IControl.GetDirection(); + if (direction != PrevDirection) + { + if (direction == Direction.Up && SelectedItem > 0) + { + SelectedItem--; + } + else if (direction == Direction.Down && SelectedItem < MenuItems.Length - 1) + { + SelectedItem++; + } + } + PrevDirection = direction; + } + + public virtual void Draw(SpriteBatch spriteBatch) + { + for (int i = 0; i < MenuItems.Length; i++) + { + string element = MenuItems[i]; + if (SelectedItem == i) + { + element = $">{element}<"; + } + Label label = new Label(SpriteFont, element, Position, ScreenSize, Color.White); + label.HorizontalAlignment = HorizontalAlignment.Center; + + label.Draw(spriteBatch); + } + } } } diff --git a/Pacman_refactored/Interfaces/IAnimate.cs b/Pacman_refactored/Interfaces/IAnimate.cs index c59450d..4b3eedf 100644 --- a/Pacman_refactored/Interfaces/IAnimate.cs +++ b/Pacman_refactored/Interfaces/IAnimate.cs @@ -4,7 +4,7 @@ using Microsoft.Xna.Framework.Input; using System.Collections.Generic; using System; -namespace Pacman_refactored.Classes.Interfaces +namespace Pacman_refactored.Interfaces { public interface IAnimate { diff --git a/Pacman_refactored/Interfaces/IBoostable.cs b/Pacman_refactored/Interfaces/IBoostable.cs index 710f391..855e54d 100644 --- a/Pacman_refactored/Interfaces/IBoostable.cs +++ b/Pacman_refactored/Interfaces/IBoostable.cs @@ -2,15 +2,10 @@ using System.Collections.Generic; using System.Text; -namespace Pacman_refactored.Classes.Interfaces +namespace Pacman_refactored.Interfaces { public interface IBoostable { int BoostCooldown { get; set; } - - void OnBoost(Entity entity) - { - - } } } diff --git a/Pacman_refactored/Pacman_refactored.csproj b/Pacman_refactored/Pacman_refactored.csproj index d05bbcf..b37106c 100644 --- a/Pacman_refactored/Pacman_refactored.csproj +++ b/Pacman_refactored/Pacman_refactored.csproj @@ -28,6 +28,6 @@ - + \ No newline at end of file