﻿<?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_Checkbox</name>
    <events>
        <include>E_UI_Common</include>
        <event-group description="" sid="6109438536675912" title="UI_CHECKBOX">
            <sub-events>
                <variable constant="0" name="checkbox_elementName" sid="543283409324168" static="0" type="text"></variable>
                <event-block sid="2068658685713842">
                    <conditions>
                        <condition id="-2" name="On start of layout" sid="7573002878210386" type="System" />
                    </conditions>
                    <actions>
                        <action id="6" name="Set speed" sid="3579257799260136" type="ui_checkbox">
                            <param id="0" name="Speed">0</param>
                        </action>
                        <action behavior="LiteTween" id="14" name="Stop" sid="9828833311743627" type="ui_checkbox">
                            <param id="0" name="Stop Mode">1</param>
                        </action>
                    </actions>
                </event-block>
                <event-group description='Here we specifiy the actions to be executed uppon the click/touch of a ui_checkbox:1) run a function that was specified in the &quot;callback&quot; instance variable. 2) Play a sound 3) check/uncheck the checkbox' sid="5167800325576699" title="Checkbox Callback">
                    <sub-events>
                        <event-block sid="1298115708666209">
                            <conditions>
                                <condition id="17" name="On tap object" sid="5219133496536095" type="Touch">
                                    <param id="0" name="Object">ui_checkbox</param>
                                </condition>
                                <condition id="-17" name="Pick top/bottom" sid="9690085515178821" type="ui_checkbox">
                                    <param id="0" name="Which">0</param>
                                </condition>
                                <condition id="-8" name="Compare two values" sid="6143102145040642" type="System">
                                    <param id="0" name="First value">Function.Call(&quot;isActive&quot;,ui_checkbox.LayerName)</param>
                                    <param id="1" name="Comparison">0</param>
                                    <param id="2" name="Second value">1</param>
                                </condition>
                            </conditions>
                            <actions>
                                <action id="0" name="Call function" sid="9101339946410536" type="Function">
                                    <param id="0" name="Name">&quot;playSound&quot;</param>
                                    <param id="1" name="Parameter {n}">ui_checkbox.clickSound</param>
                                </action>
                                <action id="0" name="Call function" sid="1064386699443294" type="Function">
                                    <param id="0" name="Name">&quot;runCallback&quot;</param>
                                    <param id="1" name="Parameter {n}">ui_checkbox.callback</param>
                                </action>
                            </actions>
                        </event-block>
                        <event-block sid="9669438235910825">
                            <conditions>
                                <condition id="3" name="On touched object" sid="9281035022787686" type="Touch">
                                    <param id="0" name="Object">ui_checkbox</param>
                                </condition>
                                <condition id="-8" name="Compare two values" sid="9657768158211545" type="System">
                                    <param id="0" name="First value">Function.Call(&quot;isActive&quot;,ui_checkbox.LayerName)</param>
                                    <param id="1" name="Comparison">0</param>
                                    <param id="2" name="Second value">1</param>
                                </condition>
                            </conditions>
                            <actions>
                                <action id="-9" name="Set value" sid="1506842634293867" type="System">
                                    <param id="0" name="Variable">checkbox_elementName</param>
                                    <param id="1" name="Value">ui_checkbox.element_name</param>
                                </action>
                            </actions>
                            <sub-events>
                                <comment>Instead of checking the checkbox that was clicked on, we checked ALL the checkboxes that share the same elemnt_name; This is useful for example when you have 2 music checkboxes (one in a setting dialog and one on the home screen) (in the same layout) that need to be in sync.</comment>
                                <event-block sid="4288940087654127">
                                    <conditions>
                                        <condition id="-19" name="Pick all" sid="402801946080193" type="System">
                                            <param id="0" name="Object">ui_checkbox</param>
                                        </condition>
                                        <condition id="-7" name="Compare instance variable" sid="8387610354396572" type="ui_checkbox">
                                            <param id="0" name="Instance variable">element_name</param>
                                            <param id="1" name="Comparison">0</param>
                                            <param id="2" name="Value">checkbox_elementName</param>
                                        </condition>
                                    </conditions>
                                    <actions>
                                        <action id="5" name="Set frame" sid="465091454012711" type="ui_checkbox">
                                            <param id="0" name="Frame number">1-ui_checkbox.AnimationFrame</param>
                                        </action>
                                    </actions>
                                </event-block>
                            </sub-events>
                        </event-block>
                    </sub-events>
                </event-group>
                <event-group description="Here we setup the pop animation of the ui_checkbox with the help of the LiteTween plugin." sid="8185879678654662" title="Checkbox_Pop_Animation">
                    <sub-events>
                        <comment>On the start of the layout, we set the animation setting for all the ui_checkboxes.</comment>
                        <event-block sid="4175230983833425">
                            <conditions>
                                <condition id="-2" name="On start of layout" sid="8517954685879415" type="System" />
                                <condition id="-8" name="Is boolean instance variable set" sid="1581032060844098" type="ui_checkbox">
                                    <param id="0" name="Instance variable">popAnimation</param>
                                </condition>
                            </conditions>
                            <actions>
                                <action behavior="LiteTween" id="4" name="Set tweened property" sid="986612247814779" type="ui_checkbox">
                                    <param id="0" name="Tweened property">1</param>
                                </action>
                                <action behavior="LiteTween" id="5" name="Set easing" sid="7143512646263846" type="ui_checkbox">
                                    <param id="0" name="Function">2</param>
                                </action>
                                <action behavior="LiteTween" id="1" name="Set duration" sid="4940835950037153" type="ui_checkbox">
                                    <param id="0" name="Duration">0.1</param>
                                </action>
                                <action behavior="LiteTween" id="3" name="Set target" sid="7063427795407727" type="ui_checkbox">
                                    <param id="0" name="Target is">4</param>
                                    <param id="1" name="Relativity">0</param>
                                    <param id="2" name="Value">Self.Width*1.2</param>
                                </action>
                                <action behavior="LiteTween" id="3" name="Set target" sid="6911281692806322" type="ui_checkbox">
                                    <param id="0" name="Target is">5</param>
                                    <param id="1" name="Relativity">0</param>
                                    <param id="2" name="Value">Self.Height*1.2</param>
                                </action>
                            </actions>
                        </event-block>
                        <comment>When the ui_checkbox is clicked/touched AND if the pop animation is enabled AND if the ui_checkbox should be active (not underneath a dialog for example), we start the animation.</comment>
                        <event-block sid="1926024833907601">
                            <conditions>
                                <condition id="17" name="On tap object" sid="2211231910533329" type="Touch">
                                    <param id="0" name="Object">ui_checkbox</param>
                                </condition>
                                <condition id="-17" name="Pick top/bottom" sid="1981971964812153" type="ui_checkbox">
                                    <param id="0" name="Which">0</param>
                                </condition>
                                <condition id="-8" name="Compare two values" sid="7586349107041468" type="System">
                                    <param id="0" name="First value">Function.Call(&quot;isActive&quot;,ui_checkbox.LayerName)</param>
                                    <param id="1" name="Comparison">0</param>
                                    <param id="2" name="Second value">1</param>
                                </condition>
                                <condition id="-8" name="Is boolean instance variable set" sid="3241170196937109" type="ui_checkbox">
                                    <param id="0" name="Instance variable">popAnimation</param>
                                </condition>
                            </conditions>
                            <actions>
                                <action behavior="LiteTween" id="10" name="Start" sid="3030969916704083" type="ui_checkbox">
                                    <param id="0" name="Start Mode">0</param>
                                    <param id="1" name="Force use current">1</param>
                                </action>
                            </actions>
                        </event-block>
                        <comment>At the end of the of the animation, we play it again but in reverse.</comment>
                        <event-block sid="7412182125302837">
                            <conditions>
                                <condition behavior="LiteTween" id="4" name="On tween end" sid="8049165276163755" type="ui_checkbox" />
                                <condition id="-8" name="Is boolean instance variable set" sid="7754556784871092" type="ui_checkbox">
                                    <param id="0" name="Instance variable">popAnimation</param>
                                </condition>
                            </conditions>
                            <actions>
                                <action behavior="LiteTween" id="11" name="Reverse" sid="7956855762889356" type="ui_checkbox">
                                    <param id="0" name="Reverse mode">0</param>
                                </action>
                            </actions>
                        </event-block>
                    </sub-events>
                </event-group>
                <event-group description="Use these functions to manipulate the ui_adder." sid="8356163599612704" title="UI_Checkbox_API">
                    <sub-events>
                        <comment>Description: set the value of a ui_checkbox</comment>
                        <comment>Param0: The element_name of the ui_checkbox</comment>
                        <comment>Param1: The value to be set: 0 or 1</comment>
                        <event-block sid="6239233251913351">
                            <conditions>
                                <condition id="0" name="On function" sid="2795640017639459" type="Function">
                                    <param id="0" name="Name">&quot;setCheckbox&quot;</param>
                                </condition>
                            </conditions>
                            <actions>
                                <action id="0" name="Set text" sid="3520339828350725" type="log_fps">
                                    <param id="0" name="Text">&quot;**&quot;&amp;clamp(int(Function.Param(1)),0,1)</param>
                                </action>
                            </actions>
                            <sub-events>
                                <event-block sid="1133313231312705">
                                    <conditions>
                                        <condition id="-7" name="Compare instance variable" sid="458779163089596" type="ui_checkbox">
                                            <param id="0" name="Instance variable">element_name</param>
                                            <param id="1" name="Comparison">0</param>
                                            <param id="2" name="Value">Function.Param(0)</param>
                                        </condition>
                                    </conditions>
                                    <actions>
                                        <action id="5" name="Set frame" sid="7673277444792941" type="ui_checkbox">
                                            <param id="0" name="Frame number">clamp(int(Function.Param(1)),0,1)</param>
                                        </action>
                                    </actions>
                                </event-block>
                            </sub-events>
                        </event-block>
                    </sub-events>
                </event-group>
            </sub-events>
        </event-group>
    </events>
</c2eventsheet>
