VPuQC1GJIhsU$*VlJli>PqO(HGbLn?;
zhRT9;V~}ZKF4HS>7L}FJEoH2IFz0tgL8=Wh{gcpd37s$W6`^0uSyxs-U7*D@l=EqL
z_@|V5Dd*C>AkEDg2?c3=1=CF$|T_cE!*-NEHzpiIgtI>MYx0%Li^s4})V>Eg~%1za1>NwUlYBWJwJ4d4xA=b^I
z>!rSc;y4#*^p3&01$3iC9YTGrbP^+EaJrU0Wg`ztHh%<3H%C*uaS}H!DEoIA1v{ISS@mOxfELo}6jf@X8U;-Vgnt`f+
zW6lIU02&OQPjl62Bi|^U2l_!R)4>SSy9}oH4T87pM@$+(<6)F=MTB;
zvoo?3+Sk=e*XJ7rr?7q1DX!!V&p5hbh%FZ2<3Beo)&D$zX)(T?W&ZBBl?5
zcWg3|K1kj!VfwDnujDbGm&5dp!ampXb+rwWx#O6Y)@@T0Xq=e@EzVnr{Iu1iK{pod
z0Nqk@KInpy3qfBE><672xD50wbh+zozj-D6%qU_y6uQ!t59eM3$y87$!o79ZLsA`J
zy0++g6{NQd&h)Z$B)(724u3)A2dC
z!p}W)2M;7X)!tWqZ{#bmx6zX-W8Q;bXdIL@AB44oEb~cKsF7WccMSHz<(^f=E=roO
zsECU!^OvexBfDIUtIL@GuIgNrG!Lq%i!3wWIEL1W;2PRumKrhIE{MG-;(eNEgszD$
zh*TL_^lsfagZC3#_qW`M9yH6GYG6Clx@{GW1~xT~-m98p;7p{^`*mJ)BFbfTZME|a
zKEc^FboO_xjvs!NOIoY->saS3Bj%K4jm!E3jW?7@>BWD`8Bi1NtbQ!V*OZ$qA
zZ3b@PwXUizZSbCGd)Yj$(OBZ5UE}r`EiO8)_CjNsi;4r=j1?{_SC<*BE_#bTW1Qk5
ztL}4#y;E>@*VOGX)?{_Xw;JnQG^hAZ12;i4wQ|pAht9
z-e1&WdXa7v^c{NMWb~?_ee_1%X7fd=nt)=omlj|*dWq%;x`s|x-R4WQUCr-F$~;YRebO7t^n3kw!l&uK;S(=z+-n=CA1tLD$eW
z>`w1eT%*;Ihs<{=A;`|>Z|Hoj`>{&VZ)m@ZzHR=yZmqp*|JH4L#(diRy^E6OOXhnn
z;@$qBuiW2UUB>*W`41N*&38@v=)orl-tF_$XQcLhc{?f&n)&LB8jVyO0y>~kS@@t?
zpdQz#E_?{+IgNsq2hBqDrbeZehk)MIXn*LS8B+h$=*rL`pxntE&c3{JYY&=5s#c?Y
zwTFNvYc$U|XcnvEHCk*O0%{htm(DH;1WHs!>mEVWVYOeQ=Mi;SU7^uwh&rOapivK^
zj;OC`)Q+gj)MFZTBkD5sj7F~^>T>l{jowAn2@&eHT$zsJ}awh`K`MOtD+E8&OxP
zYK<;M)Rk(YMq&7@Qgbyr8a}JkNseXVL9<$|*XZ+whk!O|G+1=dtWo^S2Ip*N(IKF7
z1?{B^ivodK^^(?IicHk2Uubk4GEuL7r_m&2Vw_S(+g@fN6XR5&MzzSqcr{+5X~@KQ
z#ShlFz8etrQEGukcO&Yf)H01ejZ8$<=^EXFOhi?eMk|qt32IoQ4amdD*qTe>b!zb
z;22eZkoDYqwnX10@Kx(H2P)U{pNIazeab#=M43PM&E?b8R`cby8t_aLjcWX4E
zxEAPPjczH924<=6X>@P#6rfi%dZ1=nV77W&qi1WHfZo&SrTXIncpNP^KKt@suU`OE
ztWj-wb6~Ej(`ah>a-gXiU7p((G9uFftG62QPUhaUaix}s#y-ysZm#;4NnaQ
zG)f270iC1KgQXh+^VNQh9xvStbhSnY>hCvCP`7Ecu|5=7pblu%3*7?sEscVOp}<1*
zj7AlO_nQmVYZ@IWJ7}J${#~PQl^p_FG|leKM=%=~skIt?7qfAZx>chav7(%$?$hYY
zSW!+=LAeFomv>dcL36RH*65akLqM$>ZL2zHHmfr=+EsN3=o1>v$v$LV=~~D2+ZSx!+u>W@yw$p};bAf<|dUD>S+Yb9$NT
z(CCaRMsbZkiIKHTB{T}u_Ww_p0q7j*K4#Rlnks;U(#qv
z?L~OP^oWgUPLTq7PNM~(;Q)R>kelIslwY?yaI$LCXn92r-thdmMmffyxk`OrqjI3t
z>LHD84=X$^`n5*;b1w+2QA%#9_tC17O9E@vY>kd7`BY$?vNRfp*|=U^BIpWwwD79H
zdi5QR?k>DJutEJpTQ01_HC>}08yC@8szcB<^tyU3
zaF!a;=o_VszM|3mnuma1w^82HRSyL^)!TwTL(6kt4s21s@>s?lOIlO$P@qfw!PUJM
z=vD_cT2t{_phst)Kd0ihzqHjo>i9OXTTdP_!;|?2JG8K7qJlI-(UC_zlEJSP4o%Mc+
zqdkZ$nRH(zw`fnXwvm2v>>bOe%2_f+`lZ5Yb=07#5*0E4{x9fXu?N4qj>hyeu4J_5
zlEWl5Zv0N|U#S^g>SGcQXWp^-ajwHVl4k;=B?aM+mP{Bo+U8kL_HJ=`rEwn>X|!P-qHTV6GN7FwD)_;W_d^3QtH&}
zNX|rGm~_DHO@qdk`0ZaVa{M^6PH8Jsqv0Kgz84u6Qi*uXv*+W3709lrhhq4e{w;>&_A_uO5b8J(%Zb@>y!H
zKVFG9D%-OG|9;P7%Rg!r^|t8nRrJHOW38gzn2*Hs2sC`{J(A^-56qpIgiQ`TH
zZ3X=@@l(o~swa0TeVyI`|8@M5x(ak=*=eB5Oa*#$SsZjrMISZ8b1B|d*i0$p>^_f`t)*lx=^KpWMDarfch^xPhK
z96rm+e+0^>NZ1%Z#&6~UJe$iy4&Mi@r-PtTIs`hIOqEA5$^)HFMW9U-0i8otDujQB
zR1bcwl+S{y!o9KP~>Rg8w|amL`DSETz6A
z^ea;KfRw#Y%049WM@9Y}kv}c+XT|3aMEj~}etkqS{`
zBbCwdIgM0Di$Nz*C+IZV3Obv1gD#-Gpe-Ufg{}tQPCo!WQ?%U_2sY9-Y6MNwaiF`Y
zCD@`agr5ryrjH9X@%zcAg5BnAsPX3}*E=cjIna?9^EV59ROp*RPo<;rjzUabjq7#z
z-T?k4e5cEs1Ka32yr1wTdX8SkNm!vh2HIj`^yK0VqzO9{Ck$
zZ3W9;i~JT;RsIq5>M+x5g`ZHwyjjQeZiDGN6->_+n>}KaBR22VviugYX$UcYb0O1b
zM0>B4Iz>t?mr~D&%|lXZNJ@Pm_PcDF$7Q1h9M$LZnYIc)QTVj*@8+@m5s|!A!Tk0x
z(;byeKL|1XZ7tK!8BD(_Hp|3jvDiEzHvb|v9}}DN$8k0ibxfDl{0HdwByaZ#ol^XF
zNK^^$@ddRxpf%$PKs(DzKwrvbdQ%P4Zw1Ohi^DabPt|kn*9twQkogbFxOHz7FnzF!
z>Gy^Is_^N2mIQ@AzLf2^5z`$)FOjyNRmGAkB%ZbPN1>KGXfo*TPz-c?Z6oMgRkJ`(
z&;4z{pzRn72JJ!M23>+NVbI61GAq1Ml@I7%Pe{7y4MfZUkcmrw*_oQHRw^iZ>i`pP=mgWy++aFpay*hb6C+6ptujFx!|7yHRx$N9{hJf4f-B-
zB}LDG8uTn?yTYtm0RDM85&R3F26mm3z`qP?;FqOl@IL@G=!aMr6#WR)pjYHgt5-n{
zdW}{<{%@cL{TMS=(N91PdYw)I|5H$d-oU$B2EB>*hYWg))`9*ED~mxtmv^mxK^wro
zO&dXfiM7U{ckq^wfnR|-L4Qqg(08dD^mk-|{sGT^4EhsxPlMjW2r{su4ubv%B~jyF
zKn?mUoelmVs6l_jYNhD!pa%T|Z+0pAC#Zq7cL(?nK>5(I3%mj~$WXh%o1g{-)E@9T
zpauoi`QUSf=Bd4qSTzmo
zUpIkHRJXu#5~x9w)otLXfErj?ZwEa_-2pmZeHruwbr;srgfWG###lr)jH74)&KAm;
zK=0z|lrkpK-*Wjng=XQzpzsdMHavS)##DN*im%h?eX*NCCyM@9YO7`WOzM{FY`OqH
ziz#C+ZI^Iv{Zj($#WJ(t9{}D&uVWiCojPq@M9GO_S>mDwKBY
zqCX4XO%KR*4}Dy&=Tlm)d+EeNE_WeKmg~jz$1=wI>FH{|UP>2>|I6q#k$;lj$NSRC
zxSUQE{T0+9`p?iaBEOoJNq>Eog3_+*=oZm`j%r1I16g8s6CE$*Z=uzKZ==6fvftb3
z9g*KbZwmf0JyF2&yJ$${U!|`JzMF0me_yAGQqR4#U+_0*s?>KsmB{r0x~_!Ff0OQ%
z@(6dLB<+DU!jQjd5zwX_WhWSmH1w#J4F5lb%?*Ws7=Pl&*@efM{m=Ua(##H
zmFutR6<7U1<$iufM+@}J*5RIbwB5USzA##L8=eJ?mJN>~v)_lEfVmvU
zULl`_i@G~Im-eTJ2I9L~2IA@Ttl7tRHqpYhc-=X(sH+ov>$1e~pp}Yu4Om-dx+s%O
z0k!p~Gr08Pf3s-es$|dbfVGHLw9xvFHfl|;j<2S+j`h@MWjfp9yOP71(>?q~+8!Sm
zwmLg$dA!@|N+!28ZcO&YX%`bNvNWEFQ`%uVdjxh-`>u4x8fjS68zICG
zv9h!^XQegmv}LK)i+1)%u3FPNTu0cNJ~h$fGmyCB8Mi=d0{QRnq2`{RmaY8*91ACF
zy)~HJZh0lGiL{l<*phCsL=h85-?ud*ERP*-KjBYO$hC7r7%7Rzjbpi&hbQ%Le
zs#?|q#$vK6zRe;;jZ`PWEwRvC&3mR5oz|c3$7sOBSs73CfZ+sa*6tJyI`!D%c(kZJ
z-s`Y>NV)~>ku|EQPq@{tt{we`TJ5S@l0&=NGrNG74h*c04_eNITR)u0U=WiNgfk3j
zbuy8Sy<^vqMW^w^7LHr8Hkt0{c`5>)&prX?-7m1`EQf$jJdz3%#-|$cR^o)HJKgS;
z!zUs2+LMt^vr=8jv_)7`h6fYtt?gC{XhSMKVa*x*dy%eTs8$U3d(diYIFpJGthdt1;Z(PkZi^@ShB0ii_Dij<;l4gz
z8?rLE*CQk=Yfh)F!LET_9sL=vX$NMMm06BIP-E>#rnY76m+j10i8MMPD{@>cN9ahv
z*h+i245#AUfrpn}YNfkV{X>2wmY_ItvxZkcyOFS@Y0h@H+S;+9KZ8Y*_bKY^
zwy!d0?bTd@(5p7Vzbp(6_J`z`+Uq^fU+u_a%u`oOhxAqN>ADjd^>D)={-(Hc-
z3<9t+-CMD;X0}ScHt5VcHxAza*LJu~Jxfv&vDT`1W}J0MD|~g_a~UndIQ;a$YG{
zu&O_iHF1HbiD>v(Vzk^94>~@w5qBhqvTp5&T~XF*w26)Vm3w7wS9pcekqF0@Wu3QK
zy;_!b6PcA|?bh?OvI}PoJ;JPIdnTSb%+e!dOFP7DEUV%>v%X#6Z{k>D&aYE+&|!AS
z2uXH*jGEKC65TEFfq|}g_crQw7>fI(|$pihhj;%nw9z}1~7rWMD9b=le
zjREhJa%F61pLJXjr*)Lb*>PKW*-XHd-rro@mh9`ZQZ8JM6Z3$~5*@?JWUBw1Bp*Y)
zQFx@;I6T5^Bp#tGap`4e55pI)FsQl>`{n=*2*qL3f2?opfuy}Vg;Tpk)QU5_K3NF1
zr!V&o;oZ(Rt-wE=FI;7sO>-E*t<7NSd&eU_xF4WoOxryY{3~!HmK4y&uv-gdT
zjU>W3y6Q8x$W~-ev|cgXy4KDimv|Aw?ud$|x%xYLw#(z2c1mYmCILp;Um
z-lUAc=JXJ{dp+C8F!W-7*B(KGc)Xgp$KM%NDmf~2S;m`(Go$79a2-RzJ%VKSr^nE(
zl)E)i@L=KdxwJtT9tOg!PTKgeK`>g3mT+w%=B^ip9b?lKzkFq^*BnRefvmOX0hTf(H#LKKP)+mkeWBu~Ob7ufX7x^Nv@DrfFf9t#b}o
z&Yef2a}Q!awMa=j?d?OFu35dZV^eW&`y9;**=CYMs7i~#>7&0EbPmXVM9IunIB3C0
z#bsG4l}ve`BRP%rKG5;p9pm9nMn8hWLnmtNW}4<+;gfbdc2o<`k67s3kRy)6bdB9&
zGVI)g@E!EpOo}{$j9*|MirHp)DmjS8GTV{V3~mUVxR>_F`x41CHg{L#oMYV-rMCCu
zcF!r{sGa-9c59U0=_UKni-!h%{D>kgo#ajsNkSHFu)4CqKaB7y+6=Af`WTj1
z!fBH)9FToWt|upEon?#pP;JjNX4p`#Ag;oTS?^nC#EPZ%GU68Uz-$?haMW7kx{;&1
z#A9=wfU+tbQP#p2QdVr&mo4YTqocB|MunAiWiR;>m}cEuH;p9;{RxjDZm~4-kJB;b
z=<
z>TDex8tCutw};ZH2{1fJg&Ahln!p;&QvK8t@#{%Kt<8L2grSLtHk7h2o{&(r?)bG9
z9$F>X2QQz_i4N(LU4Crshp5n?57qL+;jx`M2cogH?y@$v+U@SK)plmb*128asJWZh
z$~l%g?enZmWm)*JK;W61J;{9nPx{acM^Yi}K2@AoP{$|Nd-5>$oZelIh=+0>sm$!xY>Ec?=+v
z+vZrN$68k96R?GE)yWpLSD9=%FU}V8N_n8z_V!O4)Qq13(oR!w#_k@*qdLp3PnwFK
z6!6SU3*c&-PhjVJh5Yi6HPgK?O1jnO$-YfkGn^S3&N!!p4*nb3u1o1=5xDuxiex%k
znXJIJLBD22Y=fZO1%P=x)s|+h*>0tJ2LN~wxqugtEXdAzG;l02YIDV$Z_e(Dly>R@
z|Ck(03_q^8*YVNMk4Pmv){R<$M8u}j82xjm7&|;S#pQi18AFNy9BGgJ)2OVadWz7p
zoj7g|?82#|Qw~dbP|SR5!s3S^jFt@!f!ZzQL4vziV9rTv+U9MYgNRx-;(e4p{4U#q
zYXX1QsUIi`ng)&IZ&Ic3PD`A6Xcusg@OaV!+iplRz&%7KIX+fH&NlzW^3BWPs~=w3
zTNGZCx^8bhQAEcz_T!Bzu3->#5SA%KM$M~$@RKdxo8fq)XvZ+@yTzW{7EfdUxiM}bE6!V_1x6J}~l2@cYywu3WSYQUFA;8d3fHnw;Q8W_GhY@><=HsQXNHi1*&l9_-Ee{W9
z{ptD|lk!pa4fF6k#1WnsajaJ|TNO9A2#B<15UL9wYIut74Uc}Yuq||!Q3JXd|Fvb+;ndLnqXBydpDQy^fw#yojCsajB*(j1%NZF`^Bx!=8
zI6UCYbUVTfS{~lX*+Kh}5CdZrZQ{<`iKg)-&x~PtiXo#+LO}R8_OM~Jg}Hf5Rx)X0
zvXIGSCR=kr5ISfNiq+@DIB;8<^8doptSer~`_=m&k_@RcMs-L)hZetUYQ(W%;>aGtD{O&|K
z7l}G$qV3XHyiyjBpFcP=?*BIoXAm#-(L)#E+e@^*eQEoj7T&yPIW@Ft1CB=MgiTI+;zsy4M2E}SZY92_-%Ru(AE5N-MRN|g)9`kBC+IT#o&R>c&Ax_K1Gj=MxBp+4
z=;6Tc583a2at-{kuP51nu$1eSQwwleim!s#IL^?^^?AG%C*)q7>-aNSN_9XRhcu0o
zvV9)s^R@js5Wt^4hL3ifu~Tx6#$Q1=%u`5gn$T|hzd6*!IiOF_2`J0=A%k+dPryqW
z@@7mBKG}DHT5@_%BBm%T+wtEqkn&lb?;du-CJ7pq*!Vm;EcSdK(+9*cW$=FqH3$oC
z1K({pCHP)~?+OOw&n+yHe}!SkG9~Mo8hqgA2T$3VsH@5Sa{onO&r$Gw
zSqfKfcQ)!H*VTxY^IaX$Ir6VM+EAYF2?wM%hH!_)k@q2U8Q5@E{IV#;(7LI}!7M~H
z6aOA=1}ykajC+jZ;rxuQe{{~;B>pwJF1`!n2%H=;;(NZsbDzywwjB#4|7+okdvzGm
zWjvYqFdzJPkU8)EvZJ# _screens = new Dictionary();
+ private EUiScreenType _currentScreen = EUiScreenType.None;
+
+ // Use this for initialization
+ void Start ()
+ {
+ useGUILayout = false;
+ RectTransform rt = (RectTransform)transform;
+ _connector = new CUiConnector(Convert.ToInt32(rt.rect.width), Convert.ToInt32(rt.rect.height));
+ foreach (var screenInfo in _connector.GetAllScreens())
+ {
+ _CreateScreen(screenInfo);
+ }
+ }
+
+ // Update is called once per frame
+ void Update ()
+ {
+ if (_currentScreen == DummyClass.CurrentScreen)
+ return;
+
+ ChangeScreen(_currentScreen, DummyClass.CurrentScreen);
+ }
+
+ private void ChangeScreen(EUiScreenType currentScreen, EUiScreenType targetScreen)
+ {
+ DeactivateScreen(currentScreen);
+ ActivateScreen(targetScreen);
+ }
+
+ private void ActivateScreen(EUiScreenType screen)
+ {
+ if(screen == EUiScreenType.None)
+ return;
+ _screens[screen].SetActive(true);
+ }
+
+ private void DeactivateScreen(EUiScreenType screen)
+ {
+ if (screen == EUiScreenType.None)
+ return;
+ _screens[screen].SetActive(false);
+ _currentScreen = DummyClass.CurrentScreen;
+ }
+
+ private void _CreateScreen(KeyValuePair screenNameAndInfo)
+ {
+ GameObject newScreen = CreateElement(screenNameAndInfo.Value, screenNameAndInfo.Key.ToString());
+ _screens.Add(screenNameAndInfo.Key, newScreen);
+ newScreen.GetComponent().SetParent(this.transform);
+ newScreen.SetActive(false);
+ }
+
+ private GameObject CreateElement(CUiScreen screenInfo, string screenName = "")
+ {
+ return CreateElementBase(screenInfo, screenName);
+ }
+
+ private GameObject CreateElement(CUiElementButton buttonInfo)
+ {
+ var button = CreateElementBase(buttonInfo);
+ button.AddComponent