void OnDeleteMesh(object mesh) { MeshLink link = (MeshLink)mesh; link.channel.RemoveMesh(link.index); Repaint(); }
void OnMoveMeshDown(object mesh) { MeshLink link = (MeshLink)mesh; link.channel.SwapMeshes(link.index, link.index + 1); Repaint(); }
static void OnUndoRedo() { for(int i = 0; i < Selection.gameObjects.Length; i++) { MeshLink link = Selection.gameObjects[i].GetComponent<MeshLink>(); if(link != null) link.Initialize(true); } }
protected virtual void HandleOffsetChanged() { for (int i = 0; i < serializedObject.targetObjects.Length; i++) { MeshLink link = (MeshLink)serializedObject.targetObjects[i]; link.ApplyNewOffset(eOffset.vector2Value); EditorUtility.SetDirty(link.body); EditorUtility.SetDirty(link.LinkedMeshFilter.sharedMesh); } }
protected virtual void HandleAngleChanged() { for (int i = 0; i < serializedObject.targetObjects.Length; i++) { MeshLink link = (MeshLink)serializedObject.targetObjects[i]; link.angle = eAngle.floatValue; link.Initialize(true); EditorUtility.SetDirty(link.body); EditorUtility.SetDirty(link.LinkedMeshFilter.sharedMesh); } }
/// <summary> /// Set the component references for this JelloBody. /// RigidBody, Transform, PolygonCollider2D, and MeshLink. /// </summary> public void setComponentReferences() { myTransform = transform; polyCollider = GetComponent<PolygonCollider2D>(); meshLink = GetComponent<MeshLink>(); }
void OnDuplicateMesh(object mesh) { MeshLink link = (MeshLink)mesh; link.channel.DuplicateMesh(link.index); }
protected virtual void DrawInspectorGUI() { serializedObject.Update(); EditorGUI.showMixedValue = eLayer.hasMultipleDifferentValues; EditorGUI.BeginChangeCheck(); EditorGUILayout.IntPopup(eLayer, sortingPopupLayerContent, sortingLayerIDs, sortingLayerContent); if (EditorGUI.EndChangeCheck()) { int id = 0; for (int i = 0; i < sortingLayerIDs.Length; i++) { if (eLayer.intValue == sortingLayerIDs[i]) { id = i; break; } } for (int i = 0; i < serializedObject.targetObjects.Length; i++) { MeshLink link = (MeshLink)serializedObject.targetObjects[i]; link.GetComponent <Renderer>().sortingLayerName = sortingPopupLayerContent[id].text; EditorUtility.SetDirty(link.GetComponent <Renderer>()); } } EditorGUI.showMixedValue = false; EditorGUI.showMixedValue = eOrder.hasMultipleDifferentValues; EditorGUI.BeginChangeCheck(); EditorGUILayout.PropertyField(eOrder, sortingOrderContent); if (EditorGUI.EndChangeCheck()) { for (int i = 0; i < serializedObject.targetObjects.Length; i++) { MeshLink link = (MeshLink)serializedObject.targetObjects[i]; link.GetComponent <Renderer>().sortingOrder = eOrder.intValue; EditorUtility.SetDirty(link.GetComponent <Renderer>()); } } EditorGUI.showMixedValue = false; EditorGUI.showMixedValue = eNormals.hasMultipleDifferentValues; EditorGUI.BeginChangeCheck(); EditorGUILayout.PropertyField(eNormals); if (EditorGUI.EndChangeCheck()) { if (!eNormals.boolValue) { eTangents.boolValue = false; } } EditorGUI.showMixedValue = false; EditorGUI.showMixedValue = eTangents.hasMultipleDifferentValues; EditorGUI.BeginChangeCheck(); EditorGUILayout.PropertyField(eTangents); if (EditorGUI.EndChangeCheck()) { if (eTangents.boolValue) { eNormals.boolValue = true; } } EditorGUI.showMixedValue = false; serializedObject.ApplyModifiedProperties(); }