From 5090a47afca8688c84cb4af1c616394dab643f9a Mon Sep 17 00:00:00 2001 From: Nick Winter <livelily@gmail.com> Date: Fri, 7 Nov 2014 16:04:35 -0800 Subject: [PATCH] Implementing more of new code editor design. Removed ThangList, EditorConfigModal, and a few other obsolete things. --- .../button-background-active-border.png | Bin 0 -> 4308 bytes .../common/button-background-active.png | Bin 0 -> 3539 bytes .../button-background-disabled-border.png | Bin 0 -> 3828 bytes .../common/button-background-disabled.png | Bin 0 -> 3194 bytes .../button-background-pressed-border.png | Bin 0 -> 4217 bytes .../common/button-background-pressed.png | Bin 0 -> 3739 bytes .../level/code_editor_background_border.png | Bin 0 -> 34338 bytes .../level/code_editor_top_bar_hinge.png | Bin 0 -> 1783 bytes .../code_editor_top_bar_wood_background.png | Bin 0 -> 26055 bytes .../level/code_palette_wood_background.png | Bin 0 -> 66395 bytes .../images/level/code_toolbar_background.png | Bin 0 -> 7799 bytes .../level/code_toolbar_run_button_active.png | Bin 0 -> 4953 bytes ...code_toolbar_run_button_active_pressed.png | Bin 0 -> 4858 bytes .../level/code_toolbar_run_button_zazz.png | Bin 0 -> 5398 bytes .../code_toolbar_run_button_zazz_pressed.png | Bin 0 -> 5304 bytes .../code_toolbar_submit_button_active.png | Bin 0 -> 5333 bytes ...e_toolbar_submit_button_active_pressed.png | Bin 0 -> 5311 bytes .../level/code_toolbar_submit_button_zazz.png | Bin 0 -> 5588 bytes ...ode_toolbar_submit_button_zazz_pressed.png | Bin 0 -> 5595 bytes app/assets/images/level/hud_hinge.png | Bin 0 -> 2197 bytes .../images/level/thang_avatar_frame.png | Bin 0 -> 4778 bytes app/locale/en.coffee | 3 +- app/schemas/subscriptions/tome.coffee | 3 - app/styles/base.sass | 47 +++++ app/styles/play/level.sass | 1 + .../play/level/modal/editor_config.sass | 12 -- app/styles/play/level/thang_avatar.sass | 6 +- app/styles/play/level/tome/cast_button.sass | 123 +++++++++--- app/styles/play/level/tome/spell.sass | 45 ++--- .../play/level/tome/spell_list_entry.sass | 67 ++++--- app/styles/play/level/tome/spell_palette.sass | 86 ++------- .../play/level/tome/spell_palette_entry.sass | 29 +-- app/styles/play/level/tome/thang_list.sass | 22 --- .../play/level/tome/thang_list_entry.sass | 38 ---- .../level/tome/thang_list_entry_spells.sass | 16 -- .../play/level/modal/editor_config.jade | 55 ------ .../play/level/modal/keyboard_shortcuts.jade | 2 +- .../play/level/tome/cast_button.jade | 12 +- .../play/level/tome/spell_list_tab_entry.jade | 30 +-- .../play/level/tome/spell_palette.jade | 3 +- app/templates/play/level/tome/thang_list.jade | 14 -- .../play/level/tome/thang_list_entry.jade | 0 .../level/tome/thang_list_entry_spells.jade | 5 - app/templates/play/level/tome/tome.jade | 2 - app/views/play/level/LevelPlaybackView.coffee | 3 - .../play/level/modal/EditorConfigModal.coffee | 92 --------- .../play/level/tome/CastButtonView.coffee | 6 +- .../play/level/tome/SpellListEntryView.coffee | 1 + .../play/level/tome/SpellListView.coffee | 2 +- .../play/level/tome/SpellPaletteView.coffee | 10 +- app/views/play/level/tome/SpellView.coffee | 6 +- .../play/level/tome/ThangListEntryView.coffee | 178 ------------------ .../play/level/tome/ThangListView.coffee | 95 ---------- app/views/play/level/tome/TomeView.coffee | 18 +- 54 files changed, 278 insertions(+), 754 deletions(-) create mode 100644 app/assets/images/common/button-background-active-border.png create mode 100644 app/assets/images/common/button-background-active.png create mode 100644 app/assets/images/common/button-background-disabled-border.png create mode 100644 app/assets/images/common/button-background-disabled.png create mode 100644 app/assets/images/common/button-background-pressed-border.png create mode 100644 app/assets/images/common/button-background-pressed.png create mode 100644 app/assets/images/level/code_editor_background_border.png create mode 100644 app/assets/images/level/code_editor_top_bar_hinge.png create mode 100644 app/assets/images/level/code_editor_top_bar_wood_background.png create mode 100644 app/assets/images/level/code_palette_wood_background.png create mode 100644 app/assets/images/level/code_toolbar_background.png create mode 100644 app/assets/images/level/code_toolbar_run_button_active.png create mode 100644 app/assets/images/level/code_toolbar_run_button_active_pressed.png create mode 100644 app/assets/images/level/code_toolbar_run_button_zazz.png create mode 100644 app/assets/images/level/code_toolbar_run_button_zazz_pressed.png create mode 100644 app/assets/images/level/code_toolbar_submit_button_active.png create mode 100644 app/assets/images/level/code_toolbar_submit_button_active_pressed.png create mode 100644 app/assets/images/level/code_toolbar_submit_button_zazz.png create mode 100644 app/assets/images/level/code_toolbar_submit_button_zazz_pressed.png create mode 100644 app/assets/images/level/hud_hinge.png create mode 100644 app/assets/images/level/thang_avatar_frame.png delete mode 100644 app/styles/play/level/modal/editor_config.sass delete mode 100644 app/styles/play/level/tome/thang_list.sass delete mode 100644 app/styles/play/level/tome/thang_list_entry.sass delete mode 100644 app/styles/play/level/tome/thang_list_entry_spells.sass delete mode 100644 app/templates/play/level/modal/editor_config.jade delete mode 100644 app/templates/play/level/tome/thang_list.jade delete mode 100644 app/templates/play/level/tome/thang_list_entry.jade delete mode 100644 app/templates/play/level/tome/thang_list_entry_spells.jade delete mode 100644 app/views/play/level/modal/EditorConfigModal.coffee delete mode 100644 app/views/play/level/tome/ThangListEntryView.coffee delete mode 100644 app/views/play/level/tome/ThangListView.coffee diff --git a/app/assets/images/common/button-background-active-border.png b/app/assets/images/common/button-background-active-border.png new file mode 100644 index 0000000000000000000000000000000000000000..42dec5b5ad7124927c7ac6b353c70e37fe2c972d GIT binary patch literal 4308 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 BYr6md literal 0 HcmV?d00001 diff --git a/app/assets/images/common/button-background-active.png b/app/assets/images/common/button-background-active.png new file mode 100644 index 0000000000000000000000000000000000000000..aae72bb00530d9c6bcde8a2f4b09cafe3df5e6ff GIT binary patch literal 3539 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 D#IYcI literal 0 HcmV?d00001 diff --git a/app/assets/images/common/button-background-disabled-border.png b/app/assets/images/common/button-background-disabled-border.png new file mode 100644 index 0000000000000000000000000000000000000000..dbbe537cc1783c1f53836759470496fcf4aa85dd GIT binary patch literal 3828 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 J-Cz}v{2zlGkE8$q literal 0 HcmV?d00001 diff --git a/app/assets/images/common/button-background-disabled.png b/app/assets/images/common/button-background-disabled.png new file mode 100644 index 0000000000000000000000000000000000000000..78fae85390df07a844e93b37955ec2e72dd194f6 GIT binary patch literal 3194 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 O28{L1(06s6LjMCh=Xw4B literal 0 HcmV?d00001 diff --git a/app/assets/images/common/button-background-pressed-border.png b/app/assets/images/common/button-background-pressed-border.png new file mode 100644 index 0000000000000000000000000000000000000000..d9c173d649cfad6c074b4c7df2fa4f94dda2f0f2 GIT binary patch literal 4217 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 literal 0 HcmV?d00001 diff --git a/app/assets/images/common/button-background-pressed.png b/app/assets/images/common/button-background-pressed.png new file mode 100644 index 0000000000000000000000000000000000000000..b1433c3ff8b80d603ddef6b59da82371c1dc4ecd GIT binary patch literal 3739 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 literal 0 HcmV?d00001 diff --git a/app/assets/images/level/code_editor_background_border.png b/app/assets/images/level/code_editor_background_border.png new file mode 100644 index 0000000000000000000000000000000000000000..9c860168f6de0703879dfd4a644133d691317c3e GIT binary patch literal 34338 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 Kp$Y+A-~Rz4aN4&3 literal 0 HcmV?d00001 diff --git a/app/assets/images/level/code_editor_top_bar_hinge.png b/app/assets/images/level/code_editor_top_bar_hinge.png new file mode 100644 index 0000000000000000000000000000000000000000..852df87fc632cbd95b3751de9e63a222eb2beeba GIT binary patch literal 1783 zcmeAS@N?(olHy`uVBq!ia0vp^l0YoV!3HEZYr9GSDaPU;cPEB*=VV?oFtCVchD4M^ z`1)8S=jZArrsOB3>Q&?x097$C*i={nnYpPYi3%0DIeEoa6}C!X6;?ntNLXJ<0j#7X z+g2&UH$cHTzbI9~RL?}uK*^3vK|#T$C?(A*$i)q+9mum)$|xx*u+rBrFE7_CH`dE9 zO4m2Ew6xSWFw!?N(gmu}Ew0QfNvzP#D^`XW0yD=YwK%ybv!En1KTiQ<Zemh?X^E|p z638MrfVwlcz}FXURbDaFUqBz~S0onb8|oS8=jQ5T(^*^+l!|a9R-MHml?AE#L8-<0 zrA5i9K;_EV3<3rmeg|OFRFav7!*Y-e*xm3j0eaa6Xo;_{l}l<-W?5>ATTy;4IA97A zi;7c0j<i*Rxe{3yNF&&rR+)LlC5d^-sh%!&K$G+`GgGV#4c**Kjm(@(oeYc&4P8x~ zEKE!-&CDI0jZKW5oLwz!^f9!egg?~el>Fq<+|;}hsL3e^lbs2fjHDG|vW-55SHTGk z67R5Zz-g%~ZcCx&BD5k|3X$`~8A>jMj78FlYOIxWQEFmIeo;t%evX|ZDAOqfWaO9R z7iZ)bC^$PS7#SFvC}{X5CTHe>1U13_N70029w=>C`4?pZ!#fd_JM0W?^fAPs>TUEv zSqCXALGmeB6qr%%xPUgnGQAzwt@&&-85o%QJY5_^Jb0IeIOYpEiqvgTaC&iVOU$m9 zW|I<B3^$4==O5e5{=b90`g4E91OF?F<-SHdSzvbbLV!Z1u4ydC#x>p%Vjrr5)2t61 zTIBcX+uq90d*7ekQ)@gi!{k?&nzC5;-l^L*rcOwdDB87Y-JFmU+j1M_`;T9}nDIqz zSJ9VxhU9wT+gaOByxpzja@pimiqR3PoHbKYEM$bHFTDQR_hYPyzQ%t8|CJ$Gr}Wh) zdMr8h?NE_wuxIDe&7U{#WZBbEbvg6xmE)|EKc1g$^-Q|;R`K@RZ5`*I7KLbtWc>eX z_i~qB&AQh?+i&wen!fMjAr+y8LNjiwiSl=se0ke(?Q1C~r?=Dg+h3iR@ov4hG^o>R zZlA{7%f&SdqN47vlvwDwqx#azEiY<+Z}&a^H2KmZsjqkUEpR;R8NXX|?jh^cwrSlL zZ{|#!(bN9CvW{uq=cov2eVb16FEg6gt<etrfA{$ABf76G%u~HogdVwi-0|eNv+4XH zm0q`Io6E}As{OyS9Pit?xu^Sw-NrM0H;eX8XV}O5wJLUsrbfV{CC{!e__J50V!p|h zTPy{=2Nl*mnwICVE!9BIa#NHT@191F4)>6Ze;@DMo0b~5HcmL!e7EG0I+pX(IqcMg z_D)%{#_<bN*VFlI`}a*?&iTdugn577^#Y3<e``;kP;WZBiSz%mFYTEhK3x95r*73y z+Z)0DYl6ShapgHLcFytOz0ch6^Ze#{-WH0_=8CJ&7G8MZpUWoy8C$NZ?8#X4e7@oX zIe#WMA<w`6mrl}(;FpPKZ*~m)l{R@peE0Fk{tgqOC;1%vEoJ@QNv|-{{_xM!@eP7g zT-JU5e`+x&kIL<)4!$YfYeXNZEfYQQM>SC<<!Yh$fgYxPEwUb~5?X$;FUglIxw?Jb Q3s4p1>FVdQ&MBb@058Cpr~m)} literal 0 HcmV?d00001 diff --git a/app/assets/images/level/code_editor_top_bar_wood_background.png b/app/assets/images/level/code_editor_top_bar_wood_background.png new file mode 100644 index 0000000000000000000000000000000000000000..15d625b08c6b117b9f220f25fdd875b2215a7acc GIT binary patch literal 26055 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 literal 0 HcmV?d00001 diff --git a/app/assets/images/level/code_palette_wood_background.png b/app/assets/images/level/code_palette_wood_background.png new file mode 100644 index 0000000000000000000000000000000000000000..dbdda5af6bc7c2c09ef3a730af08e2598cbeb99b GIT binary patch literal 66395 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 literal 0 HcmV?d00001 diff --git a/app/assets/images/level/code_toolbar_background.png b/app/assets/images/level/code_toolbar_background.png new file mode 100644 index 0000000000000000000000000000000000000000..f05972b5c2a14cc8283ad12927e8b5e51b644d5f GIT binary patch literal 7799 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 XfT>6aVf9%<|AkLYNehy%VCwgOV%0o= literal 0 HcmV?d00001 diff --git a/app/assets/images/level/code_toolbar_run_button_active.png b/app/assets/images/level/code_toolbar_run_button_active.png new file mode 100644 index 0000000000000000000000000000000000000000..ff3748d39ffe6b1c8fc2144d89dc343ca3a561f9 GIT binary patch literal 4953 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 literal 0 HcmV?d00001 diff --git a/app/assets/images/level/code_toolbar_run_button_active_pressed.png b/app/assets/images/level/code_toolbar_run_button_active_pressed.png new file mode 100644 index 0000000000000000000000000000000000000000..b9c87d1ba2559939cbc766963f7459227bc2cfea GIT binary patch literal 4858 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 literal 0 HcmV?d00001 diff --git a/app/assets/images/level/code_toolbar_run_button_zazz.png b/app/assets/images/level/code_toolbar_run_button_zazz.png new file mode 100644 index 0000000000000000000000000000000000000000..8b0e94225560ac212982f62ea7923d2761b13b7b GIT binary patch literal 5398 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 aIoZ?~gQkP=qO<><WICD#8s+NugZ~HTqXZxT literal 0 HcmV?d00001 diff --git a/app/assets/images/level/code_toolbar_run_button_zazz_pressed.png b/app/assets/images/level/code_toolbar_run_button_zazz_pressed.png new file mode 100644 index 0000000000000000000000000000000000000000..b6d173515ae2e22c744b1efeea87f19c2b535b92 GIT binary patch literal 5304 zcmaJ_c{r49+ZUpQkd(DSS+dNG8Ow|rVg|{+)kKzIER$szBWqK3A^Vmrp=2pb*>?sN zktNw$NC;yavPAku@AEwG_s92q_aE1NEx+YFuj@Rn<38?t#)di^YyxZy3=AB)m(ivS z3`hLwebr+u^fu?)&lUQMpQME$nGu{wzF49og9eUZ?+DO!$2vQjI%0ADUT+)`3=B+C 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 literal 0 HcmV?d00001 diff --git a/app/assets/images/level/code_toolbar_submit_button_active.png b/app/assets/images/level/code_toolbar_submit_button_active.png new file mode 100644 index 0000000000000000000000000000000000000000..0913c4e28ce98c8a2d4b4718d752ce9fcc17fa8d GIT binary patch literal 5333 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 aFpZotQCMqHpdS8cyrN^IU8w1B@4o=Vk>!~H literal 0 HcmV?d00001 diff --git a/app/assets/images/level/code_toolbar_submit_button_active_pressed.png b/app/assets/images/level/code_toolbar_submit_button_active_pressed.png new file mode 100644 index 0000000000000000000000000000000000000000..100f085f48733d63d15d85d05299c33fd3e833f9 GIT binary patch literal 5311 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 literal 0 HcmV?d00001 diff --git a/app/assets/images/level/code_toolbar_submit_button_zazz.png b/app/assets/images/level/code_toolbar_submit_button_zazz.png new file mode 100644 index 0000000000000000000000000000000000000000..ff9eeac0c67c4666528e9f362a983c496b9ec231 GIT binary patch literal 5588 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 literal 0 HcmV?d00001 diff --git a/app/assets/images/level/code_toolbar_submit_button_zazz_pressed.png b/app/assets/images/level/code_toolbar_submit_button_zazz_pressed.png new file mode 100644 index 0000000000000000000000000000000000000000..4875b697bcfca87274d4932ae648cfc77fe21112 GIT binary patch literal 5595 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 literal 0 HcmV?d00001 diff --git a/app/assets/images/level/hud_hinge.png b/app/assets/images/level/hud_hinge.png new file mode 100644 index 0000000000000000000000000000000000000000..bfbd5bc64bb2753430f34a5d2700bdb3452ac3dc GIT binary patch literal 2197 zcmaJ@eLPh88lRGvipr)<k~^ks5_4w83}&vGOlD%VgPF8Rc^NZj#uzha_RPVsk|dGc z*xhMkD=%5eTZFchQX!k=T5pBCZ9=&c?4fk;A9c^?bI$MO^L)S0_j#W0A1Be% z-Nj&)$tny6W597`@zHfN`daJhpkGZvwG+B*LfGEOK1hs&3t$k#6hVO?mLnHPKt3oC zMSS@Xbi`n^ETvxFh&T6hnh=uX1q(5FwOom!F&M{PYNbFZ0}*T>D3L1YxUpMRIIL7e z#~q+>30$Q!7$kL#gu#80?q0%3nUE^N?P6dZ)ijhq4k7}qS{|ZM(bRO@A}<ZyFI)pS z>|zKaqvPI+^5%MCogo;+Qt%WTA%R51+EejF3dP=@WQ`>eh-8331c<gaL@JF;rV$9( zcMlHD28+ZrK5NgrT<D383qlYj4FJN!!|~y^cnFpNL@JdE5J&)tWP?W7s3H`IKy9N? zZCzqufhr*^RU%SIfn8t}1VW(*9fvA?TY_Bqo>rlH*Cw=KfLfpgh<L(6NlSrT?*9*! z%il+<5I*={y&oi2c||BefDfvmP*{i#PP}y?m6GNRg8~GCy&x!Lsf(UL5CW-!ASKq> zd9iC)ORhjDRV-ZYSVVETG>$@r2oyq)!=mF*9=ud4qEYO~R0n&i9fi4vL?p7wyB)|B zs+~R4*_Ld(+nMdKgk?d(P&ueTmarleYiGB|j?E;KP^`lTu?vQfE78m>5SE64qCGGq z$1WC5lYU$a`QuvNVnrX&@~#fbN3j4Z23Q#H|BQR-3iZ&!_Pu%0!+ZOK3e@v3YVK;e z>~9#1wibuQ^ip?Kdhhi(<YL5#UU&ASx$)mu)b-QaZ1@*(l*`hx%Rc*$Se_}(>$u7c z)?D!{lWM@D%!3;3s$~|xiuUD|_w;vcDAG1))A^~*Tqoo(Az(H(9l9}a8hAX^<w|d9 z?v^!O7&~t}Oc9!oPneV)`idcP=N%X2jc0rlkwCrMT^DsP@M<|}rhH!I;^I;@{`yoz zT1582l5-6Z!N1(6h&gmlpVTl`q@!A|Z$e`*=Dw}-pFYxT?Y(RKR>Rp%ck5;?j<0C^ zF>%>&{otS5l09BiWFjlh<J4WkmnBa|uWt%Ee=O3ZYrP%u=#+LcUgvOsM%XuGt=~?n z12T!}v+1<FoSYMtet_?vhjF>BiBwIaSi88&Cl{d^6eS$<vdPf6<v{z(mWQNFs|@tS zGp^burl#BGWBf6$PuZE;ogv%fJ3Bfue}N2%x>W_@!3uwl)45CSU}cFY!>yHhZu408 zIumAKZ&X)b-^Rn1MwS^(NrvUuuCW;z$=!5?Th6}y;z9H3%w1ZWpGJQD$68frczBYe z7ZH^9^!O52?Krse`V*VD=cA(=#<Mm&P;M*4w`ZMjzpoGvOifM(h04$H^F|z^E9Sn7 z?=`vj^UrqXaaNgz2SdlGZ&svQed~ID`FAFO4UlLUrBr$z2#OhO$FzG`eww7|c1`cd z&OZKGRmM*z*P5+r(!}uB>FEsT>3(5fC-5l2J`e7<VrTPCv2f4eihQzWg>F7u@^aJN zetqwMO}D6Ct$AUa_Vw?x7cN{FKPG4uSfwJ<#h~G*BXbis8ZAs@7aX_8IBC7nx<ByD zEZ^yvQ;g|G(=$`mvstenm5Wm=D=K!B#$IpQJ32agzc$NvC}aJ2r+m^a>f!BE#Wn1b zf`c_i#+VdC(={#@30ECD5(r0Mj|vPSJzcPf<!g(h-)p3sdF*!&i8r?1PQNphJ_uLb zBnp4<jQU-Y+wcoNWbaqup`p#Ui^mdgOXJ)IKjCt@&9k$W<ay)bnbqUMq(_pd!nP}8 z{f%m~En9LD6BFaFaX$N=%wXW*{7W?+Avw3giUd12Hk~~gr6WRhdRm%!RiDS>VqeHu zDH6qrC6d9NZrqHCW{=c9ukslt!~d0^A*F~H>rxNb{8;N<rrW|yZ=QF8r@~F9_1bTw z0A3q-ow(Fxw(QdA7ytahhb8kYRGjAo%V&y#Bd?}bS1(^_o|6BM%zxY7YjgOXO)}PR znV2B=%n#j3a9IamL=t=+)&xI_8`=HlPV}nA6PEvR(cGln(jPuAYifI=ce47T8ke)> z*&2OrG@hW|T%Y(nZmP7r<c5=70k;j9KAKxrR`FEIvedNH@>murb5)lp&Vkx;h5XbT zW@Bu@-eT5m=XhR0XlsB>Ci5Brc#dYdhsOHy%U4Qjv%9`*r(}oS$&WHls%05ceC}G_ zvYx95GETPZVg8l}&KXOh&pNhTe2_JLZ+9)9=LN?I8#cN>U41g?O#6ne-d=`<k(>T_ zC0jQvxBfwtr6}{saL~#?>t|cV6XqWK8<lQxFN=55x57U9b(eKKvZQm9MA_?vWrH_W zd*}xSjq=AV%8y5RegV^CE^%Dfm-26<@z|}`6srST)+!Hq4*XH*$4gPXa%&?DjNn9* zW+Ij!j~sBn@KLa1>tjw*+UGeGw%_QA7lm3Sr%z)HTb~;wr^zf@oa)7l*#j}lFx2>v U#DSSH)xwVghwaX~vO6I5FXHr;ng9R* literal 0 HcmV?d00001 diff --git a/app/assets/images/level/thang_avatar_frame.png b/app/assets/images/level/thang_avatar_frame.png new file mode 100644 index 0000000000000000000000000000000000000000..1b4fcc3d5fd0b1892e46829d34f2569a5dd8afc9 GIT binary patch literal 4778 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 B(G36q literal 0 HcmV?d00001 diff --git a/app/locale/en.coffee b/app/locale/en.coffee index db13244b3..fca690816 100644 --- a/app/locale/en.coffee +++ b/app/locale/en.coffee @@ -198,6 +198,7 @@ failing: "Failing" action_timeline: "Action Timeline" click_to_select: "Click on a unit to select it." + reload: "Reload" reload_title: "Reload All Code?" reload_really: "Are you sure you want to reload this level back to the beginning?" reload_confirm: "Reload All" @@ -447,7 +448,7 @@ enter: "Enter" escape: "Escape" shift: "Shift" - cast_spell: "Cast current spell." + run_code: "Run current code." run_real_time: "Run in real time." continue_script: "Continue past current script." skip_scripts: "Skip past all skippable scripts." diff --git a/app/schemas/subscriptions/tome.coffee b/app/schemas/subscriptions/tome.coffee index d5e061eb5..82f0691e9 100644 --- a/app/schemas/subscriptions/tome.coffee +++ b/app/schemas/subscriptions/tome.coffee @@ -85,9 +85,6 @@ module.exports = problems: {type: 'array'} isCast: {type: 'boolean'} - 'tome:thang-list-entry-popover-shown': c.object {title: 'Thang List Entry Popover Shown', description: 'Published when we show the popover for a thang in the master list', required: ['entry']}, - entry: {type: 'object'} - 'tome:spell-shown': c.object {title: 'Spell Shown', description: 'Published when we show a spell', required: ['thang', 'spell']}, thang: {type: 'object'} spell: {type: 'object'} diff --git a/app/styles/base.sass b/app/styles/base.sass index 4710b1eb7..7eaca0195 100644 --- a/app/styles/base.sass +++ b/app/styles/base.sass @@ -312,9 +312,56 @@ kbd .arrow display: none +.btn.btn-illustrated + background: 0 + border: 0 + border-radius: 0 + @include box-shadow(none) + border-image: url(/images/common/button-background-active-border.png) 14 20 20 20 fill round + border-width: 7px 10px 10px 10px + padding: 0 + font-family: Open Sans Condensed + text-transform: uppercase + font-weight: bold + color: rgb(248, 197, 146) + + &:active + border-image: url(/images/common/button-background-pressed-border.png) 14 16 16 20 fill round + padding: 2px 0 0 2px + border-width: 7px 8px 8px 10px + + &.disabled, &:disabled + border-image: url(/images/common/button-background-disabled-border.png) 14 20 20 20 fill round + @include opacity(1) + + > * + @include opacity(0.5) + + > * + @include opacity(0.75) + + &:hover > * + @include opacity(1) + + html.no-borderimage .popover border: 0 background: transparent url(/images/level/popover_background.png) background-size: 100% 100% padding: 10px 20px + + .btn.btn-illustrated + border: 0 + background-image: url(/images/common/button-background-active.png) + background-size: 100% 100% + padding: 7px 10px 10px 10px + + &:active + background-image: url(/images/common/button-background-pressed.png) + padding: 9px 8px 8px 12px + border: 0 + + &.disabled, &:disabled + background-image: url(/images/common/button-background-disabled.png) + diff --git a/app/styles/play/level.sass b/app/styles/play/level.sass index 7fb4e4726..2f878b51b 100644 --- a/app/styles/play/level.sass +++ b/app/styles/play/level.sass @@ -97,6 +97,7 @@ $level-resize-transition-time: 0.5s top: 0px bottom: 0 @include transition(width $level-resize-transition-time ease-in-out, right $level-resize-transition-time ease-in-out) + overflow: hidden // Level Docs .ui-effects-transfer diff --git a/app/styles/play/level/modal/editor_config.sass b/app/styles/play/level/modal/editor_config.sass deleted file mode 100644 index 1d97d3965..000000000 --- a/app/styles/play/level/modal/editor_config.sass +++ /dev/null @@ -1,12 +0,0 @@ -#level-editor-config-modal - .select-group - display: block - min-height: 20px - margin-top: 10px - margin-bottom: 10px - padding-left: 20px - vertical-align: middle - - label - font-weight: normal - margin-right: 20px \ No newline at end of file diff --git a/app/styles/play/level/thang_avatar.sass b/app/styles/play/level/thang_avatar.sass index 0873eeee3..c81beb41f 100644 --- a/app/styles/play/level/thang_avatar.sass +++ b/app/styles/play/level/thang_avatar.sass @@ -28,9 +28,9 @@ .avatar-frame position: absolute - left: -13% - top: -14% - width: 132% + left: -18% + top: -19% + width: 145% .badge $radius: 8px diff --git a/app/styles/play/level/tome/cast_button.sass b/app/styles/play/level/tome/cast_button.sass index edad12068..b00d99ca1 100644 --- a/app/styles/play/level/tome/cast_button.sass +++ b/app/styles/play/level/tome/cast_button.sass @@ -17,8 +17,8 @@ @include box-shadow(0px 0px 8px #333) color: white 50% - @include box-shadow(0px 0px 35px #87FFCE) - color: #87FFFF + @include box-shadow(0px 0px 35px #87CEFF) + color: #87CEFF to @include box-shadow(0px 0px 8px #333) color: white @@ -31,40 +31,113 @@ width: 100% border-radius: 6px - .btn - padding: 3px 10px - height: 40px - font-size: 22px + background: transparent url(/images/level/code_toolbar_background.png) + background-size: 100% 100% + left: -15px + right: 15px + height: 94px + margin-top: -8px + padding: 20px 2.8% - .submit-button - margin-left: 20px - min-width: 150px + .btn.btn-illustrated + height: 46px + font-size: 24px + line-height: 24px + width: 45% + width: -webkit-calc(50% - 10px) + width: calc(50% - 10px) + border-image: url(/images/level/code_toolbar_run_button_active.png) 14 20 20 20 fill round + border-width: 7px 10px 10px 10px + + &:active + border-image: url(/images/level/code_toolbar_run_button_active_pressed.png) 14 20 20 20 fill round + padding: 2px 0 0 2px + + &.submit-button + margin-left: 10px + border-image: url(/images/level/code_toolbar_submit_button_active.png) 14 20 20 20 fill round + + &:active + border-image: url(/images/level/code_toolbar_submit_button_active_pressed.png) 14 20 20 20 fill round .cast-button - margin-left: 10px - min-width: 150px @include opacity(0.77) &:hover, &.castable @include opacity(1) + + .submit-button > * + @include opacity(0.9) + &:hover + @include opacity(1) + &:not(.winnable) - .cast-button.castable - font-weight: bold - -webkit-animation-name: castablePulse - -webkit-animation-duration: 3s - -webkit-animation-iteration-count: infinite + .btn.btn-illustrated - .submit-button - font-size: 16px + &.cast-button.castable + font-weight: bold + @include animation(castablePulse 3s infinite) + border-image: url(/images/level/code_toolbar_run_button_zazz.png) 14 20 20 20 fill round + + &:active + border-image: url(/images/level/code_toolbar_run_button_zazz_pressed.png) 14 20 20 20 fill round + + &.submit-button + font-size: 16px &.winnable - .submit-button - font-weight: bold - -webkit-animation-name: winnablePulse - -webkit-animation-duration: 3s - -webkit-animation-iteration-count: infinite - .cast-button - font-size: 16px + .btn.btn-illustrated + &.submit-button + font-weight: bold + @include animation(winnablePulse 3s infinite) + + border-image: url(/images/level/code_toolbar_submit_button_zazz.png) 14 20 20 20 fill round + + &:active + border-image: url(/images/level/code_toolbar_submit_button_zazz_pressed.png) 14 20 20 20 fill round + + &.cast-button + font-size: 16px + +html.no-borderimage #cast-button-view + .btn.btn-illustrated + border: 0 + background-image: url(/images/level/code_toolbar_run_button_active.png) + background-size: 100% 100% + padding: 7px 10px 10px 10px + + &:active + background-image: url(/images/level/code_toolbar_run_button_active_pressed.png) + padding: 9px 8px 8px 12px + border: 0 + + &.submit-button + background-image: url(/images/level/code_toolbar_submit_button_active_pressed.png) + border: 0 + + &:active + background-image: url(/images/level/code_toolbar_submit_button_active_pressed.png) + border: 0 + + &:not(.winnable) + .btn.btn-illustrated + &.cast-button.castable + border: 0 + background-image: url(/images/level/code_toolbar_run_button_zazz.png) + + &:active + background-image: url(/images/level/code_toolbar_run_button_zazz_pressed.png) + + &.winnable + .btn.btn-illustrated + &.submit-button + border: 0 + background-image: url(/images/level/code_toolbar_submit_button_zazz.png) + + &:active + border: 0 + background-image: url(/images/level/code_toolbar_submit_button_zazz_pressed.png) + diff --git a/app/styles/play/level/tome/spell.sass b/app/styles/play/level/tome/spell.sass index 348633044..d2ab57bfd 100644 --- a/app/styles/play/level/tome/spell.sass +++ b/app/styles/play/level/tome/spell.sass @@ -2,38 +2,37 @@ @import "app/styles/bootstrap/variables" @mixin editor-height($extraHeight) - @include box-sizing(border-box) width: 98% height: 83% - height: unquote("-webkit-calc(100% - 60px -")$extraHeight unquote(")") - height: unquote("calc(100% - 60px -")$extraHeight unquote(")") + height: unquote("-webkit-calc(100% - 100px -")$extraHeight unquote(")") + height: unquote("calc(100% - 100px -")$extraHeight unquote(")") #spell-view - position: absolute - left: 10px - top: 140px - //top: 48px - right: 10px - padding-bottom: 10px - z-index: 1 - // Set z-index above palette + margin-top: 10px + padding-top: 20px + padding-left: 30px + padding-bottom: 95px display: none + position: relative + z-index: 1 &.shown display: block .code-background position: absolute - top: 0 + top: -68px + left: 0px height: 100% - width: 100% + right: -10px span.code-background - border-width: 40px - border-image: url(/images/level/code_editor_background.png) 40 fill round + border-width: 124px 76px 64px 40px + border-image: url(/images/level/code_editor_background_border.png) 124 76 64 40 fill round img.code-background display: none + width: 100% .save-status display: none @@ -44,7 +43,7 @@ .firepad // When Firepad is active, it wraps .ace_editor in .firepad. @include editor-height(0px) - width: 98% + width: 94% .ace_editor width: 100% @@ -56,7 +55,7 @@ .ace_editor // When Firepad isn't active, .ace_editor needs the width/height set itself. @include editor-height(0px) - width: 98% + width: 94% position: relative background-color: transparent line-height: 20px @@ -70,14 +69,18 @@ @include opacity(20) .ace_gutter - background-color: rgba(255, 255, 255, 0.25) + background-color: transparent + border-right: 1px solid rgb(195, 178, 156) + //background-color: rgba(255, 255, 255, 0.25) width: 47px margin-left: 4px - border-bottom: 1px dotted #2f261d .ace_scroller background-color: transparent - border-bottom: 1px dotted #2f261d + //padding-left: 10px // Interrupts gutter and line highlighting + + .ace_active-line, .ace_gutter-active-line + background-color: rgba(255, 255, 255, 0.4) .ace_content .executing, .executed, .problem-marker-info, .problem-marker-warning, .problem-marker-error @@ -147,10 +150,10 @@ .ace_searchbtn, .ace_replacebtn padding: 0px 4px + html.no-borderimage #spell-view span.code-background display: none img.code-background display: block - diff --git a/app/styles/play/level/tome/spell_list_entry.sass b/app/styles/play/level/tome/spell_list_entry.sass index 9ba38f450..888866876 100644 --- a/app/styles/play/level/tome/spell_list_entry.sass +++ b/app/styles/play/level/tome/spell_list_entry.sass @@ -13,7 +13,6 @@ $height: 87px $paddingTop: 10px $paddingBottom: 25px - $childMargin: 2px $childSize: $height - $paddingTop - $paddingBottom width: 100% height: $height @@ -22,6 +21,7 @@ position: relative background: transparent url(/images/level/code_editor_top_bar_wood_background.png) background-size: 100% 100% + z-index: 2 .hinge position: absolute @@ -30,7 +30,6 @@ width: 24px height: 20px background-size: contain - z-index: 100 .hinge-0 left: 20% @@ -45,15 +44,24 @@ background: linear-gradient(to bottom, rgba(0,0,0,0.5) 0%,rgba(0,0,0,0.5) 100%), url(/images/level/code_editor_top_bar_wood_background.png) background-size: 100% 100% - .spell-list-button, .thang-avatar-view, .reload-code, .beautify-code, .fullscreen-code - width: $childSize - height: $childSize - margin: 0 $childMargin + .thang-avatar-view + width: $childSize - 10px + margin: 5px display: inline-block - - .spell-list-button, .thang-avatar-view float: left + .btn.btn-small + margin-top: 15px + margin-right: 15px + font-size: 18px + + .glyphicon + font-size: 16px + + .btn.btn-small.spell-list-button + float: left + margin-top: 5px + .spell-tool-buttons position: absolute right: 0px @@ -69,43 +77,32 @@ .fullscreen-code float: right &:not(.maximized) - .icon-resize-small + .glyphicon-resize-small display: none &.maximized - .icon-fullscreen + .glyphicon-fullscreen display: none - .btn.btn-small - background: transparent - padding: 0 - - &:not(:hover) - border-color: transparent - @include box-shadow(none) - - .icon-chevron-down, .icon-repeat, .icon-magnet, .icon-fullscreen, .icon-resize-small - margin-top: 7px - .thang-avatar-wrapper border-width: 0 - .method-label + .method-name-area margin-left: 10px - line-height: $childSize - font-size: 1vw - display: inline-block - font-weight: bold - color: white + margin-top: 10px text-transform: uppercase + display: inline-block + font-family: Open Sans Condensed + font-weight: bold - .method-signature - margin-left: 10px - line-height: $childSize - font-size: 1vw - display: inline-block - font-weight: bold - color: white - text-transform: uppercase + .method-label + font-size: 12px + color: rgb(243, 211, 59) + margin-bottom: -5px + + .method-signature + color: white + font-size: 18px + padding: 0 .spell-list-entry-view:not(.spell-tab) cursor: pointer diff --git a/app/styles/play/level/tome/spell_palette.sass b/app/styles/play/level/tome/spell_palette.sass index c6f7ff406..d8864eca1 100644 --- a/app/styles/play/level/tome/spell_palette.sass +++ b/app/styles/play/level/tome/spell_palette.sass @@ -3,55 +3,44 @@ #spell-palette-view position: absolute - padding-bottom: 10px left: 10px right: 10px - //height: 140px - // Height relates to .tab-content height - padding-top: 35px - padding-left: 12px - padding-right: 4px - color: #333 - // Get crazy with the backgrounds so that we can lower the opacity on the editor background above it, making a gradient of the disabled background color on the top around where it's usually covered + padding: 0 4px 10px 40px background-color: transparent background-size: 100% 100% - z-index: 0 + z-index: 2 //overflow-y: auto - - .code-palette-background - position: absolute - left: 0 - top: 0 - width: 100% - height: 100% - z-index: -1 - - span.code-palette-background - border-width: 25px - border-image: url(/images/level/code_palette_background.png) 25 fill round - img.code-palette-background - display: none + .code-palette-background + width: 100% + position: absolute + left: 0px + z-index: -1 &.disabled @include opacity(0.80) h4 - color: #333 + color: white font-size: 16px line-height: 16px - margin: 0 4px + margin: 25px 0 5px 2px font-weight: normal + text-transform: uppercase .nav > li > a padding: 2px 20px 0px 20px margin-bottom: 3px ul.nav.nav-pills + margin-top: 15px + + h4 + margin-top: 2px li.active a background-color: transparent &.multiple-tabs li.active a - background-color: lighten(rgb(230, 212, 146), 10%) + background-color: darken(rgb(230, 212, 146), 30%) &.multiple-tabs li:not(.active) a cursor: pointer @@ -82,8 +71,9 @@ @include flexbox() @include flex-wrap() @include flex-center() - outline: 1px dashed #b86 position: relative + background-color: rgb(20, 13, 8) + margin: 1px img.item-image width: 38px @@ -91,49 +81,11 @@ position: absolute &:not(:hover) img.item-image - -webkit-filter: sepia(100%) - filter: sepia(100%) + -webkit-filter: contrast(50%) sepia(100%) saturate(500%) hue-rotate(7deg) + filter: contrast(50%) sepia(100%) saturate(1000%) hue-rotate(7deg) .spell-palette-entry-view margin-left: 38px width: 174px width: -webkit-calc(100% - 38px) width: calc(100% - 38px) - - .code-language-logo - position: absolute - width: 16px - height: 16px - left: 16px - top: 36px - z-index: 10 - background-color: transparent - background-repeat: no-repeat - background-size: contain - cursor: pointer - - &.javascript - background-image: url(/images/common/code_languages/javascript_icon.png) - &.python - background-image: url(/images/common/code_languages/python_icon.png) - &.coffeescript - background-image: url(/images/common/code_languages/coffeescript_icon.png) - &.clojure - background-image: url(/images/common/code_languages/clojure_icon.png) - &.lua - background-image: url(/images/common/code_languages/lua_icon.png) - &.io - background-image: url(/images/common/code_languages/io_icon.png) - - &:hover - outline: 1px outset #ccc - - &:active - outline: 1px inset #ccc - -html.no-borderimage - #spell-palette-view - span.code-palette-background - display: none - img.code-palette-background - display: block diff --git a/app/styles/play/level/tome/spell_palette_entry.sass b/app/styles/play/level/tome/spell_palette_entry.sass index 66d2ce088..cb37378b5 100644 --- a/app/styles/play/level/tome/spell_palette_entry.sass +++ b/app/styles/play/level/tome/spell_palette_entry.sass @@ -25,20 +25,21 @@ background-color: darken(#FFFFFF, 25%) // Originally pulled these colors from the most relevant textmate-theme classes, but then fudged them a lot. - &.function - color: black - &.object - color: rgb(6, 150, 14) - &.string - color: rgb(3, 106, 7) - &.number - color: rgb(0, 0, 205) - &.boolean - color: rgb(88, 92, 246) - &.snippet - color: blue - &.undefined - color: rgb(197, 6, 11) + //&.function + // color: black + //&.object + // color: rgb(6, 150, 14) + //&.string + // color: rgb(3, 106, 7) + //&.number + // color: rgb(0, 0, 205) + //&.boolean + // color: rgb(88, 92, 246) + //&.snippet + // color: blue + //&.undefined + // color: rgb(197, 6, 11) + color: rgb(243, 169, 49) .spell-palette-popover.popover // Only those popovers which are our direct children (spell documentation) diff --git a/app/styles/play/level/tome/thang_list.sass b/app/styles/play/level/tome/thang_list.sass deleted file mode 100644 index a06613bd8..000000000 --- a/app/styles/play/level/tome/thang_list.sass +++ /dev/null @@ -1,22 +0,0 @@ -@import "app/styles/mixins" -@import "app/styles/bootstrap/variables" - -#thang-list-view - margin: 50px 15px 15px 15px - overflow: auto - height: 80% - height: -webkit-calc(100% - 65px) - height: calc(100% - 65px) - - h3 - line-height: 25px - margin: 0 - text-align: center - letter-spacing: 0.1em - - .thang-list-section - margin: 5px - padding: 5px - background-color: rgba(200, 200, 200, 0.25) - border-radius: 5px - overflow: hidden diff --git a/app/styles/play/level/tome/thang_list_entry.sass b/app/styles/play/level/tome/thang_list_entry.sass deleted file mode 100644 index e478d6b13..000000000 --- a/app/styles/play/level/tome/thang_list_entry.sass +++ /dev/null @@ -1,38 +0,0 @@ -@import "app/styles/mixins" -@import "app/styles/bootstrap/variables" - -.thang-list-entry-view - @include opacity(0.90) - cursor: pointer - float: left - box-sizing: border-box - width: 20% - max-width: 100px - position: relative - - &.dead - @include opacity(0.75) - - &:after - content: "×" - font-size: 160px - color: red - @include opacity(0.75) - position: absolute - bottom: 0 - height: 100% - width: 100% - text-align: center - line-height: 100px - font-family: monospace - - .thang-name - text-decoration: line-through - - &.disabled - @include opacity(0.25) - cursor: default - - &:hover:not(.disabled) - @include opacity(1) - diff --git a/app/styles/play/level/tome/thang_list_entry_spells.sass b/app/styles/play/level/tome/thang_list_entry_spells.sass deleted file mode 100644 index 312905d1d..000000000 --- a/app/styles/play/level/tome/thang_list_entry_spells.sass +++ /dev/null @@ -1,16 +0,0 @@ -@import "app/styles/mixins" -@import "app/styles/bootstrap/variables" - -.thang-list-entry-spells - - .thang-list-entry-spell - padding: 4px - cursor: pointer - - &:hover - background-color: hsla(240, 40, 80, 0.25) - - code - background-color: transparent - border: 0 - font-size: 1.1em diff --git a/app/templates/play/level/modal/editor_config.jade b/app/templates/play/level/modal/editor_config.jade deleted file mode 100644 index bac960ed1..000000000 --- a/app/templates/play/level/modal/editor_config.jade +++ /dev/null @@ -1,55 +0,0 @@ -extends /templates/modal/modal_base - -block modal-header-content - h3(data-i18n="play_level.editor_config_title") Editor Configuration - -block modal-body-content - .form - .form-group.select-group - label.control-label(for="tome-session-language" data-i18n="play_level.editor_config_level_language_label") Language for This Level - select#tome-session-language(name="language") - for option in languages - option(value=option.id selected=(sessionLanguage === option.id))= option.name - span.help-block(data-i18n="play_level.editor_config_level_language_description") Define the programming language for this particular level. - - .form-group.select-group - label.control-label(for="tome-language" data-i18n="play_level.editor_config_default_language_label") Default Programming Language - select#tome-language(name="language") - for option in languages - option(value=option.id selected=(language === option.id))= option.name - span.help-block(data-i18n="play_level.editor_config_default_language_description") Define the programming language you want to code in when starting new levels. - - .form-group.select-group - label.control-label(for="tome-key-bindings" data-i18n="play_level.editor_config_keybindings_label") Key Bindings - select#tome-key-bindings(name="keyBindings") - option(value="default" selected=(keyBindings === "default") data-i18n="play_level.editor_config_keybindings_default") Default (Ace) - option(value="vim" selected=(keyBindings === "vim")) Vim - option(value="emacs" selected=(keyBindings === "emacs")) Emacs - span.help-block(data-i18n="play_level.editor_config_keybindings_description") Adds additional shortcuts known from the common editors. - - .form-group.checkbox - label(for="tome-live-completion") - input#tome-live-completion(name="liveCompletion", type="checkbox", checked=liveCompletion) - span(data-i18n="play_level.editor_config_livecompletion_label") Live Autocompletion - span.help-block(data-i18n="play_level.editor_config_livecompletion_description") Displays autocomplete suggestions while typing. - - .form-group.checkbox - label(for="tome-invisibles") - input#tome-invisibles(name="invisibles", type="checkbox", checked=invisibles) - span(data-i18n="play_level.editor_config_invisibles_label") Show Invisibles - span.help-block(data-i18n="play_level.editor_config_invisibles_description") Displays invisibles such as spaces or tabs. - - .form-group.checkbox - label(for="tome-indent-guides") - input#tome-indent-guides(name="indentGuides", type="checkbox", checked=indentGuides) - span(data-i18n="play_level.editor_config_indentguides_label") Show Indent Guides - span.help-block(data-i18n="play_level.editor_config_indentguides_description") Displays vertical lines to see indentation better. - - .form-group.checkbox - label(for="tome-behaviors") - input#tome-behaviors(name="behaviors", type="checkbox", checked=behaviors) - span(data-i18n="play_level.editor_config_behaviors_label") Smart Behaviors - span.help-block(data-i18n="play_level.editor_config_behaviors_description") Autocompletes brackets, braces, and quotes. - -block modal-footer-content - a(href='#', data-dismiss="modal", aria-hidden="true", data-i18n="modal.close").btn.btn-primary Close diff --git a/app/templates/play/level/modal/keyboard_shortcuts.jade b/app/templates/play/level/modal/keyboard_shortcuts.jade index f38fedaa0..961b595d1 100644 --- a/app/templates/play/level/modal/keyboard_shortcuts.jade +++ b/app/templates/play/level/modal/keyboard_shortcuts.jade @@ -19,7 +19,7 @@ block modal-body-content dl.dl-horizontal dt(title=shift + " " + enter) kbd ⇧ #{enter} - dd(data-i18n="keyboard_shortcuts.cast_spell") Cast current spell. + dd(data-i18n="keyboard_shortcuts.run_code") Run current code. dl.dl-horizontal dt(title=ctrlName + " " + shift + " " + enter) kbd #{ctrl} ⇧ #{enter} diff --git a/app/templates/play/level/tome/cast_button.jade b/app/templates/play/level/tome/cast_button.jade index a6290974c..a3a153656 100644 --- a/app/templates/play/level/tome/cast_button.jade +++ b/app/templates/play/level/tome/cast_button.jade @@ -1,6 +1,8 @@ -button.btn.btn-lg.btn-inverse.banner.cast-button(title=castVerbose, data-i18n="play_level.tome_run_button_ran") Ran +button.btn.btn-lg.btn-illustrated.cast-button(title=castVerbose) + span(data-i18n="play_level.tome_run_button_ran") Ran -if testSubmitText != null && testSubmitText.length > 0 - button.btn.btn-lg.btn-success.banner.submit-button(title=castRealTimeVerbose) #{testSubmitText} -else - button.btn.btn-lg.btn-success.banner.submit-button(title=castRealTimeVerbose, data-i18n="play_level.tome_submit_button") Submit +button.btn.btn-lg.btn-illustrated.submit-button(title=castRealTimeVerbose) + if testSubmitText != null && testSubmitText.length > 0 + span= testSubmitText + else + span(data-i18n="play_level.tome_submit_button") Submit diff --git a/app/templates/play/level/tome/spell_list_tab_entry.jade b/app/templates/play/level/tome/spell_list_tab_entry.jade index f3ff09860..e0e4f95b6 100644 --- a/app/templates/play/level/tome/spell_list_tab_entry.jade +++ b/app/templates/play/level/tome/spell_list_tab_entry.jade @@ -4,25 +4,27 @@ .hinge.hinge-3 if includeSpellList - .btn.btn-small.spell-list-button(data-i18n="[title]play_level.tome_see_all_methods", title="See all methods you can edit") - i.icon-chevron-down + .btn.btn-small.btn-illustrated.spell-list-button(data-i18n="[title]play_level.tome_see_all_methods", title="See all methods you can edit") + .glyphicon.glyphicon-chevron-down .thang-avatar-placeholder -.method-label(data-i18n="play_level.tome_current_method") Current Method -.method-signature #{methodSignature} +.method-name-area + .method-label(data-i18n="play_level.tome_current_method") Current Method + .method-signature #{methodSignature} .spell-tool-buttons - if levelType !== 'hero' - .btn.btn-small.fullscreen-code(title=maximizeShortcutVerbose) - i.icon-fullscreen - i.icon-resize-small - - .btn.btn-small.reload-code(data-i18n="[title]play_level.tome_reload_method", title="Reload original code for this method") - i.icon-repeat + .btn.btn-small.btn-illustrated.reload-code(data-i18n="[title]play_level.tome_reload_method", title="Reload original code for this method") + .glyphicon.glyphicon-repeat + span.spl(data-i18n="play_level.reload") Reload - if codeLanguage === 'javascript' - .btn.btn-small.beautify-code(title=beautifyShortcutVerbose) - i.icon-magnet + if levelType !== 'hero' && levelType !== 'hero-ladder' && levelType !== 'hero-coop' + .btn.btn-small.btn-illustrated.fullscreen-code(title=maximizeShortcutVerbose) + .glyphicon.glyphicon-fullscreen + .glyphicon.glyphicon-resize-small + + if codeLanguage === 'javascript' && levelType !== 'hero' && levelType !== 'hero-ladder' && levelType !== 'hero-coop' + .btn.btn-small.btn-illustrated.beautify-code(title=beautifyShortcutVerbose) + .glyphicon.glyphicon-magnet .clearfix \ No newline at end of file diff --git a/app/templates/play/level/tome/spell_palette.jade b/app/templates/play/level/tome/spell_palette.jade index 0b27aa90e..304ef1a64 100644 --- a/app/templates/play/level/tome/spell_palette.jade +++ b/app/templates/play/level/tome/spell_palette.jade @@ -1,8 +1,7 @@ -img(src="/images/level/code_palette_background.png").code-palette-background +img(src="/images/level/code_palette_wood_background.png").code-palette-background span.code-palette-background if entryGroupSlugs // Non-hero; group by entry groups, or maybe nothing. - .code-language-logo ul(class="nav nav-pills" + (tabbed ? ' multiple-tabs' : '')) each slug, group in entryGroupSlugs li(class=group == "this" || slug == "available-spells" ? "active" : "") diff --git a/app/templates/play/level/tome/thang_list.jade b/app/templates/play/level/tome/thang_list.jade deleted file mode 100644 index 2d0140f05..000000000 --- a/app/templates/play/level/tome/thang_list.jade +++ /dev/null @@ -1,14 +0,0 @@ -#readwrite-thangs.thang-list-section - h3(data-i18n="play_level.tome_minion_spells") Your Minions' Spells - .thang-list - .clearfix - -#read-thangs.thang-list-section - h3(data-i18n="play_level.tome_read_only_spells") Read-Only Spells - .thang-list - .clearfix - -#muggle-thangs.thang-list-section - h3(data-i18n="play_level.tome_other_units") Other Units - .thang-list - .clearfix diff --git a/app/templates/play/level/tome/thang_list_entry.jade b/app/templates/play/level/tome/thang_list_entry.jade deleted file mode 100644 index e69de29bb..000000000 diff --git a/app/templates/play/level/tome/thang_list_entry_spells.jade b/app/templates/play/level/tome/thang_list_entry_spells.jade deleted file mode 100644 index b95ca4d2a..000000000 --- a/app/templates/play/level/tome/thang_list_entry_spells.jade +++ /dev/null @@ -1,5 +0,0 @@ -h4.not-code(data-i18n="play_level.tome_select_spell") Select a Spell -.thang-list-entry-spells - for spell in spells - div.thang-list-entry-spell - code(data-spell-name=spell.name) #{spell.name}(#{parameters}) \ No newline at end of file diff --git a/app/templates/play/level/tome/tome.jade b/app/templates/play/level/tome/tome.jade index f1d1d4dfb..c29f9e4f0 100644 --- a/app/templates/play/level/tome/tome.jade +++ b/app/templates/play/level/tome/tome.jade @@ -2,8 +2,6 @@ #spell-list-view -#thang-list-view - #cast-button-view #spell-view diff --git a/app/views/play/level/LevelPlaybackView.coffee b/app/views/play/level/LevelPlaybackView.coffee index f913bec39..16e00516a 100644 --- a/app/views/play/level/LevelPlaybackView.coffee +++ b/app/views/play/level/LevelPlaybackView.coffee @@ -2,9 +2,6 @@ CocoView = require 'views/kinds/CocoView' template = require 'templates/play/level/playback' {me} = require 'lib/auth' -EditorConfigModal = require './modal/EditorConfigModal' -KeyboardShortcutsModal = require './modal/KeyboardShortcutsModal' - module.exports = class LevelPlaybackView extends CocoView id: 'playback-view' template: template diff --git a/app/views/play/level/modal/EditorConfigModal.coffee b/app/views/play/level/modal/EditorConfigModal.coffee deleted file mode 100644 index f7c9ab857..000000000 --- a/app/views/play/level/modal/EditorConfigModal.coffee +++ /dev/null @@ -1,92 +0,0 @@ -ModalView = require 'views/kinds/ModalView' -template = require 'templates/play/level/modal/editor_config' -{me} = require 'lib/auth' - -module.exports = class EditorConfigModal extends ModalView - id: 'level-editor-config-modal' - template: template - aceConfig: {} - - defaultConfig: - language: 'python' - keyBindings: 'default' - invisibles: false - indentGuides: false - behaviors: false - liveCompletion: true - - events: - 'change #tome-invisibles': 'updateInvisibles' - 'change #tome-language': 'updateLanguage' - 'change #tome-key-bindings': 'updateKeyBindings' - 'change #tome-indent-guides': 'updateIndentGuides' - 'change #tome-behaviors': 'updateBehaviors' - 'change #tome-live-completion': 'updateLiveCompletion' - - constructor: (options) -> - super(options) - @session = options.session - - getRenderData: -> - @aceConfig = _.cloneDeep me.get('aceConfig') ? {} - @aceConfig = _.defaults @aceConfig, @defaultConfig - c = super() - c.languages = [ - {id: 'python', name: 'Python'} - {id: 'javascript', name: 'JavaScript'} - {id: 'coffeescript', name: 'CoffeeScript'} - {id: 'clojure', name: 'Clojure (Experimental)'} - {id: 'lua', name: 'Lua (Experimental)'} - {id: 'io', name: 'Io (Experimental)'} - ] - c.sessionLanguage = @session.get('codeLanguage') ? @aceConfig.language - c.language = @aceConfig.language - c.keyBindings = @aceConfig.keyBindings - c.invisibles = @aceConfig.invisibles - c.indentGuides = @aceConfig.indentGuides - c.behaviors = @aceConfig.behaviors - c.liveCompletion = @aceConfig.liveCompletion - c - - updateSessionLanguage: -> - @session.set 'codeLanguage', @$el.find('#tome-session-language').val() - - updateLanguage: -> - @aceConfig.language = @$el.find('#tome-language').val() - - updateInvisibles: -> - @aceConfig.invisibles = @$el.find('#tome-invisibles').prop('checked') - - updateKeyBindings: -> - @aceConfig.keyBindings = @$el.find('#tome-key-bindings').val() - - updateIndentGuides: -> - @aceConfig.indentGuides = @$el.find('#tome-indent-guides').prop('checked') - - updateBehaviors: -> - @aceConfig.behaviors = @$el.find('#tome-behaviors').prop('checked') - - updateLiveCompletion: -> - @aceConfig.liveCompletion = @$el.find('#tome-live-completion').prop('checked') - - afterRender: -> - super() - - onHidden: -> - oldLanguage = @session.get('codeLanguage') ? @aceConfig.language - newLanguage = @$el.find('#tome-session-language').val() - @session.set 'codeLanguage', newLanguage - @aceConfig.language = @$el.find('#tome-language').val() - @aceConfig.invisibles = @$el.find('#tome-invisibles').prop('checked') - @aceConfig.keyBindings = @$el.find('#tome-key-bindings').val() - @aceConfig.indentGuides = @$el.find('#tome-indent-guides').prop('checked') - @aceConfig.behaviors = @$el.find('#tome-behaviors').prop('checked') - @aceConfig.liveCompletion = @$el.find('#tome-live-completion').prop('checked') - me.set 'aceConfig', @aceConfig - Backbone.Mediator.publish 'tome:change-config', {} - Backbone.Mediator.publish 'tome:change-language', language: newLanguage unless newLanguage is oldLanguage - @session.save() unless newLanguage is oldLanguage - me.patch() - - destroy: -> - super() diff --git a/app/views/play/level/tome/CastButtonView.coffee b/app/views/play/level/tome/CastButtonView.coffee index c49482806..d11c9ff4f 100644 --- a/app/views/play/level/tome/CastButtonView.coffee +++ b/app/views/play/level/tome/CastButtonView.coffee @@ -33,7 +33,7 @@ module.exports = class CastButtonView extends CocoView enter = $.i18n.t 'keyboard_shortcuts.enter' castShortcutVerbose = "#{shift}+#{enter}" castRealTimeShortcutVerbose = (if @isMac() then 'Cmd' else 'Ctrl') + '+' + castShortcutVerbose - context.castVerbose = castShortcutVerbose + ': ' + $.i18n.t('keyboard_shortcuts.cast_spell') + context.castVerbose = castShortcutVerbose + ': ' + $.i18n.t('keyboard_shortcuts.run_code') context.castRealTimeVerbose = castRealTimeShortcutVerbose + ': ' + $.i18n.t('keyboard_shortcuts.run_real_time') # A/B test submit button text context.testSubmitText = @testButtonsText.submit if @testGroup? and @testGroup isnt 0 @@ -105,7 +105,7 @@ module.exports = class CastButtonView extends CocoView , (castable) => Backbone.Mediator.publish 'tome:spell-has-changed-significantly-calculation', hasChangedSignificantly: castable @castButton.toggleClass('castable', castable).toggleClass('casting', @casting) - + # A/B testing cast button text for en-US if $.i18n.lng() isnt 'en-US' or not @testGroup? or @testGroup is 0 if @casting @@ -160,5 +160,3 @@ module.exports = class CastButtonView extends CocoView Action: 'Loaded' levelID: @levelID castButtonText: @testButtonsText.run + ' ' + @testButtonsText.submit - - diff --git a/app/views/play/level/tome/SpellListEntryView.coffee b/app/views/play/level/tome/SpellListEntryView.coffee index d2d39edb1..befca0320 100644 --- a/app/views/play/level/tome/SpellListEntryView.coffee +++ b/app/views/play/level/tome/SpellListEntryView.coffee @@ -37,6 +37,7 @@ module.exports = class SpellListEntryView extends CocoView context createMethodSignature: -> + return @spell.name if @options.level.get('type', true) in ['hero', 'hero-ladder', 'hero-coop'] parameters = (@spell.parameters or []).slice() if @spell.language in ['python', 'lua'] parameters.unshift 'self' diff --git a/app/views/play/level/tome/SpellListView.coffee b/app/views/play/level/tome/SpellListView.coffee index 9bf6ece39..a2d9c3a39 100644 --- a/app/views/play/level/tome/SpellListView.coffee +++ b/app/views/play/level/tome/SpellListView.coffee @@ -61,7 +61,7 @@ module.exports = class SpellListView extends CocoView theseThangs = _.keys(spell.thangs) changedThangs = not lastThangs or not _.isEqual theseThangs, lastThangs lastThangs = theseThangs - newEntries.push entry = new SpellListEntryView spell: spell, showTopDivider: changedThangs, supermodel: @supermodel, includeSpellList: @spells.length > 1 + newEntries.push entry = new SpellListEntryView spell: spell, showTopDivider: changedThangs, supermodel: @supermodel, includeSpellList: @spells.length > 1, level: @options.level @entries.push entry for entry in newEntries @$el.append entry.el diff --git a/app/views/play/level/tome/SpellPaletteView.coffee b/app/views/play/level/tome/SpellPaletteView.coffee index 8750c5f35..683beabbf 100644 --- a/app/views/play/level/tome/SpellPaletteView.coffee +++ b/app/views/play/level/tome/SpellPaletteView.coffee @@ -5,7 +5,6 @@ filters = require 'lib/image_filter' SpellPaletteEntryView = require './SpellPaletteEntryView' LevelComponent = require 'models/LevelComponent' ThangType = require 'models/ThangType' -EditorConfigModal = require '../modal/EditorConfigModal' N_ROWS = 4 @@ -20,9 +19,6 @@ module.exports = class SpellPaletteView extends CocoView 'surface:frame-changed': 'onFrameChanged' 'tome:change-language': 'onTomeChangedLanguage' - events: - 'click .code-language-logo': 'onEditEditorConfig' - constructor: (options) -> super options @thang = options.thang @@ -54,7 +50,7 @@ module.exports = class SpellPaletteView extends CocoView @entryGroupElements = {} for group, entries of @entryGroups @entryGroupElements[group] = itemGroup = $('<div class="property-entry-item-group"></div>').appendTo @$el.find('.properties') - itemGroup.append $('<img class="item-image"></img>').attr('src', entries[0].options.item.getPortraitURL()).css('top', Math.max(0, 19 * (entries.length - 2) / 2)) if entries[0].options.item?.getPortraitURL + itemGroup.append $('<img class="item-image"></img>').attr('src', entries[0].options.item.getPortraitURL()).css('top', Math.max(0, 19 * (entries.length - 2) / 2) + 2) if entries[0].options.item?.getPortraitURL for entry in entries itemGroup.append entry.el entry.render() # Render after appending so that we can access parent container for popover @@ -67,7 +63,6 @@ module.exports = class SpellPaletteView extends CocoView updateCodeLanguage: (language) -> @options.language = language - @$el.find('.code-language-logo').removeClass().addClass 'code-language-logo ' + language updateMaxHeight: -> return unless @isHero @@ -266,9 +261,6 @@ module.exports = class SpellPaletteView extends CocoView @createPalette() @render() - onEditEditorConfig: (e) -> - @openModalView new EditorConfigModal session: @options.session - destroy: -> entry.destroy() for entry in @entries @toggleBackground = null diff --git a/app/views/play/level/tome/SpellView.coffee b/app/views/play/level/tome/SpellView.coffee index 17477be54..0fc73947b 100644 --- a/app/views/play/level/tome/SpellView.coffee +++ b/app/views/play/level/tome/SpellView.coffee @@ -360,10 +360,10 @@ module.exports = class SpellView extends CocoView spellPaletteHeight = $('#spell-palette-view').outerHeight() maxHeight = tomeHeight - spellListTabEntryHeight - spellToolbarHeight - spellPaletteHeight linesAtMaxHeight = Math.floor(maxHeight / lineHeight) - lines = Math.max 8, Math.min(screenLineCount + 4, linesAtMaxHeight) - # 2 lines buffer is nice, but 4 leaves room to put problem alerts. + lines = Math.max 8, Math.min(screenLineCount + 2, linesAtMaxHeight) + # 2 lines buffer is nice @ace.setOptions minLines: lines, maxLines: lines - $('#spell-palette-view').css('top', 38 + 45 + lineHeight * lines) # Move spell palette up, slightly underlapping us. + $('#spell-palette-view').css('top', 175 + lineHeight * lines) # Move spell palette up, slightly overlapping us. onManualCast: (e) -> cast = @$el.parent().length diff --git a/app/views/play/level/tome/ThangListEntryView.coffee b/app/views/play/level/tome/ThangListEntryView.coffee deleted file mode 100644 index 75d03ac22..000000000 --- a/app/views/play/level/tome/ThangListEntryView.coffee +++ /dev/null @@ -1,178 +0,0 @@ -# TODO: be useful to add error indicator states to the spellsPopoverTemplate -# TODO: reordering based on errors isn't working yet - -CocoView = require 'views/kinds/CocoView' -ThangAvatarView = require 'views/play/level/ThangAvatarView' -template = require 'templates/play/level/tome/thang_list_entry' -spellsPopoverTemplate = require 'templates/play/level/tome/thang_list_entry_spells' -{me} = require 'lib/auth' - -module.exports = class ThangListEntryView extends CocoView - tagName: 'div' #'li' - className: 'thang-list-entry-view' - template: template - controlsEnabled: true - reasonsToBeDisabled: {} - - subscriptions: - 'tome:problems-updated': 'onProblemsUpdated' - 'level:disable-controls': 'onDisableControls' - 'level:enable-controls': 'onEnableControls' - 'surface:frame-changed': 'onFrameChanged' - 'level:set-letterbox': 'onSetLetterbox' - 'tome:thang-list-entry-popover-shown': 'onThangListEntryPopoverShown' - 'surface:coordinates-shown': 'onSurfaceCoordinatesShown' - - events: - 'click': 'onClick' - 'mouseenter': 'onMouseEnter' - 'mouseleave': 'onMouseLeave' - - constructor: (options) -> - super options - @thang = options.thang - @spells = options.spells - @permission = options.permission - @reasonsToBeDisabled = {} - @sortSpells() - - getRenderData: (context={}) -> - context = super context - context.thang = @thang - context.spell = @spells - context - - afterRender: -> - super() - @avatar?.destroy() - @avatar = new ThangAvatarView thang: @thang, includeName: true, supermodel: @supermodel - @$el.append @avatar.el # Before rendering, so render can use parent for popover - @avatar.render() - @avatar.setSharedThangs @spells.length # A bit weird to call it sharedThangs; could refactor if we like this - @$el.toggle Boolean(@thang.exists) - @$el.popover( - animation: false - html: true - placement: 'bottom' - trigger: 'manual' - content: @getSpellListHTML() - container: @$el.parent().parent().parent() - ) - - sortSpells: -> - return if @sorted - # Keep only spells for which we have permissions - spells = _.filter @spells, (s) => @options.permission and me.team in s.permissions[@options.permission] - @spells = _.sortBy spells, @sortScoreForSpell - @sorted = true - - sortScoreForSpell: (s) => - # Sort by errored-out spells first, then spells shared with fewest other Thangs - # Lower comes first - score = 0 - # My errors are highest priority - score -= 9001900190019001 * (s.thangs[@thang.id].aether?.getAllProblems().length or 0) - # Other shared Thangs errors are also high priority - score -= _.reduce s.thangs, (spellThang, num) -> 900190019001 * (spellThang.aether?.getAllProblems().length or 0) - # Read-only spells at the bottom - score += 90019001 unless s.canWrite() - # The more Thangs sharing a spell, the lower - score += 9001 * _.size(s.thangs) - score - - select: -> - @sortSpells() - Backbone.Mediator.publish 'level:select-sprite', thangID: @thang.id, spellName: @spells[0]?.name - - onClick: (e) -> - return unless @controlsEnabled - @select() - - onMouseEnter: (e) -> - return unless @controlsEnabled and @spells.length - @clearTimeouts() - @showSpellsTimeout = _.delay @showSpells, 100 - - onMouseLeave: (e) -> - return unless @controlsEnabled and @spells.length - @clearTimeouts() - @hideSpellsTimeout = _.delay @hideSpells, 100 - - clearTimeouts: -> - clearTimeout @showSpellsTimeout if @showSpellsTimeout - clearTimeout @hideSpellsTimeout if @hideSpellsTimeout - @showSpellsTimeout = @hideSpellsTimeout = null - - onThangListEntryPopoverShown: (e) -> - # I couldn't figure out how to get the mouseenter / mouseleave to always work, so this is a fallback - # to hide our popover if another Thang's popover gets shown. - return if e.entry is @ - @hideSpells() - - onSurfaceCoordinatesShown: (e) -> - # Definitely aren't hovering over this. - @hideSpells() - - showSpells: => - @clearTimeouts() - @sortSpells() - @$el.data('bs.popover').options.content = @getSpellListHTML() - @$el.popover('setContent').popover('show') - @$el.parent().parent().parent().i18n() - @popover = @$el.parent().parent().parent().find('.popover') - @popover.off 'mouseenter mouseleave' - @popover.mouseenter (e) => @showSpells() if @controlsEnabled - @popover.mouseleave (e) => @hideSpells() - thangID = @thang.id - @popover.find('code').click (e) -> - Backbone.Mediator.publish 'level:select-sprite', thangID: thangID, spellName: $(@).data 'spell-name' - Backbone.Mediator.publish 'tome:thang-list-entry-popover-shown', entry: @ - - hideSpells: => - @clearTimeouts() - @$el.popover('hide') - - getSpellListHTML: -> - spellsPopoverTemplate {spells: @spells} - - onProblemsUpdated: (e) -> - return unless e.spell in @spells - @sorted = false - - onSetLetterbox: (e) -> - if e.on then @reasonsToBeDisabled.letterbox = true else delete @reasonsToBeDisabled.letterbox - @updateControls() - - onDisableControls: (e) -> - return if e.controls and not ('surface' in e.controls) # disable selection? - @reasonsToBeDisabled.controls = true - @updateControls() - - onEnableControls: (e) -> - delete @reasonsToBeDisabled.controls - @updateControls() - - updateControls: -> - enabled = _.keys(@reasonsToBeDisabled).length is 0 - return if enabled is @controlsEnabled - @controlsEnabled = enabled - @$el.toggleClass('disabled', not enabled) - - onFrameChanged: (e) -> - # Optimize - return unless currentThang = e.world.thangMap[@thang.id] - exists = Boolean currentThang.exists - if @thangDidExist isnt exists - @$el.toggle exists - @thangDidExist = exists - dead = exists and currentThang.health <= 0 - if @thangWasDead isnt dead - @$el.toggleClass 'dead', dead - @thangWasDead = dead - - destroy: -> - @avatar?.destroy() - @popover?.remove() - @popover?.off 'mouseenter mouseleave' - @popover?.find('code').off 'click' - super() diff --git a/app/views/play/level/tome/ThangListView.coffee b/app/views/play/level/tome/ThangListView.coffee deleted file mode 100644 index f8b0cc9d0..000000000 --- a/app/views/play/level/tome/ThangListView.coffee +++ /dev/null @@ -1,95 +0,0 @@ -# The ThangListView lives in the code area behind the SpellView, so that when you don't have a spell, you can select any Thang. -# It just ha a bunch of ThangListEntryViews (which are mostly ThangAvatarViews) in a few sections. - -CocoView = require 'views/kinds/CocoView' -template = require 'templates/play/level/tome/thang_list' -{me} = require 'lib/auth' -ThangListEntryView = require './ThangListEntryView' - -module.exports = class ThangListView extends CocoView - className: 'thang-list-view' - id: 'thang-list-view' - template: template - - constructor: (options) -> - super options - @spells = options.spells - @thangs = _.filter options.thangs, 'isSelectable' - @sortThangs() - - sortThangs: -> - @readwriteThangs = _.sortBy _.filter(@thangs, (thang) => - return true for spellKey, spell of @spells when thang.id of spell.thangs and spell.canWrite() - false - ), @sortScoreForThang - @readThangs = _.sortBy _.filter(@thangs, (thang) => - return true for spellKey, spell of @spells when thang.id of spell.thangs and spell.canRead() and not spell.canWrite() - false - ), @sortScoreForThang - @muggleThangs = _.sortBy _.without(@thangs, @readwriteThangs..., @readThangs...), @sortScoreForThang - if @muggleThangs.length > 15 - @muggleThangs = [] # Don't render a zillion of these. Slow, too long, maybe not useful. - - sortScoreForThang: (t) => - # Sort by my team, then most spells and fewest shared Thangs per spell, - # then by thang.spriteName alpha, then by thang.id alpha. - # Lower comes first - score = 0 - # Thangs on my team are highest priority - score -= 9001900190019001 if t.team is me.team - # The more spells per Thang, the lower - score -= 900190019001 for spellKey, spell of @spells when t.id of spell.thangs and spell.canRead() - # The more Thangs per spell, the higher - score += 90019001 for t2 of spell.thangs for spellKey, spell of @spells when t.id of spell.thangs - alpha = (s) -> _.reduce [0 ... s.length], ((acc, i) -> acc + s.charCodeAt(i) / Math.pow(100, i)), 0 - # Alpha by spriteName - score += 9001 * alpha t.spriteName - # Alpha by id - score += alpha t.id - score - - afterRender: -> - super() - @addThangListEntries() - - addThangListEntries: -> - @entries = [] - for [thangs, section, permission] in [ - [@readwriteThangs, '#readwrite-thangs', 'readwrite'] # Your Minions - [@readThangs, '#read-thangs', 'read'] # Read-Only - [@muggleThangs, '#muggle-thangs', null] # Non-Castable - ] - section = @$el.find(section).toggle thangs.length > 0 - for thang in thangs - spells = _.filter @spells, (s) -> thang.id of s.thangs - entry = new ThangListEntryView thang: thang, spells: spells, permission: permission, supermodel: @supermodel - section.find('.thang-list').append entry.el # Render after appending so that we can access parent container for popover - entry.render() - @entries.push entry - - topSpellForThang: (thang) -> - for entry in @entries when entry.thang.id is thang.id - return entry.spells[0] - null - - selectPrimarySprite: -> - @entries[0]?.select() - - adjustThangs: (spells, thangs) -> - # TODO: it would be nice to not have to do this any more, like if we migrate to the hero levels. - # Recreating all the ThangListEntryViews and their ThangAvatarViews is pretty slow. - # So they aren't even kept up-to-date during world streaming. - # Updating the existing subviews? Would be kind of complicated to get all the new thangs and spells propagated. - # I would do it, if I didn't think we were perhaps soon to not do the ThangList any more. - # Will temporary reduce the number of muggle thangs we're willing to draw. - @spells = @options.spells = spells - for entry in @entries - entry.$el.remove() - entry.destroy() - @thangs = @options.thangs = thangs - @sortThangs() - @addThangListEntries() - - destroy: -> - entry.destroy() for entry in @entries - super() diff --git a/app/views/play/level/tome/TomeView.coffee b/app/views/play/level/tome/TomeView.coffee index d8335993b..453acd1bf 100644 --- a/app/views/play/level/tome/TomeView.coffee +++ b/app/views/play/level/tome/TomeView.coffee @@ -32,7 +32,6 @@ template = require 'templates/play/level/tome/tome' {me} = require 'lib/auth' Spell = require './Spell' SpellListView = require './SpellListView' -ThangListView = require './ThangListView' SpellPaletteView = require './SpellPaletteView' CastButtonView = require './CastButtonView' @@ -62,8 +61,7 @@ module.exports = class TomeView extends CocoView #programmableThangs = _.filter @options.thangs, (t) -> t.isProgrammable and t.spriteName isnt 'Hero Placeholder' programmableThangs = _.filter @options.thangs, 'isProgrammable' @createSpells programmableThangs, programmableThangs[0]?.world # Do before spellList, thangList, and castButton - @spellList = @insertSubView new SpellListView spells: @spells, supermodel: @supermodel - @thangList = @insertSubView new ThangListView spells: @spells, thangs: @options.thangs, supermodel: @supermodel unless @options.level.get('type', true) is 'hero' + @spellList = @insertSubView new SpellListView spells: @spells, supermodel: @supermodel, level: @options.level @castButton = @insertSubView new CastButtonView spells: @spells, levelID: @options.levelID @teamSpellMap = @generateTeamSpellMap(@spells) unless programmableThangs.length @@ -77,7 +75,6 @@ module.exports = class TomeView extends CocoView thangs = _.filter e.world.thangs, 'inThangList' programmableThangs = _.filter thangs, 'isProgrammable' @createSpells programmableThangs, e.world - @thangList?.adjustThangs @spells, thangs @spellList.adjustSpells @spells onCommentMyCode: (e) -> @@ -187,7 +184,6 @@ module.exports = class TomeView extends CocoView @spellPaletteView = null @$el.find('#spell-palette-view').hide() @castButton?.$el.hide() - @thangList?.$el.show() onSpriteSelected: (e) -> return if @spellView and @options.level.get('type', true) in ['hero', 'hero-ladder', 'hero-coop'] # Never deselect the hero in the Tome. @@ -207,7 +203,6 @@ module.exports = class TomeView extends CocoView @$el.find('#' + @spellView.id).after(@spellView.el).remove() @$el.find('#' + @spellTabView.id).after(@spellTabView.el).remove() @castButton.attachTo @spellView - @thangList?.$el.hide() Backbone.Mediator.publish 'tome:spell-shown', thang: thang, spell: spell @updateSpellPalette thang, spell @spellList.setThangAndSpell thang, spell @@ -217,7 +212,7 @@ module.exports = class TomeView extends CocoView updateSpellPalette: (thang, spell) -> return unless thang and @spellPaletteView?.thang isnt thang and thang.programmableProperties or thang.apiProperties @spellPaletteView = @insertSubView new SpellPaletteView thang: thang, supermodel: @supermodel, programmable: spell?.canRead(), language: spell?.language ? @options.session.get('codeLanguage'), session: @options.session, level: @options.level - @spellPaletteView.toggleControls {}, spell.view.controlsEnabled if spell # TODO: know when palette should have been disabled but didn't exist + @spellPaletteView.toggleControls {}, spell.view.controlsEnabled if spell?.view # TODO: know when palette should have been disabled but didn't exist spellFor: (thang, spellName) -> return null unless thang?.isProgrammable @@ -225,9 +220,6 @@ module.exports = class TomeView extends CocoView selectedThangSpells = (@spells[spellKey] for spellKey in @thangSpells[thang.id]) if spellName spell = _.find selectedThangSpells, {name: spellName} - else if @thangList - spell = @thangList.topSpellForThang thang - #spell = selectedThangSpells[0] # TODO: remember last selected spell for this thang else spell = _.find selectedThangSpells, (spell) -> true # Just grab one spell @@ -241,10 +233,8 @@ module.exports = class TomeView extends CocoView @cast() onSelectPrimarySprite: (e) -> - if @thangList - @thangList.selectPrimarySprite() - else - Backbone.Mediator.publish 'level:select-sprite', thangID: 'Hero Placeholder' + # TODO: this may not be correct + Backbone.Mediator.publish 'level:select-sprite', thangID: 'Hero Placeholder' destroy: -> spell.destroy() for spellKey, spell of @spells