private void InputController(ActionRoute actionRoute, string actionCommand) { Debug.Log(actionCommand); switch (actionCommand) { case "PlayButton": GameObjectContainer.Button[actionCommand].GetComponentInChildren <Text>().text = "Fuckign Shit"; break; default: Debug.Log(actionCommand); break; } }
public static void RegisterActionRoute(IChromelyContainer container, string key, ActionRoute route) { container.RegisterInstance(typeof(ActionRoute), key, route); }
/// <summary> /// Handles the request in MVC pattern /// </summary> private async Task RequestMvc(IHorseServer server, HttpRequest request, HttpResponse response, IServiceScope scope) { //find file route if (Mvc.FileRoutes.Count > 0) { IActionResult fileResult = Mvc.RouteFinder.FindFile(Mvc.FileRoutes, request); if (fileResult != null) { response.SuppressContentEncoding = true; WriteResponse(response, fileResult); return; } } if (Mvc.ActionRoutes.Count > 0) { ActionRoute actionRoute = Mvc.RouteFinder.FindAction(Mvc.ActionRoutes, request); if (actionRoute != null) { IActionResult actionResult = null; if (actionRoute.Action != null) { actionResult = actionRoute.Action(request); } else if (actionRoute.AsyncAction != null) { actionResult = await actionRoute.AsyncAction(request); } if (actionResult != null) { WriteResponse(response, actionResult); return; } } } //find controller route RouteMatch match = Mvc.RouteFinder.Find(Mvc.Routes, request); if (match?.Route == null) { WriteResponse(response, Mvc.NotFoundResult); return; } //read user token ClaimsPrincipal user = null; if (Mvc.ClaimsPrincipalValidator != null) { user = Mvc.ClaimsPrincipalValidator.Get(request); } FilterContext context = new FilterContext { Server = server, Request = request, Response = response, Result = null, User = user }; if (!CheckControllerAuthority(match, context, response)) { return; } if (!await ExecuteBeforeControllerFilters(match, context, response)) { return; } HorseController controller = Mvc.ControllerFactory.CreateInstance(Mvc, match.Route.ControllerType, request, response, scope); if (controller == null) { WriteResponse(response, Mvc.NotFoundResult); return; } controller.User = user; if (!await ExecuteAfterControllerFilters(match, context, response, controller)) { return; } //fill action descriptor ActionDescriptor descriptor = new ActionDescriptor { Controller = controller, Action = match.Route.ActionType, Parameters = await FillParameters(request, match) }; if (!CheckActionAuthority(match, context, response, descriptor)) { return; } if (!await CheckActionExecutingFilters(match, context, response, controller, descriptor)) { return; } await controller.CallActionExecuting(descriptor, context); if (context.Result != null) { WriteResponse(response, context.Result); return; } await ExecuteAction(match, context, controller, descriptor, response); }