Esempio n. 1
0
        void OnDeleteMesh(object mesh)
        {
            MeshLink link = (MeshLink)mesh;

            link.channel.RemoveMesh(link.index);
            Repaint();
        }
Esempio n. 2
0
        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);
		}
	}
Esempio n. 4
0
    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);
        }
    }
Esempio n. 5
0
    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);
        }
    }
Esempio n. 6
0
 /// <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>();
 }
Esempio n. 7
0
        void OnDuplicateMesh(object mesh)
        {
            MeshLink link = (MeshLink)mesh;

            link.channel.DuplicateMesh(link.index);
        }
Esempio n. 8
0
    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();
    }