Example #1
0
    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);
    }
Example #2
0
    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;
    }