예제 #1
0
        /// <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);
        }
예제 #2
0
 /// <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));
 }
예제 #3
0
        /// <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);
        }