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); } }
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); }
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; } } }