Пример #1
0
    public async void SaveParameters()
    {
        if (Base.Action.CheckIfAllValuesValid(actionParameters))
        {
            List <IO.Swagger.Model.ActionParameter> parameters = new List <IO.Swagger.Model.ActionParameter>();
            foreach (IActionParameter actionParameter in actionParameters)
            {
                IO.Swagger.Model.ActionParameterMeta metadata = CurrentAction.Metadata.GetParamMetadata(actionParameter.GetName());
                IO.Swagger.Model.ActionParameter     ap       = new IO.Swagger.Model.ActionParameter(id: actionParameter.GetName(), value: JsonConvert.SerializeObject(actionParameter.GetValue()), type: metadata.Type);
                parameters.Add(ap);
            }
            bool success = await Base.GameManager.Instance.UpdateAction(CurrentAction.Data.Id, parameters);

            if (success)
            {
                Base.Notifications.Instance.ShowNotification("Parameters saved", "");
                SaveParametersBtn.SetInteractivity(false, "Parameters unchanged");
                parametersChanged = false;
                if (string.IsNullOrEmpty(GameManager.Instance.ExecutingAction))
                {
                    ExecuteActionBtn.SetInteractivity(true);
                }
            }
        }
    }
Пример #2
0
    public async void CreateAction()
    {
        string newActionName = (string)nameInput.GetValue();

        if (Base.Action.CheckIfAllValuesValid(actionParameters))
        {
            List <IO.Swagger.Model.ActionParameter> parameters = new List <IO.Swagger.Model.ActionParameter>();
            foreach (IActionParameter actionParameter in actionParameters)
            {
                if (!actionParametersMetadata.TryGetValue(actionParameter.GetName(), out Base.ActionParameterMetadata actionParameterMetadata))
                {
                    Base.Notifications.Instance.ShowNotification("Failed to create new action", "Failed to get metadata for action parameter: " + actionParameter.GetName());
                    return;
                }
                IO.Swagger.Model.ActionParameter ap = new IO.Swagger.Model.ActionParameter(id: actionParameter.GetName(), value: JsonConvert.SerializeObject(actionParameter.GetValue()), type: actionParameterMetadata.Type);
                parameters.Add(ap);
            }
            bool success = await Base.GameManager.Instance.AddAction(CurrentActionPoint.Data.Id, parameters, Base.Action.BuildActionType(actionProvider.GetProviderId(), actionMetadata.Name), newActionName);

            if (success)
            {
                Close();
            }
        }
    }
    public async void CreateAction()
    {
        string newActionName = (string)nameInput.GetValue();

        if (Base.Parameter.CheckIfAllValuesValid(actionParameters))
        {
            List <IO.Swagger.Model.ActionParameter> parameters = new List <IO.Swagger.Model.ActionParameter>();
            foreach (IParameter actionParameter in actionParameters)
            {
                if (!actionParametersMetadata.TryGetValue(actionParameter.GetName(), out Base.ParameterMetadata actionParameterMetadata))
                {
                    Base.Notifications.Instance.ShowNotification("Failed to create new action", "Failed to get metadata for action parameter: " + actionParameter.GetName());
                    return;
                }
                IO.Swagger.Model.ActionParameter ap = new IO.Swagger.Model.ActionParameter(name: actionParameter.GetName(), value: JsonConvert.SerializeObject(actionParameter.GetValue()), type: actionParameterMetadata.Type);
                parameters.Add(ap);
            }
            try {
                await Base.WebsocketManager.Instance.AddAction(CurrentActionPoint.Data.Id, parameters, Base.Action.BuildActionType(
                                                                   actionProvider.GetProviderId(), actionMetadata.Name), newActionName, actionMetadata.GetFlows(newActionName));

                Close();
            } catch (Base.RequestFailedException e) {
                Base.Notifications.Instance.ShowNotification("Failed to add action", e.Message);
            }
        }
    }
Пример #4
0
    public async void CreateActionObject()
    {
        string newActionObjectName = (string)nameInput.GetValue();

        if (Base.Parameter.CheckIfAllValuesValid(actionParameters))
        {
            List <IO.Swagger.Model.Parameter> parameters = new List <IO.Swagger.Model.Parameter>();
            foreach (IParameter actionParameter in actionParameters)
            {
                if (!parametersMetadata.TryGetValue(actionParameter.GetName(), out Base.ParameterMetadata actionParameterMetadata))
                {
                    Base.Notifications.Instance.ShowNotification("Failed to create new action", "Failed to get metadata for action parameter: " + actionParameter.GetName());
                    return;
                }
                IO.Swagger.Model.ActionParameter ap = new IO.Swagger.Model.ActionParameter(name: actionParameter.GetName(), value: JsonConvert.SerializeObject(actionParameter.GetValue()), type: actionParameterMetadata.Type);
                parameters.Add(DataHelper.ActionParameterToParameter(ap));
            }
            try {
                IO.Swagger.Model.Pose pose = null;
                if (actionObjectMetadata.HasPose)
                {
                    Vector3 abovePoint = SceneManager.Instance.GetCollisionFreePointAbove(SceneManager.Instance.SceneOrigin.transform, actionObjectMetadata.GetModelBB(), SceneManager.Instance.SceneOrigin.transform.localRotation);
                    IO.Swagger.Model.Position offset = DataHelper.Vector3ToPosition(TransformConvertor.UnityToROS(abovePoint));
                    pose = new IO.Swagger.Model.Pose(position: offset, orientation: new IO.Swagger.Model.Orientation(1, 0, 0, 0));
                }
                await Base.WebsocketManager.Instance.AddObjectToScene(newActionObjectName, actionObjectMetadata.Type, pose, parameters);

                Close();
            } catch (Base.RequestFailedException e) {
                Base.Notifications.Instance.ShowNotification("Failed to add action", e.Message);
            }
        }
    }
Пример #5
0
    public async void CreateNewAction(string action_id, IActionProvider actionProvider, string newName = null)
    {
        try {
            ActionMetadata    actionMetadata   = actionProvider.GetActionMetadata(action_id);
            List <IParameter> actionParameters = await Base.Parameter.InitActionParameters(actionProvider.GetProviderId(),
                                                                                           actionMetadata.ParametersMetadata.Values.ToList(), HiddenPlace, OnChangeParameterHandler, HiddenPlaceLayout, HiddenPlace, currentActionPoint, false, CanvasGroup);

            string newActionName;

            if (string.IsNullOrEmpty(newName))
            {
                newActionName = Base.ProjectManager.Instance.GetFreeActionName(actionMetadata.Name);
            }
            else
            {
                newActionName = Base.ProjectManager.Instance.GetFreeActionName(newName);
            }
            if (Base.Parameter.CheckIfAllValuesValid(actionParameters))
            {
                List <IO.Swagger.Model.ActionParameter> parameters = new List <IO.Swagger.Model.ActionParameter>();
                foreach (IParameter actionParameter in actionParameters)
                {
                    if (!actionMetadata.ParametersMetadata.TryGetValue(actionParameter.GetName(), out Base.ParameterMetadata actionParameterMetadata))
                    {
                        Base.Notifications.Instance.ShowNotification("Failed to create new action", "Failed to get metadata for action parameter: " + actionParameter.GetName());
                        return;
                    }
                    IO.Swagger.Model.ActionParameter ap = new IO.Swagger.Model.ActionParameter(name: actionParameter.GetName(), value: JsonConvert.SerializeObject(actionParameter.GetValue()), type: actionParameter.GetCurrentType());
                    parameters.Add(ap);
                }
                try {
                    addedActionName = newActionName;
                    Hide();
                    AREditorResources.Instance.LeftMenuProject.SetActiveSubmenu(AREditorResources.Instance.LeftMenuProject.CurrentSubmenuOpened);

                    await Base.WebsocketManager.Instance.AddAction(currentActionPoint.GetId(), parameters, Base.Action.BuildActionType(
                                                                       actionProvider.GetProviderId(), actionMetadata.Name), newActionName, actionMetadata.GetFlows(newActionName));

                    foreach (Transform t in HiddenPlace.transform)
                    {
                        if (!t.CompareTag("Persistent"))
                        {
                            Destroy(t.gameObject);
                        }
                    }
                } catch (Base.RequestFailedException e) {
                    Base.Notifications.Instance.ShowNotification("Failed to add action", e.Message);
                    addedActionName = null;
                }
            }
        } catch (Base.RequestFailedException e) {
            Base.Notifications.Instance.ShowNotification("Failed to add action", e.Message);
        }
    }
    public async void SaveParameters()
    {
        if (Parameter.CheckIfAllValuesValid(actionParameters))
        {
            List <IO.Swagger.Model.ActionParameter> parameters = new List <IO.Swagger.Model.ActionParameter>();
            foreach (IParameter actionParameter in actionParameters)
            {
                IO.Swagger.Model.ParameterMeta metadata = currentAction.Metadata.GetParamMetadata(actionParameter.GetName());
                string value = JsonConvert.SerializeObject(actionParameter.GetValue());
                IO.Swagger.Model.ActionParameter ap = new IO.Swagger.Model.ActionParameter(name: actionParameter.GetName(), value: value, type: actionParameter.GetCurrentType());
                parameters.Add(ap);
            }
            Debug.Assert(ProjectManager.Instance.AllowEdit);
            try {
                await WebsocketManager.Instance.UpdateAction(currentAction.Data.Id, parameters, currentAction.GetFlows());

                Notifications.Instance.ShowToastMessage("Parameters saved");
            } catch (RequestFailedException e) {
                Notifications.Instance.ShowNotification("Failed to save parameters", e.Message);
            }
        }
    }
Пример #7
0
 public static IO.Swagger.Model.Parameter ActionParameterToParameter(IO.Swagger.Model.ActionParameter actionParameter)
 {
     return(new IO.Swagger.Model.Parameter(name: actionParameter.Name, type: actionParameter.Type, value: actionParameter.Value));
 }
Пример #8
0
 public void UpdateActionParameter(IO.Swagger.Model.ActionParameter actionParameter)
 {
     Value = actionParameter.Value;
 }