private FlowActionData LoadActionData(XmlNode actionNode) { FlowActionData actionData = null; if (actionNode.Name == "action") { string actionName = ""; string viewId = ""; bool isPopup = false; bool useLoadingScreen = false; bool useOverlay = true; foreach (XmlAttribute actionAttributes in actionNode.Attributes) { if (actionAttributes.Name == "name") { actionName = actionAttributes.Value; } else if (actionAttributes.Name == "viewId") { viewId = actionAttributes.Value; } else if (actionAttributes.Name == "popup") { bool.TryParse(actionAttributes.Value, out isPopup); } else if (actionAttributes.Name == "loading") { bool.TryParse(actionAttributes.Value, out useLoadingScreen); } else if (actionAttributes.Name == "overlay") { bool.TryParse(actionAttributes.Value, out useOverlay); } } if (!string.IsNullOrEmpty(actionName)) { actionData = new FlowActionData(actionName, viewId, isPopup, useLoadingScreen, useOverlay); actionData.AddParameters(LoadParameters(actionNode)); } } return(actionData); }
public bool TriggerAction(string actionName, Dictionary <string, object> parameters = null) { View topView = GetTopView(); FlowActionData actionData = m_ActionController.GetActionData(topView == null ? "" : topView.ViewData.ViewId, actionName); if (actionData != null) { // Make sure not to modify the original one. actionData = actionData.Clone(); actionData.AddParameters(parameters); return(TriggerAction(actionData)); } else { Debug.LogError("FlowManager, TriggerAction: The action '" + actionName + "' didn't exist in the current view (" + (topView == null ? "" : topView.ViewData.ViewId) + ")."); } return(false); }
private FlowActionData LoadActionData(XmlNode actionNode) { FlowActionData actionData = null; if (actionNode.Name == "action") { string actionName = ""; string viewId = ""; bool isPopup = false; bool useLoadingScreen = false; bool useOverlay = true; foreach (XmlAttribute actionAttributes in actionNode.Attributes) { if (actionAttributes.Name == "name") { actionName = actionAttributes.Value; } else if (actionAttributes.Name == "viewId") { viewId = actionAttributes.Value; } else if (actionAttributes.Name == "popup") { bool.TryParse(actionAttributes.Value, out isPopup); } else if (actionAttributes.Name == "loading") { bool.TryParse(actionAttributes.Value, out useLoadingScreen); } else if (actionAttributes.Name == "overlay") { bool.TryParse(actionAttributes.Value, out useOverlay); } } if (!string.IsNullOrEmpty(actionName)) { actionData = new FlowActionData(actionName, viewId, isPopup, useLoadingScreen, useOverlay); actionData.AddParameters(LoadParameters(actionNode)); } } return actionData; }