From f9e00e81514417ec8be9f081d9446dbd76f35e20 Mon Sep 17 00:00:00 2001 From: XanGrab <60899653+XanGrab@users.noreply.github.com> Date: Wed, 15 Jan 2025 08:58:02 -0600 Subject: [PATCH 01/13] =?UTF-8?q?Updates=20to=20FloatingDropdown=20?= =?UTF-8?q?=E2=AC=87=EF=B8=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitmodules | 3 + .vscode/extensions.json | 5 + .../WebGLTemplates/FieldDay/FloatingDropdown | 1 + .../FieldDay/FloatingDropdown/.gitignore | 1 - .../FieldDay/FloatingDropdown/README.md | 37 ------ .../FieldDay/FloatingDropdown/README.md.meta | 7 -- .../FieldDay/FloatingDropdown/index.js | 37 ------ .../FieldDay/FloatingDropdown/index.js.meta | 7 -- .../FieldDay/FloatingDropdown/styles.css | 109 ------------------ .../FieldDay/FloatingDropdown/styles.css.meta | 7 -- .../FieldDay/FloatingDropdown/template.html | 13 --- .../FloatingDropdown/template.html.meta | 7 -- .../FloatingDropdown/vault-library-logo.png | Bin 5489 -> 0 bytes .../vault-library-logo.png.meta | 7 -- 14 files changed, 9 insertions(+), 232 deletions(-) create mode 100644 .vscode/extensions.json create mode 160000 Assets/WebGLTemplates/FieldDay/FloatingDropdown delete mode 100644 Assets/WebGLTemplates/FieldDay/FloatingDropdown/.gitignore delete mode 100644 Assets/WebGLTemplates/FieldDay/FloatingDropdown/README.md delete mode 100644 Assets/WebGLTemplates/FieldDay/FloatingDropdown/README.md.meta delete mode 100644 Assets/WebGLTemplates/FieldDay/FloatingDropdown/index.js delete mode 100644 Assets/WebGLTemplates/FieldDay/FloatingDropdown/index.js.meta delete mode 100644 Assets/WebGLTemplates/FieldDay/FloatingDropdown/styles.css delete mode 100644 Assets/WebGLTemplates/FieldDay/FloatingDropdown/styles.css.meta delete mode 100644 Assets/WebGLTemplates/FieldDay/FloatingDropdown/template.html delete mode 100644 Assets/WebGLTemplates/FieldDay/FloatingDropdown/template.html.meta delete mode 100644 Assets/WebGLTemplates/FieldDay/FloatingDropdown/vault-library-logo.png delete mode 100644 Assets/WebGLTemplates/FieldDay/FloatingDropdown/vault-library-logo.png.meta diff --git a/.gitmodules b/.gitmodules index a61ee90b..dc20bdc4 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,3 +1,6 @@ [submodule "Assets/WebGLTemplates/FloatingDropdown"] path = Assets/WebGLTemplates/FloatingDropdown url = https://github.com/fielddaylab/FloatingDropdown.git +[submodule "Assets/WebGLTemplates/FieldDay/FloatingDropdown"] + path = Assets/WebGLTemplates/FieldDay/FloatingDropdown + url = https://github.com/fielddaylab/FloatingDropdown.git diff --git a/.vscode/extensions.json b/.vscode/extensions.json new file mode 100644 index 00000000..ddb6ff85 --- /dev/null +++ b/.vscode/extensions.json @@ -0,0 +1,5 @@ +{ + "recommendations": [ + "visualstudiotoolsforunity.vstuc" + ] +} diff --git a/Assets/WebGLTemplates/FieldDay/FloatingDropdown b/Assets/WebGLTemplates/FieldDay/FloatingDropdown new file mode 160000 index 00000000..50a7fb68 --- /dev/null +++ b/Assets/WebGLTemplates/FieldDay/FloatingDropdown @@ -0,0 +1 @@ +Subproject commit 50a7fb6824f2b774c3ee60848d0a2fa616253376 diff --git a/Assets/WebGLTemplates/FieldDay/FloatingDropdown/.gitignore b/Assets/WebGLTemplates/FieldDay/FloatingDropdown/.gitignore deleted file mode 100644 index 3b8bd73c..00000000 --- a/Assets/WebGLTemplates/FieldDay/FloatingDropdown/.gitignore +++ /dev/null @@ -1 +0,0 @@ -public/* \ No newline at end of file diff --git a/Assets/WebGLTemplates/FieldDay/FloatingDropdown/README.md b/Assets/WebGLTemplates/FieldDay/FloatingDropdown/README.md deleted file mode 100644 index 3e8efdcc..00000000 --- a/Assets/WebGLTemplates/FieldDay/FloatingDropdown/README.md +++ /dev/null @@ -1,37 +0,0 @@ -# FloatingDropdown -Simple reusable web component for web games linking to the [Vault](https://vault.fielddaylab.wisc.edu/) - -This repository houses a reusable HTML component for the Vault floating dropdown on free browser-based games. There are two pieces used for this component: -1. The HTML template used to display the component on the dom -2. the Unity javascript plugin to be used to remove the button after exiting the title screen. - -## 1. Adding the Component -This example illustrates how this component can be added to a project - -### Step 1: Add a custom component to the header of the index file - -```javascript - -``` - -### Step 2: Add the custom element to the body of the file - -This element uses ***slots*** to make the component more flexible. If you are unfamiliar with slots, you can read more [here](https://developer.mozilla.org/en-US/docs/Web/API/Web_components/Using_templates_and_slots#adding_flexibility_with_slots) - -Example of Template: -```javascript - - - - Vault Games Library - - Put the body text here - - - Put button label here - - -
-... - -``` diff --git a/Assets/WebGLTemplates/FieldDay/FloatingDropdown/README.md.meta b/Assets/WebGLTemplates/FieldDay/FloatingDropdown/README.md.meta deleted file mode 100644 index 5244b23c..00000000 --- a/Assets/WebGLTemplates/FieldDay/FloatingDropdown/README.md.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 1f46e3295aa44c54e98e8d38f29a9a28 -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/WebGLTemplates/FieldDay/FloatingDropdown/index.js b/Assets/WebGLTemplates/FieldDay/FloatingDropdown/index.js deleted file mode 100644 index e8f12e01..00000000 --- a/Assets/WebGLTemplates/FieldDay/FloatingDropdown/index.js +++ /dev/null @@ -1,37 +0,0 @@ -// This is where the custom component is defined -fetch('FloatingDropdown/template.html') - .then(stream => stream.text()) - .then(text => define(text)) - -/** - * Sets up the custom component as defined in the FloatingDropdown template - * - * @param {string} html the outerHTML attribute of the floating dropdown element defined in `index.html` - */ -function define(html) { - class FloatingDropdown extends HTMLElement { - constructor() { - self = super(); - } - - connectedCallback() { - const parser = new DOMParser(); - const doc = parser.parseFromString(html, "text/html"); - - const template = doc.getElementById("floating-dropdown"); - //Custom element - const dropdown = template.content.cloneNode(true); - - const shadowRoot = this.attachShadow({mode: "open"}) - shadowRoot.appendChild(dropdown); - - // Apply external styles to the shadow dom - const styles = document.createElement("link"); - styles.setAttribute("rel", "stylesheet"); - styles.setAttribute("href", "FloatingDropdown/styles.css"); - - shadowRoot.appendChild(styles); - } - } - customElements.define("floating-dropdown", FloatingDropdown); -} \ No newline at end of file diff --git a/Assets/WebGLTemplates/FieldDay/FloatingDropdown/index.js.meta b/Assets/WebGLTemplates/FieldDay/FloatingDropdown/index.js.meta deleted file mode 100644 index 5b7d5e8c..00000000 --- a/Assets/WebGLTemplates/FieldDay/FloatingDropdown/index.js.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 6a7ff093b5a69ff4a837c15977f77cd2 -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/WebGLTemplates/FieldDay/FloatingDropdown/styles.css b/Assets/WebGLTemplates/FieldDay/FloatingDropdown/styles.css deleted file mode 100644 index 3bd0bc7a..00000000 --- a/Assets/WebGLTemplates/FieldDay/FloatingDropdown/styles.css +++ /dev/null @@ -1,109 +0,0 @@ -#header { - content: ""; - position: absolute; - transform: translate(-50%, 0%); - - pointer-events: none; - - top: 16px; - left: 50%; - z-index: 100; -} - -#dropdown { - content: ""; - background-color: #001e2a; - - display: grid; - box-sizing: border-box; - - border-bottom-left-radius: 7px; - border-bottom-right-radius: 7px; - - margin: 0px auto; - padding-top: 256px; - padding-left: 16px; - padding-right: 16px; - width: 275px; - height: 300px; - - position: absolute; - transform: translate(-50%, -75%); - /* transform: translate(-50%, 0%); */ - top: 0px; - left: 50%; - z-index: 10; - - align-content: end; - justify-items: center; - - &:hover, - &:focus { - transition: 0.3s; - transform: translate(-50%, 0%); - } - - & > * { - opacity: 0; - } - - &:hover > * { - opacity: 100; - transition: 0.5s ease-in; - } -} - -#vault-button { - border: none; - padding: 5px; - margin: 0px auto 15px auto; - justify-content: center; - align-items: center; - - border-bottom-right-radius: 32px; - border-bottom-left-radius: 32px; - border-top-right-radius: 32px; - background-color: #00ecd0; - - width: 200px; - height: 40px; - - font-size: 18px; - font-weight: bolder; - text-decoration: none; - line-height: 2px; - letter-spacing: 3px; - - & > span { - color: #001e2a; - font-size: 18px; - font-weight: bolder; - - line-height: 2px; - letter-spacing: 3px; - } - - cursor: pointer; - - &:hover { - scale: 1.1; - } -} - -a { - text-decoration: none; -} - -.content { - display: flex; - justify-content: center; - align-items: center; -} - -p.content { - color: white; - text-decoration: none; - - font-family: "brandon-grotesque", sans-serif; - font-size: 24px; -} diff --git a/Assets/WebGLTemplates/FieldDay/FloatingDropdown/styles.css.meta b/Assets/WebGLTemplates/FieldDay/FloatingDropdown/styles.css.meta deleted file mode 100644 index cceabd6d..00000000 --- a/Assets/WebGLTemplates/FieldDay/FloatingDropdown/styles.css.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 55a92fdd79d18954482106e70adda4f7 -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/WebGLTemplates/FieldDay/FloatingDropdown/template.html b/Assets/WebGLTemplates/FieldDay/FloatingDropdown/template.html deleted file mode 100644 index a9cd1aa2..00000000 --- a/Assets/WebGLTemplates/FieldDay/FloatingDropdown/template.html +++ /dev/null @@ -1,13 +0,0 @@ - diff --git a/Assets/WebGLTemplates/FieldDay/FloatingDropdown/template.html.meta b/Assets/WebGLTemplates/FieldDay/FloatingDropdown/template.html.meta deleted file mode 100644 index a7c9db08..00000000 --- a/Assets/WebGLTemplates/FieldDay/FloatingDropdown/template.html.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: ec81e85465aaafc4fa5f830aef2c042c -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/WebGLTemplates/FieldDay/FloatingDropdown/vault-library-logo.png b/Assets/WebGLTemplates/FieldDay/FloatingDropdown/vault-library-logo.png deleted file mode 100644 index d2501a524e0460f7ce0c48b26aab7f7993ae4035..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5489 zcmaKwWmFW-*Tdg5d?;ErTIPkGZ|+gw zUH^Z~KR_x{?LRH>>G!FEkv&laYY-U#(ADEeJunXb3KX^aIJQR*8lYzjot5Ldi=!BR zc&%v3zc62{fvPvyL^qf@4b?XVoVOMNp_A~dYA|MW{A+AA( zmoWTe_eNcYMjg;vQYNy z7qb7LJGTeLw^C)-&*NsJSvSZ{2>=u-$}+b2B*#_BI1LsKq&v#&T`W^N4RXGdj)r1d zP>+>!zGxD7F5q$Uum&w=W|+K=Ju;&7iKaOWnP4)qy-}S1yn@uJ>G$uC4!Wq69PpQs z+xj=077X^#&yFB&p*@%zVe#ZM5nU%kXL0M{Hs{1L2?=LnAjdBXV5Gm+6{Hj|tiqJ0b;u}^EHI(c~6*?ZoRC7HJKitISydez@wOh_OOA1A2el+~ga?9OfAo@N0T zxrl0K5kjo*EJo^jEhJmF4hKUWLryUJqb*}2a(_cX_ijAaZ{8bw=pJ>64wv2P{1_GA zac+5;Wp^E*iu?(wMZ_;cjt-ZMyZ6^JN#yA0lh;pECJVkFo*obHan=qNBv1{hN)fCl zIL@Q(%umlAELa}~qh>uHbZ)i0)hzh>0pRP8Z!JQ&B#&(qX zWsMByFJR=7=9)GpPp^+ukYn1U5lAecwGh&E@=Ek*dq`I{OXb9!+CF7<04TKIn3)`K zW*zlj3a@H8uQV%X1U!DvGvMnIhdf4yY6%vKJWieAaG^JwK57o6nsN9lSpsQrVdqo**z%u`Hs?3|@rbx5K(Cs`a%^&xAr@(o(PV`d4uS7P zt^fc@m61|fHOQyq24$E}XXce&99hZA??n2QYgL$gBbSpnR(|^u1{l}D2G|Ao^_lkb z@?{fj8rySe1Z&>+S@AOF*)E-%?);kF$6cI=Pn!Xo1{476Kkr@Jgd+;}UsDYaTA%l~ z+QPe~T&OZxBF;GY#X_C+^ZRyc{&176^a_>$$jkJMg|h~1$*UNU5n72FEh-L3tdT~o zl?0KZBoNt+7G)`*4XpDb0ib)2d%v7zHP(sa2o!UZs)?1 zL8<({Pi0;4N1{ZXg77$#6B&;mY}Pci#y{2NT)N^tq{1_ z8m^B#?eM_q$88jCnrheG3pHQd_F5@@l#+YRtq}0gwc8)QNm=}{30$aX?qpV<=vneJ zhIVd03i3vMe6~+?L)90@?CP1o)4ktF)Jp?M`|RtdCr~N^#uV$j~WM|7NtDA1_Y zmu2%-vuDvFP6JhHES8@yz$N!ju23|_^~uJ)`P-vvJ8(7@LlJY|G4;T_<*FIjWNW}x zd3UOvd(5HnCQeCn4Kw@R9@TF;+5Hp5L#r7!l?EP)wX-=X|kjU)BGV@eu=jqG!B z*#L^X$~8n+249+j%`u}TJBrxRnAJ06-a4L{7n*@wUjmq$nCF)n*t|S0v1JU5Clfy+ zb@dpFJtU=Yw5I(_o_*VtPdLN|SB;K;8tOcz>H)KW_Fc)5);{&dnQO^F$ ziyXuA5y1;4vsmM1|8;#1@IyL!6tac&VH&4zplb|If$2f0jcRNBVxprAU&D8ivj zlU`K@6dh{c3r;uAMytjZ8Mlb~Wf%4^-nN#VCow~IK>}*t{3;xi+WNVO)}p$MQI+)O zeuKv7x^rc~+1WMyk3C5MOCEOd+Ds^&#!m%0{&ZqZ70vgFB)O`(!QsMRQ~sGoH$m2Va~MA^Sdh~LdXY$4PL+3P zxxqB1>STc!?~iX7>CRzHeKe|YGRW4Pn?1znHqBDzhU7C?|04~o$d-0lIy>y&%;c+X zcvgC~vB7b=>6Ra{-1cB^)7|yUGhjHu3rB$#h=d#dcU#^t!Fo&l;aL8aGH`Bo&y*yP zX@&*(sP4&SKN_Coa7sFrE|_HHLve)_8kjz z;W;i|LG9Fu?%Ia~0B`vwpx4EsFm_PozEsgWmI?+?@k+c$4n6?jCXz!qBRui*GcBeD zktI`*t-0;#DfG(9fY}OBAdB`VtZ_~t2Lk{NR1MT6ICesN^FlBk|r@S}h01 z*Tbr`6aWAy8WHoubdXho!c&d8;VHOXBdN}P<79Fo3FPM+R6dK^8GN*GhkjFd*wb(> z;MG0<3{pr%fa8e@H2EOFpY#)3Oqnt?SJ5TABQXyX5^_9_c5ttcSd@*K9P!&Zvb z^vu%shyJB!ZXf_Wo6L^??y%S3PN*QMNL69GDQ(1nrZ>C;o=m2^Rc*JCj`ye?0N}ag z!@f*(^%^aSRvk~J)`xPO=JrR4>3RPdTOL}Qd*~Po#}l)tOJkfa;>jg(v`2YEV8%?J zgtH5CPTD=4RCw@bs&YgiWfBd(Jz9s_j4!LpzfoXuj5^4-wTvb2--5MIGh0XVNCL>> z?y>g_I{QpRwq2@>ljOfW+P@>A90}o@U1!TiKK-6uur)Gx$MjXF6W}eRSpp^Kz!CIV zv93<=$B>CC&+)Dm_?tmr4N<_+mS=4F_#JW<%1R+K2Ss58D_ioyid)jL;&o}E=zR#A z*lX&SbyVOu6dnLWfndJkmTwtlJ*??&8F#n1lt`8?`Rks10)^C7tZ8m*99@jny4~(j zK=sAnnfW@N+_B~;jUu?1FdFJQ%i)J{RbHD3v{0DHRzy|N6_Ed{&TYy7Py8M|`_5XD z=;qiDQh~TFWhkI7)kBtKfH)|6>nCdiW+_n&r~MHX7r;&HchUcczJA`$VGrQ-hHSBTaZOz zg%(errgc)@6%S`3MY~QUwaOdL{cYtZ42uD%nu0w!zC*hJV>MI8IAP;H=Bmr9f6Q*v zbOjT}z5RQ^tJ_oHpKXQje6QhtfQXcKbRI;-^- z|Kf0Mtv$Q!#q;_kA=kzs5%pe2{xGu?l#hc?0AJ5~z%NMNOOu?wif@ieA0DgG_&Jl) zn5Qb6W(`exl(0K`R@P&E*_)rVK16KTGavE7j&QcmChdzX;MnIYaqT1cTjUX#OOGaQ zJ56wci`^S4trhRiePP*_KT`*k&bz?}HrJEAt6`yS9WQey#7*p#dW}O(EGSW^vTBy& zIYPZ-(7^Eoo(Z&8)e;X+cA-&04R-A=M*rXrQOzfD1 zc!!T^80N@Zo$;fR2CbEdU!qGfyw;acj!SXkie258e!DmU5{;T}d0)rZTzv?Wniauz zhm1Vc-4Eh5zv1~(%}>HMj#7nsX)uBYl5+d~KGhY?#xRuAgI^56b`YtTM&4s%L)@KoLQZ#kOXW8K0w__X>MJ5-T80j{wEef-1<0Kg;B2tW4kU-XS0Mxd7SHKCge6#o@bCeKU~^6 zd2lW}LVI*048QP|$=2`@{>W?Y31h3L7fFLdg9qM;2`FeY33AHdn?RWX-QIvUusI)z zs0etKZD)tKI`o+vW-FatPprY_IQb&KF5aqFntBqoBVEk|CAvx9qXC%q5)X0`IAUtQ zK(4)(eToFJ&)BYe9Lk94aFDFlRrzq&PQz{0XFwbt>IEw% zbsRNsP0YyY&B~;r*HsLgxA55z-^I2d|CptX#B+021j`H#;4)!JT^SGGh@A~%%KjK; zy59pN%+VE12`h2fzF(J`y1dH0%lS|B_%UQ3U>TjW`<%g9>DAo>&yf?MudQ5Blfb9OC; zJ-~9>z?l)fhh}9a(Z>P~JO?p>tp37W{a^ZnfJWlXDLt3lrx|V`tNxIws-{`8bw3S! zd-WY4n;6jVnZ-&!jP`xoCp70??Nst+PndRjkLY&8TDVq^27Alr>!1PwJO1(_u!ffK zPz}$&4TYrk4s}0gT?X@UrwmL<{dc-{6l31DrOzxaP*ISjA!AnmhcNhcZhgTyxkqiG ze@NcF`^|Pi@Igq=Dg#?``vx_8b*-G1NgM9#%bK^e))Z_CO;HxwrVFtXx}25v-G4BG zs_yoY*gUFQf-#StG^O@KrGqfhIbTx^!r>S_cW18lv`~By@UFUu<??Oy|S zU>i4c?ON`IWxi{vwh*e~sLFn}Q-4t8+-^Ugh%_3APbPcwC~9 z3s-5uM0f@mNq&EEFE z=wyBU@XIsw);>|MCrf-s28!ROw&Zt4{}^~ln?!CF?#zdh77ij92e1Cf+D>BcZki1* zc9UQNP**0|H@u*`7?TRM@%fdnaF>1?stTxB%JbCj27iXjW&|zOM>oYlFM~D82R#U>T0Cb&^G#5^9wQoCUHL?JJ4}NUa zA{kC0%-P;(H={cg9JJDZKY4&{*$EJm$%PL5E)B1tGI7TTj7Va*VS>qX0Ze&+g6^2l zGvvZYtv7?CU~%Amz>Y|xnotVYkDeBYtDPhOAVri|L!Fbp3YxH4(r876ajwt5HMg+~ z6h7A}X!4-z0sVeGxSQ1XGzeqw(#{)I$huHn&$(FoA*fPZZG1C}Y%d~0Z@m}Q^8^n- zzS2SjA?Zy!-RMiqf0leO#+2xpSN!XZxe5OvBhU36Phyf-VW*1kHB$fUD?X<*GB;Z{ ij9}sUPyIhe{`(8{+`C&zYMA+dQ92q1>NTqN@BRluU4@hY diff --git a/Assets/WebGLTemplates/FieldDay/FloatingDropdown/vault-library-logo.png.meta b/Assets/WebGLTemplates/FieldDay/FloatingDropdown/vault-library-logo.png.meta deleted file mode 100644 index 13cf786c..00000000 --- a/Assets/WebGLTemplates/FieldDay/FloatingDropdown/vault-library-logo.png.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: cbe41da7b6076a5448b1b5c87184c405 -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: From 03cce29ba6686b9c7991c45983f37a521d8ca475 Mon Sep 17 00:00:00 2001 From: ameliajmoser <77028687+ameliajmoser@users.noreply.github.com> Date: Mon, 28 Apr 2025 16:40:19 -0500 Subject: [PATCH 02/13] add failsafe against duplicate cutscenes --- Assets/Code/Simulation/RegionAgeState.cs | 5 +++++ Assets/Content/Story/region2-script.leaf | 4 +++- Assets/Content/Story/region4-script.leaf | 3 +++ 3 files changed, 11 insertions(+), 1 deletion(-) diff --git a/Assets/Code/Simulation/RegionAgeState.cs b/Assets/Code/Simulation/RegionAgeState.cs index e7f1321f..e30ff33c 100644 --- a/Assets/Code/Simulation/RegionAgeState.cs +++ b/Assets/Code/Simulation/RegionAgeState.cs @@ -35,5 +35,10 @@ static public void AddRegionAgeDeltaTrigger(int region, int delay) { int finalAge = ZavalaGame.SharedState.Get().Regions[region].Age + delay; ZavalaGame.SharedState.Get().AgeTriggers[region] = finalAge; } + + [LeafMember("RemoveRegionAgeTrigger")] + static public void RemoveRegionAgeTrigger(int region) { + ZavalaGame.SharedState.Get().AgeTriggers[region - 1] = -1; // 1-indexed to 0-indexed + } } } \ No newline at end of file diff --git a/Assets/Content/Story/region2-script.leaf b/Assets/Content/Story/region2-script.leaf index 6872c87d..8afe263e 100644 --- a/Assets/Content/Story/region2-script.leaf +++ b/Assets/Content/Story/region2-script.leaf @@ -229,6 +229,7 @@ $call SendGlobalAlertForNode("region2_city1", region2.forestBloomCutscene) @conditions alertType == "bloom", alertRegion == 2, global:bloomDiscovered, AgeOfRegion(3) > 1 @cutscene @once +$call RemoveRegionAgeTrigger(2) $branch .forestBloomCutscene :: forestBloomCutscene @@ -236,6 +237,7 @@ $branch .forestBloomCutscene @queued @once // $call Pause() +$if !global:tradeGraphsUnlocked {@advisorEconForest} Oh no... $call CutsceneBegin(3) $call CutscenePrepareImages("act3/3-1-1.png", "act3/3-1-2.png", "act3/3-1-3.png") @@ -269,8 +271,8 @@ $call ForceAdvisorModule("Economy") // {@advisorEconForest} Good heavens! There's excess phosphorus all over... // {@advisorEcolForest} Hmm... Maybe this can help us find where new phosphorus is appearing. // $call AddRegionAgeDeltaTrigger(3, 20) // for unlocking MARKET GRAPHS. - $call OffsetAlgaeGrowthThreshold(1) +$endif :: testBloomTriggerForest @trigger AlertExamined diff --git a/Assets/Content/Story/region4-script.leaf b/Assets/Content/Story/region4-script.leaf index 4cb3fe41..ffaca204 100644 --- a/Assets/Content/Story/region4-script.leaf +++ b/Assets/Content/Story/region4-script.leaf @@ -278,6 +278,7 @@ $call SendGlobalAlertForNode("region4_city1", region4.unlockDigesters) @conditions alertType == "bloom", alertRegion == 4, global:skimmersUnlocked, !global:digestersUnlocked, AgeOfRegion(4) > 1 @cutscene @once +$call RemoveRegionAgeTrigger(2) $branch .unlockDigesters :: unlockDigesters @@ -285,6 +286,7 @@ $branch .unlockDigesters @cutscene @once // // $call Pause() +$if !global:digestersUnlocked $set global:digestersUnlocked = true {@advisorEcolWetland} It's just as we feared... $call CutsceneBegin(4) @@ -322,6 +324,7 @@ $call QueueDialogueBubble(region1_city1, region1.visitingBirds) $call QueueDialogueBubble(region4_city1, region4.explainProcessors) $call FocusClear() $call OffsetAlgaeGrowthThreshold(1) +$endif // $call Unpause() // $call AddRegionAgeDeltaTrigger(4, 10) From b67c9ae5b1b774a291e35279607c566522ae017f Mon Sep 17 00:00:00 2001 From: ameliajmoser <77028687+ameliajmoser@users.noreply.github.com> Date: Mon, 28 Apr 2025 16:41:14 -0500 Subject: [PATCH 03/13] tweak win conditions from playtest observations --- Assets/Prefabs/UI/Lens/LensUI.prefab | 27 +++++++++++---------- Assets/Prefabs/_System/GlobalSimData.prefab | 6 ++--- Assets/Scenes/InterfaceScene.unity | 12 ++++----- 3 files changed, 23 insertions(+), 22 deletions(-) diff --git a/Assets/Prefabs/UI/Lens/LensUI.prefab b/Assets/Prefabs/UI/Lens/LensUI.prefab index 18716318..dba615ba 100644 --- a/Assets/Prefabs/UI/Lens/LensUI.prefab +++ b/Assets/Prefabs/UI/Lens/LensUI.prefab @@ -496,6 +496,7 @@ Canvas: m_OverrideSorting: 0 m_OverridePixelPerfect: 0 m_SortingBucketNormalizedSize: 0 + m_VertexColorAlwaysGammaSpace: 0 m_AdditionalShaderChannelsFlag: 25 m_SortingLayerID: 0 m_SortingOrder: 2 @@ -1445,11 +1446,11 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 1052797967207860774, guid: 6c2de9aef078b9a47ba47d821d95e395, type: 3} propertyPath: m_ArcDegrees - value: 72 + value: 108 objectReference: {fileID: 0} - target: {fileID: 1052797967207860774, guid: 6c2de9aef078b9a47ba47d821d95e395, type: 3} propertyPath: m_StartDegrees - value: 18 + value: 342 objectReference: {fileID: 0} - target: {fileID: 1288230210418704191, guid: 6c2de9aef078b9a47ba47d821d95e395, type: 3} propertyPath: m_AnchorMax.y @@ -1477,11 +1478,11 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 1497082430095675257, guid: 6c2de9aef078b9a47ba47d821d95e395, type: 3} propertyPath: m_ArcDegrees - value: 180 + value: 108 objectReference: {fileID: 0} - target: {fileID: 1601098549843655062, guid: 6c2de9aef078b9a47ba47d821d95e395, type: 3} propertyPath: m_text - value: Below 50% + value: Below 30% objectReference: {fileID: 0} - target: {fileID: 1683096366211589153, guid: 6c2de9aef078b9a47ba47d821d95e395, type: 3} propertyPath: m_AnchorMax.y @@ -1593,23 +1594,23 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 4737222832835127080, guid: 6c2de9aef078b9a47ba47d821d95e395, type: 3} propertyPath: m_text - value: Above 20% + value: Above 30% objectReference: {fileID: 0} - target: {fileID: 4873659238214478756, guid: 6c2de9aef078b9a47ba47d821d95e395, type: 3} propertyPath: m_AnchoredPosition.x - value: 41.9 + value: 54.2 objectReference: {fileID: 0} - target: {fileID: 4873659238214478756, guid: 6c2de9aef078b9a47ba47d821d95e395, type: 3} propertyPath: m_AnchoredPosition.y - value: 52.1 + value: 40.9 objectReference: {fileID: 0} - target: {fileID: 5042638444077829085, guid: 6c2de9aef078b9a47ba47d821d95e395, type: 3} propertyPath: m_ArcDegrees - value: 108 + value: 144 objectReference: {fileID: 0} - target: {fileID: 5042638444077829085, guid: 6c2de9aef078b9a47ba47d821d95e395, type: 3} propertyPath: m_StartDegrees - value: 270 + value: 198 objectReference: {fileID: 0} - target: {fileID: 5623470428704955110, guid: 6c2de9aef078b9a47ba47d821d95e395, type: 3} propertyPath: m_AnchorMax.y @@ -1661,11 +1662,11 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 7003625024998948232, guid: 6c2de9aef078b9a47ba47d821d95e395, type: 3} propertyPath: m_AnchoredPosition.x - value: 53.9 + value: 0.5 objectReference: {fileID: 0} - target: {fileID: 7003625024998948232, guid: 6c2de9aef078b9a47ba47d821d95e395, type: 3} propertyPath: m_AnchoredPosition.y - value: -37.7 + value: -65.8 objectReference: {fileID: 0} - target: {fileID: 7165343701283168436, guid: 6c2de9aef078b9a47ba47d821d95e395, type: 3} propertyPath: m_AnchorMax.y @@ -1829,11 +1830,11 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 8397475833490203057, guid: 6c2de9aef078b9a47ba47d821d95e395, type: 3} propertyPath: m_AnchoredPosition.x - value: -64.7 + value: -56.8 objectReference: {fileID: 0} - target: {fileID: 8397475833490203057, guid: 6c2de9aef078b9a47ba47d821d95e395, type: 3} propertyPath: m_AnchoredPosition.y - value: 0.8 + value: 41.8 objectReference: {fileID: 0} - target: {fileID: 8581250608853669294, guid: 6c2de9aef078b9a47ba47d821d95e395, type: 3} propertyPath: m_text diff --git a/Assets/Prefabs/_System/GlobalSimData.prefab b/Assets/Prefabs/_System/GlobalSimData.prefab index ab3ce2eb..aad22085 100644 --- a/Assets/Prefabs/_System/GlobalSimData.prefab +++ b/Assets/Prefabs/_System/GlobalSimData.prefab @@ -1244,12 +1244,12 @@ MonoBehaviour: TotalPhosphorusAbove: 0 TotalAlgaeAbove: 0 CityFallingDurationAbove: 0 - RegionAgeAbove: 80 + RegionAgeAbove: 100 NodeReached: region5.firstBlimpReceived DFertilizerRatio: - Target: 0.2 + Target: 0.3 Above: 1 MFertilizerRatio: - Target: 0.5 + Target: 0.3 Above: 0 CheckCitiesConnected: 1 diff --git a/Assets/Scenes/InterfaceScene.unity b/Assets/Scenes/InterfaceScene.unity index 1cfd9f45..2a9d4706 100644 --- a/Assets/Scenes/InterfaceScene.unity +++ b/Assets/Scenes/InterfaceScene.unity @@ -38,7 +38,6 @@ RenderSettings: m_ReflectionIntensity: 1 m_CustomReflection: {fileID: 0} m_Sun: {fileID: 0} - m_IndirectSpecularColor: {r: 0.12731749, g: 0.13414757, b: 0.1210787, a: 1} m_UseRadianceAmbientProbe: 0 --- !u!157 &3 LightmapSettings: @@ -202,6 +201,7 @@ Canvas: m_OverrideSorting: 0 m_OverridePixelPerfect: 0 m_SortingBucketNormalizedSize: 0 + m_VertexColorAlwaysGammaSpace: 0 m_AdditionalShaderChannelsFlag: 25 m_SortingLayerID: -2046748057 m_SortingOrder: 0 @@ -3104,23 +3104,23 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 4405407464299443817, guid: 55363246ee6a972418488f6396b42338, type: 3} propertyPath: m_AnchorMax.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 4405407464299443817, guid: 55363246ee6a972418488f6396b42338, type: 3} propertyPath: m_AnchorMin.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 4405407464299443817, guid: 55363246ee6a972418488f6396b42338, type: 3} propertyPath: m_SizeDelta.x - value: 0 + value: 55 objectReference: {fileID: 0} - target: {fileID: 4405407464299443817, guid: 55363246ee6a972418488f6396b42338, type: 3} propertyPath: m_AnchoredPosition.x - value: 0 + value: 279.436 objectReference: {fileID: 0} - target: {fileID: 4405407464299443817, guid: 55363246ee6a972418488f6396b42338, type: 3} propertyPath: m_AnchoredPosition.y - value: 0 + value: -10.305 objectReference: {fileID: 0} - target: {fileID: 4605162798129843749, guid: 55363246ee6a972418488f6396b42338, type: 3} propertyPath: m_AnchoredPosition.y From f3e5ac6ae2f90f44e6f2866e7f12268b0bae23ad Mon Sep 17 00:00:00 2001 From: Amelia Date: Wed, 14 May 2025 14:25:07 -0500 Subject: [PATCH 04/13] fix conflicting app version in inspector --- Assets/Code/Data/Logging/AnalyticsService.cs | 2 +- Assets/Prefabs/_System/Boot.prefab | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Assets/Code/Data/Logging/AnalyticsService.cs b/Assets/Code/Data/Logging/AnalyticsService.cs index ccacf3c5..37b35ed3 100644 --- a/Assets/Code/Data/Logging/AnalyticsService.cs +++ b/Assets/Code/Data/Logging/AnalyticsService.cs @@ -466,7 +466,7 @@ private static class Mode { [SerializeField, Required] private string m_AppVersion = "1.1"; // TODO: set up firebase consts in inspector [SerializeField] private FirebaseConsts m_Firebase = default; - [SerializeField] private bool m_Testing = false; + [SerializeField] private bool m_Testing = true; #endregion // Inspector diff --git a/Assets/Prefabs/_System/Boot.prefab b/Assets/Prefabs/_System/Boot.prefab index bc1300cf..b99fcb6a 100644 --- a/Assets/Prefabs/_System/Boot.prefab +++ b/Assets/Prefabs/_System/Boot.prefab @@ -578,7 +578,7 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: m_AppId: BLOOM - m_AppVersion: 1.0 + m_AppVersion: 1.1 m_Firebase: ApiKey: AIzaSyBS3dM4uRQqRbtgMoCPag5ErpEelUL-lGI ProjectId: bloom-36ebf @@ -586,7 +586,7 @@ MonoBehaviour: MessagingSenderId: 568050537090 AppId: 1:568050537090:web:8aa10c815abe6b4057da9b MeasurementId: G-TKW6WFXF6G - m_Testing: 0 + m_Testing: 1 --- !u!1001 &1254169883870357413 PrefabInstance: m_ObjectHideFlags: 0 From ec9002d3b90ded94293ec0c94d82666afdc169eb Mon Sep 17 00:00:00 2001 From: Amelia Date: Wed, 14 May 2025 17:38:19 -0500 Subject: [PATCH 05/13] logging fixes progress --- Assets/Code/Alerts/GlobalAlertButton.cs | 2 +- Assets/Code/Data/Logging/AnalyticsService.cs | 6 +++--- Assets/Code/Scripting/Actors/EventActor.cs | 8 +++++--- Assets/Code/Scripting/Consts.cs | 2 +- Assets/Code/Scripting/Runtime/ScriptPlugin.cs | 1 + Assets/Code/UI/Building/InfoPopup.cs | 15 ++++++++------- Assets/Code/UI/Building/InfoPopupSystem.cs | 1 + 7 files changed, 20 insertions(+), 15 deletions(-) diff --git a/Assets/Code/Alerts/GlobalAlertButton.cs b/Assets/Code/Alerts/GlobalAlertButton.cs index bfb5355e..eeac37a6 100644 --- a/Assets/Code/Alerts/GlobalAlertButton.cs +++ b/Assets/Code/Alerts/GlobalAlertButton.cs @@ -66,7 +66,7 @@ private void HandleButtonClicked() { actor.QueuedEvents.MoveFrontToBackWhere(e => e.Alert == EventActorAlertType.Dialogue); } - EventActorUtility.TriggerActorAlert(actor); + EventActorUtility.TriggerActorAlert(actor, false); UIAlertUtility.ClearAlert(actor.DisplayingEvent); TicksSinceFired = 0; UpdateButtonRoutine(); diff --git a/Assets/Code/Data/Logging/AnalyticsService.cs b/Assets/Code/Data/Logging/AnalyticsService.cs index 37b35ed3..8bb1e613 100644 --- a/Assets/Code/Data/Logging/AnalyticsService.cs +++ b/Assets/Code/Data/Logging/AnalyticsService.cs @@ -498,7 +498,7 @@ private struct PolicyLevelData { public bool is_locked; public readonly JsonBuilder Append(JsonBuilder json) { - json.Field("policy_choice", policy_choice.ToStringLookup()); + json.Field("policy_choice", policy_choice); json.Field("is_locked", is_locked); return json; } @@ -610,7 +610,7 @@ private void Start() { .Register(GameEvents.RegionUnlocked, LogRegionUnlocked) .Register(GameEvents.SimZoomChanged, LogZoom) // Inspect - .Register(GameEvents.InspectorOpened, LogInspectBuilding) + .Register(GameEvents.PlayerClickedInspector, LogClickInspectBuilding) .Register(GameEvents.GenericInspectorDisplayed, LogCommonInspectorDisplayed) .Register(GameEvents.CityInspectorDisplayed, LogCityInspectorDisplayed) .Register(GameEvents.GrainFarmInspectorDisplayed, LogGrainFarmInspectorDisplayed) @@ -1461,7 +1461,7 @@ private void LogGlobalAlertClicked(AlertData data) { #endregion // Alert #region Inspector - private void LogInspectBuilding(BuildingLocation data) { + private void LogClickInspectBuilding(BuildingLocation data) { // click_inspect_building { building_type : enum(GATE, CITY, DAIRY_FARM, GRAIN_FARM, STORAGE, PROCESSOR, EXPORT_DEPOT), building_id, tile_index : int // index in the county map } using (var e = m_Log.NewEvent("click_inspect_building")) { e.Param("building_type", EnumLookup.BuildingType[(int)data.Type]); diff --git a/Assets/Code/Scripting/Actors/EventActor.cs b/Assets/Code/Scripting/Actors/EventActor.cs index 3ff324f1..4a307389 100644 --- a/Assets/Code/Scripting/Actors/EventActor.cs +++ b/Assets/Code/Scripting/Actors/EventActor.cs @@ -241,7 +241,7 @@ static public void QueueDialogueAlert(int regionOneIndexed, string type, StringH QueueDialogueAlert("region" + regionOneIndexed + "_" + type + "1", targetNode); } - public static void TriggerActorAlert(EventActor actor) { + public static void TriggerActorAlert(EventActor actor, bool sendEvent = true) { // Activate queued script node event using (TempVarTable varTable = TempVarTable.Alloc()) { @@ -256,9 +256,11 @@ public static void TriggerActorAlert(EventActor actor) { varTable.Set(newEvent.SecondArg.Id, newEvent.SecondArg.Value); } - ZavalaGame.Events.Dispatch(GameEvents.AlertClicked, EvtArgs.Box(new AlertData(actor, newEvent))); + if (sendEvent) { + ZavalaGame.Events.Dispatch(GameEvents.AlertClicked, EvtArgs.Box(new AlertData(actor, newEvent))); + } - // TODD: shift screen focus to this event, updating current region index (may need to store the occupies tile index or region number in the queued event) + // shift screen focus to this event, updating current region index (may need to store the occupies tile index or region number in the queued event) WorldCameraUtility.PanCameraToTransform(actor.transform, -1.5f); // Use region index as a condition for alerts diff --git a/Assets/Code/Scripting/Consts.cs b/Assets/Code/Scripting/Consts.cs index 0551b150..731ea1e6 100644 --- a/Assets/Code/Scripting/Consts.cs +++ b/Assets/Code/Scripting/Consts.cs @@ -136,7 +136,7 @@ static public class GameEvents static public readonly StringHash32 DestroyModeExited = "destroy:cancel"; static public readonly StringHash32 DestroyModeEnded = "destroy:ended"; - static public readonly StringHash32 InspectorOpened = "inspector:opened"; + static public readonly StringHash32 PlayerClickedInspector = "inspector:opened"; static public readonly StringHash32 InspectorClosed = "inspector:closed"; static public readonly StringHash32 InspectorTabClicked = "inspector:tab"; diff --git a/Assets/Code/Scripting/Runtime/ScriptPlugin.cs b/Assets/Code/Scripting/Runtime/ScriptPlugin.cs index f686c123..d69e2b80 100644 --- a/Assets/Code/Scripting/Runtime/ScriptPlugin.cs +++ b/Assets/Code/Scripting/Runtime/ScriptPlugin.cs @@ -90,6 +90,7 @@ public override void OnNodeEnter(ScriptNode inNode, LeafThreadState m_RuntimeState.DefaultDialogue.ForceExpandPolicyUI(inNode.AdvisorType); } if (Game.Gui.TryGetShared(out InfoPopup ip)) { + ZavalaGame.Events.Dispatch(GameEvents.InspectorClosed); ip.HoldOpen = false; ip.Hide(); } diff --git a/Assets/Code/UI/Building/InfoPopup.cs b/Assets/Code/UI/Building/InfoPopup.cs index ff2c5e8b..f72c4411 100644 --- a/Assets/Code/UI/Building/InfoPopup.cs +++ b/Assets/Code/UI/Building/InfoPopup.cs @@ -225,6 +225,14 @@ public void LoadTarget(HasInfoPopup thing, bool sendEvent) { m_HeaderLayout.padding.right = DefaultHeaderRightPadding; SetEfficiencyGroupActive(false); string title = Loc.Find(m_SelectedLocation.TitleLabel); + if (sendEvent) { + int idx = -1; + if (thing.Position) { + idx = thing.Position.TileIndex; + } + ZavalaGame.Events.Dispatch(GameEvents.PlayerClickedInspector, EvtArgs.Box(new Data.BuildingLocation(m_Mode, title, idx))); + } + switch (m_Mode) { case BuildingType.GrainFarm: { //m_HeaderLabel.SetText(Loc.Find(m_SelectedLocation.TitleLabel)); @@ -343,13 +351,6 @@ public void LoadTarget(HasInfoPopup thing, bool sendEvent) { m_ConnectionsDirty = true; m_InitialOpen = true; Game.Events.Dispatch(GameEvents.ForceMarketPrioritiesRebuild); - if (sendEvent) { - int idx = -1; - if (thing.Position) { - idx = thing.Position.TileIndex; - } - ZavalaGame.Events.Dispatch(GameEvents.InspectorOpened, EvtArgs.Box(new Data.BuildingLocation(m_Mode, title, idx))); - } Show(); UpdateData(false); diff --git a/Assets/Code/UI/Building/InfoPopupSystem.cs b/Assets/Code/UI/Building/InfoPopupSystem.cs index c0b0f088..ec678be3 100644 --- a/Assets/Code/UI/Building/InfoPopupSystem.cs +++ b/Assets/Code/UI/Building/InfoPopupSystem.cs @@ -25,6 +25,7 @@ public override void ProcessWork(float deltaTime) { } if ((m_StateB.Paused & DisallowFlags) != 0 && !popupUI.HoldOpen) { + ZavalaGame.Events.Dispatch(GameEvents.InspectorClosed); popupUI.Hide(); return; } From fec9ef2fd33de9f4e1daff73502cf085279802d7 Mon Sep 17 00:00:00 2001 From: ameliajmoser <77028687+ameliajmoser@users.noreply.github.com> Date: Fri, 16 May 2025 14:38:11 -0500 Subject: [PATCH 06/13] fix overzealous inspector dismiss log --- Assets/Code/Scripting/Runtime/ScriptPlugin.cs | 7 +++++-- Assets/Code/UI/Building/InfoPopupSystem.cs | 6 ++++-- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/Assets/Code/Scripting/Runtime/ScriptPlugin.cs b/Assets/Code/Scripting/Runtime/ScriptPlugin.cs index d69e2b80..96b84b06 100644 --- a/Assets/Code/Scripting/Runtime/ScriptPlugin.cs +++ b/Assets/Code/Scripting/Runtime/ScriptPlugin.cs @@ -90,10 +90,13 @@ public override void OnNodeEnter(ScriptNode inNode, LeafThreadState m_RuntimeState.DefaultDialogue.ForceExpandPolicyUI(inNode.AdvisorType); } if (Game.Gui.TryGetShared(out InfoPopup ip)) { - ZavalaGame.Events.Dispatch(GameEvents.InspectorClosed); ip.HoldOpen = false; - ip.Hide(); + if (ip.IsVisible()) { + ZavalaGame.Events.Dispatch(GameEvents.InspectorClosed); + ip.Hide(); + } } + m_RuntimeState.DefaultDialogue.MarkNodeEntered(); // reset pin overrides at the start of a new node diff --git a/Assets/Code/UI/Building/InfoPopupSystem.cs b/Assets/Code/UI/Building/InfoPopupSystem.cs index ec678be3..4533a59a 100644 --- a/Assets/Code/UI/Building/InfoPopupSystem.cs +++ b/Assets/Code/UI/Building/InfoPopupSystem.cs @@ -25,8 +25,10 @@ public override void ProcessWork(float deltaTime) { } if ((m_StateB.Paused & DisallowFlags) != 0 && !popupUI.HoldOpen) { - ZavalaGame.Events.Dispatch(GameEvents.InspectorClosed); - popupUI.Hide(); + if (popupUI.IsVisible()) { + ZavalaGame.Events.Dispatch(GameEvents.InspectorClosed); + popupUI.Hide(); + } return; } From 69d7a2c6b55be82ee36971f7b59a63fbfe43fe36 Mon Sep 17 00:00:00 2001 From: ameliajmoser <77028687+ameliajmoser@users.noreply.github.com> Date: Fri, 16 May 2025 14:38:29 -0500 Subject: [PATCH 07/13] clean up end condition logs --- Assets/Code/Data/Logging/AnalyticsService.cs | 24 ++++++++++---------- 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/Assets/Code/Data/Logging/AnalyticsService.cs b/Assets/Code/Data/Logging/AnalyticsService.cs index 8bb1e613..9d379641 100644 --- a/Assets/Code/Data/Logging/AnalyticsService.cs +++ b/Assets/Code/Data/Logging/AnalyticsService.cs @@ -1797,12 +1797,12 @@ private void LogFailedGame(LossData data) { private void LogConditionMet(EndConditionData data) { // end_condition_achieved: { end_type: enum, condition_type: enum, county: int } - m_JsonBuilder.Begin(); - m_JsonBuilder.Field("end_type", data.EndType); - m_JsonBuilder.Field("condition_type", data.ConditionType); - m_JsonBuilder.Field("county_name", EnumLookup.RegionName[data.Region]); - m_JsonBuilder.EndObject(); - m_Log.Log("end_condition_achieved", m_JsonBuilder.End()); + using (var e = m_Log.NewEvent("end_condition_achieved", m_JsonBuilder)) { + e.Field("end_type", data.EndType); + e.Field("condition_type", data.ConditionType); + e.Field("county_name", EnumLookup.RegionName[data.Region]); + e.EndObject(); + } if (data.EndType.Equals(EnumLookup.Get(EndType.Succeeded))) { UpdateWinConditionState(data.ConditionType, true); } @@ -1810,12 +1810,12 @@ private void LogConditionMet(EndConditionData data) { private void LogConditionLost(EndConditionData data) { // end_condition_lost: { end_type: enum, condition_type: enum, county: int } - m_JsonBuilder.Begin(); - m_JsonBuilder.Field("end_type", data.EndType); - m_JsonBuilder.Field("condition_type", data.ConditionType); - m_JsonBuilder.Field("county_name", EnumLookup.RegionName[data.Region]); - m_JsonBuilder.EndObject(); - m_Log.Log("end_condition_lost", m_JsonBuilder.End()); + using (var e = m_Log.NewEvent("end_condition_lost", m_JsonBuilder)) { + e.Field("end_type", data.EndType); + e.Field("condition_type", data.ConditionType); + e.Field("county_name", EnumLookup.RegionName[data.Region]); + e.EndObject(); + } if (data.EndType.Equals(EnumLookup.Get(EndType.Succeeded))) { UpdateWinConditionState(data.ConditionType, false); } From 6e18a8f06218b59324e076521cef741574a025c9 Mon Sep 17 00:00:00 2001 From: ameliajmoser <77028687+ameliajmoser@users.noreply.github.com> Date: Fri, 16 May 2025 15:49:18 -0500 Subject: [PATCH 08/13] make cutscene end more robust --- Assets/Code/UI/Cutscene/CutscenePanel.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Assets/Code/UI/Cutscene/CutscenePanel.cs b/Assets/Code/UI/Cutscene/CutscenePanel.cs index 9c001c2b..140ac4ed 100644 --- a/Assets/Code/UI/Cutscene/CutscenePanel.cs +++ b/Assets/Code/UI/Cutscene/CutscenePanel.cs @@ -260,6 +260,7 @@ protected override void OnHideComplete(bool inbInstant) { if (!Game.IsShuttingDown && Frame.IsLoadingOrLoaded(this)) { SimTimeUtility.Resume(SimPauseFlags.FullscreenCutscene, ZavalaGame.SimTime); + ZavalaGame.Events.Dispatch(GameEvents.CutsceneEnded); } } @@ -307,7 +308,6 @@ static public IEnumerator ClearImages() { [LeafMember("CutsceneEnd")] static public void End() { - ZavalaGame.Events.Dispatch(GameEvents.CutsceneEnded); Game.Gui.GetShared().Hide(); } From a6fbc7afbf50aed9de8e811742a86d25728e980d Mon Sep 17 00:00:00 2001 From: ameliajmoser <77028687+ameliajmoser@users.noreply.github.com> Date: Thu, 29 May 2025 14:33:01 -0500 Subject: [PATCH 09/13] fix building ids & policy click log ordering --- Assets/Code/Advisor/PolicyState.cs | 20 ++++++++++---------- Assets/Code/Data/Logging/AnalyticsService.cs | 14 ++++++++++---- Assets/Code/Scripting/Consts.cs | 1 + Assets/Code/UI/Building/InfoPopup.cs | 12 ++++++------ 4 files changed, 27 insertions(+), 20 deletions(-) diff --git a/Assets/Code/Advisor/PolicyState.cs b/Assets/Code/Advisor/PolicyState.cs index ceac6965..f56de16a 100644 --- a/Assets/Code/Advisor/PolicyState.cs +++ b/Assets/Code/Advisor/PolicyState.cs @@ -39,16 +39,6 @@ public class PolicyState : SharedStateComponent, IRegistrationCallbacks, ISaveSt // TODO: There is probably a cleaner way to do this. Does it belong in a system? public bool SetPolicyByIndex(PolicyType policyType, int policyIndex, int region, bool forced) { if (policyIndex < 0 || policyIndex > 3) { return false; } - - using (TempVarTable varTable = TempVarTable.Alloc()) { - varTable.Set("policyType", policyType.ToString()); - varTable.Set("policyIndex", policyIndex); - varTable.Set("alertRegion", region+1); // 0-indexed to 1-indexed - varTable.Set("policyForced", forced); - ScriptUtility.Trigger(GameTriggers.PolicySet, varTable); - } - ZavalaGame.Events.Dispatch(GameEvents.PolicySet, EvtArgs.Box(new PolicyData(policyType, policyIndex))); - Policies[region].Map[(int) policyType] = (PolicyLevel)policyIndex; Policies[region].EverSet[(int) policyType] = true; // this policy has now been set bool policySetSuccessful = false; @@ -87,6 +77,16 @@ public bool SetPolicyByIndex(PolicyType policyType, int policyIndex, int region, OnPolicyUpdated?.Invoke(); + ZavalaGame.Events.Dispatch(GameEvents.PolicySet, EvtArgs.Box(new PolicyData(policyType, policyIndex))); + + using (TempVarTable varTable = TempVarTable.Alloc()) { + varTable.Set("policyType", policyType.ToString()); + varTable.Set("policyIndex", policyIndex); + varTable.Set("alertRegion", region + 1); // 0-indexed to 1-indexed + varTable.Set("policyForced", forced); + ScriptUtility.Trigger(GameTriggers.PolicySet, varTable); + } + return policySetSuccessful; } diff --git a/Assets/Code/Data/Logging/AnalyticsService.cs b/Assets/Code/Data/Logging/AnalyticsService.cs index 9d379641..761acec5 100644 --- a/Assets/Code/Data/Logging/AnalyticsService.cs +++ b/Assets/Code/Data/Logging/AnalyticsService.cs @@ -611,6 +611,7 @@ private void Start() { .Register(GameEvents.SimZoomChanged, LogZoom) // Inspect .Register(GameEvents.PlayerClickedInspector, LogClickInspectBuilding) + .Register(GameEvents.InspectorForceOpened, UpdateInspectingBuilding) .Register(GameEvents.GenericInspectorDisplayed, LogCommonInspectorDisplayed) .Register(GameEvents.CityInspectorDisplayed, LogCityInspectorDisplayed) .Register(GameEvents.GrainFarmInspectorDisplayed, LogGrainFarmInspectorDisplayed) @@ -1461,16 +1462,22 @@ private void LogGlobalAlertClicked(AlertData data) { #endregion // Alert #region Inspector + + private void UpdateInspectingBuilding(BuildingLocation data) { + m_InspectingBuilding = data; + } + + private void LogClickInspectBuilding(BuildingLocation data) { // click_inspect_building { building_type : enum(GATE, CITY, DAIRY_FARM, GRAIN_FARM, STORAGE, PROCESSOR, EXPORT_DEPOT), building_id, tile_index : int // index in the county map } + // save this building for inspector dismiss and inspector displayed events + m_InspectingBuilding = data; + using (var e = m_Log.NewEvent("click_inspect_building")) { e.Param("building_type", EnumLookup.BuildingType[(int)data.Type]); e.Param("building_id", data.Id); e.Param("tile_index", data.TileIndex); } - - // save this building for inspector dismiss and inspector displayed events - m_InspectingBuilding = data; } private void LogDismissInspector() { @@ -1506,7 +1513,6 @@ private void LogCityInspectorDisplayed(CityData data) { e.Param("building_id", m_InspectingBuilding.Id); e.Param("tile_index", m_InspectingBuilding.TileIndex); e.Param("city_name", data.Name); - // TODO: convert enum tostring to string lookup array? e.Param("population", EnumLookup.Get(data.Population)); e.Param("water", EnumLookup.Get(data.Water)); e.Param("milk", EnumLookup.Get(data.Milk)); diff --git a/Assets/Code/Scripting/Consts.cs b/Assets/Code/Scripting/Consts.cs index 731ea1e6..a14d4758 100644 --- a/Assets/Code/Scripting/Consts.cs +++ b/Assets/Code/Scripting/Consts.cs @@ -137,6 +137,7 @@ static public class GameEvents static public readonly StringHash32 DestroyModeEnded = "destroy:ended"; static public readonly StringHash32 PlayerClickedInspector = "inspector:opened"; + static public readonly StringHash32 InspectorForceOpened = "inspector:force-opened"; static public readonly StringHash32 InspectorClosed = "inspector:closed"; static public readonly StringHash32 InspectorTabClicked = "inspector:tab"; diff --git a/Assets/Code/UI/Building/InfoPopup.cs b/Assets/Code/UI/Building/InfoPopup.cs index f72c4411..166bfef9 100644 --- a/Assets/Code/UI/Building/InfoPopup.cs +++ b/Assets/Code/UI/Building/InfoPopup.cs @@ -190,7 +190,7 @@ protected override void Awake() { #region Load - public void LoadTarget(HasInfoPopup thing, bool sendEvent) { + public void LoadTarget(HasInfoPopup thing, bool playerClicked) { if (m_SelectedThing == thing) { return; } @@ -225,12 +225,12 @@ public void LoadTarget(HasInfoPopup thing, bool sendEvent) { m_HeaderLayout.padding.right = DefaultHeaderRightPadding; SetEfficiencyGroupActive(false); string title = Loc.Find(m_SelectedLocation.TitleLabel); - if (sendEvent) { - int idx = -1; - if (thing.Position) { - idx = thing.Position.TileIndex; - } + + int idx = thing.Position ? thing.Position.TileIndex : -1; + if (playerClicked) { ZavalaGame.Events.Dispatch(GameEvents.PlayerClickedInspector, EvtArgs.Box(new Data.BuildingLocation(m_Mode, title, idx))); + } else { + ZavalaGame.Events.Dispatch(GameEvents.InspectorForceOpened, EvtArgs.Box(new Data.BuildingLocation(m_Mode, title, idx))); } switch (m_Mode) { From bd8065094af46df94a670b6441e33072a5137c0a Mon Sep 17 00:00:00 2001 From: ameliajmoser <77028687+ameliajmoser@users.noreply.github.com> Date: Mon, 9 Jun 2025 14:38:35 -0500 Subject: [PATCH 10/13] add "do not log" tag to non-text script nodes --- Assets/Code/Scripting/Data/ScriptNode.cs | 8 +++++++- Assets/Code/Scripting/Runtime/ScriptPlugin.cs | 8 ++++++-- Assets/Content/Story/common-script.leaf | 1 + Assets/Content/Story/region1-script.leaf | 4 ++++ Assets/Content/Story/region2-script.leaf | 8 ++++++++ Assets/Content/Story/region3-script.leaf | 4 ++++ Assets/Content/Story/region4-script.leaf | 7 +++++++ Assets/Content/Story/region5-script.leaf | 4 ++++ 8 files changed, 41 insertions(+), 3 deletions(-) diff --git a/Assets/Code/Scripting/Data/ScriptNode.cs b/Assets/Code/Scripting/Data/ScriptNode.cs index 2ca74d58..5217ed6e 100644 --- a/Assets/Code/Scripting/Data/ScriptNode.cs +++ b/Assets/Code/Scripting/Data/ScriptNode.cs @@ -96,6 +96,11 @@ private void SetForcePolicyEarly(AdvisorType advisorType, ScriptNodeMemoryTarget PersistenceType = target; } + [BlockMeta("doNotLog")] + private void SetDoNotLog() { + Flags |= ScriptNodeFlags.DoNotLog; + } + #endregion // Internal } @@ -113,7 +118,8 @@ public enum ScriptNodeFlags : uint { InterruptSamePriority = 0x40, AnyTarget = 0x80, ForcePolicy = 0x100, - ForcePolicyEarly = 0x200 + ForcePolicyEarly = 0x200, + DoNotLog = 0x400 } /// diff --git a/Assets/Code/Scripting/Runtime/ScriptPlugin.cs b/Assets/Code/Scripting/Runtime/ScriptPlugin.cs index 96b84b06..1eaaad9d 100644 --- a/Assets/Code/Scripting/Runtime/ScriptPlugin.cs +++ b/Assets/Code/Scripting/Runtime/ScriptPlugin.cs @@ -102,7 +102,9 @@ public override void OnNodeEnter(ScriptNode inNode, LeafThreadState // reset pin overrides at the start of a new node m_RuntimeState.DefaultDialogue.ClearPinForces(); - ZavalaGame.Events.Dispatch(GameEvents.DialogueStarted, EvtArgs.Box(new Zavala.Data.ScriptNodeData(inNode.FullName, !cutscene))); + if ((inNode.Flags & ScriptNodeFlags.DoNotLog) == 0) { + ZavalaGame.Events.Dispatch(GameEvents.DialogueStarted, EvtArgs.Box(new Zavala.Data.ScriptNodeData(inNode.FullName, !cutscene))); + } } public override void OnNodeExit(ScriptNode inNode, LeafThreadState inThreadState) { @@ -126,7 +128,9 @@ public override void OnNodeExit(ScriptNode inNode, LeafThreadState i if (Game.Gui.TryGetShared(out InfoPopup ip) && ip.HoldOpen) { ip.HoldOpen = false; } - ZavalaGame.Events.Dispatch(GameEvents.DialogueClosing, EvtArgs.Box(new Zavala.Data.ScriptNodeData(inNode.FullName, !cutscene))); + if ((inNode.Flags & ScriptNodeFlags.DoNotLog) == 0) { + ZavalaGame.Events.Dispatch(GameEvents.DialogueClosing, EvtArgs.Box(new Zavala.Data.ScriptNodeData(inNode.FullName, !cutscene))); + } } diff --git a/Assets/Content/Story/common-script.leaf b/Assets/Content/Story/common-script.leaf index 36d0dffd..80e44bc5 100644 --- a/Assets/Content/Story/common-script.leaf +++ b/Assets/Content/Story/common-script.leaf @@ -187,6 +187,7 @@ $call ForcePolicyInstant("Economy") :: skipTutorial @trigger TutorialSkipped +@doNotLog $call CutsceneEnd() $call FocusClear() {@phos4us} Thank you for using PHOS4US TutSkip technology! diff --git a/Assets/Content/Story/region1-script.leaf b/Assets/Content/Story/region1-script.leaf index 6c1655b5..747446a6 100644 --- a/Assets/Content/Story/region1-script.leaf +++ b/Assets/Content/Story/region1-script.leaf @@ -122,6 +122,7 @@ $endif @trigger BlueprintModeEntered @conditions !intro:tutorialComplete, intro:roadBuilt @cutscene +@doNotLog $call FocusClear() :: cityConnected @@ -453,6 +454,7 @@ $call ForcePolicyInstant("Ecology") @trigger UrgentRequest @conditions resource == "Milk", alertRegion == 1 @once +@doNotLog $call QueueDialogueBubble(region1_city1, region1.cityNeedsMilk) :: cityNeedsMilk @@ -468,6 +470,7 @@ $call QueueDialogueBubble(region1_city1, region1.cityNeedsMilk) @trigger UrgentRequest @conditions resource == "Milk", alertRegion == 1, global:importUnlocked @once +@doNotLog $call QueueDialogueBubble(region1_city1, region1.suggestMilkSubsidy) :: suggestMilkSubsidy @@ -487,6 +490,7 @@ $endif @trigger ManureSold @conditions alertRegion == 1 @once +@doNotLog $call QueueDialogueBubble(region1_cafo1, region1.runoffFineWorking) :: runoffFineWorking diff --git a/Assets/Content/Story/region2-script.leaf b/Assets/Content/Story/region2-script.leaf index 8afe263e..6014683f 100644 --- a/Assets/Content/Story/region2-script.leaf +++ b/Assets/Content/Story/region2-script.leaf @@ -5,6 +5,7 @@ @trigger RegionUnlocked @conditions regionId == "Forest" @queued +@doNotLog $yield // wait 1 frame for region to unlock $call SendGlobalAlertForNode("region2_city1", region2.forestUnlocked, true) $call AddAutoAlertCondition("ExcessRunoff", 2, true) @@ -67,6 +68,7 @@ $endif @trigger FarmConnection @conditions CameraInRegion(2) @once +@doNotLog // $call OffsetAlgaeGrowthThreshold(-1) // speed up growth to get first bloom alert $call QueueDialogueBubble(region2_city1, region2.enjoyingCypress) @@ -120,6 +122,7 @@ $call QueueDialogueBubble(region2_cafo1, region2.urgentGrainChat) @trigger UrgentRequest @conditions resource == "Grain", alertRegion == 2, global:importUnlocked @once +@doNotLog $call QueueDialogueBubble(region2_cafo2, region2.urgentGrainSubsidy) :: urgentGrainSubsidy @@ -152,6 +155,7 @@ $endif :: runoffBranch @trigger AlertExamined @conditions alertType == "excess-runoff", alertRegion == 2, global:runoffDiscovered, !isFromGrainFarm +@doNotLog // $call Pause() $if Visited("region2.unlockStorage") $branch .runoffGeneric @@ -221,6 +225,7 @@ $endif @conditions regionId == 2, !global:tradeGraphsUnlocked @cutscene @once +@doNotLog $call RemoveAutoAlertConditions("Bloom", 2) $call SendGlobalAlertForNode("region2_city1", region2.forestBloomCutscene) @@ -229,6 +234,7 @@ $call SendGlobalAlertForNode("region2_city1", region2.forestBloomCutscene) @conditions alertType == "bloom", alertRegion == 2, global:bloomDiscovered, AgeOfRegion(3) > 1 @cutscene @once +@doNotLog $call RemoveRegionAgeTrigger(2) $branch .forestBloomCutscene @@ -317,6 +323,7 @@ $call ForcePinDialogue() @trigger ExternalImport @conditions alertRegion == 2 @once +@doNotLog $call QueueDialogueBubble(region2_grain1, region2.advancedFormula) :: advancedFormula @@ -336,6 +343,7 @@ $call ForcePinDialogue() @trigger ManureSold @conditions alertRegion == 2 @once +@doNotLog $call QueueDialogueBubble(region2_grain1, region2.phosManure) :: phosManure diff --git a/Assets/Content/Story/region3-script.leaf b/Assets/Content/Story/region3-script.leaf index b4cb09bc..f8be3afd 100644 --- a/Assets/Content/Story/region3-script.leaf +++ b/Assets/Content/Story/region3-script.leaf @@ -4,6 +4,7 @@ :: queuePrairieUnlock @trigger RegionUnlocked @conditions regionId == "Prairie" +@doNotLog $yield // wait 1 frame for region to unlock $call SendGlobalAlertForNode("region3_city1", region3.regionUnlocked, true) @@ -116,6 +117,7 @@ $call ForcePinDialogue() @trigger ExternalImport @conditions alertRegion == 3 @once +@doNotLog $call QueueDialogueBubble(region3_grain1, region3.phosSale) :: phosSale @@ -144,6 +146,7 @@ $call ForcePinDialogue() @trigger RegionReachedAge // RegionAge 20 after region opens @conditions regionId == 3 @once +@doNotLog $if !global:tradeGraphsUnlocked $call AddRegionAgeDeltaTrigger(2, 50) // for unlocking MARKET GRAPHS. $endif @@ -178,6 +181,7 @@ $call ForcePolicyInstant("Economy") @trigger ExternalImport @conditions global:importUnlocked, alertRegion == 3, PolicyLevelInRegion(3, "ImportTaxPolicy") != 3 @once +@doNotLog $call QueueDialogueBubble(region3_grain3, region3.suggestFertSubsidy) :: suggestFertSubsidy diff --git a/Assets/Content/Story/region4-script.leaf b/Assets/Content/Story/region4-script.leaf index ffaca204..12cbd939 100644 --- a/Assets/Content/Story/region4-script.leaf +++ b/Assets/Content/Story/region4-script.leaf @@ -58,6 +58,7 @@ $endif @trigger FarmConnection @conditions CameraInRegion(4) @once +@doNotLog // $call OffsetAlgaeGrowthThreshold(-1) // speed up growth to get first bloom alert $call QueueDialogueBubble(region4_city1, region4.characterIntro) @@ -110,6 +111,7 @@ $endif @trigger ExternalImport @conditions alertRegion == 4 @once +@doNotLog $call QueueDialogueBubble(region4_grain1, region4.phosPlus) :: phosPlus @@ -183,6 +185,7 @@ $endif @trigger UrgentRequest @conditions resource == "Grain", alertRegion == 4, global:importUnlocked @once +@doNotLog $call QueueDialogueBubble(region4_cafo1, region4.neilGrainSubsidy) :: neilGrainSubsidy @@ -270,6 +273,7 @@ $endif @conditions regionId == 2, global:tradeGraphsUnlocked, global:skimmersUnlocked, !global:digestersUnlocked, AgeOfRegion(4) > 1 @cutscene @once +@doNotLog $call RemoveAutoAlertConditions("Bloom", 4) $call SendGlobalAlertForNode("region4_city1", region4.unlockDigesters) @@ -278,6 +282,7 @@ $call SendGlobalAlertForNode("region4_city1", region4.unlockDigesters) @conditions alertType == "bloom", alertRegion == 4, global:skimmersUnlocked, !global:digestersUnlocked, AgeOfRegion(4) > 1 @cutscene @once +@doNotLog $call RemoveRegionAgeTrigger(2) $branch .unlockDigesters @@ -368,6 +373,7 @@ $call ForcePolicyInstant("Ecology") @trigger PlayerBuiltBuilding @conditions buildingType == "Digester" @once +@doNotLog $set global:builtDigester = true $call QueueDialogueBubble(region1_grain1, region1.phosShirt) $call AddRegionAgeDeltaTrigger(4, 10) @@ -375,6 +381,7 @@ $call AddRegionAgeDeltaTrigger(4, 10) :: digesterDelay @trigger RegionReachedAge @conditions regionId == 4, global:builtDigester +@doNotLog $call SendGlobalAlertForNode(region4_city1, region4.afterBuiltDigester, true) :: afterBuiltDigester diff --git a/Assets/Content/Story/region5-script.leaf b/Assets/Content/Story/region5-script.leaf index 55fd2665..82290d15 100644 --- a/Assets/Content/Story/region5-script.leaf +++ b/Assets/Content/Story/region5-script.leaf @@ -4,6 +4,7 @@ :: queueCityUnlocked @trigger RegionUnlocked @conditions regionId == "Urban" +@doNotLog $yield // wait 1 frame for region to unlock $call SendGlobalAlertForNode("region5_city1", region5.regionUnlocked, true) @@ -55,6 +56,7 @@ $call ForceAdvisorModule("Economy") @trigger ExternalImport @conditions alertRegion == 5 @once +@doNotLog $call QueueDialogueBubble(region5_grain2, region5.phosUranium) :: phosUranium @@ -73,6 +75,7 @@ $call ForcePinDialogue() :: triggerFirstBlimp @trigger InternalBlimpSent @once +@doNotLog $call QueueDialogueBubble(region1_city1, region1.pippinEcology) $call QueueDialogueBubble(region3_city1, region4.blimpConcerns) $call SendGlobalAlertForNode("region5_city1", region5.firstBlimpReceived, true) @@ -122,6 +125,7 @@ $call ForcePinDialogue() @trigger UrgentRequest @conditions resource == "Milk", alertRegion == 5 @once +@doNotLog $call QueueDialogueBubble(region5_city2, region5.needMilk) :: needMilk From 2cc2e90617f55b15b09ecbee0fb775698dd4d45a Mon Sep 17 00:00:00 2001 From: Autumn Date: Tue, 5 Aug 2025 16:28:18 -0500 Subject: [PATCH 11/13] * disabled algae_growth_begin and algae_growth_end analytics events --- Assets/Code/Data/Logging/AnalyticsService.cs | 52 ++++++++++---------- Assets/Code/Simulation/SimAlgaeSystem.cs | 4 +- 2 files changed, 28 insertions(+), 28 deletions(-) diff --git a/Assets/Code/Data/Logging/AnalyticsService.cs b/Assets/Code/Data/Logging/AnalyticsService.cs index 761acec5..78421982 100644 --- a/Assets/Code/Data/Logging/AnalyticsService.cs +++ b/Assets/Code/Data/Logging/AnalyticsService.cs @@ -453,7 +453,7 @@ public enum EndConditionType { } public class AnalyticsService : MonoBehaviour { - private const ushort CLIENT_LOG_VERSION = 3; + private const ushort CLIENT_LOG_VERSION = 4; private static class Mode { public static readonly string View = "VIEW"; @@ -574,7 +574,7 @@ private void Start() { .Register(GameEvents.GlobalAlertAppeared, LogGlobalAlertDisplayed) .Register(GameEvents.GlobalAlertClicked, LogGlobalAlertClicked) .Register(GameEvents.ExportDepotUnlocked, LogExportDepot) - .Register(GameEvents.SimAlgaeChanged, HandleAlgaeChanged) + //.Register(GameEvents.SimAlgaeChanged, HandleAlgaeChanged) // TODO: do we want to log every pause or just player pause? .Register(GameEvents.SimPaused, LogGamePaused) .Register(GameEvents.SimResumed, LogGameResumed) @@ -1658,30 +1658,30 @@ private void LogClickInspectorTab(string name) { #endregion //Inspector - private void HandleAlgaeChanged(AlgaeData data) { - if (data.IsGrowing) { - LogStartGrowAlgae(data); - } else { - LogEndGrowAlgae(data); - } - } - private void LogStartGrowAlgae(AlgaeData data) { - // algae_growth_begin { tile_index, phosphorus_value, algae_percent } - using (var e = m_Log.NewEvent("algae_growth_begin")) { - e.Param("tile_index", data.TileIndex); - e.Param("phosphorus_value", data.Phosphorus); - e.Param("algae_percent", data.Algae); - } - } - - private void LogEndGrowAlgae(AlgaeData data) { - // algae_growth_end { tile_index, phosphorus_value, algae_percent } - using (var e = m_Log.NewEvent("algae_growth_end")) { - e.Param("tile_index", data.TileIndex); - e.Param("phosphorus_value", data.Phosphorus); - e.Param("algae_percent", data.Algae); - } - } + //private void HandleAlgaeChanged(AlgaeData data) { + // if (data.IsGrowing) { + // LogStartGrowAlgae(data); + // } else { + // LogEndGrowAlgae(data); + // } + //} + //private void LogStartGrowAlgae(AlgaeData data) { + // // algae_growth_begin { tile_index, phosphorus_value, algae_percent } + // using (var e = m_Log.NewEvent("algae_growth_begin")) { + // e.Param("tile_index", data.TileIndex); + // e.Param("phosphorus_value", data.Phosphorus); + // e.Param("algae_percent", data.Algae); + // } + //} + + //private void LogEndGrowAlgae(AlgaeData data) { + // // algae_growth_end { tile_index, phosphorus_value, algae_percent } + // using (var e = m_Log.NewEvent("algae_growth_end")) { + // e.Param("tile_index", data.TileIndex); + // e.Param("phosphorus_value", data.Phosphorus); + // e.Param("algae_percent", data.Algae); + // } + //} #endregion // Sim diff --git a/Assets/Code/Simulation/SimAlgaeSystem.cs b/Assets/Code/Simulation/SimAlgaeSystem.cs index 9d6c46f1..c66bd42a 100644 --- a/Assets/Code/Simulation/SimAlgaeSystem.cs +++ b/Assets/Code/Simulation/SimAlgaeSystem.cs @@ -28,12 +28,12 @@ public override void ProcessWork(float deltaTime) { // update GrowingTiles if (pCount >= m_StateA.CurrentMinPForAlgaeGrowth) { if (m_StateA.Algae.GrowingTiles.Add(tileIndex)) { - ZavalaGame.Events.Dispatch(GameEvents.SimAlgaeChanged, EvtArgs.Create(new Data.AlgaeData(true, tileIndex, pCount, m_StateA.Algae.State[tileIndex].PercentAlgae))); + //ZavalaGame.Events.Dispatch(GameEvents.SimAlgaeChanged, EvtArgs.Create(new Data.AlgaeData(true, tileIndex, pCount, m_StateA.Algae.State[tileIndex].PercentAlgae))); } } else { m_StateA.Algae.GrowingTiles.Remove(tileIndex); m_StateA.Algae.State[tileIndex].IsPeaked = false; - ZavalaGame.Events.Dispatch(GameEvents.SimAlgaeChanged, EvtArgs.Create(new Data.AlgaeData(false, tileIndex, pCount, m_StateA.Algae.State[tileIndex].PercentAlgae))); + //ZavalaGame.Events.Dispatch(GameEvents.SimAlgaeChanged, EvtArgs.Create(new Data.AlgaeData(false, tileIndex, pCount, m_StateA.Algae.State[tileIndex].PercentAlgae))); // m_StateA.Algae.PeakingTiles.Remove(tileIndex); } } From de393a3635effa912d11246079dd9d26e17d63ba Mon Sep 17 00:00:00 2001 From: XanGrab <60899653+XanGrab@users.noreply.github.com> Date: Thu, 20 Nov 2025 15:32:50 -0600 Subject: [PATCH 12/13] Bloom Surverys --- Assets/Code/Data/Logging/AnalyticsService.cs | 23 +- Assets/Code/Modules.meta | 8 + Assets/Content/Story/region1-script.leaf | 3 + Assets/Content/Story/region3-script.leaf | 1 + Assets/Content/Story/region5-script.leaf | 1 + Assets/Modules.meta | 8 + Assets/Modules/Survey.meta | 8 + Assets/Modules/Survey/Survey Assets.meta | 8 + .../Survey/Survey Assets/BloomSurvey.prefab | 943 ++++++++++++++++++ .../Survey Assets/BloomSurvey.prefab.meta | 7 + .../Survey Assets/SurveyControlButton.prefab | 316 ++++++ .../SurveyControlButton.prefab.meta | 7 + .../Survey Assets/SurveyQuestion.prefab | 332 ++++++ .../Survey Assets/SurveyQuestion.prefab.meta | 7 + .../Survey Assets/SurveyResponseToggle.prefab | 437 ++++++++ .../SurveyResponseToggle.prefab.meta | 7 + Assets/Modules/Survey/survey_data.json | 126 +++ Assets/Modules/Survey/survey_data.json.meta | 7 + Assets/Scenes/TitleScreen.unity | 14 +- Packages/manifest.json | 4 +- Packages/packages-lock.json | 6 +- 21 files changed, 2263 insertions(+), 10 deletions(-) create mode 100644 Assets/Code/Modules.meta create mode 100644 Assets/Modules.meta create mode 100644 Assets/Modules/Survey.meta create mode 100644 Assets/Modules/Survey/Survey Assets.meta create mode 100644 Assets/Modules/Survey/Survey Assets/BloomSurvey.prefab create mode 100644 Assets/Modules/Survey/Survey Assets/BloomSurvey.prefab.meta create mode 100644 Assets/Modules/Survey/Survey Assets/SurveyControlButton.prefab create mode 100644 Assets/Modules/Survey/Survey Assets/SurveyControlButton.prefab.meta create mode 100644 Assets/Modules/Survey/Survey Assets/SurveyQuestion.prefab create mode 100644 Assets/Modules/Survey/Survey Assets/SurveyQuestion.prefab.meta create mode 100644 Assets/Modules/Survey/Survey Assets/SurveyResponseToggle.prefab create mode 100644 Assets/Modules/Survey/Survey Assets/SurveyResponseToggle.prefab.meta create mode 100644 Assets/Modules/Survey/survey_data.json create mode 100644 Assets/Modules/Survey/survey_data.json.meta diff --git a/Assets/Code/Data/Logging/AnalyticsService.cs b/Assets/Code/Data/Logging/AnalyticsService.cs index 78421982..1e6f153a 100644 --- a/Assets/Code/Data/Logging/AnalyticsService.cs +++ b/Assets/Code/Data/Logging/AnalyticsService.cs @@ -3,6 +3,7 @@ #endif using System; +using System.Collections; using System.Collections.Generic; using System.Text; using BeauData; @@ -13,6 +14,7 @@ using FieldDay.Data; using FieldDay.Rendering; using FieldDay.Scripting; +using Leaf.Runtime; using OGD; using UnityEngine; using Zavala.Advisor; @@ -523,12 +525,15 @@ public readonly JsonBuilder Append(JsonBuilder json) { } } - #region Logging Variables private OGDLog m_Log; [NonSerialized] private bool m_Debug; + static private OGDSurvey s_Survey; + [SerializeField] private SurveyPanel SurveyPrefab; + [SerializeField] private TextAsset SurveyText; + [NonSerialized] private float m_MusicVolume; [NonSerialized] private bool m_IsFullscreen; [NonSerialized] private bool m_IsQuality; @@ -555,8 +560,6 @@ public readonly JsonBuilder Append(JsonBuilder json) { #region Register and Deregister private void Start() { - - ZavalaGame.Events // Main Menu .Register(GameEvents.MainMenuInteraction, HandleMenuInteraction) @@ -651,6 +654,12 @@ private void Start() { m_Log.UseFirebase(m_Firebase); } m_Log.SetDebug(m_Debug); + + // Create an OGDSurvey instance for survey functionality + s_Survey = new OGDSurvey(SurveyPrefab, m_Log); + // Initalize the surveys with a public TextAsset on the script + s_Survey.LoadSurveyPackageFromString(SurveyText.text); + #if UNITY_EDITOR if (!m_Testing) { m_Log.AddSettings(OGDLog.SettingsFlags.SkipOGDUpload); @@ -829,6 +838,14 @@ private void UpdatePhosState(bool toggle) { #region Log Events + #region Surveys + [LeafMember("RequestSurvey")] + static private IEnumerator RequestSurvey(string surveryId) { + Debug.Log("[Analytics > RequestSurvey] Requested survey: " + surveryId); + yield return s_Survey.DisplaySurveyAndWait(surveryId); + Debug.Log("[Analytics] Survey Complete."); + } + #endregion #region Menu diff --git a/Assets/Code/Modules.meta b/Assets/Code/Modules.meta new file mode 100644 index 00000000..5f69de23 --- /dev/null +++ b/Assets/Code/Modules.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 394be6e0857f0224d9ed5a08f326a243 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Content/Story/region1-script.leaf b/Assets/Content/Story/region1-script.leaf index 747446a6..410854bf 100644 --- a/Assets/Content/Story/region1-script.leaf +++ b/Assets/Content/Story/region1-script.leaf @@ -7,6 +7,9 @@ @cutscene @once // $call Pause() + +// Testing Surverys +// $call RequestSurvey(understanding_check_late_game) $call CutsceneBegin(1) $call CutscenePrepareImages("intro/frame1-1.png", "intro/frame1-2.png", "intro/frame1-3.png") $call CutsceneAllImages(0.3) diff --git a/Assets/Content/Story/region3-script.leaf b/Assets/Content/Story/region3-script.leaf index f8be3afd..fce9bea6 100644 --- a/Assets/Content/Story/region3-script.leaf +++ b/Assets/Content/Story/region3-script.leaf @@ -165,6 +165,7 @@ $set global:importUnlocked = true {@advisorEconPrairie} Perhaps SAGA could help cover those costs? {@advisorEconPrairie} I've added a policy for setting Import Subsidies. $call UnlockCards(ImportTaxPolicy) +// $call RequestSurvey(understanding_check_post_subsidies) {@advisorEconPrairie} Subsidizing a resource will encourage buying it from other counties. {@advisorEconPrairie} That could help us balance one county's excess with another's needs. $call OpenInfoPopup("region3_grain2") diff --git a/Assets/Content/Story/region5-script.leaf b/Assets/Content/Story/region5-script.leaf index 82290d15..5922e7c4 100644 --- a/Assets/Content/Story/region5-script.leaf +++ b/Assets/Content/Story/region5-script.leaf @@ -5,6 +5,7 @@ @trigger RegionUnlocked @conditions regionId == "Urban" @doNotLog +$call RequestSurvey(understanding_check_late_game) $yield // wait 1 frame for region to unlock $call SendGlobalAlertForNode("region5_city1", region5.regionUnlocked, true) diff --git a/Assets/Modules.meta b/Assets/Modules.meta new file mode 100644 index 00000000..0a58370d --- /dev/null +++ b/Assets/Modules.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 0132262e21f42834da6f9687d5851e60 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Modules/Survey.meta b/Assets/Modules/Survey.meta new file mode 100644 index 00000000..0bdc831d --- /dev/null +++ b/Assets/Modules/Survey.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: f4f8f70af275cd44c9a62f95d384e454 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Modules/Survey/Survey Assets.meta b/Assets/Modules/Survey/Survey Assets.meta new file mode 100644 index 00000000..edba8527 --- /dev/null +++ b/Assets/Modules/Survey/Survey Assets.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: b62386ece3bbe9b4080614284d95b99d +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Modules/Survey/Survey Assets/BloomSurvey.prefab b/Assets/Modules/Survey/Survey Assets/BloomSurvey.prefab new file mode 100644 index 00000000..3297bdbc --- /dev/null +++ b/Assets/Modules/Survey/Survey Assets/BloomSurvey.prefab @@ -0,0 +1,943 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &691676580764371905 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4370828670777328335} + - component: {fileID: 8412020643534530977} + - component: {fileID: 3586890145706387300} + m_Layer: 5 + m_Name: Background + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &4370828670777328335 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 691676580764371905} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: -1} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 7477251572956570979} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &8412020643534530977 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 691676580764371905} + m_CullTransparentMesh: 0 +--- !u!114 &3586890145706387300 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 691676580764371905} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: c3c09f886aa56c04fad0d0b585980acd, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.5849056, g: 0.5849056, b: 0.5849056, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 0 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Texture: {fileID: 2800000, guid: 6ad6c3506fa1385409e761d3593af687, type: 3} + m_UVRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 0 + height: 0 + m_UnitsPerTile: {x: 512, y: 330} + m_Offset: {x: 0, y: 0} +--- !u!1 &991045673575793060 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6345519059183907406} + - component: {fileID: 6115019639636243368} + - component: {fileID: 96872198600476775} + m_Layer: 5 + m_Name: PageCount + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &6345519059183907406 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 991045673575793060} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: -1} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 7477251572956570979} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 16, y: 16} + m_SizeDelta: {x: 64, y: 32} + m_Pivot: {x: 0, y: 0} +--- !u!222 &6115019639636243368 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 991045673575793060} + m_CullTransparentMesh: 0 +--- !u!114 &96872198600476775 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 991045673575793060} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_text: 1/7 + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4287335307 + m_fontColor: {r: 0.546, g: 0.546, b: 0.546, a: 1} + m_enableVertexGradient: 0 + m_colorMode: 3 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_StyleSheet: {fileID: 0} + m_TextStyleHashCode: -1183493901 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_fontSize: 24 + m_fontSizeBase: 24 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 24 + m_fontSizeMax: 48 + m_fontStyle: 1 + m_HorizontalAlignment: 2 + m_VerticalAlignment: 512 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_enableWordWrapping: 0 + m_wordWrappingRatios: 0.4 + m_overflowMode: 1 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 1 + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!1 &3597197643787911354 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7505818080628568306} + - component: {fileID: 3716807878716562378} + m_Layer: 5 + m_Name: QuestionList + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &7505818080628568306 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3597197643787911354} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: -1} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 7477251572956570979} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: -64, y: -192} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &3716807878716562378 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3597197643787911354} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 59f8146938fff824cb5fd77236b75775, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Padding: + m_Left: 8 + m_Right: 8 + m_Top: 8 + m_Bottom: 8 + m_ChildAlignment: 0 + m_Spacing: 16 + m_ChildForceExpandWidth: 1 + m_ChildForceExpandHeight: 0 + m_ChildControlWidth: 1 + m_ChildControlHeight: 0 + m_ChildScaleWidth: 0 + m_ChildScaleHeight: 0 + m_ReverseArrangement: 0 +--- !u!1 &3852549697214201323 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3852549697214201320} + - component: {fileID: 3852549697214201327} + - component: {fileID: 3852549697214201326} + - component: {fileID: 3852549697214201321} + - component: {fileID: 2400622096144153359} + m_Layer: 0 + m_Name: BloomSurvey + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &3852549697214201320 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3852549697214201323} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0, y: 0, z: 0} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 7477251572956570979} + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0, y: 0} +--- !u!223 &3852549697214201327 +Canvas: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3852549697214201323} + m_Enabled: 1 + serializedVersion: 3 + m_RenderMode: 0 + m_Camera: {fileID: 0} + m_PlaneDistance: 100 + m_PixelPerfect: 0 + m_ReceivesEvents: 1 + m_OverrideSorting: 0 + m_OverridePixelPerfect: 0 + m_SortingBucketNormalizedSize: 0 + m_VertexColorAlwaysGammaSpace: 0 + m_AdditionalShaderChannelsFlag: 25 + m_SortingLayerID: 0 + m_SortingOrder: 100 + m_TargetDisplay: 0 +--- !u!114 &3852549697214201326 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3852549697214201323} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 0cd44c1031e13a943bb63640046fad76, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UiScaleMode: 1 + m_ReferencePixelsPerUnit: 100 + m_ScaleFactor: 1 + m_ReferenceResolution: {x: 800, y: 660} + m_ScreenMatchMode: 0 + m_MatchWidthOrHeight: 1 + m_PhysicalUnit: 3 + m_FallbackScreenDPI: 96 + m_DefaultSpriteDPI: 96 + m_DynamicPixelsPerUnit: 1 + m_PresetInfoIsWorld: 0 +--- !u!114 &3852549697214201321 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3852549697214201323} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: dc42784cf147c0c48a680349fa168899, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreReversedGraphics: 1 + m_BlockingObjects: 0 + m_BlockingMask: + serializedVersion: 2 + m_Bits: 4294967295 +--- !u!114 &2400622096144153359 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3852549697214201323} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: e6672dadb1602c148b70af3635a1aa4c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_InputControl: {fileID: 7498027291987659280} + m_Header: {fileID: 5927354370786560212} + m_QuestionLayout: {fileID: 3716807878716562378} + m_QuestionPrefab: {fileID: 2399614719670412535, guid: 73b76e7466162344ea6dc61822c81990, type: 3} + m_ResponsePrefab: {fileID: 7842835166434953078, guid: 29f684fe628f0a045b650e41da890806, type: 3} + m_ButtonGroup: {fileID: 5295685656934815297} + m_ContinueButton: {fileID: 6642907650035332191} + m_FinishButton: {fileID: 4046393260847079903} + m_ButtonGroupDisabledAlpha: 0.5 + m_PageCountDisplay: {fileID: 96872198600476775} + m_PageCountFormat: '{0}/{1}' +--- !u!1 &4280349655475594314 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5502788595682150399} + - component: {fileID: 5295685656934815297} + m_Layer: 5 + m_Name: Controls + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &5502788595682150399 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4280349655475594314} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: -1} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 7155468245648263539} + - {fileID: 529911835633409267} + m_Father: {fileID: 7477251572956570979} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0} + m_AnchorMax: {x: 0.5, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 100, y: 100} + m_Pivot: {x: 0.5, y: 0} +--- !u!225 &5295685656934815297 +CanvasGroup: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4280349655475594314} + m_Enabled: 1 + m_Alpha: 1 + m_Interactable: 1 + m_BlocksRaycasts: 1 + m_IgnoreParentGroups: 0 +--- !u!1 &7427005724126591958 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7477251572956570979} + - component: {fileID: 7498027291987659280} + m_Layer: 0 + m_Name: Root + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &7477251572956570979 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7427005724126591958} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 4370828670777328335} + - {fileID: 8403972039667850253} + - {fileID: 7505818080628568306} + - {fileID: 5502788595682150399} + - {fileID: 6345519059183907406} + m_Father: {fileID: 3852549697214201320} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!225 &7498027291987659280 +CanvasGroup: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7427005724126591958} + m_Enabled: 1 + m_Alpha: 1 + m_Interactable: 1 + m_BlocksRaycasts: 1 + m_IgnoreParentGroups: 0 +--- !u!1 &9104992278824393312 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8403972039667850253} + - component: {fileID: 1997416157657789924} + - component: {fileID: 5927354370786560212} + m_Layer: 5 + m_Name: Header + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &8403972039667850253 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 9104992278824393312} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: -1} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 7477251572956570979} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: -16} + m_SizeDelta: {x: -32, y: 64} + m_Pivot: {x: 0.5, y: 1} +--- !u!222 &1997416157657789924 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 9104992278824393312} + m_CullTransparentMesh: 0 +--- !u!114 &5927354370786560212 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 9104992278824393312} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_text: Default Survey Header + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4294967295 + m_fontColor: {r: 1, g: 1, b: 1, a: 1} + m_enableVertexGradient: 0 + m_colorMode: 3 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_StyleSheet: {fileID: 0} + m_TextStyleHashCode: -1183493901 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_fontSize: 48 + m_fontSizeBase: 48 + m_fontWeight: 400 + m_enableAutoSizing: 1 + m_fontSizeMin: 24 + m_fontSizeMax: 48 + m_fontStyle: 1 + m_HorizontalAlignment: 2 + m_VerticalAlignment: 512 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_enableWordWrapping: 1 + m_wordWrappingRatios: 0.4 + m_overflowMode: 1 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 1 + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!1001 &3763541161922899946 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 5502788595682150399} + m_Modifications: + - target: {fileID: 2072540273594588517, guid: 462bf31b5a5e23847bd9cfb586a8e875, type: 3} + propertyPath: m_Layer + value: 5 + objectReference: {fileID: 0} + - target: {fileID: 5288941395652289942, guid: 462bf31b5a5e23847bd9cfb586a8e875, type: 3} + propertyPath: m_Name + value: Next + objectReference: {fileID: 0} + - target: {fileID: 5288941395652289942, guid: 462bf31b5a5e23847bd9cfb586a8e875, type: 3} + propertyPath: m_Layer + value: 5 + objectReference: {fileID: 0} + - target: {fileID: 5288941395652289942, guid: 462bf31b5a5e23847bd9cfb586a8e875, type: 3} + propertyPath: m_IsActive + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 6302678596578862745, guid: 462bf31b5a5e23847bd9cfb586a8e875, type: 3} + propertyPath: m_Pivot.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 6302678596578862745, guid: 462bf31b5a5e23847bd9cfb586a8e875, type: 3} + propertyPath: m_Pivot.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 6302678596578862745, guid: 462bf31b5a5e23847bd9cfb586a8e875, type: 3} + propertyPath: m_RootOrder + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6302678596578862745, guid: 462bf31b5a5e23847bd9cfb586a8e875, type: 3} + propertyPath: m_AnchorMax.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 6302678596578862745, guid: 462bf31b5a5e23847bd9cfb586a8e875, type: 3} + propertyPath: m_AnchorMax.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 6302678596578862745, guid: 462bf31b5a5e23847bd9cfb586a8e875, type: 3} + propertyPath: m_AnchorMin.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 6302678596578862745, guid: 462bf31b5a5e23847bd9cfb586a8e875, type: 3} + propertyPath: m_AnchorMin.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 6302678596578862745, guid: 462bf31b5a5e23847bd9cfb586a8e875, type: 3} + propertyPath: m_SizeDelta.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6302678596578862745, guid: 462bf31b5a5e23847bd9cfb586a8e875, type: 3} + propertyPath: m_SizeDelta.y + value: 48 + objectReference: {fileID: 0} + - target: {fileID: 6302678596578862745, guid: 462bf31b5a5e23847bd9cfb586a8e875, type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6302678596578862745, guid: 462bf31b5a5e23847bd9cfb586a8e875, type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6302678596578862745, guid: 462bf31b5a5e23847bd9cfb586a8e875, type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6302678596578862745, guid: 462bf31b5a5e23847bd9cfb586a8e875, type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 6302678596578862745, guid: 462bf31b5a5e23847bd9cfb586a8e875, type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6302678596578862745, guid: 462bf31b5a5e23847bd9cfb586a8e875, type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6302678596578862745, guid: 462bf31b5a5e23847bd9cfb586a8e875, type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6302678596578862745, guid: 462bf31b5a5e23847bd9cfb586a8e875, type: 3} + propertyPath: m_AnchoredPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6302678596578862745, guid: 462bf31b5a5e23847bd9cfb586a8e875, type: 3} + propertyPath: m_AnchoredPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6302678596578862745, guid: 462bf31b5a5e23847bd9cfb586a8e875, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6302678596578862745, guid: 462bf31b5a5e23847bd9cfb586a8e875, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6302678596578862745, guid: 462bf31b5a5e23847bd9cfb586a8e875, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 9151665644902620338, guid: 462bf31b5a5e23847bd9cfb586a8e875, type: 3} + propertyPath: m_AnchorMax.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 9151665644902620338, guid: 462bf31b5a5e23847bd9cfb586a8e875, type: 3} + propertyPath: m_AnchorMin.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 9151665644902620338, guid: 462bf31b5a5e23847bd9cfb586a8e875, type: 3} + propertyPath: m_SizeDelta.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 9151665644902620338, guid: 462bf31b5a5e23847bd9cfb586a8e875, type: 3} + propertyPath: m_SizeDelta.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 9151665644902620338, guid: 462bf31b5a5e23847bd9cfb586a8e875, type: 3} + propertyPath: m_AnchoredPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 9151665644902620338, guid: 462bf31b5a5e23847bd9cfb586a8e875, type: 3} + propertyPath: m_AnchoredPosition.y + value: 0 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 462bf31b5a5e23847bd9cfb586a8e875, type: 3} +--- !u!114 &6642907650035332191 stripped +MonoBehaviour: + m_CorrespondingSourceObject: {fileID: 7496964992943332277, guid: 462bf31b5a5e23847bd9cfb586a8e875, type: 3} + m_PrefabInstance: {fileID: 3763541161922899946} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!224 &7155468245648263539 stripped +RectTransform: + m_CorrespondingSourceObject: {fileID: 6302678596578862745, guid: 462bf31b5a5e23847bd9cfb586a8e875, type: 3} + m_PrefabInstance: {fileID: 3763541161922899946} + m_PrefabAsset: {fileID: 0} +--- !u!1001 &5777340742376503914 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 5502788595682150399} + m_Modifications: + - target: {fileID: 2072540273594588517, guid: 462bf31b5a5e23847bd9cfb586a8e875, type: 3} + propertyPath: m_Layer + value: 5 + objectReference: {fileID: 0} + - target: {fileID: 3012120684614112781, guid: 462bf31b5a5e23847bd9cfb586a8e875, type: 3} + propertyPath: m_text + value: Finish + objectReference: {fileID: 0} + - target: {fileID: 5288941395652289942, guid: 462bf31b5a5e23847bd9cfb586a8e875, type: 3} + propertyPath: m_Name + value: Complete + objectReference: {fileID: 0} + - target: {fileID: 5288941395652289942, guid: 462bf31b5a5e23847bd9cfb586a8e875, type: 3} + propertyPath: m_Layer + value: 5 + objectReference: {fileID: 0} + - target: {fileID: 5288941395652289942, guid: 462bf31b5a5e23847bd9cfb586a8e875, type: 3} + propertyPath: m_IsActive + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 6302678596578862745, guid: 462bf31b5a5e23847bd9cfb586a8e875, type: 3} + propertyPath: m_Pivot.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 6302678596578862745, guid: 462bf31b5a5e23847bd9cfb586a8e875, type: 3} + propertyPath: m_Pivot.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 6302678596578862745, guid: 462bf31b5a5e23847bd9cfb586a8e875, type: 3} + propertyPath: m_RootOrder + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 6302678596578862745, guid: 462bf31b5a5e23847bd9cfb586a8e875, type: 3} + propertyPath: m_AnchorMax.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 6302678596578862745, guid: 462bf31b5a5e23847bd9cfb586a8e875, type: 3} + propertyPath: m_AnchorMax.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 6302678596578862745, guid: 462bf31b5a5e23847bd9cfb586a8e875, type: 3} + propertyPath: m_AnchorMin.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 6302678596578862745, guid: 462bf31b5a5e23847bd9cfb586a8e875, type: 3} + propertyPath: m_AnchorMin.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 6302678596578862745, guid: 462bf31b5a5e23847bd9cfb586a8e875, type: 3} + propertyPath: m_SizeDelta.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6302678596578862745, guid: 462bf31b5a5e23847bd9cfb586a8e875, type: 3} + propertyPath: m_SizeDelta.y + value: 48 + objectReference: {fileID: 0} + - target: {fileID: 6302678596578862745, guid: 462bf31b5a5e23847bd9cfb586a8e875, type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6302678596578862745, guid: 462bf31b5a5e23847bd9cfb586a8e875, type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6302678596578862745, guid: 462bf31b5a5e23847bd9cfb586a8e875, type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6302678596578862745, guid: 462bf31b5a5e23847bd9cfb586a8e875, type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 6302678596578862745, guid: 462bf31b5a5e23847bd9cfb586a8e875, type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6302678596578862745, guid: 462bf31b5a5e23847bd9cfb586a8e875, type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6302678596578862745, guid: 462bf31b5a5e23847bd9cfb586a8e875, type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6302678596578862745, guid: 462bf31b5a5e23847bd9cfb586a8e875, type: 3} + propertyPath: m_AnchoredPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6302678596578862745, guid: 462bf31b5a5e23847bd9cfb586a8e875, type: 3} + propertyPath: m_AnchoredPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6302678596578862745, guid: 462bf31b5a5e23847bd9cfb586a8e875, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6302678596578862745, guid: 462bf31b5a5e23847bd9cfb586a8e875, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6302678596578862745, guid: 462bf31b5a5e23847bd9cfb586a8e875, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 9151665644902620338, guid: 462bf31b5a5e23847bd9cfb586a8e875, type: 3} + propertyPath: m_AnchorMax.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 9151665644902620338, guid: 462bf31b5a5e23847bd9cfb586a8e875, type: 3} + propertyPath: m_AnchorMin.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 9151665644902620338, guid: 462bf31b5a5e23847bd9cfb586a8e875, type: 3} + propertyPath: m_SizeDelta.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 9151665644902620338, guid: 462bf31b5a5e23847bd9cfb586a8e875, type: 3} + propertyPath: m_SizeDelta.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 9151665644902620338, guid: 462bf31b5a5e23847bd9cfb586a8e875, type: 3} + propertyPath: m_AnchoredPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 9151665644902620338, guid: 462bf31b5a5e23847bd9cfb586a8e875, type: 3} + propertyPath: m_AnchoredPosition.y + value: 0 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 462bf31b5a5e23847bd9cfb586a8e875, type: 3} +--- !u!224 &529911835633409267 stripped +RectTransform: + m_CorrespondingSourceObject: {fileID: 6302678596578862745, guid: 462bf31b5a5e23847bd9cfb586a8e875, type: 3} + m_PrefabInstance: {fileID: 5777340742376503914} + m_PrefabAsset: {fileID: 0} +--- !u!114 &4046393260847079903 stripped +MonoBehaviour: + m_CorrespondingSourceObject: {fileID: 7496964992943332277, guid: 462bf31b5a5e23847bd9cfb586a8e875, type: 3} + m_PrefabInstance: {fileID: 5777340742376503914} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: diff --git a/Assets/Modules/Survey/Survey Assets/BloomSurvey.prefab.meta b/Assets/Modules/Survey/Survey Assets/BloomSurvey.prefab.meta new file mode 100644 index 00000000..1218db46 --- /dev/null +++ b/Assets/Modules/Survey/Survey Assets/BloomSurvey.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 6cde45a0b96cad64f82b2d745000d1fb +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Modules/Survey/Survey Assets/SurveyControlButton.prefab b/Assets/Modules/Survey/Survey Assets/SurveyControlButton.prefab new file mode 100644 index 00000000..6dfa1943 --- /dev/null +++ b/Assets/Modules/Survey/Survey Assets/SurveyControlButton.prefab @@ -0,0 +1,316 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &2072540273594588517 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 9151665644902620338} + - component: {fileID: 7902356974142988078} + - component: {fileID: 3012120684614112781} + m_Layer: 0 + m_Name: Label + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &9151665644902620338 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2072540273594588517} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 6302678596578862745} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &7902356974142988078 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2072540273594588517} + m_CullTransparentMesh: 0 +--- !u!114 &3012120684614112781 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2072540273594588517} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 0 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_text: Continue + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4278190080 + m_fontColor: {r: 0, g: 0, b: 0, a: 1} + m_enableVertexGradient: 0 + m_colorMode: 3 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_StyleSheet: {fileID: 0} + m_TextStyleHashCode: -1183493901 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_fontSize: 24 + m_fontSizeBase: 24 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_HorizontalAlignment: 2 + m_VerticalAlignment: 512 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_enableWordWrapping: 1 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 1 + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!1 &5288941395652289942 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6302678596578862745} + - component: {fileID: 7496964992943332277} + - component: {fileID: 6433799898758082866} + - component: {fileID: 6777033000438225819} + - component: {fileID: 1664485101923994973} + - component: {fileID: 7657345123147451403} + - component: {fileID: 2080333239440329963} + m_Layer: 0 + m_Name: SurveyControlButton + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &6302678596578862745 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5288941395652289942} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 9151665644902620338} + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 48} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &7496964992943332277 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5288941395652289942} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 6777033000438225819} + m_OnClick: + m_PersistentCalls: + m_Calls: [] +--- !u!222 &6433799898758082866 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5288941395652289942} + m_CullTransparentMesh: 0 +--- !u!114 &6777033000438225819 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5288941395652289942} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!114 &1664485101923994973 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5288941395652289942} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 30649d3a9faa99c48a7b1166b86bf2a0, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Padding: + m_Left: 8 + m_Right: 8 + m_Top: 8 + m_Bottom: 8 + m_ChildAlignment: 4 + m_Spacing: 0 + m_ChildForceExpandWidth: 1 + m_ChildForceExpandHeight: 1 + m_ChildControlWidth: 1 + m_ChildControlHeight: 1 + m_ChildScaleWidth: 0 + m_ChildScaleHeight: 0 +--- !u!114 &7657345123147451403 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5288941395652289942} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 3245ec927659c4140ac4f8d17403cc18, type: 3} + m_Name: + m_EditorClassIdentifier: + m_HorizontalFit: 2 + m_VerticalFit: 0 +--- !u!114 &2080333239440329963 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5288941395652289942} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreLayout: 0 + m_MinWidth: 200 + m_MinHeight: -1 + m_PreferredWidth: -1 + m_PreferredHeight: -1 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 + m_LayoutPriority: 1 diff --git a/Assets/Modules/Survey/Survey Assets/SurveyControlButton.prefab.meta b/Assets/Modules/Survey/Survey Assets/SurveyControlButton.prefab.meta new file mode 100644 index 00000000..502d8efb --- /dev/null +++ b/Assets/Modules/Survey/Survey Assets/SurveyControlButton.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: c7a55e8c3e2ae9542b468c6275712f83 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Modules/Survey/Survey Assets/SurveyQuestion.prefab b/Assets/Modules/Survey/Survey Assets/SurveyQuestion.prefab new file mode 100644 index 00000000..ffec460e --- /dev/null +++ b/Assets/Modules/Survey/Survey Assets/SurveyQuestion.prefab @@ -0,0 +1,332 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &4008648611104064446 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5078309955385692323} + - component: {fileID: 8337718216335665684} + - component: {fileID: 4585150791241518115} + - component: {fileID: 2399614719670412535} + m_Layer: 0 + m_Name: SurveyQuestion + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &5078309955385692323 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4008648611104064446} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 26129717803616398} + - {fileID: 5488439671125442299} + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 480, y: 0} + m_SizeDelta: {x: 944, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &8337718216335665684 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4008648611104064446} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 59f8146938fff824cb5fd77236b75775, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Padding: + m_Left: 0 + m_Right: 0 + m_Top: 0 + m_Bottom: 0 + m_ChildAlignment: 0 + m_Spacing: 8 + m_ChildForceExpandWidth: 0 + m_ChildForceExpandHeight: 0 + m_ChildControlWidth: 1 + m_ChildControlHeight: 1 + m_ChildScaleWidth: 0 + m_ChildScaleHeight: 0 + m_ReverseArrangement: 0 +--- !u!114 &4585150791241518115 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4008648611104064446} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 3245ec927659c4140ac4f8d17403cc18, type: 3} + m_Name: + m_EditorClassIdentifier: + m_HorizontalFit: 0 + m_VerticalFit: 2 +--- !u!114 &2399614719670412535 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4008648611104064446} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 68913fda9da97ea48b4c2a847abe4c0b, type: 3} + m_Name: + m_EditorClassIdentifier: + m_PromptText: {fileID: 1725583702550253329} + m_PrefixFormat: 'Q{0}. ' + m_ToggleGroup: {fileID: 1161042962244587064} + m_ToggleLayout: {fileID: 6082330926941967206} +--- !u!1 &5557766809651783194 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5488439671125442299} + - component: {fileID: 1161042962244587064} + - component: {fileID: 6082330926941967206} + m_Layer: 0 + m_Name: Responses + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &5488439671125442299 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5557766809651783194} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 5078309955385692323} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1161042962244587064 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5557766809651783194} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 2fafe2cfe61f6974895a912c3755e8f1, type: 3} + m_Name: + m_EditorClassIdentifier: + m_AllowSwitchOff: 1 +--- !u!114 &6082330926941967206 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5557766809651783194} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 59f8146938fff824cb5fd77236b75775, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Padding: + m_Left: 0 + m_Right: 0 + m_Top: 0 + m_Bottom: 0 + m_ChildAlignment: 0 + m_Spacing: 0 + m_ChildForceExpandWidth: 1 + m_ChildForceExpandHeight: 1 + m_ChildControlWidth: 0 + m_ChildControlHeight: 0 + m_ChildScaleWidth: 0 + m_ChildScaleHeight: 0 + m_ReverseArrangement: 0 +--- !u!1 &8665331389632068815 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 26129717803616398} + - component: {fileID: 3342561702678656714} + - component: {fileID: 1725583702550253329} + - component: {fileID: 5435643709627907489} + m_Layer: 0 + m_Name: Prompt + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &26129717803616398 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8665331389632068815} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 5078309955385692323} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &3342561702678656714 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8665331389632068815} + m_CullTransparentMesh: 0 +--- !u!114 &1725583702550253329 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8665331389632068815} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 0 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_text: Q1. This is not a question, correct? + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4294967295 + m_fontColor: {r: 1, g: 1, b: 1, a: 1} + m_enableVertexGradient: 0 + m_colorMode: 3 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_StyleSheet: {fileID: 0} + m_TextStyleHashCode: -1183493901 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_fontSize: 20 + m_fontSizeBase: 20 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_HorizontalAlignment: 1 + m_VerticalAlignment: 256 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_enableWordWrapping: 1 + m_wordWrappingRatios: 0.4 + m_overflowMode: 4 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 1 + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!114 &5435643709627907489 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8665331389632068815} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreLayout: 0 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: -1 + m_PreferredHeight: -1 + m_FlexibleWidth: 1 + m_FlexibleHeight: -1 + m_LayoutPriority: 1 diff --git a/Assets/Modules/Survey/Survey Assets/SurveyQuestion.prefab.meta b/Assets/Modules/Survey/Survey Assets/SurveyQuestion.prefab.meta new file mode 100644 index 00000000..06b1cbc5 --- /dev/null +++ b/Assets/Modules/Survey/Survey Assets/SurveyQuestion.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 73b76e7466162344ea6dc61822c81990 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Modules/Survey/Survey Assets/SurveyResponseToggle.prefab b/Assets/Modules/Survey/Survey Assets/SurveyResponseToggle.prefab new file mode 100644 index 00000000..af0892c2 --- /dev/null +++ b/Assets/Modules/Survey/Survey Assets/SurveyResponseToggle.prefab @@ -0,0 +1,437 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &4193486640416766506 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 699301940092115801} + - component: {fileID: 2509788425201951720} + - component: {fileID: 641219858136073394} + - component: {fileID: 1596498193246282974} + - component: {fileID: 1125591260401436584} + - component: {fileID: 6095540292173038325} + - component: {fileID: 467643430259556012} + - component: {fileID: 7842835166434953078} + m_Layer: 0 + m_Name: SurveyResponseToggle + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &699301940092115801 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4193486640416766506} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 8242008554375802625} + - {fileID: 1092612195913997456} + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 50, y: 0} + m_SizeDelta: {x: 0, y: 24} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &2509788425201951720 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4193486640416766506} + m_CullTransparentMesh: 0 +--- !u!114 &641219858136073394 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4193486640416766506} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 0 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!225 &1596498193246282974 +CanvasGroup: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4193486640416766506} + m_Enabled: 1 + m_Alpha: 1 + m_Interactable: 1 + m_BlocksRaycasts: 1 + m_IgnoreParentGroups: 0 +--- !u!114 &1125591260401436584 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4193486640416766506} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 30649d3a9faa99c48a7b1166b86bf2a0, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Padding: + m_Left: 8 + m_Right: 8 + m_Top: 8 + m_Bottom: 8 + m_ChildAlignment: 4 + m_Spacing: 0 + m_ChildForceExpandWidth: 1 + m_ChildForceExpandHeight: 1 + m_ChildControlWidth: 1 + m_ChildControlHeight: 1 + m_ChildScaleWidth: 0 + m_ChildScaleHeight: 0 + m_ReverseArrangement: 0 +--- !u!114 &6095540292173038325 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4193486640416766506} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 3245ec927659c4140ac4f8d17403cc18, type: 3} + m_Name: + m_EditorClassIdentifier: + m_HorizontalFit: 2 + m_VerticalFit: 0 +--- !u!114 &467643430259556012 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4193486640416766506} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreLayout: 0 + m_MinWidth: 50 + m_MinHeight: -1 + m_PreferredWidth: -1 + m_PreferredHeight: -1 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 + m_LayoutPriority: 1 +--- !u!114 &7842835166434953078 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4193486640416766506} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 9085046f02f69544eb97fd06b6048fe2, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 641219858136073394} + toggleTransition: 1 + graphic: {fileID: 8024051582178570526} + m_Group: {fileID: 0} + onValueChanged: + m_PersistentCalls: + m_Calls: [] + m_IsOn: 0 +--- !u!1 &5474188497070154733 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8242008554375802625} + - component: {fileID: 4464628289602190750} + - component: {fileID: 3352351448437438423} + - component: {fileID: 8024051582178570526} + m_Layer: 0 + m_Name: Selected + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &8242008554375802625 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5474188497070154733} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 699301940092115801} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &4464628289602190750 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5474188497070154733} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreLayout: 1 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: -1 + m_PreferredHeight: -1 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 + m_LayoutPriority: 1 +--- !u!222 &3352351448437438423 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5474188497070154733} + m_CullTransparentMesh: 0 +--- !u!114 &8024051582178570526 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5474188497070154733} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.9607843, g: 0.6627451, b: 0.72156864, a: 1} + m_RaycastTarget: 0 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 0 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 0 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!1 &7587023350049782181 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1092612195913997456} + - component: {fileID: 3513458154923403787} + - component: {fileID: 3478108295777161505} + m_Layer: 0 + m_Name: Label + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1092612195913997456 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7587023350049782181} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 699301940092115801} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &3513458154923403787 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7587023350049782181} + m_CullTransparentMesh: 0 +--- !u!114 &3478108295777161505 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7587023350049782181} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 0 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 0 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_text: Yes + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4279900698 + m_fontColor: {r: 0.1, g: 0.1, b: 0.1, a: 1} + m_enableVertexGradient: 0 + m_colorMode: 3 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_StyleSheet: {fileID: 0} + m_TextStyleHashCode: -1183493901 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_fontSize: 14 + m_fontSizeBase: 14 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_HorizontalAlignment: 2 + m_VerticalAlignment: 512 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_enableWordWrapping: 1 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 1 + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} diff --git a/Assets/Modules/Survey/Survey Assets/SurveyResponseToggle.prefab.meta b/Assets/Modules/Survey/Survey Assets/SurveyResponseToggle.prefab.meta new file mode 100644 index 00000000..e7acb6d7 --- /dev/null +++ b/Assets/Modules/Survey/Survey Assets/SurveyResponseToggle.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 29f684fe628f0a045b650e41da890806 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Modules/Survey/survey_data.json b/Assets/Modules/Survey/survey_data.json new file mode 100644 index 00000000..eb214be8 --- /dev/null +++ b/Assets/Modules/Survey/survey_data.json @@ -0,0 +1,126 @@ +{ + "package_config_id": "survey_test", + "surveys": [ + { + "display_event_id": "example", + "header": "Survey Example", + "pages": [ + { + "items": [ + { + "prompt": "Are you reading a survey question?", + "responses": ["Yes", "No"] + }, + { + "prompt": "Are you responding to the survey question?", + "responses": ["Yes", "No"] + } + ] + }, + { + "items": [ + { + "prompt": "How often do you think about Mars?", + "responses": ["Every Day", "Every Hour", "eeeeeeeee", "Never"] + } + ] + }, + { + "items": [ + { + "prompt": "When I said \"Mars\", which of these did you think of?", + "responses": ["Rome", "Planet", "Candy", "Other"] + }, + { + "prompt": "How does that make you feel?", + "responses": [ + "Ashamed", + "Giddy", + "Curious", + "Neutral", + "Agitated" + ] + } + ] + }, + { + "items": [ + { + "prompt": "Was this survey to your satisfaction?", + "responses": ["Nope", "Uhhh", "Definitely Not"] + } + ] + } + ] + }, + { + "display_event_id": "understanding_check_post_subsidies", + "header": "Knowledge Check - Subsidies", + "pages": [ + { + "items": [ + { + "prompt": "In the game, which of the following would reduce the cost that grain farmers pay for fertilizer? Select all that apply:", + "type": "multi", + "responses": [ + "Building shorter shipping distances for manure", + "Setting a low sales tax on grain", + "Setting a county import subsidy on fertilizer", + "Removing a sales subsidy" + ] + }, + { + "prompt": "In the game, what is a sales subsidy?", + "responses": [ + "A tax on the sale of goods", + "A payment to farmers to help lower their costs", + "A tax on goods that get shipped between counties", + "A fine applied to farmers who store too much manure on their property" + ] + }, + { + "prompt": "In the game, which of the following can be used to encourage farmers to sell their manure? Select all that apply:", + "type": "multi", + "responses": [ + "Setting a run-off fine", + "Setting a county import subsidy on fertilizer", + "Setting a high sales tax", + "Setting a sales subsidy" + ] + } + ] + } + ] + }, + { + "display_event_id": "understanding_check_late_game", + "header": "Understanding Check - Late Game", + "pages": [ + { + "items": [ + { + "prompt": "In the game, which of the following can reduce the amount of phosphorus that ends up in local waterways? Select all that apply:", + "type": "multi", + "responses": [ + "Setting a run-off fine", + "Setting a county import subsidy on milk", + "Building a manure storage tank", + "Setting a high sales tax", + "Setting a sales subsidy" + ] + }, + { + "prompt": "In the game, which of the following BEST describes what an import subsidy is:", + "responses": [ + "A tax on goods that get shipped between counties", + "A payment that helps reduce the cost of shipping a product", + "A fine applied to farmers who store too much manure on their property", + "A tax on the sale of goods" + ] + } + ] + } + ] + } + ] +} diff --git a/Assets/Modules/Survey/survey_data.json.meta b/Assets/Modules/Survey/survey_data.json.meta new file mode 100644 index 00000000..5b0b8622 --- /dev/null +++ b/Assets/Modules/Survey/survey_data.json.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 7b91ec9bc10b76b449cf88a5200c3c27 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scenes/TitleScreen.unity b/Assets/Scenes/TitleScreen.unity index 76629eda..acd11312 100644 --- a/Assets/Scenes/TitleScreen.unity +++ b/Assets/Scenes/TitleScreen.unity @@ -5152,7 +5152,7 @@ RectTransform: m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMax: {x: 0.5, y: 0.5} m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 4.8445077, y: 4} + m_SizeDelta: {x: 5.3719563, y: 4} m_Pivot: {x: 0.5, y: 0.5} --- !u!1 &384047924 stripped GameObject: @@ -5232,7 +5232,7 @@ MonoBehaviour: serializedVersion: 2 rgba: 4294967295 m_Visible: 1 - m_Size: {x: 4.8445077, y: 4} + m_Size: {x: 5.3719563, y: 4} m_Pivot: {x: 0.5, y: 0.5} m_UVRect: serializedVersion: 2 @@ -5741,9 +5741,17 @@ PrefabInstance: propertyPath: m_Enabled value: 1 objectReference: {fileID: 0} + - target: {fileID: 1439248957510760085, guid: e92b035dfe8e9ba45a2b0da83420b417, type: 3} + propertyPath: SurveyText + value: + objectReference: {fileID: 4900000, guid: 7b91ec9bc10b76b449cf88a5200c3c27, type: 3} + - target: {fileID: 1439248957510760085, guid: e92b035dfe8e9ba45a2b0da83420b417, type: 3} + propertyPath: SurveyPrefab + value: + objectReference: {fileID: 2400622096144153359, guid: 6cde45a0b96cad64f82b2d745000d1fb, type: 3} - target: {fileID: 3439126375216716605, guid: e92b035dfe8e9ba45a2b0da83420b417, type: 3} propertyPath: m_UVRect.width - value: 1.4363192 + value: 2.3264818 objectReference: {fileID: 0} - target: {fileID: 3439126375216716605, guid: e92b035dfe8e9ba45a2b0da83420b417, type: 3} propertyPath: m_UVRect.height diff --git a/Packages/manifest.json b/Packages/manifest.json index 143aff02..b693e1b6 100644 --- a/Packages/manifest.json +++ b/Packages/manifest.json @@ -8,7 +8,7 @@ "com.beauprime.beauutil": "0.10.6", "com.beauprime.leaf": "0.3.12", "com.beauprime.tinyil-mono": "0.2.1", - "com.fieldday.opengamedata-unity": "1.0.9", + "com.fieldday.opengamedata-unity": "1.0.14", "com.unity.2d.sprite": "1.0.0", "com.unity.feature.development": "1.0.1", "com.unity.ide.visualstudio": "2.0.22", @@ -66,4 +66,4 @@ ] } ] -} +} \ No newline at end of file diff --git a/Packages/packages-lock.json b/Packages/packages-lock.json index 1e5420db..2a6c67dd 100644 --- a/Packages/packages-lock.json +++ b/Packages/packages-lock.json @@ -62,10 +62,12 @@ "url": "https://package.openupm.com" }, "com.fieldday.opengamedata-unity": { - "version": "1.0.9", + "version": "1.0.14", "depth": 0, "source": "registry", - "dependencies": {}, + "dependencies": { + "com.unity.textmeshpro": "1.0.0" + }, "url": "https://package.openupm.com" }, "com.unity.2d.sprite": { From 8762193339772fafd65318beb32c413f8bff60ee Mon Sep 17 00:00:00 2001 From: XanGrab <60899653+XanGrab@users.noreply.github.com> Date: Thu, 20 Nov 2025 17:50:50 -0600 Subject: [PATCH 13/13] Uncomment Survey --- Assets/Content/Story/region3-script.leaf | 2 +- ProjectSettings/ProjectSettings.asset | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Assets/Content/Story/region3-script.leaf b/Assets/Content/Story/region3-script.leaf index fce9bea6..e336110d 100644 --- a/Assets/Content/Story/region3-script.leaf +++ b/Assets/Content/Story/region3-script.leaf @@ -165,7 +165,7 @@ $set global:importUnlocked = true {@advisorEconPrairie} Perhaps SAGA could help cover those costs? {@advisorEconPrairie} I've added a policy for setting Import Subsidies. $call UnlockCards(ImportTaxPolicy) -// $call RequestSurvey(understanding_check_post_subsidies) +$call RequestSurvey(understanding_check_post_subsidies) {@advisorEconPrairie} Subsidizing a resource will encourage buying it from other counties. {@advisorEconPrairie} That could help us balance one county's excess with another's needs. $call OpenInfoPopup("region3_grain2") diff --git a/ProjectSettings/ProjectSettings.asset b/ProjectSettings/ProjectSettings.asset index c1005c3f..bb8905ab 100644 --- a/ProjectSettings/ProjectSettings.asset +++ b/ProjectSettings/ProjectSettings.asset @@ -699,10 +699,10 @@ PlayerSettings: blurSplashScreenBackground: 1 spritePackerPolicy: webGLMemorySize: 16 - webGLExceptionSupport: 1 + webGLExceptionSupport: 3 webGLNameFilesAsHashes: 0 webGLDataCaching: 1 - webGLDebugSymbols: 0 + webGLDebugSymbols: 2 webGLEmscriptenArgs: webGLModulesDirectory: webGLTemplate: PROJECT:FieldDay