﻿<?xml version="1.0" encoding="utf-8" ?>
<c2eventsheet>
    <!--All the 'name' attributes are ignored by Construct 2 - they are there for readability only.-->
    <name>E_UI_Transition</name>
    <events>
        <comment>We trigger the fade out transition by activating the &quot;onStartOfLayout_transition&quot; group.</comment>
        <variable constant="0" name="transitionDuration" sid="6854928452309524" static="0" type="number">0.5</variable>
        <event-block sid="6373120458239632">
            <conditions>
                <condition id="-2" name="On start of layout" sid="5466424769049953" type="System" />
            </conditions>
            <actions>
                <action id="-12" name="Set group active" sid="3964240800353448" type="System">
                    <param id="0" name="Group name">&quot;onStartOfLayout_transition&quot;</param>
                    <param id="1" name="State">1</param>
                </action>
                <action id="-12" name="Set group active" sid="3723692087230385" type="System">
                    <param id="0" name="Group name">&quot;endTransition&quot;</param>
                    <param id="1" name="State">0</param>
                </action>
            </actions>
        </event-block>
        <event-group description='This group triggers the fadeout animation at the start of the layout.IMPORTANT: For this to work, a layer named &quot;Transition&quot; should be placed at the top.' sid="8515462856310495" title="onStartOfLayout_transition">
            <sub-events>
                <variable constant="0" name="t" sid="7373440512501859" static="1" type="number">0</variable>
                <event-block sid="7346039607005432">
                    <conditions>
                        <condition id="-2" name="On start of layout" sid="4070913472889668" type="System" />
                    </conditions>
                    <actions>
                        <action id="-18" name="Set layer opacity" sid="6671688792716026" type="System">
                            <param id="0" name="Layer">&quot;Transition&quot;</param>
                            <param id="1" name="Opacity">100</param>
                        </action>
                        <action id="-35" name="Set layer transparent" sid="2324788826874939" type="System">
                            <param id="0" name="Layer">&quot;Transition&quot;</param>
                            <param id="1" name="Mode">0</param>
                        </action>
                        <action id="-9" name="Set value" sid="2704488647850388" type="System">
                            <param id="0" name="Variable">t</param>
                            <param id="1" name="Value">0</param>
                        </action>
                    </actions>
                </event-block>
                <event-block sid="9675519478983405">
                    <conditions>
                        <condition id="-1" name="Every tick" sid="2503030304456231" type="System" />
                    </conditions>
                    <actions>
                        <action id="-18" name="Set layer opacity" sid="6630580318022142" type="System">
                            <param id="0" name="Layer">&quot;Transition&quot;</param>
                            <param id="1" name="Opacity">100 *(t/transitionDuration)*( (t/transitionDuration)-2)+100</param>
                        </action>
                        <action id="-9" name="Set value" sid="5556354937350973" type="System">
                            <param id="0" name="Variable">t</param>
                            <param id="1" name="Value"> clamp(t+dt,0,transitionDuration)</param>
                        </action>
                    </actions>
                    <sub-events>
                        <event-block sid="4527441590070255">
                            <conditions>
                                <condition id="-14" name="Compare variable" sid="320950895919022" type="System">
                                    <param id="0" name="Variable">t</param>
                                    <param id="1" name="Comparison">5</param>
                                    <param id="2" name="Value">transitionDuration</param>
                                </condition>
                            </conditions>
                            <actions>
                                <action id="-35" name="Set layer transparent" sid="7575043711170181" type="System">
                                    <param id="0" name="Layer">&quot;Transition&quot;</param>
                                    <param id="1" name="Mode">1</param>
                                </action>
                                <action id="-12" name="Set group active" sid="2243069428026048" type="System">
                                    <param id="0" name="Group name">&quot;onStartOfLayout_transition&quot;</param>
                                    <param id="1" name="State">0</param>
                                </action>
                            </actions>
                        </event-block>
                    </sub-events>
                </event-block>
            </sub-events>
        </event-group>
        <event-group description='Here we implement the transition &quot;fade to color&quot; that happens at the end of a layout.However, It doesnt happen automatically with C2 goToLayout but only triggered if you use our custom &quot;transitionToLayout&quot; function.' sid="2359257763703549" title="transitionToLayout">
            <sub-events>
                <variable constant="0" name="t" sid="7373440512501859" static="1" type="number">0</variable>
                <comment>Description: go to layout with a fadeout transition.</comment>
                <comment>Param0: The name of to layout.</comment>
                <comment>Param1: The duration of the transition in sec.</comment>
                <event-block sid="7905438274824162">
                    <conditions>
                        <condition id="0" name="On function" sid="3937841706259654" type="Function">
                            <param id="0" name="Name">&quot;transitionToLayout&quot;</param>
                        </condition>
                    </conditions>
                    <actions>
                        <action id="-12" name="Set group active" sid="5208276241649672" type="System">
                            <param id="0" name="Group name">&quot;endTransition&quot;</param>
                            <param id="1" name="State">1</param>
                        </action>
                    </actions>
                    <sub-events>
                        <event-block sid="1421660426693561">
                            <conditions>
                                <condition id="1" name="Compare parameter" sid="5200794738726539" type="Function">
                                    <param id="0" name="Index">1</param>
                                    <param id="1" name="Comparison">1</param>
                                    <param id="2" name="Value">&quot;&quot;</param>
                                </condition>
                            </conditions>
                            <actions>
                                <action id="-9" name="Set value" sid="1088163236894951" type="System">
                                    <param id="0" name="Variable">transitionDuration</param>
                                    <param id="1" name="Value">float(Function.Param(1))</param>
                                </action>
                            </actions>
                        </event-block>
                        <variable constant="0" name="layout_name" sid="6548987150223608" static="1" type="text"></variable>
                        <event-block sid="9482907723442677">
                            <conditions />
                            <actions>
                                <action id="-9" name="Set value" sid="1061529106970066" type="System">
                                    <param id="0" name="Variable">layout_name</param>
                                    <param id="1" name="Value">Function.Param(0)</param>
                                </action>
                                <action id="-41" name="Wait for signal" sid="1296983934733395" type="System">
                                    <param id="0" name="Tag">&quot;transitionEnded&quot;</param>
                                </action>
                                <action id="-12" name="Set group active" sid="2243069428026048" type="System">
                                    <param id="0" name="Group name">&quot;endTransition&quot;</param>
                                    <param id="1" name="State">0</param>
                                </action>
                                <action id="-25" name="Go to layout (by name)" sid="5540753433767837" type="System">
                                    <param id="0" name="Layout">layout_name</param>
                                </action>
                                <action id="-35" name="Set layer transparent" sid="8483436650350283" type="System">
                                    <param id="0" name="Layer">&quot;Transition&quot;</param>
                                    <param id="1" name="Mode">1</param>
                                </action>
                            </actions>
                        </event-block>
                    </sub-events>
                </event-block>
                <event-group description="" sid="8388164072640914" title="endTransition">
                    <sub-events>
                        <event-block sid="7346039607005432">
                            <conditions>
                                <condition id="-4" name="Trigger once while true" sid="3369822942631232" type="System" />
                            </conditions>
                            <actions>
                                <action id="-18" name="Set layer opacity" sid="6671688792716026" type="System">
                                    <param id="0" name="Layer">&quot;Transition&quot;</param>
                                    <param id="1" name="Opacity">0</param>
                                </action>
                                <action id="-35" name="Set layer transparent" sid="2324788826874939" type="System">
                                    <param id="0" name="Layer">&quot;Transition&quot;</param>
                                    <param id="1" name="Mode">0</param>
                                </action>
                                <action id="-9" name="Set value" sid="2704488647850388" type="System">
                                    <param id="0" name="Variable">t</param>
                                    <param id="1" name="Value">0</param>
                                </action>
                            </actions>
                        </event-block>
                        <event-block sid="9675519478983405">
                            <conditions>
                                <condition id="-1" name="Every tick" sid="2503030304456231" type="System" />
                            </conditions>
                            <actions>
                                <action id="-18" name="Set layer opacity" sid="6630580318022142" type="System">
                                    <param id="0" name="Layer">&quot;Transition&quot;</param>
                                    <param id="1" name="Opacity">-100 *(t/transitionDuration)*( (t/transitionDuration)-2)</param>
                                </action>
                                <action id="-9" name="Set value" sid="5556354937350973" type="System">
                                    <param id="0" name="Variable">t</param>
                                    <param id="1" name="Value"> clamp(t+dt,0,transitionDuration)</param>
                                </action>
                            </actions>
                            <sub-events>
                                <event-block sid="4527441590070255">
                                    <conditions>
                                        <condition id="-14" name="Compare variable" sid="953331367617226" type="System">
                                            <param id="0" name="Variable">t</param>
                                            <param id="1" name="Comparison">5</param>
                                            <param id="2" name="Value">transitionDuration</param>
                                        </condition>
                                    </conditions>
                                    <actions>
                                        <action id="-42" name="Signal" sid="7096063339983308" type="System">
                                            <param id="0" name="Tag">&quot;transitionEnded&quot;</param>
                                        </action>
                                        <action disabled="1" id="-35" name="Set layer transparent" sid="7575043711170181" type="System">
                                            <param id="0" name="Layer">&quot;Transition&quot;</param>
                                            <param id="1" name="Mode">1</param>
                                        </action>
                                    </actions>
                                </event-block>
                            </sub-events>
                        </event-block>
                    </sub-events>
                </event-group>
            </sub-events>
        </event-group>
    </events>
</c2eventsheet>
