private static HashSet <Component> IgnoreComponents(GameObject go) { ExposeToEditor exposeToEditor = go.GetComponent <ExposeToEditor>(); HashSet <Component> ignoreComponents = new HashSet <Component>(); if (exposeToEditor != null) { if (exposeToEditor.Colliders != null) { for (int i = 0; i < exposeToEditor.Colliders.Length; ++i) { Collider collider = exposeToEditor.Colliders[i]; if (!ignoreComponents.Contains(collider)) { ignoreComponents.Add(collider); } } } if (exposeToEditor.GetType().Name == typeof(MyExposeToEditor).Name) { MyExposeToEditor myExposeToEditor = (MyExposeToEditor)exposeToEditor; if (!myExposeToEditor.ShowTransform) { ignoreComponents.Add(go.transform); } } ignoreComponents.Add(exposeToEditor); } return(ignoreComponents); }
static public GameObject CubeRegion() { Resources.UnloadUnusedAssets(); string resourcePath = "Prefabs/RegionCube"; GameObject prefab = (GameObject)Resources.Load(resourcePath); GameObject regionCube = GameObject.Instantiate(prefab, new Vector3(0, 0, 0), Quaternion.identity); BoxRegion boxRegion = regionCube.AddComponent <BoxRegion>(); boxRegion.color = new Color(0.8f, 0.0f, 0.0f, 0.3f); MyExposeToEditor myExposeToEditor = regionCube.AddComponent <MyExposeToEditor>(); myExposeToEditor.CanTransform = true; myExposeToEditor.CanInspect = true; myExposeToEditor.CanDuplicate = true; myExposeToEditor.CanRename = true; myExposeToEditor.CanCreatePrefab = false; myExposeToEditor.ShowSelectionGizmo = true; myExposeToEditor.AddColliders = false; myExposeToEditor.ShowTransform = false; myExposeToEditor.CanSetLoadTransformToRos = false; return(regionCube); }
static public GameObject Device(string deviceType) { Resources.UnloadUnusedAssets(); string resourcePath = "Prefabs/" + deviceType; GameObject prefab = (GameObject)Resources.Load(resourcePath); GameObject newDevice = GameObject.Instantiate(prefab, new Vector3(0, 0, 0), Quaternion.identity); newDevice.name = "<input device name/ID here>"; newDevice.AddComponent <Lidar>(); MyExposeToEditor myExposeToEditor = newDevice.AddComponent <MyExposeToEditor>(); myExposeToEditor.CanTransform = true; myExposeToEditor.CanInspect = true; myExposeToEditor.CanDuplicate = true; myExposeToEditor.CanRename = true; myExposeToEditor.CanCreatePrefab = false; myExposeToEditor.ShowSelectionGizmo = true; myExposeToEditor.AddColliders = false; myExposeToEditor.ShowTransform = true; myExposeToEditor.CanSetLoadTransformToRos = true; newDevice.tag = "RosDevice"; return(newDevice); }
private void Awake() { m_editorsMap = IOC.Resolve <IEditorsMap>(); m_editor = IOC.Resolve <IRuntimeEditor>(); m_editor.Object.ComponentAdded += OnComponentAdded; GameObject[] selectedObjects = m_editor.Selection.gameObjects; foreach (GameObject go in m_editor.Selection.gameObjects) { ExposeToEditor exposeToEditor = go.GetComponent <ExposeToEditor>(); if (exposeToEditor.GetType().Name == typeof(MyExposeToEditor).Name) { MyExposeToEditor myExposeToEditor = (MyExposeToEditor)exposeToEditor; if (myExposeToEditor.CanRename) { Header.SetActive(true); } else { Header.SetActive(false); } } } InputName.text = GetObjectName(selectedObjects); InputName.onEndEdit.AddListener(OnEndEditName); m_selectedGameObjects = m_editor.Selection.gameObjects.Select(go => new GameObjectWrapper(go)).ToArray(); IsActiveEditor.Init(m_selectedGameObjects, Strong.PropertyInfo((GameObjectWrapper x) => x.IsActive), string.Empty); m_editor.IsBusy = true; LayersEditor.LoadLayers(layersInfo => { m_editor.IsBusy = false; List <RangeOptions.Option> layers = new List <RangeOptions.Option>(); foreach (LayersInfo.Layer layer in layersInfo.Layers) { if (!string.IsNullOrEmpty(layer.Name)) { layers.Add(new RangeOptions.Option(string.Format("{0}: {1}", layer.Index, layer.Name), layer.Index)); } } LayerEditor.Options = layers.ToArray(); LayerEditor.Init(m_editor.Selection.gameObjects, Strong.PropertyInfo((GameObject x) => x.layer), string.Empty); List <List <Component> > groups = GetComponentGroups(selectedObjects); for (int i = 0; i < groups.Count; ++i) { List <Component> group = groups[i]; CreateComponentEditor(group); } UnityEventHelper.AddListener(EditLayersButton, btn => btn.onClick, OnEditLayersClick); }); }
static public GameObject Trajectory(string name, string defaultTopic) { GameObject go = new GameObject(name); SubscribeBoundingBoxes subscribe = go.AddComponent <SubscribeBoundingBoxes>(); subscribe.Topic = defaultTopic; go.AddComponent <VisualizeTrajectory>(); MyExposeToEditor myExposeToEditor = go.AddComponent <MyExposeToEditor>(); myExposeToEditor.CanTransform = false; go.tag = "RosData"; return(go); }
static public GameObject BoudingBoxes(string name, string defaultTopic, bool canTransform) { GameObject bboxGameObject = new GameObject(name); SubscribeBoundingBoxes subscribe = bboxGameObject.AddComponent <SubscribeBoundingBoxes>(); subscribe.Topic = defaultTopic; bboxGameObject.AddComponent <VisualizeBoundingBoxes>(); bboxGameObject.AddComponent <VisualizeTrajectory>(); MyExposeToEditor myExposeToEditor = bboxGameObject.AddComponent <MyExposeToEditor>(); myExposeToEditor.CanTransform = canTransform; bboxGameObject.tag = "RosData"; return(bboxGameObject); }
static public GameObject ObjFile(string path) { GameObject loadedObj = new Dummiesman.OBJLoader().Load(path); MyExposeToEditor myExposeToEditor = loadedObj.AddComponent <MyExposeToEditor>(); myExposeToEditor.CanTransform = true; myExposeToEditor.CanInspect = true; myExposeToEditor.CanDuplicate = true; myExposeToEditor.CanRename = true; myExposeToEditor.CanCreatePrefab = false; myExposeToEditor.ShowSelectionGizmo = true; myExposeToEditor.AddColliders = false; myExposeToEditor.ShowTransform = true; myExposeToEditor.CanSetLoadTransformToRos = false; return(loadedObj); }
static public GameObject PointCloud2(string name, string defaultTopic, bool canTransform) { GameObject pc2GameObject = new GameObject(name); SubscribePointCloud2 subscribe = pc2GameObject.AddComponent <SubscribePointCloud2>(); VisualizePointCloud2 visualize = pc2GameObject.AddComponent <VisualizePointCloud2>(); subscribe.Topic = defaultTopic; MyExposeToEditor myExposeToEditor = pc2GameObject.AddComponent <MyExposeToEditor>(); myExposeToEditor.CanTransform = canTransform; myExposeToEditor.ShowTransform = canTransform; pc2GameObject.tag = "RosData"; return(pc2GameObject); }
static public GameObject PointCloud2(string name, string defaultTopic, bool canTransform, bool startSubscribe, Color color) { GameObject pc2GameObject = new GameObject(name);//Create gameObj that name is 'name' SubscribePointCloud2 subscribe = pc2GameObject.AddComponent <SubscribePointCloud2>(); VisualizePointCloud2 visualize = pc2GameObject.AddComponent <VisualizePointCloud2>(); subscribe.Topic = defaultTopic; subscribe.Enabled = startSubscribe; visualize.PointColor = color; MyExposeToEditor myExposeToEditor = pc2GameObject.AddComponent <MyExposeToEditor>(); myExposeToEditor.CanTransform = canTransform; myExposeToEditor.ShowTransform = canTransform; pc2GameObject.tag = "RosData"; return(pc2GameObject); }