/// <summary> /// Create a RouteSet. /// </summary> /// <param name="data">Parameters of the RouteSet to construct.</param> /// <param name="createRoute">Function to create a Route.</param> /// <returns>The constructed RouteSet.</returns> private static FoxLib.Tpp.RouteSet.RouteSet Create(RouteSet data, CreateRouteDelegate createRoute) { var routes = from route in data.Routes select createRoute(route); var routeset = new FoxLib.Tpp.RouteSet.RouteSet(routes.ToArray()); return(routeset); }
/// <summary> /// Create a function to create RouteSets. /// </summary> /// <param name="createRoute">Function to create a Route.</param> /// <returns>Function to create a RouteSet.</returns> public static CreateRouteSetDelegate CreateFactory(CreateRouteDelegate createRoute) { return(data => Create(data, createRoute)); }
/// <summary> /// Create a RouteSet. /// </summary> /// <param name="data">Parameters of the RouteSet to create.</param> /// <param name="name">Name of the RouteSet to create.</param> /// <param name="createRoute">Function to create a Route.</param> /// <returns>The constructed RouteSet.</returns> private static RouteSet Create(FoxLib.Tpp.RouteSet.RouteSet data, string name, CreateRouteDelegate createRoute) { var gameObject = new GameObject(name); var routeSetComponent = gameObject.AddComponent <RouteSet>(); routeSetComponent.Routes = (from route in data.Routes select createRoute(route, routeSetComponent)) .ToList(); foreach (var routeGameObject in routeSetComponent.Routes) { routeGameObject.transform.SetParent(gameObject.transform); } return(routeSetComponent); }