public ToggleButtonParser(JSONNode root)
    {
        Descriptor = new ToggleDescriptor();

        var numberOfUIActions = root["actions"]["count"].AsInt;

        for (int i = 1; i <= numberOfUIActions; i++)
        {
            var actionTag = string.Format("action{0}", i);

            var actionNode = root["actions"][actionTag];

            var actionEvent  = actionNode["event"].Value.ToString();
            var actionMethod = actionNode["method"].Value.ToString();

            var eventType = UIToggleEvent.On;
            switch (actionEvent)
            {
            case "toggleon":
                eventType = UIToggleEvent.On;
                break;

            case "toggleoff":
                eventType = UIToggleEvent.Off;
                break;
            }

            var actionDefinition = new UIAction <UIToggleEvent>(eventType, actionMethod);
            Descriptor.Actions.Add(actionDefinition);
        }
    }
Exemple #2
0
    public GameObject CreateToggleButton(string deviceId, ToggleDescriptor descriptor)
    {
        var toggle = Instantiate(toggleTemplate);

        toggle.transform.position = new Vector3(0, 0, 2);

        var toggleComponent = toggle.GetComponent <InteractiveToggle>();

        var toggleHandler = new ToggleHandler();

        toggleHandler.Initialize(deviceId, descriptor, toggleComponent);

        return(toggle);
    }
Exemple #3
0
    public void Initialize(string deviceId, ToggleDescriptor descriptor, InteractiveToggle toggleComponent)
    {
        _deviceId = deviceId;
        toggleComponent.OnSelection.AddListener(this.OnSelectionHandler);
        toggleComponent.OnDeselection.AddListener(this.OnDeselectionHandler);

        foreach (var action in descriptor.Actions)
        {
            if (action.Event == UIToggleEvent.On)
            {
                onSelectionMethod = action.Method;
            }
            if (action.Event == UIToggleEvent.Off)
            {
                onDeselectionMethod = action.Method;
            }
        }
    }