public void Initialize(XCollisionViewer viewer, Color color) { m_viewer = viewer; CoordinateCollider(this.transform.parent); Color clr = color; clr.a = viewer.m_meshAlpha; m_renderer.material.color = clr; m_renderer.material.mainTexture = Texture2D.whiteTexture; m_prevEnableView = m_viewer.enableView; EnableView(m_viewer.enableView); }
public override void OnInspectorGUI() { XCollisionViewer gen = target as XCollisionViewer; #if ENABLE_EDIT_COLLISION_MESH gen.m_viewUnitSphere = EditorGUILayout.ObjectField("MeshSphere", gen.m_viewUnitSphere, typeof(GameObject)) as GameObject; gen.m_viewUnitBox = EditorGUILayout.ObjectField("MeshBox", gen.m_viewUnitBox, typeof(GameObject)) as GameObject; gen.m_viewUnitCapsule = EditorGUILayout.ObjectField("MeshCapsule", gen.m_viewUnitCapsule, typeof(GameObject)) as GameObject; #endif gen.m_keyCode = (KeyCode)(EditorGUILayout.EnumPopup("KeyCode", gen.m_keyCode)); EditorGUILayout.BeginHorizontal(); EditorGUILayout.PrefixLabel("アルファ値"); gen.m_meshAlpha = EditorGUILayout.Slider(gen.m_meshAlpha, 0.0f, 1.0f); EditorGUILayout.EndHorizontal(); m_collapsed.Invoke( "タグ情報", () => { int size = EditorGUILayout.IntField("ラベル数", gen.m_sizelabelInfo); gen.m_sizelabelInfo = size; if (gen.m_tags == null) { gen.m_tags = new string[size]; gen.m_meshColor = new Color[size]; for (int i = 0; i < size; ++i) { gen.m_tags[i] = ""; gen.m_meshColor[i] = Color.red; } } else if (gen.m_tags.Length != size) { string[] tags = new string[size]; Color[] meshColor = new Color[size]; int index = Mathf.Min(gen.m_tags.Length, size); int idx; for (idx = 0; idx < index; ++idx) { tags[idx] = gen.m_tags[idx]; meshColor[idx] = gen.m_meshColor[idx]; } for (; idx < size; ++idx) { tags[idx] = ""; meshColor[idx] = Color.red; } gen.m_tags = tags; gen.m_meshColor = meshColor; } for (int i = 0; i < size; ++i) { EditorGUILayout.BeginVertical(); EditorGUILayout.BeginHorizontal(); gen.m_tags[i] = EditorGUILayout.TagField("タグ名", gen.m_tags[i]); EditorGUILayout.EndVertical(); gen.m_meshColor[i] = EditorGUILayout.ColorField("ラベルカラー", gen.m_meshColor[i]); EditorGUILayout.EndVertical(); EditorGUILayout.Space(); } }); }