GameObjectMenuItems.cs 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. using UnityEngine;
  2. using UnityEditor;
  3. namespace ARLocation.MapboxRoutes
  4. {
  5. public static class GameObjectMenuItems
  6. {
  7. [MenuItem("GameObject/AR+GPS/Mapbox Route")]
  8. public static GameObject CreateMapboxRoute()
  9. {
  10. var go = new GameObject("Mapbox Route");
  11. var route = go.AddComponent<MapboxRoutes.MapboxRoute>();
  12. var signpostPath = AssetDatabase.GUIDToAssetPath("154e5264001534d7999c9720b114562d");
  13. var signpostPrefab = AssetDatabase.LoadAssetAtPath<MapboxRoutes.AbstractRouteSignpost>(signpostPath);
  14. var pathRenderer = go.AddComponent<MapboxRoutes.NextStepRoutePathRenderer>();
  15. var indicator = go.AddComponent<MapboxRoutes.DefaultOnScreenTargetIndicator>();
  16. var arrowPath = AssetDatabase.GUIDToAssetPath("19a300465515241c2bb5670f7b18e69b");
  17. var arrow = AssetDatabase.LoadAssetAtPath<Sprite>(arrowPath);
  18. var lineMaterialPath = AssetDatabase.GUIDToAssetPath("697c3d00ed75e4c388f1112e6817fa65");
  19. var lineMaterial = AssetDatabase.LoadAssetAtPath<Material>(lineMaterialPath);
  20. indicator.ArrowSprite = arrow;
  21. indicator.NeutralArrowDirection = DefaultOnScreenTargetIndicator.ArrowDir.Right;
  22. pathRenderer.Settings.LineMaterial = lineMaterial;
  23. route.Settings.SignpostPrefabs.Add(signpostPrefab);
  24. route.Settings.PathRenderer = pathRenderer;
  25. route.Settings.OnScreenIndicator = indicator;
  26. return go;
  27. }
  28. }
  29. }