(Created page with "This script allows Global Variables made with AC to be linked with Application and Saved variables made with [https://assetstore.unity.com/packages/tools/visual-scripting/bolt...") |
(Updated to latest AC) Tag: Visual edit |
||
Line 9: | Line 9: | ||
BoltVariableLink.cs |
BoltVariableLink.cs |
||
+ | using System.Collections;<br> |
||
− | <span style="font-weight:700;color:#ad7fa7;">using</span><span style="color:#d3d7ce;"> System</span><span style="color:#d3d7ce;">.</span><span style="color:#d3d7ce;">Collections</span><span style="color:#d3d7ce;">;</span> |
||
+ | using System.Collections.Generic;<br> |
||
− | <span style="font-weight:700;color:#ad7fa7;">using</span><span style="color:#d3d7ce;"> System</span><span style="color:#d3d7ce;">.</span><span style="color:#d3d7ce;">Collections</span><span style="color:#d3d7ce;">.</span><span style="color:#d3d7ce;">Generic</span><span style="color:#d3d7ce;">;</span> |
||
+ | using UnityEngine;<br> |
||
− | <span style="font-weight:700;color:#ad7fa7;">using</span><span style="color:#d3d7ce;"> UnityEngine</span><span style="color:#d3d7ce;">;</span> |
||
+ | using AC;<br> |
||
− | <span style="font-weight:700;color:#ad7fa7;">using</span><span style="color:#d3d7ce;"> AC</span><span style="color:#d3d7ce;">;</span> |
||
+ | using Bolt;<br> |
||
− | <span style="font-weight:700;color:#ad7fa7;">using</span><span style="color:#d3d7ce;"> Bolt</span><span style="color:#d3d7ce;">;</span> |
||
+ | <br> |
||
− | |||
+ | public class BoltVariableLink : MonoBehaviour<br> |
||
− | <span style="font-weight:700;color:#ad7fa7;">public</span><span style="color:#d3d7ce;"> </span><span style="font-weight:700;color:#ad7fa7;">class</span><span style="color:#d3d7ce;"> </span><span style="color:#8ae233;">BoltVariableLink</span><span style="color:#d3d7ce;"> </span><span style="color:#d3d7ce;">:</span><span style="color:#d3d7ce;"> </span><span style="color:#8ae233;">MonoBehaviour</span> |
||
+ | {<br> |
||
− | <span style="color:#d3d7ce;">{</span> |
||
+ | <br> |
||
− | |||
+ | [SerializeField] BoltVarLink[] boltVarLinks;<br> |
||
− | <span style="color:#d3d7ce;"> </span><span style="color:#d3d7ce;">[</span><span style="color:#d3d7ce;">SerializeField</span><span style="color:#d3d7ce;">]</span><span style="color:#d3d7ce;"> </span><span style="color:#8ae233;">BoltVarLink</span><span style="color:#d3d7ce;">[]</span><span style="color:#d3d7ce;"> </span><span style="font-style:italic;color:#d3d7ce;">boltVarLinks</span><span style="color:#d3d7ce;">;</span> |
||
+ | <br> |
||
− | |||
+ | <br> |
||
− | |||
+ | private void OnEnable ()<br> |
||
− | <span style="color:#d3d7ce;"> </span><span style="font-weight:700;color:#ad7fa7;">private</span><span style="color:#d3d7ce;"> </span><span style="font-weight:700;color:#ad7fa7;">void</span><span style="color:#d3d7ce;"> </span><span style="font-style:italic;color:#d3d7ce;">OnEnable</span><span style="color:#d3d7ce;"> </span><span style="color:#d3d7ce;">()</span> |
||
+ | {<br> |
||
− | <span style="color:#d3d7ce;"> </span><span style="color:#d3d7ce;">{</span> |
||
+ | EventManager.OnDownloadVariable += OnDownload;<br> |
||
− | <span style="color:#d3d7ce;"> </span><span style="color:#8ae233;">EventManager</span><span style="color:#d3d7ce;">.</span><span style="font-style:italic;color:#d3d7ce;">OnDownloadVariable</span><span style="color:#d3d7ce;"> </span><span style="color:#d3d7ce;">+=</span><span style="color:#d3d7ce;"> </span><span style="font-style:italic;color:#d3d7ce;">OnDownload</span><span style="color:#d3d7ce;">;</span> |
||
+ | EventManager.OnUploadVariable += OnUpload;<br> |
||
− | <span style="color:#d3d7ce;"> </span><span style="color:#8ae233;">EventManager</span><span style="color:#d3d7ce;">.</span><span style="font-style:italic;color:#d3d7ce;">OnUploadVariable</span><span style="color:#d3d7ce;"> </span><span style="color:#d3d7ce;">+=</span><span style="color:#d3d7ce;"> </span><span style="font-style:italic;color:#d3d7ce;">OnUpload</span><span style="color:#d3d7ce;">;</span> |
||
+ | }<br> |
||
− | <span style="color:#d3d7ce;"> </span><span style="color:#d3d7ce;">}</span> |
||
+ | <br> |
||
− | |||
+ | <br> |
||
− | |||
+ | private void OnDisable ()<br> |
||
− | <span style="color:#d3d7ce;"> </span><span style="font-weight:700;color:#ad7fa7;">private</span><span style="color:#d3d7ce;"> </span><span style="font-weight:700;color:#ad7fa7;">void</span><span style="color:#d3d7ce;"> </span><span style="font-style:italic;color:#d3d7ce;">OnDisable</span><span style="color:#d3d7ce;"> </span><span style="color:#d3d7ce;">()</span> |
||
+ | {<br> |
||
− | <span style="color:#d3d7ce;"> </span><span style="color:#d3d7ce;">{</span> |
||
+ | EventManager.OnDownloadVariable -= OnDownload;<br> |
||
− | <span style="color:#d3d7ce;"> </span><span style="color:#8ae233;">EventManager</span><span style="color:#d3d7ce;">.</span><span style="font-style:italic;color:#d3d7ce;">OnDownloadVariable</span><span style="color:#d3d7ce;"> </span><span style="color:#d3d7ce;">-=</span><span style="color:#d3d7ce;"> </span><span style="font-style:italic;color:#d3d7ce;">OnDownload</span><span style="color:#d3d7ce;">;</span> |
||
+ | EventManager.OnUploadVariable -= OnUpload;<br> |
||
− | <span style="color:#d3d7ce;"> </span><span style="color:#8ae233;">EventManager</span><span style="color:#d3d7ce;">.</span><span style="font-style:italic;color:#d3d7ce;">OnUploadVariable</span><span style="color:#d3d7ce;"> </span><span style="color:#d3d7ce;">-=</span><span style="color:#d3d7ce;"> </span><span style="font-style:italic;color:#d3d7ce;">OnUpload</span><span style="color:#d3d7ce;">;</span> |
||
+ | }<br> |
||
− | <span style="color:#d3d7ce;"> </span><span style="color:#d3d7ce;">}</span> |
||
+ | <br> |
||
− | |||
+ | <br> |
||
− | |||
+ | private void OnDownload (GVar variable, AC.Variables variables)<br> |
||
− | <span style="color:#d3d7ce;"> </span><span style="font-weight:700;color:#ad7fa7;">private</span><span style="color:#d3d7ce;"> </span><span style="font-weight:700;color:#ad7fa7;">void</span><span style="color:#d3d7ce;"> </span><span style="font-style:italic;color:#d3d7ce;">OnDownload</span><span style="color:#d3d7ce;"> </span><span style="color:#d3d7ce;">(</span><span style="color:#8ae233;">GVar</span><span style="color:#d3d7ce;"> </span><span style="color:#d3d7ce;">variable</span><span style="color:#d3d7ce;">)</span> |
||
+ | {<br> |
||
− | <span style="color:#d3d7ce;"> </span><span style="color:#d3d7ce;">{</span> |
||
+ | foreach (BoltVarLink boltVarLink in boltVarLinks)<br> |
||
− | <span style="color:#d3d7ce;"> </span><span style="font-weight:700;color:#ad7fa7;">foreach</span><span style="color:#d3d7ce;"> </span><span style="color:#d3d7ce;">(</span><span style="color:#8ae233;">BoltVarLink</span><span style="color:#d3d7ce;"> boltVarLink </span><span style="font-weight:700;color:#ad7fa7;">in</span><span style="color:#d3d7ce;"> </span><span style="font-style:italic;color:#d3d7ce;">boltVarLinks</span><span style="color:#d3d7ce;">)</span> |
||
+ | {<br> |
||
− | <span style="color:#d3d7ce;"> </span><span style="color:#d3d7ce;">{</span> |
||
+ | boltVarLink.Download (variable);<br> |
||
− | <span style="color:#d3d7ce;"> </span><span style="color:#d3d7ce;">boltVarLink</span><span style="color:#d3d7ce;">.</span><span style="font-style:italic;color:#d3d7ce;">Download</span><span style="color:#d3d7ce;"> </span><span style="color:#d3d7ce;">(</span><span style="color:#d3d7ce;">variable</span><span style="color:#d3d7ce;">)</span><span style="color:#d3d7ce;">;</span> |
||
+ | }<br> |
||
− | <span style="color:#d3d7ce;"> </span><span style="color:#d3d7ce;">}</span> |
||
+ | }<br> |
||
− | <span style="color:#d3d7ce;"> </span><span style="color:#d3d7ce;">}</span> |
||
+ | <br> |
||
− | |||
+ | <br> |
||
− | |||
+ | private void OnUpload (GVar variable, AC.Variables variables)<br> |
||
− | <span style="color:#d3d7ce;"> </span><span style="font-weight:700;color:#ad7fa7;">private</span><span style="color:#d3d7ce;"> </span><span style="font-weight:700;color:#ad7fa7;">void</span><span style="color:#d3d7ce;"> </span><span style="font-style:italic;color:#d3d7ce;">OnUpload</span><span style="color:#d3d7ce;"> </span><span style="color:#d3d7ce;">(</span><span style="color:#8ae233;">GVar</span><span style="color:#d3d7ce;"> </span><span style="color:#d3d7ce;">variable</span><span style="color:#d3d7ce;">)</span> |
||
+ | {<br> |
||
− | <span style="color:#d3d7ce;"> </span><span style="color:#d3d7ce;">{</span> |
||
+ | foreach (BoltVarLink boltVarLink in boltVarLinks)<br> |
||
− | <span style="color:#d3d7ce;"> </span><span style="font-weight:700;color:#ad7fa7;">foreach</span><span style="color:#d3d7ce;"> </span><span style="color:#d3d7ce;">(</span><span style="color:#8ae233;">BoltVarLink</span><span style="color:#d3d7ce;"> boltVarLink </span><span style="font-weight:700;color:#ad7fa7;">in</span><span style="color:#d3d7ce;"> </span><span style="font-style:italic;color:#d3d7ce;">boltVarLinks</span><span style="color:#d3d7ce;">)</span> |
||
+ | {<br> |
||
− | <span style="color:#d3d7ce;"> </span><span style="color:#d3d7ce;">{</span> |
||
+ | boltVarLink.Upload (variable);<br> |
||
− | <span style="color:#d3d7ce;"> </span><span style="color:#d3d7ce;">boltVarLink</span><span style="color:#d3d7ce;">.</span><span style="font-style:italic;color:#d3d7ce;">Upload</span><span style="color:#d3d7ce;"> </span><span style="color:#d3d7ce;">(</span><span style="color:#d3d7ce;">variable</span><span style="color:#d3d7ce;">)</span><span style="color:#d3d7ce;">;</span> |
||
+ | }<br> |
||
− | <span style="color:#d3d7ce;"> </span><span style="color:#d3d7ce;">}</span> |
||
+ | }<br> |
||
− | <span style="color:#d3d7ce;"> </span><span style="color:#d3d7ce;">}</span> |
||
+ | <br> |
||
− | |||
+ | <br> |
||
− | |||
+ | [System.Serializable] private class BoltVarLink<br> |
||
− | <span style="color:#d3d7ce;"> </span><span style="color:#d3d7ce;">[</span><span style="color:#d3d7ce;">System</span><span style="color:#d3d7ce;">.</span><span style="color:#8ae233;">Serializable</span><span style="color:#d3d7ce;">]</span><span style="color:#d3d7ce;"> </span><span style="font-weight:700;color:#ad7fa7;">private</span><span style="color:#d3d7ce;"> </span><span style="font-weight:700;color:#ad7fa7;">class</span><span style="color:#d3d7ce;"> </span><span style="color:#8ae233;">BoltVarLink</span> |
||
+ | {<br> |
||
− | <span style="color:#d3d7ce;"> </span><span style="color:#d3d7ce;">{</span> |
||
+ | <br> |
||
− | |||
+ | [SerializeField] private string boltVariableName = "";<br> |
||
− | <span style="color:#d3d7ce;"> </span><span style="color:#d3d7ce;">[</span><span style="color:#d3d7ce;">SerializeField</span><span style="color:#d3d7ce;">]</span><span style="color:#d3d7ce;"> </span><span style="font-weight:700;color:#ad7fa7;">private</span><span style="color:#d3d7ce;"> </span><span style="font-weight:700;color:#ad7fa7;">string</span><span style="color:#d3d7ce;"> </span><span style="font-style:italic;color:#d3d7ce;">boltVariableName</span><span style="color:#d3d7ce;"> </span><span style="color:#d3d7ce;">=</span><span style="color:#d3d7ce;"> </span><span style="color:#edd400;">"</span><span style="color:#edd400;">"</span><span style="color:#d3d7ce;">;</span> |
||
+ | [SerializeField] private BoltVariableType boltVariableType = BoltVariableType.Application;<br> |
||
− | <span style="color:#d3d7ce;"> </span><span style="color:#d3d7ce;">[</span><span style="color:#d3d7ce;">SerializeField</span><span style="color:#d3d7ce;">]</span><span style="color:#d3d7ce;"> </span><span style="font-weight:700;color:#ad7fa7;">private</span><span style="color:#d3d7ce;"> </span><span style="color:#8ae233;">BoltVariableType</span><span style="color:#d3d7ce;"> </span><span style="font-style:italic;color:#d3d7ce;">boltVariableType</span><span style="color:#d3d7ce;"> </span><span style="color:#d3d7ce;">=</span><span style="color:#d3d7ce;"> </span><span style="color:#8ae233;">BoltVariableType</span><span style="color:#d3d7ce;">.</span><span style="font-style:italic;color:#d3d7ce;">Application</span><span style="color:#d3d7ce;">;</span> |
||
+ | private enum BoltVariableType { Application, Saved };<br> |
||
− | <span style="color:#d3d7ce;"> </span><span style="font-weight:700;color:#ad7fa7;">private</span><span style="color:#d3d7ce;"> </span><span style="font-weight:700;color:#ad7fa7;">enum</span><span style="color:#d3d7ce;"> </span><span style="color:#8ae233;">BoltVariableType</span><span style="color:#d3d7ce;"> </span><span style="color:#d3d7ce;">{</span><span style="color:#d3d7ce;"> Application</span><span style="color:#d3d7ce;">,</span><span style="color:#d3d7ce;"> Saved </span><span style="color:#d3d7ce;">}</span><span style="color:#d3d7ce;">;</span> |
||
+ | [SerializeField] private int acVariableID = 0;<br> |
||
− | <span style="color:#d3d7ce;"> </span><span style="color:#d3d7ce;">[</span><span style="color:#d3d7ce;">SerializeField</span><span style="color:#d3d7ce;">]</span><span style="color:#d3d7ce;"> </span><span style="font-weight:700;color:#ad7fa7;">private</span><span style="color:#d3d7ce;"> </span><span style="font-weight:700;color:#ad7fa7;">int</span><span style="color:#d3d7ce;"> </span><span style="font-style:italic;color:#d3d7ce;">acVariableID</span><span style="color:#d3d7ce;"> </span><span style="color:#d3d7ce;">=</span><span style="color:#d3d7ce;"> </span><span style="color:#edd400;">0</span><span style="color:#d3d7ce;">;</span> |
||
+ | <br> |
||
− | |||
+ | <br> |
||
− | |||
+ | public void Download (GVar variable)<br> |
||
− | <span style="color:#d3d7ce;"> </span><span style="font-weight:700;color:#ad7fa7;">public</span><span style="color:#d3d7ce;"> </span><span style="font-weight:700;color:#ad7fa7;">void</span><span style="color:#d3d7ce;"> </span><span style="font-style:italic;color:#d3d7ce;">Download</span><span style="color:#d3d7ce;"> </span><span style="color:#d3d7ce;">(</span><span style="color:#8ae233;">GVar</span><span style="color:#d3d7ce;"> </span><span style="color:#d3d7ce;">variable</span><span style="color:#d3d7ce;">)</span> |
||
+ | {<br> |
||
− | <span style="color:#d3d7ce;"> </span><span style="color:#d3d7ce;">{</span> |
||
+ | if (!string.IsNullOrEmpty (boltVariableName) && variable.id == acVariableID)<br> |
||
− | <span style="color:#d3d7ce;"> </span><span style="font-weight:700;color:#ffffff;">if</span><span style="color:#d3d7ce;"> </span><span style="color:#d3d7ce;">(</span><span style="color:#d3d7ce;">!</span><span style="font-weight:700;color:#ad7fa7;">string</span><span style="color:#d3d7ce;">.</span><span style="font-style:italic;color:#d3d7ce;">IsNullOrEmpty</span><span style="color:#d3d7ce;"> </span><span style="color:#d3d7ce;">(</span><span style="font-style:italic;color:#d3d7ce;">boltVariableName</span><span style="color:#d3d7ce;">)</span><span style="color:#d3d7ce;"> </span><span style="color:#d3d7ce;">&&</span><span style="color:#d3d7ce;"> </span><span style="color:#d3d7ce;">variable</span><span style="color:#d3d7ce;">.</span><span style="font-style:italic;color:#d3d7ce;">id</span><span style="color:#d3d7ce;"> </span><span style="color:#d3d7ce;">==</span><span style="color:#d3d7ce;"> </span><span style="font-style:italic;color:#d3d7ce;">acVariableID</span><span style="color:#d3d7ce;">)</span> |
||
+ | {<br> |
||
− | <span style="color:#d3d7ce;"> </span><span style="color:#d3d7ce;">{</span> |
||
+ | if (boltVariableType == BoltVariableType.Application)<br> |
||
− | <span style="color:#d3d7ce;"> </span><span style="font-weight:700;color:#ffffff;">if</span><span style="color:#d3d7ce;"> </span><span style="color:#d3d7ce;">(</span><span style="font-style:italic;color:#d3d7ce;">boltVariableType</span><span style="color:#d3d7ce;"> </span><span style="color:#d3d7ce;">==</span><span style="color:#d3d7ce;"> </span><span style="color:#8ae233;">BoltVariableType</span><span style="color:#d3d7ce;">.</span><span style="font-style:italic;color:#d3d7ce;">Application</span><span style="color:#d3d7ce;">)</span> |
||
+ | {<br> |
||
− | <span style="color:#d3d7ce;"> </span><span style="color:#d3d7ce;">{</span> |
||
+ | switch (variable.type)<br> |
||
− | <span style="color:#d3d7ce;"> </span><span style="font-weight:700;color:#ffffff;">switch</span><span style="color:#d3d7ce;"> </span><span style="color:#d3d7ce;">(</span><span style="color:#d3d7ce;">variable</span><span style="color:#d3d7ce;">.</span><span style="font-style:italic;color:#d3d7ce;">type</span><span style="color:#d3d7ce;">)</span> |
||
+ | {<br> |
||
− | <span style="color:#d3d7ce;"> </span><span style="color:#d3d7ce;">{</span> |
||
+ | case VariableType.Integer:<br> |
||
− | <span style="color:#d3d7ce;"> </span><span style="font-weight:700;color:#ffffff;">case</span><span style="color:#d3d7ce;"> </span><span style="color:#8ae233;">VariableType</span><span style="color:#d3d7ce;">.</span><span style="font-style:italic;color:#d3d7ce;">Integer</span><span style="color:#d3d7ce;">:</span> |
||
+ | case VariableType.PopUp:<br> |
||
− | <span style="color:#d3d7ce;"> </span><span style="font-weight:700;color:#ffffff;">case</span><span style="color:#d3d7ce;"> </span><span style="color:#8ae233;">VariableType</span><span style="color:#d3d7ce;">.</span><span style="font-style:italic;color:#d3d7ce;">PopUp</span><span style="color:#d3d7ce;">:</span> |
||
+ | variable.IntegerValue = (int) Bolt.Variables.Application.Get (boltVariableName);<br> |
||
− | <span style="color:#d3d7ce;"> </span><span style="color:#d3d7ce;">variable</span><span style="color:#d3d7ce;">.</span><span style="font-style:italic;color:#d3d7ce;">IntegerValue</span><span style="color:#d3d7ce;"> </span><span style="color:#d3d7ce;">=</span><span style="color:#d3d7ce;"> </span><span style="color:#d3d7ce;">(</span><span style="font-weight:700;color:#ad7fa7;">int</span><span style="color:#d3d7ce;">)</span><span style="color:#d3d7ce;"> </span><span style="color:#8ae233;">Variables</span><span style="color:#d3d7ce;">.</span><span style="font-style:italic;color:#d3d7ce;">Application</span><span style="color:#d3d7ce;">.</span><span style="font-style:italic;color:#d3d7ce;">Get</span><span style="color:#d3d7ce;"> </span><span style="color:#d3d7ce;">(</span><span style="font-style:italic;color:#d3d7ce;">boltVariableName</span><span style="color:#d3d7ce;">)</span><span style="color:#d3d7ce;">;</span> |
||
+ | break;<br> |
||
− | <span style="color:#d3d7ce;"> </span><span style="font-weight:700;color:#ad7fa7;">break</span><span style="color:#d3d7ce;">;</span> |
||
+ | <br> |
||
− | |||
+ | case VariableType.Boolean:<br> |
||
− | <span style="color:#d3d7ce;"> </span><span style="font-weight:700;color:#ffffff;">case</span><span style="color:#d3d7ce;"> </span><span style="color:#8ae233;">VariableType</span><span style="color:#d3d7ce;">.</span><span style="font-style:italic;color:#d3d7ce;">Boolean</span><span style="color:#d3d7ce;">:</span> |
||
+ | variable.BooleanValue = (bool) Bolt.Variables.Application.Get (boltVariableName);<br> |
||
− | <span style="color:#d3d7ce;"> </span><span style="color:#d3d7ce;">variable</span><span style="color:#d3d7ce;">.</span><span style="font-style:italic;color:#d3d7ce;">BooleanValue</span><span style="color:#d3d7ce;"> </span><span style="color:#d3d7ce;">=</span><span style="color:#d3d7ce;"> </span><span style="color:#d3d7ce;">(</span><span style="font-weight:700;color:#ad7fa7;">bool</span><span style="color:#d3d7ce;">)</span><span style="color:#d3d7ce;"> </span><span style="color:#8ae233;">Variables</span><span style="color:#d3d7ce;">.</span><span style="font-style:italic;color:#d3d7ce;">Application</span><span style="color:#d3d7ce;">.</span><span style="font-style:italic;color:#d3d7ce;">Get</span><span style="color:#d3d7ce;"> </span><span style="color:#d3d7ce;">(</span><span style="font-style:italic;color:#d3d7ce;">boltVariableName</span><span style="color:#d3d7ce;">)</span><span style="color:#d3d7ce;">;</span> |
||
+ | break;<br> |
||
− | <span style="color:#d3d7ce;"> </span><span style="font-weight:700;color:#ad7fa7;">break</span><span style="color:#d3d7ce;">;</span> |
||
+ | |||
− | <span style="color:#d3d7ce;"> </span> |
||
+ | <br> |
||
− | <span style="color:#d3d7ce;"> </span><span style="font-weight:700;color:#ffffff;">case</span><span style="color:#d3d7ce;"> </span><span style="color:#8ae233;">VariableType</span><span style="color:#d3d7ce;">.</span><span style="font-style:italic;color:#d3d7ce;">Float</span><span style="color:#d3d7ce;">:</span> |
||
+ | case VariableType.Float:<br> |
||
− | <span style="color:#d3d7ce;"> </span><span style="color:#d3d7ce;">variable</span><span style="color:#d3d7ce;">.</span><span style="font-style:italic;color:#d3d7ce;">FloatValue</span><span style="color:#d3d7ce;"> </span><span style="color:#d3d7ce;">=</span><span style="color:#d3d7ce;"> </span><span style="color:#d3d7ce;">(</span><span style="font-weight:700;color:#ad7fa7;">float</span><span style="color:#d3d7ce;">)</span><span style="color:#d3d7ce;"> </span><span style="color:#8ae233;">Variables</span><span style="color:#d3d7ce;">.</span><span style="font-style:italic;color:#d3d7ce;">Application</span><span style="color:#d3d7ce;">.</span><span style="font-style:italic;color:#d3d7ce;">Get</span><span style="color:#d3d7ce;"> </span><span style="color:#d3d7ce;">(</span><span style="font-style:italic;color:#d3d7ce;">boltVariableName</span><span style="color:#d3d7ce;">)</span><span style="color:#d3d7ce;">;</span> |
||
+ | variable.FloatValue = (float) Bolt.Variables.Application.Get (boltVariableName);<br> |
||
− | <span style="color:#d3d7ce;"> </span><span style="font-weight:700;color:#ad7fa7;">break</span><span style="color:#d3d7ce;">;</span> |
||
+ | break;<br> |
||
− | |||
+ | <br> |
||
− | <span style="color:#d3d7ce;"> </span><span style="font-weight:700;color:#ffffff;">case</span><span style="color:#d3d7ce;"> </span><span style="color:#8ae233;">VariableType</span><span style="color:#d3d7ce;">.</span><span style="font-style:italic;color:#d3d7ce;">String</span><span style="color:#d3d7ce;">:</span> |
||
+ | case VariableType.String:<br> |
||
− | <span style="color:#d3d7ce;"> </span><span style="color:#d3d7ce;">variable</span><span style="color:#d3d7ce;">.</span><span style="font-style:italic;color:#d3d7ce;">TextValue</span><span style="color:#d3d7ce;"> </span><span style="color:#d3d7ce;">=</span><span style="color:#d3d7ce;"> </span><span style="color:#d3d7ce;">(</span><span style="font-weight:700;color:#ad7fa7;">string</span><span style="color:#d3d7ce;">)</span><span style="color:#d3d7ce;"> </span><span style="color:#8ae233;">Variables</span><span style="color:#d3d7ce;">.</span><span style="font-style:italic;color:#d3d7ce;">Application</span><span style="color:#d3d7ce;">.</span><span style="font-style:italic;color:#d3d7ce;">Get</span><span style="color:#d3d7ce;"> </span><span style="color:#d3d7ce;">(</span><span style="font-style:italic;color:#d3d7ce;">boltVariableName</span><span style="color:#d3d7ce;">)</span><span style="color:#d3d7ce;">;</span> |
||
+ | variable.TextValue = (string) Bolt.Variables.Application.Get (boltVariableName);<br> |
||
− | <span style="color:#d3d7ce;"> </span><span style="font-weight:700;color:#ad7fa7;">break</span><span style="color:#d3d7ce;">;</span> |
||
+ | break;<br> |
||
− | |||
+ | <br> |
||
− | <span style="color:#d3d7ce;"> </span><span style="font-weight:700;color:#ffffff;">case</span><span style="color:#d3d7ce;"> </span><span style="color:#8ae233;">VariableType</span><span style="color:#d3d7ce;">.</span><span style="font-style:italic;color:#d3d7ce;">Vector3</span><span style="color:#d3d7ce;">:</span> |
||
+ | case VariableType.Vector3:<br> |
||
− | <span style="color:#d3d7ce;"> </span><span style="color:#d3d7ce;">variable</span><span style="color:#d3d7ce;">.</span><span style="font-style:italic;color:#d3d7ce;">Vector3Value</span><span style="color:#d3d7ce;"> </span><span style="color:#d3d7ce;">=</span><span style="color:#d3d7ce;"> </span><span style="color:#d3d7ce;">(</span><span style="color:#8ae233;">Vector3</span><span style="color:#d3d7ce;">)</span><span style="color:#d3d7ce;"> </span><span style="color:#8ae233;">Variables</span><span style="color:#d3d7ce;">.</span><span style="font-style:italic;color:#d3d7ce;">Application</span><span style="color:#d3d7ce;">.</span><span style="font-style:italic;color:#d3d7ce;">Get</span><span style="color:#d3d7ce;"> </span><span style="color:#d3d7ce;">(</span><span style="font-style:italic;color:#d3d7ce;">boltVariableName</span><span style="color:#d3d7ce;">)</span><span style="color:#d3d7ce;">;</span> |
||
+ | variable.Vector3Value = (Vector3) Bolt.Variables.Application.Get (boltVariableName);<br> |
||
− | <span style="color:#d3d7ce;"> </span><span style="font-weight:700;color:#ad7fa7;">break</span><span style="color:#d3d7ce;">;</span> |
||
+ | break;<br> |
||
− | <span style="color:#d3d7ce;"> </span><span style="color:#d3d7ce;">}</span> |
||
+ | }<br> |
||
− | <span style="color:#d3d7ce;"> </span><span style="color:#d3d7ce;">}</span> |
||
+ | }<br> |
||
− | <span style="color:#d3d7ce;"> </span><span style="font-weight:700;color:#ffffff;">else</span><span style="color:#d3d7ce;"> </span><span style="font-weight:700;color:#ffffff;">if</span><span style="color:#d3d7ce;"> </span><span style="color:#d3d7ce;">(</span><span style="font-style:italic;color:#d3d7ce;">boltVariableType</span><span style="color:#d3d7ce;"> </span><span style="color:#d3d7ce;">==</span><span style="color:#d3d7ce;"> </span><span style="color:#8ae233;">BoltVariableType</span><span style="color:#d3d7ce;">.</span><span style="font-style:italic;color:#d3d7ce;">Saved</span><span style="color:#d3d7ce;">)</span> |
||
+ | else if (boltVariableType == BoltVariableType.Saved)<br> |
||
− | <span style="color:#d3d7ce;"> </span><span style="color:#d3d7ce;">{</span> |
||
+ | {<br> |
||
− | <span style="color:#d3d7ce;"> </span><span style="font-weight:700;color:#ffffff;">switch</span><span style="color:#d3d7ce;"> </span><span style="color:#d3d7ce;">(</span><span style="color:#d3d7ce;">variable</span><span style="color:#d3d7ce;">.</span><span style="font-style:italic;color:#d3d7ce;">type</span><span style="color:#d3d7ce;">)</span> |
||
+ | switch (variable.type)<br> |
||
− | <span style="color:#d3d7ce;"> </span><span style="color:#d3d7ce;">{</span> |
||
+ | {<br> |
||
− | <span style="color:#d3d7ce;"> </span><span style="font-weight:700;color:#ffffff;">case</span><span style="color:#d3d7ce;"> </span><span style="color:#8ae233;">VariableType</span><span style="color:#d3d7ce;">.</span><span style="font-style:italic;color:#d3d7ce;">Integer</span><span style="color:#d3d7ce;">:</span> |
||
+ | case VariableType.Integer:<br> |
||
− | <span style="color:#d3d7ce;"> </span><span style="font-weight:700;color:#ffffff;">case</span><span style="color:#d3d7ce;"> </span><span style="color:#8ae233;">VariableType</span><span style="color:#d3d7ce;">.</span><span style="font-style:italic;color:#d3d7ce;">PopUp</span><span style="color:#d3d7ce;">:</span> |
||
+ | case VariableType.PopUp:<br> |
||
− | <span style="color:#d3d7ce;"> </span><span style="color:#d3d7ce;">variable</span><span style="color:#d3d7ce;">.</span><span style="font-style:italic;color:#d3d7ce;">IntegerValue</span><span style="color:#d3d7ce;"> </span><span style="color:#d3d7ce;">=</span><span style="color:#d3d7ce;"> </span><span style="color:#d3d7ce;">(</span><span style="font-weight:700;color:#ad7fa7;">int</span><span style="color:#d3d7ce;">)</span><span style="color:#d3d7ce;"> </span><span style="color:#8ae233;">Variables</span><span style="color:#d3d7ce;">.</span><span style="font-style:italic;color:#d3d7ce;">Saved</span><span style="color:#d3d7ce;">.</span><span style="font-style:italic;color:#d3d7ce;">Get</span><span style="color:#d3d7ce;"> </span><span style="color:#d3d7ce;">(</span><span style="font-style:italic;color:#d3d7ce;">boltVariableName</span><span style="color:#d3d7ce;">)</span><span style="color:#d3d7ce;">;</span> |
||
+ | variable.IntegerValue = (int) Bolt.Variables.Saved.Get (boltVariableName);<br> |
||
− | <span style="color:#d3d7ce;"> </span><span style="font-weight:700;color:#ad7fa7;">break</span><span style="color:#d3d7ce;">;</span> |
||
+ | break;<br> |
||
− | |||
+ | <br> |
||
− | <span style="color:#d3d7ce;"> </span><span style="font-weight:700;color:#ffffff;">case</span><span style="color:#d3d7ce;"> </span><span style="color:#8ae233;">VariableType</span><span style="color:#d3d7ce;">.</span><span style="font-style:italic;color:#d3d7ce;">Boolean</span><span style="color:#d3d7ce;">:</span> |
||
+ | case VariableType.Boolean:<br> |
||
− | <span style="color:#d3d7ce;"> </span><span style="color:#d3d7ce;">variable</span><span style="color:#d3d7ce;">.</span><span style="font-style:italic;color:#d3d7ce;">BooleanValue</span><span style="color:#d3d7ce;"> </span><span style="color:#d3d7ce;">=</span><span style="color:#d3d7ce;"> </span><span style="color:#d3d7ce;">(</span><span style="font-weight:700;color:#ad7fa7;">bool</span><span style="color:#d3d7ce;">)</span><span style="color:#d3d7ce;"> </span><span style="color:#8ae233;">Variables</span><span style="color:#d3d7ce;">.</span><span style="font-style:italic;color:#d3d7ce;">Saved</span><span style="color:#d3d7ce;">.</span><span style="font-style:italic;color:#d3d7ce;">Get</span><span style="color:#d3d7ce;"> </span><span style="color:#d3d7ce;">(</span><span style="font-style:italic;color:#d3d7ce;">boltVariableName</span><span style="color:#d3d7ce;">)</span><span style="color:#d3d7ce;">;</span> |
||
+ | variable.BooleanValue = (bool) Bolt.Variables.Saved.Get (boltVariableName);<br> |
||
− | <span style="color:#d3d7ce;"> </span><span style="font-weight:700;color:#ad7fa7;">break</span><span style="color:#d3d7ce;">;</span> |
||
+ | break;<br> |
||
− | <span style="color:#d3d7ce;"> </span> |
||
+ | |||
− | <span style="color:#d3d7ce;"> </span><span style="font-weight:700;color:#ffffff;">case</span><span style="color:#d3d7ce;"> </span><span style="color:#8ae233;">VariableType</span><span style="color:#d3d7ce;">.</span><span style="font-style:italic;color:#d3d7ce;">Float</span><span style="color:#d3d7ce;">:</span> |
||
+ | <br> |
||
− | <span style="color:#d3d7ce;"> </span><span style="color:#d3d7ce;">variable</span><span style="color:#d3d7ce;">.</span><span style="font-style:italic;color:#d3d7ce;">FloatValue</span><span style="color:#d3d7ce;"> </span><span style="color:#d3d7ce;">=</span><span style="color:#d3d7ce;"> </span><span style="color:#d3d7ce;">(</span><span style="font-weight:700;color:#ad7fa7;">float</span><span style="color:#d3d7ce;">)</span><span style="color:#d3d7ce;"> </span><span style="color:#8ae233;">Variables</span><span style="color:#d3d7ce;">.</span><span style="font-style:italic;color:#d3d7ce;">Saved</span><span style="color:#d3d7ce;">.</span><span style="font-style:italic;color:#d3d7ce;">Get</span><span style="color:#d3d7ce;"> </span><span style="color:#d3d7ce;">(</span><span style="font-style:italic;color:#d3d7ce;">boltVariableName</span><span style="color:#d3d7ce;">)</span><span style="color:#d3d7ce;">;</span> |
||
+ | case VariableType.Float:<br> |
||
− | <span style="color:#d3d7ce;"> </span><span style="font-weight:700;color:#ad7fa7;">break</span><span style="color:#d3d7ce;">;</span> |
||
+ | variable.FloatValue = (float) Bolt.Variables.Saved.Get (boltVariableName);<br> |
||
− | |||
+ | break;<br> |
||
− | <span style="color:#d3d7ce;"> </span><span style="font-weight:700;color:#ffffff;">case</span><span style="color:#d3d7ce;"> </span><span style="color:#8ae233;">VariableType</span><span style="color:#d3d7ce;">.</span><span style="font-style:italic;color:#d3d7ce;">String</span><span style="color:#d3d7ce;">:</span> |
||
+ | <br> |
||
− | <span style="color:#d3d7ce;"> </span><span style="color:#d3d7ce;">variable</span><span style="color:#d3d7ce;">.</span><span style="font-style:italic;color:#d3d7ce;">TextValue</span><span style="color:#d3d7ce;"> </span><span style="color:#d3d7ce;">=</span><span style="color:#d3d7ce;"> </span><span style="color:#d3d7ce;">(</span><span style="font-weight:700;color:#ad7fa7;">string</span><span style="color:#d3d7ce;">)</span><span style="color:#d3d7ce;"> </span><span style="color:#8ae233;">Variables</span><span style="color:#d3d7ce;">.</span><span style="font-style:italic;color:#d3d7ce;">Saved</span><span style="color:#d3d7ce;">.</span><span style="font-style:italic;color:#d3d7ce;">Get</span><span style="color:#d3d7ce;"> </span><span style="color:#d3d7ce;">(</span><span style="font-style:italic;color:#d3d7ce;">boltVariableName</span><span style="color:#d3d7ce;">)</span><span style="color:#d3d7ce;">;</span> |
||
+ | case VariableType.String:<br> |
||
− | <span style="color:#d3d7ce;"> </span><span style="font-weight:700;color:#ad7fa7;">break</span><span style="color:#d3d7ce;">;</span> |
||
+ | variable.TextValue = (string) Bolt.Variables.Saved.Get (boltVariableName);<br> |
||
− | |||
+ | break;<br> |
||
− | <span style="color:#d3d7ce;"> </span><span style="font-weight:700;color:#ffffff;">case</span><span style="color:#d3d7ce;"> </span><span style="color:#8ae233;">VariableType</span><span style="color:#d3d7ce;">.</span><span style="font-style:italic;color:#d3d7ce;">Vector3</span><span style="color:#d3d7ce;">:</span> |
||
+ | <br> |
||
− | <span style="color:#d3d7ce;"> </span><span style="color:#d3d7ce;">variable</span><span style="color:#d3d7ce;">.</span><span style="font-style:italic;color:#d3d7ce;">Vector3Value</span><span style="color:#d3d7ce;"> </span><span style="color:#d3d7ce;">=</span><span style="color:#d3d7ce;"> </span><span style="color:#d3d7ce;">(</span><span style="color:#8ae233;">Vector3</span><span style="color:#d3d7ce;">)</span><span style="color:#d3d7ce;"> </span><span style="color:#8ae233;">Variables</span><span style="color:#d3d7ce;">.</span><span style="font-style:italic;color:#d3d7ce;">Saved</span><span style="color:#d3d7ce;">.</span><span style="font-style:italic;color:#d3d7ce;">Get</span><span style="color:#d3d7ce;"> </span><span style="color:#d3d7ce;">(</span><span style="font-style:italic;color:#d3d7ce;">boltVariableName</span><span style="color:#d3d7ce;">)</span><span style="color:#d3d7ce;">;</span> |
||
+ | case VariableType.Vector3:<br> |
||
− | <span style="color:#d3d7ce;"> </span><span style="font-weight:700;color:#ad7fa7;">break</span><span style="color:#d3d7ce;">;</span> |
||
+ | variable.Vector3Value = (Vector3) Bolt.Variables.Saved.Get (boltVariableName);<br> |
||
− | <span style="color:#d3d7ce;"> </span><span style="color:#d3d7ce;">}</span> |
||
+ | break;<br> |
||
− | <span style="color:#d3d7ce;"> </span><span style="color:#d3d7ce;">}</span> |
||
+ | }<br> |
||
− | <span style="color:#d3d7ce;"> </span><span style="color:#d3d7ce;">}</span> |
||
+ | }<br> |
||
− | <span style="color:#d3d7ce;"> </span><span style="color:#d3d7ce;">}</span> |
||
+ | }<br> |
||
− | |||
+ | }<br> |
||
− | |||
+ | <br> |
||
− | <span style="color:#d3d7ce;"> </span><span style="font-weight:700;color:#ad7fa7;">public</span><span style="color:#d3d7ce;"> </span><span style="font-weight:700;color:#ad7fa7;">void</span><span style="color:#d3d7ce;"> </span><span style="font-style:italic;color:#d3d7ce;">Upload</span><span style="color:#d3d7ce;"> </span><span style="color:#d3d7ce;">(</span><span style="color:#8ae233;">GVar</span><span style="color:#d3d7ce;"> </span><span style="color:#d3d7ce;">variable</span><span style="color:#d3d7ce;">)</span> |
||
+ | <br> |
||
− | <span style="color:#d3d7ce;"> </span><span style="color:#d3d7ce;">{</span> |
||
+ | public void Upload (GVar variable)<br> |
||
− | <span style="color:#d3d7ce;"> </span><span style="font-weight:700;color:#ffffff;">if</span><span style="color:#d3d7ce;"> </span><span style="color:#d3d7ce;">(</span><span style="color:#d3d7ce;">!</span><span style="font-weight:700;color:#ad7fa7;">string</span><span style="color:#d3d7ce;">.</span><span style="font-style:italic;color:#d3d7ce;">IsNullOrEmpty</span><span style="color:#d3d7ce;"> </span><span style="color:#d3d7ce;">(</span><span style="font-style:italic;color:#d3d7ce;">boltVariableName</span><span style="color:#d3d7ce;">)</span><span style="color:#d3d7ce;"> </span><span style="color:#d3d7ce;">&&</span><span style="color:#d3d7ce;"> </span><span style="color:#d3d7ce;">variable</span><span style="color:#d3d7ce;">.</span><span style="font-style:italic;color:#d3d7ce;">id</span><span style="color:#d3d7ce;"> </span><span style="color:#d3d7ce;">==</span><span style="color:#d3d7ce;"> </span><span style="font-style:italic;color:#d3d7ce;">acVariableID</span><span style="color:#d3d7ce;">)</span> |
||
+ | {<br> |
||
− | <span style="color:#d3d7ce;"> </span><span style="color:#d3d7ce;">{</span> |
||
+ | if (!string.IsNullOrEmpty (boltVariableName) && variable.id == acVariableID)<br> |
||
− | <span style="color:#d3d7ce;"> </span><span style="font-weight:700;color:#ffffff;">if</span><span style="color:#d3d7ce;"> </span><span style="color:#d3d7ce;">(</span><span style="font-style:italic;color:#d3d7ce;">boltVariableType</span><span style="color:#d3d7ce;"> </span><span style="color:#d3d7ce;">==</span><span style="color:#d3d7ce;"> </span><span style="color:#8ae233;">BoltVariableType</span><span style="color:#d3d7ce;">.</span><span style="font-style:italic;color:#d3d7ce;">Application</span><span style="color:#d3d7ce;">)</span> |
||
+ | {<br> |
||
− | <span style="color:#d3d7ce;"> </span><span style="color:#d3d7ce;">{</span> |
||
+ | if (boltVariableType == BoltVariableType.Application)<br> |
||
− | <span style="color:#d3d7ce;"> </span><span style="font-weight:700;color:#ffffff;">switch</span><span style="color:#d3d7ce;"> </span><span style="color:#d3d7ce;">(</span><span style="color:#d3d7ce;">variable</span><span style="color:#d3d7ce;">.</span><span style="font-style:italic;color:#d3d7ce;">type</span><span style="color:#d3d7ce;">)</span> |
||
+ | {<br> |
||
− | <span style="color:#d3d7ce;"> </span><span style="color:#d3d7ce;">{</span> |
||
+ | switch (variable.type)<br> |
||
− | <span style="color:#d3d7ce;"> </span><span style="font-weight:700;color:#ffffff;">case</span><span style="color:#d3d7ce;"> </span><span style="color:#8ae233;">VariableType</span><span style="color:#d3d7ce;">.</span><span style="font-style:italic;color:#d3d7ce;">Integer</span><span style="color:#d3d7ce;">:</span> |
||
+ | {<br> |
||
− | <span style="color:#d3d7ce;"> </span><span style="font-weight:700;color:#ffffff;">case</span><span style="color:#d3d7ce;"> </span><span style="color:#8ae233;">VariableType</span><span style="color:#d3d7ce;">.</span><span style="font-style:italic;color:#d3d7ce;">PopUp</span><span style="color:#d3d7ce;">:</span> |
||
+ | case VariableType.Integer:<br> |
||
− | <span style="color:#d3d7ce;"> </span><span style="color:#8ae233;">Variables</span><span style="color:#d3d7ce;">.</span><span style="font-style:italic;color:#d3d7ce;">Application</span><span style="color:#d3d7ce;">.</span><span style="font-style:italic;color:#d3d7ce;">Set</span><span style="color:#d3d7ce;"> </span><span style="color:#d3d7ce;">(</span><span style="font-style:italic;color:#d3d7ce;">boltVariableName</span><span style="color:#d3d7ce;">,</span><span style="color:#d3d7ce;"> </span><span style="color:#d3d7ce;">variable</span><span style="color:#d3d7ce;">.</span><span style="font-style:italic;color:#d3d7ce;">IntegerValue</span><span style="color:#d3d7ce;">)</span><span style="color:#d3d7ce;">;</span> |
||
+ | case VariableType.PopUp:<br> |
||
− | <span style="color:#d3d7ce;"> </span><span style="font-weight:700;color:#ad7fa7;">break</span><span style="color:#d3d7ce;">;</span> |
||
+ | Bolt.Variables.Application.Set (boltVariableName, variable.IntegerValue);<br> |
||
− | |||
+ | break;<br> |
||
− | <span style="color:#d3d7ce;"> </span><span style="font-weight:700;color:#ffffff;">case</span><span style="color:#d3d7ce;"> </span><span style="color:#8ae233;">VariableType</span><span style="color:#d3d7ce;">.</span><span style="font-style:italic;color:#d3d7ce;">Boolean</span><span style="color:#d3d7ce;">:</span> |
||
+ | <br> |
||
− | <span style="color:#d3d7ce;"> </span><span style="color:#8ae233;">Variables</span><span style="color:#d3d7ce;">.</span><span style="font-style:italic;color:#d3d7ce;">Application</span><span style="color:#d3d7ce;">.</span><span style="font-style:italic;color:#d3d7ce;">Set</span><span style="color:#d3d7ce;"> </span><span style="color:#d3d7ce;">(</span><span style="font-style:italic;color:#d3d7ce;">boltVariableName</span><span style="color:#d3d7ce;">,</span><span style="color:#d3d7ce;"> </span><span style="color:#d3d7ce;">variable</span><span style="color:#d3d7ce;">.</span><span style="font-style:italic;color:#d3d7ce;">BooleanValue</span><span style="color:#d3d7ce;">)</span><span style="color:#d3d7ce;">;</span> |
||
+ | case VariableType.Boolean:<br> |
||
− | <span style="color:#d3d7ce;"> </span><span style="font-weight:700;color:#ad7fa7;">break</span><span style="color:#d3d7ce;">;</span> |
||
+ | Bolt.Variables.Application.Set (boltVariableName, variable.BooleanValue);<br> |
||
− | |||
+ | break;<br> |
||
− | <span style="color:#d3d7ce;"> </span><span style="font-weight:700;color:#ffffff;">case</span><span style="color:#d3d7ce;"> </span><span style="color:#8ae233;">VariableType</span><span style="color:#d3d7ce;">.</span><span style="font-style:italic;color:#d3d7ce;">Float</span><span style="color:#d3d7ce;">:</span> |
||
+ | <br> |
||
− | <span style="color:#d3d7ce;"> </span><span style="color:#8ae233;">Variables</span><span style="color:#d3d7ce;">.</span><span style="font-style:italic;color:#d3d7ce;">Application</span><span style="color:#d3d7ce;">.</span><span style="font-style:italic;color:#d3d7ce;">Set</span><span style="color:#d3d7ce;"> </span><span style="color:#d3d7ce;">(</span><span style="font-style:italic;color:#d3d7ce;">boltVariableName</span><span style="color:#d3d7ce;">,</span><span style="color:#d3d7ce;"> </span><span style="color:#d3d7ce;">variable</span><span style="color:#d3d7ce;">.</span><span style="font-style:italic;color:#d3d7ce;">FloatValue</span><span style="color:#d3d7ce;">)</span><span style="color:#d3d7ce;">;</span> |
||
+ | case VariableType.Float:<br> |
||
− | <span style="color:#d3d7ce;"> </span><span style="font-weight:700;color:#ad7fa7;">break</span><span style="color:#d3d7ce;">;</span> |
||
+ | Bolt.Variables.Application.Set (boltVariableName, variable.FloatValue);<br> |
||
− | |||
+ | break;<br> |
||
− | <span style="color:#d3d7ce;"> </span><span style="font-weight:700;color:#ffffff;">case</span><span style="color:#d3d7ce;"> </span><span style="color:#8ae233;">VariableType</span><span style="color:#d3d7ce;">.</span><span style="font-style:italic;color:#d3d7ce;">String</span><span style="color:#d3d7ce;">:</span> |
||
+ | <br> |
||
− | <span style="color:#d3d7ce;"> </span><span style="color:#8ae233;">Variables</span><span style="color:#d3d7ce;">.</span><span style="font-style:italic;color:#d3d7ce;">Application</span><span style="color:#d3d7ce;">.</span><span style="font-style:italic;color:#d3d7ce;">Set</span><span style="color:#d3d7ce;"> </span><span style="color:#d3d7ce;">(</span><span style="font-style:italic;color:#d3d7ce;">boltVariableName</span><span style="color:#d3d7ce;">,</span><span style="color:#d3d7ce;"> </span><span style="color:#d3d7ce;">variable</span><span style="color:#d3d7ce;">.</span><span style="font-style:italic;color:#d3d7ce;">TextValue</span><span style="color:#d3d7ce;">)</span><span style="color:#d3d7ce;">;</span> |
||
+ | case VariableType.String:<br> |
||
− | <span style="color:#d3d7ce;"> </span><span style="font-weight:700;color:#ad7fa7;">break</span><span style="color:#d3d7ce;">;</span> |
||
+ | Bolt.Variables.Application.Set (boltVariableName, variable.TextValue);<br> |
||
− | |||
+ | break;<br> |
||
− | <span style="color:#d3d7ce;"> </span><span style="font-weight:700;color:#ffffff;">case</span><span style="color:#d3d7ce;"> </span><span style="color:#8ae233;">VariableType</span><span style="color:#d3d7ce;">.</span><span style="font-style:italic;color:#d3d7ce;">Vector3</span><span style="color:#d3d7ce;">:</span> |
||
+ | <br> |
||
− | <span style="color:#d3d7ce;"> </span><span style="color:#8ae233;">Variables</span><span style="color:#d3d7ce;">.</span><span style="font-style:italic;color:#d3d7ce;">Application</span><span style="color:#d3d7ce;">.</span><span style="font-style:italic;color:#d3d7ce;">Set</span><span style="color:#d3d7ce;"> </span><span style="color:#d3d7ce;">(</span><span style="font-style:italic;color:#d3d7ce;">boltVariableName</span><span style="color:#d3d7ce;">,</span><span style="color:#d3d7ce;"> </span><span style="color:#d3d7ce;">variable</span><span style="color:#d3d7ce;">.</span><span style="font-style:italic;color:#d3d7ce;">Vector3Value</span><span style="color:#d3d7ce;">)</span><span style="color:#d3d7ce;">;</span> |
||
+ | case VariableType.Vector3:<br> |
||
− | <span style="color:#d3d7ce;"> </span><span style="font-weight:700;color:#ad7fa7;">break</span><span style="color:#d3d7ce;">;</span> |
||
+ | Bolt.Variables.Application.Set (boltVariableName, variable.Vector3Value);<br> |
||
− | <span style="color:#d3d7ce;"> </span><span style="color:#d3d7ce;">}</span> |
||
+ | break;<br> |
||
− | <span style="color:#d3d7ce;"> </span><span style="color:#d3d7ce;">}</span> |
||
+ | }<br> |
||
− | <span style="color:#d3d7ce;"> </span><span style="font-weight:700;color:#ffffff;">else</span><span style="color:#d3d7ce;"> </span><span style="font-weight:700;color:#ffffff;">if</span><span style="color:#d3d7ce;"> </span><span style="color:#d3d7ce;">(</span><span style="font-style:italic;color:#d3d7ce;">boltVariableType</span><span style="color:#d3d7ce;"> </span><span style="color:#d3d7ce;">==</span><span style="color:#d3d7ce;"> </span><span style="color:#8ae233;">BoltVariableType</span><span style="color:#d3d7ce;">.</span><span style="font-style:italic;color:#d3d7ce;">Saved</span><span style="color:#d3d7ce;">)</span> |
||
+ | }<br> |
||
− | <span style="color:#d3d7ce;"> </span><span style="color:#d3d7ce;">{</span> |
||
+ | else if (boltVariableType == BoltVariableType.Saved)<br> |
||
− | <span style="color:#d3d7ce;"> </span><span style="font-weight:700;color:#ffffff;">switch</span><span style="color:#d3d7ce;"> </span><span style="color:#d3d7ce;">(</span><span style="color:#d3d7ce;">variable</span><span style="color:#d3d7ce;">.</span><span style="font-style:italic;color:#d3d7ce;">type</span><span style="color:#d3d7ce;">)</span> |
||
+ | {<br> |
||
− | <span style="color:#d3d7ce;"> </span><span style="color:#d3d7ce;">{</span> |
||
+ | switch (variable.type)<br> |
||
− | <span style="color:#d3d7ce;"> </span><span style="font-weight:700;color:#ffffff;">case</span><span style="color:#d3d7ce;"> </span><span style="color:#8ae233;">VariableType</span><span style="color:#d3d7ce;">.</span><span style="font-style:italic;color:#d3d7ce;">Integer</span><span style="color:#d3d7ce;">:</span> |
||
+ | {<br> |
||
− | <span style="color:#d3d7ce;"> </span><span style="font-weight:700;color:#ffffff;">case</span><span style="color:#d3d7ce;"> </span><span style="color:#8ae233;">VariableType</span><span style="color:#d3d7ce;">.</span><span style="font-style:italic;color:#d3d7ce;">PopUp</span><span style="color:#d3d7ce;">:</span> |
||
+ | case VariableType.Integer:<br> |
||
− | <span style="color:#d3d7ce;"> </span><span style="color:#d3d7ce;">variable</span><span style="color:#d3d7ce;">.</span><span style="font-style:italic;color:#d3d7ce;">IntegerValue</span><span style="color:#d3d7ce;"> </span><span style="color:#d3d7ce;">=</span><span style="color:#d3d7ce;"> </span><span style="color:#d3d7ce;">(</span><span style="font-weight:700;color:#ad7fa7;">int</span><span style="color:#d3d7ce;">)</span><span style="color:#d3d7ce;"> </span><span style="color:#8ae233;">Variables</span><span style="color:#d3d7ce;">.</span><span style="font-style:italic;color:#d3d7ce;">Saved</span><span style="color:#d3d7ce;">.</span><span style="font-style:italic;color:#d3d7ce;">Get</span><span style="color:#d3d7ce;"> </span><span style="color:#d3d7ce;">(</span><span style="font-style:italic;color:#d3d7ce;">boltVariableName</span><span style="color:#d3d7ce;">)</span><span style="color:#d3d7ce;">;</span> |
||
+ | case VariableType.PopUp:<br> |
||
− | <span style="color:#d3d7ce;"> </span><span style="font-weight:700;color:#ad7fa7;">break</span><span style="color:#d3d7ce;">;</span> |
||
+ | variable.IntegerValue = (int) Bolt.Variables.Saved.Get (boltVariableName);<br> |
||
− | |||
+ | break;<br> |
||
− | <span style="color:#d3d7ce;"> </span><span style="font-weight:700;color:#ffffff;">case</span><span style="color:#d3d7ce;"> </span><span style="color:#8ae233;">VariableType</span><span style="color:#d3d7ce;">.</span><span style="font-style:italic;color:#d3d7ce;">Boolean</span><span style="color:#d3d7ce;">:</span> |
||
+ | <br> |
||
− | <span style="color:#d3d7ce;"> </span><span style="color:#d3d7ce;">variable</span><span style="color:#d3d7ce;">.</span><span style="font-style:italic;color:#d3d7ce;">BooleanValue</span><span style="color:#d3d7ce;"> </span><span style="color:#d3d7ce;">=</span><span style="color:#d3d7ce;"> </span><span style="color:#d3d7ce;">(</span><span style="font-weight:700;color:#ad7fa7;">bool</span><span style="color:#d3d7ce;">)</span><span style="color:#d3d7ce;"> </span><span style="color:#8ae233;">Variables</span><span style="color:#d3d7ce;">.</span><span style="font-style:italic;color:#d3d7ce;">Saved</span><span style="color:#d3d7ce;">.</span><span style="font-style:italic;color:#d3d7ce;">Get</span><span style="color:#d3d7ce;"> </span><span style="color:#d3d7ce;">(</span><span style="font-style:italic;color:#d3d7ce;">boltVariableName</span><span style="color:#d3d7ce;">)</span><span style="color:#d3d7ce;">;</span> |
||
+ | case VariableType.Boolean:<br> |
||
− | <span style="color:#d3d7ce;"> </span><span style="font-weight:700;color:#ad7fa7;">break</span><span style="color:#d3d7ce;">;</span> |
||
+ | variable.BooleanValue = (bool) Bolt.Variables.Saved.Get (boltVariableName);<br> |
||
− | <span style="color:#d3d7ce;"> </span> |
||
+ | break;<br> |
||
− | <span style="color:#d3d7ce;"> </span><span style="font-weight:700;color:#ffffff;">case</span><span style="color:#d3d7ce;"> </span><span style="color:#8ae233;">VariableType</span><span style="color:#d3d7ce;">.</span><span style="font-style:italic;color:#d3d7ce;">Float</span><span style="color:#d3d7ce;">:</span> |
||
+ | |||
− | <span style="color:#d3d7ce;"> </span><span style="color:#d3d7ce;">variable</span><span style="color:#d3d7ce;">.</span><span style="font-style:italic;color:#d3d7ce;">FloatValue</span><span style="color:#d3d7ce;"> </span><span style="color:#d3d7ce;">=</span><span style="color:#d3d7ce;"> </span><span style="color:#d3d7ce;">(</span><span style="font-weight:700;color:#ad7fa7;">float</span><span style="color:#d3d7ce;">)</span><span style="color:#d3d7ce;"> </span><span style="color:#8ae233;">Variables</span><span style="color:#d3d7ce;">.</span><span style="font-style:italic;color:#d3d7ce;">Saved</span><span style="color:#d3d7ce;">.</span><span style="font-style:italic;color:#d3d7ce;">Get</span><span style="color:#d3d7ce;"> </span><span style="color:#d3d7ce;">(</span><span style="font-style:italic;color:#d3d7ce;">boltVariableName</span><span style="color:#d3d7ce;">)</span><span style="color:#d3d7ce;">;</span> |
||
+ | <br> |
||
− | <span style="color:#d3d7ce;"> </span><span style="font-weight:700;color:#ad7fa7;">break</span><span style="color:#d3d7ce;">;</span> |
||
+ | case VariableType.Float:<br> |
||
− | |||
+ | variable.FloatValue = (float) Bolt.Variables.Saved.Get (boltVariableName);<br> |
||
− | <span style="color:#d3d7ce;"> </span><span style="font-weight:700;color:#ffffff;">case</span><span style="color:#d3d7ce;"> </span><span style="color:#8ae233;">VariableType</span><span style="color:#d3d7ce;">.</span><span style="font-style:italic;color:#d3d7ce;">String</span><span style="color:#d3d7ce;">:</span> |
||
+ | break;<br> |
||
− | <span style="color:#d3d7ce;"> </span><span style="color:#d3d7ce;">variable</span><span style="color:#d3d7ce;">.</span><span style="font-style:italic;color:#d3d7ce;">TextValue</span><span style="color:#d3d7ce;"> </span><span style="color:#d3d7ce;">=</span><span style="color:#d3d7ce;"> </span><span style="color:#d3d7ce;">(</span><span style="font-weight:700;color:#ad7fa7;">string</span><span style="color:#d3d7ce;">)</span><span style="color:#d3d7ce;"> </span><span style="color:#8ae233;">Variables</span><span style="color:#d3d7ce;">.</span><span style="font-style:italic;color:#d3d7ce;">Saved</span><span style="color:#d3d7ce;">.</span><span style="font-style:italic;color:#d3d7ce;">Get</span><span style="color:#d3d7ce;"> </span><span style="color:#d3d7ce;">(</span><span style="font-style:italic;color:#d3d7ce;">boltVariableName</span><span style="color:#d3d7ce;">)</span><span style="color:#d3d7ce;">;</span> |
||
+ | <br> |
||
− | <span style="color:#d3d7ce;"> </span><span style="font-weight:700;color:#ad7fa7;">break</span><span style="color:#d3d7ce;">;</span> |
||
+ | case VariableType.String:<br> |
||
− | |||
+ | variable.TextValue = (string) Bolt.Variables.Saved.Get (boltVariableName);<br> |
||
− | <span style="color:#d3d7ce;"> </span><span style="font-weight:700;color:#ffffff;">case</span><span style="color:#d3d7ce;"> </span><span style="color:#8ae233;">VariableType</span><span style="color:#d3d7ce;">.</span><span style="font-style:italic;color:#d3d7ce;">Vector3</span><span style="color:#d3d7ce;">:</span> |
||
+ | break;<br> |
||
− | <span style="color:#d3d7ce;"> </span><span style="color:#d3d7ce;">variable</span><span style="color:#d3d7ce;">.</span><span style="font-style:italic;color:#d3d7ce;">Vector3Value</span><span style="color:#d3d7ce;"> </span><span style="color:#d3d7ce;">=</span><span style="color:#d3d7ce;"> </span><span style="color:#d3d7ce;">(</span><span style="color:#8ae233;">Vector3</span><span style="color:#d3d7ce;">)</span><span style="color:#d3d7ce;"> </span><span style="color:#8ae233;">Variables</span><span style="color:#d3d7ce;">.</span><span style="font-style:italic;color:#d3d7ce;">Saved</span><span style="color:#d3d7ce;">.</span><span style="font-style:italic;color:#d3d7ce;">Get</span><span style="color:#d3d7ce;"> </span><span style="color:#d3d7ce;">(</span><span style="font-style:italic;color:#d3d7ce;">boltVariableName</span><span style="color:#d3d7ce;">)</span><span style="color:#d3d7ce;">;</span> |
||
+ | <br> |
||
− | <span style="color:#d3d7ce;"> </span><span style="font-weight:700;color:#ad7fa7;">break</span><span style="color:#d3d7ce;">;</span> |
||
+ | case VariableType.Vector3:<br> |
||
− | <span style="color:#d3d7ce;"> </span><span style="color:#d3d7ce;">}</span> |
||
+ | variable.Vector3Value = (Vector3) Bolt.Variables.Saved.Get (boltVariableName);<br> |
||
− | <span style="color:#d3d7ce;"> </span><span style="color:#d3d7ce;">}</span> |
||
+ | break;<br> |
||
− | <span style="color:#d3d7ce;"> </span><span style="color:#d3d7ce;">}</span> |
||
+ | }<br> |
||
− | <span style="color:#d3d7ce;"> </span><span style="color:#d3d7ce;">}</span> |
||
+ | }<br> |
||
− | |||
+ | }<br> |
||
− | <span style="color:#d3d7ce;"> </span><span style="color:#d3d7ce;">}</span> |
||
+ | }<br> |
||
− | |||
+ | <br> |
||
− | <span style="color:#d3d7ce;">}</span> |
||
+ | }<br> |
||
+ | <br> |
||
+ | } |
||
[[Category:Integrations]] |
[[Category:Integrations]] |
Revision as of 08:23, 4 June 2020
This script allows Global Variables made with AC to be linked with Application and Saved variables made with Bolt.
To use it:
- Create a new Global Variable in AC's Variables Manager, and set it's Link to field to Custom Script.
- Create a new Application or Saved variable in Bolt's Variables window, and have it match the type made in AC (Float, Boolean, etc)
- Paste the code below into a C# script named BoltVariableLink.cs, and attach it to a GameObject in the scene
- In the component's Inspector, increase the Size field by 1, and fill in the fields that appear. The AC Variable ID is the number that appears beside a variable's name in the Variables Manager
The variables will now be linked - so changing its value in one asset will update the value of its associated variable in the other.
BoltVariableLink.cs
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using AC;
using Bolt;
public class BoltVariableLink : MonoBehaviour
{
[SerializeField] BoltVarLink[] boltVarLinks;
private void OnEnable ()
{
EventManager.OnDownloadVariable += OnDownload;
EventManager.OnUploadVariable += OnUpload;
}
private void OnDisable ()
{
EventManager.OnDownloadVariable -= OnDownload;
EventManager.OnUploadVariable -= OnUpload;
}
private void OnDownload (GVar variable, AC.Variables variables)
{
foreach (BoltVarLink boltVarLink in boltVarLinks)
{
boltVarLink.Download (variable);
}
}
private void OnUpload (GVar variable, AC.Variables variables)
{
foreach (BoltVarLink boltVarLink in boltVarLinks)
{
boltVarLink.Upload (variable);
}
}
[System.Serializable] private class BoltVarLink
{
[SerializeField] private string boltVariableName = "";
[SerializeField] private BoltVariableType boltVariableType = BoltVariableType.Application;
private enum BoltVariableType { Application, Saved };
[SerializeField] private int acVariableID = 0;
public void Download (GVar variable)
{
if (!string.IsNullOrEmpty (boltVariableName) && variable.id == acVariableID)
{
if (boltVariableType == BoltVariableType.Application)
{
switch (variable.type)
{
case VariableType.Integer:
case VariableType.PopUp:
variable.IntegerValue = (int) Bolt.Variables.Application.Get (boltVariableName);
break;
case VariableType.Boolean:
variable.BooleanValue = (bool) Bolt.Variables.Application.Get (boltVariableName);
break;
case VariableType.Float:
variable.FloatValue = (float) Bolt.Variables.Application.Get (boltVariableName);
break;
case VariableType.String:
variable.TextValue = (string) Bolt.Variables.Application.Get (boltVariableName);
break;
case VariableType.Vector3:
variable.Vector3Value = (Vector3) Bolt.Variables.Application.Get (boltVariableName);
break;
}
}
else if (boltVariableType == BoltVariableType.Saved)
{
switch (variable.type)
{
case VariableType.Integer:
case VariableType.PopUp:
variable.IntegerValue = (int) Bolt.Variables.Saved.Get (boltVariableName);
break;
case VariableType.Boolean:
variable.BooleanValue = (bool) Bolt.Variables.Saved.Get (boltVariableName);
break;
case VariableType.Float:
variable.FloatValue = (float) Bolt.Variables.Saved.Get (boltVariableName);
break;
case VariableType.String:
variable.TextValue = (string) Bolt.Variables.Saved.Get (boltVariableName);
break;
case VariableType.Vector3:
variable.Vector3Value = (Vector3) Bolt.Variables.Saved.Get (boltVariableName);
break;
}
}
}
}
public void Upload (GVar variable)
{
if (!string.IsNullOrEmpty (boltVariableName) && variable.id == acVariableID)
{
if (boltVariableType == BoltVariableType.Application)
{
switch (variable.type)
{
case VariableType.Integer:
case VariableType.PopUp:
Bolt.Variables.Application.Set (boltVariableName, variable.IntegerValue);
break;
case VariableType.Boolean:
Bolt.Variables.Application.Set (boltVariableName, variable.BooleanValue);
break;
case VariableType.Float:
Bolt.Variables.Application.Set (boltVariableName, variable.FloatValue);
break;
case VariableType.String:
Bolt.Variables.Application.Set (boltVariableName, variable.TextValue);
break;
case VariableType.Vector3:
Bolt.Variables.Application.Set (boltVariableName, variable.Vector3Value);
break;
}
}
else if (boltVariableType == BoltVariableType.Saved)
{
switch (variable.type)
{
case VariableType.Integer:
case VariableType.PopUp:
variable.IntegerValue = (int) Bolt.Variables.Saved.Get (boltVariableName);
break;
case VariableType.Boolean:
variable.BooleanValue = (bool) Bolt.Variables.Saved.Get (boltVariableName);
break;
case VariableType.Float:
variable.FloatValue = (float) Bolt.Variables.Saved.Get (boltVariableName);
break;
case VariableType.String:
variable.TextValue = (string) Bolt.Variables.Saved.Get (boltVariableName);
break;
case VariableType.Vector3:
variable.Vector3Value = (Vector3) Bolt.Variables.Saved.Get (boltVariableName);
break;
}
}
}
}
}
}