Example #1
0
        public async Task UpdateControls(InteractiveConnectedSceneModel scene, IEnumerable <InteractiveControlModel> controls)
        {
            List <InteractiveControlModel> updatedControls = new List <InteractiveControlModel>();

            foreach (InteractiveControlModel control in controls)
            {
                if (control is InteractiveConnectedButtonControlModel)
                {
                    updatedControls.Add(SerializerHelper.Clone <InteractiveConnectedButtonControlModel>(control));
                }
                else if (control is InteractiveConnectedJoystickControlModel)
                {
                    updatedControls.Add(SerializerHelper.Clone <InteractiveConnectedJoystickControlModel>(control));
                }
                else if (control is InteractiveConnectedTextBoxControlModel)
                {
                    updatedControls.Add(SerializerHelper.Clone <InteractiveConnectedTextBoxControlModel>(control));
                }
                else if (control is InteractiveConnectedLabelControlModel)
                {
                    updatedControls.Add(SerializerHelper.Clone <InteractiveConnectedLabelControlModel>(control));
                }
                else if (control is InteractiveButtonControlModel)
                {
                    updatedControls.Add(SerializerHelper.Clone <InteractiveButtonControlModel>(control));
                }
                else if (control is InteractiveJoystickControlModel)
                {
                    updatedControls.Add(SerializerHelper.Clone <InteractiveJoystickControlModel>(control));
                }
                else if (control is InteractiveTextBoxControlModel)
                {
                    updatedControls.Add(SerializerHelper.Clone <InteractiveTextBoxControlModel>(control));
                }
                else if (control is InteractiveLabelControlModel)
                {
                    updatedControls.Add(SerializerHelper.Clone <InteractiveLabelControlModel>(control));
                }
                else
                {
                    updatedControls.Add(SerializerHelper.Clone <InteractiveControlModel>(control));
                }
            }

            foreach (InteractiveControlModel control in updatedControls)
            {
                control.position = null;
            }

            await this.RunAsync(this.Client.UpdateControls(scene, updatedControls));
        }