Advertisement
Guest User

MapCollider.cs

a guest
Jan 19th, 2019
94
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.59 KB | None | 0 0
  1. using UnityEngine;
  2. using UnityEditor;
  3. using System.Collections;
  4. using System.Collections.Generic;
  5.  
  6. public class MapCompiler : EditorWindow
  7. {
  8.     //private static int totalSprites = 2; // change depending on the total sprites in this batch!
  9.     [MenuItem("PK Unity/Compile Selected Map")]
  10.     static void Compile()
  11.     {
  12.         Debug.Log("Test");
  13.         Mesh map = new Mesh();
  14.         MeshFilter[] meshFilters = Selection.activeGameObject.transform.GetComponentsInChildren<MeshFilter>();
  15.         Debug.Log(meshFilters.Length);
  16.         CombineInstance[] combine = new CombineInstance[meshFilters.Length];
  17.         int i = 0;
  18.         while (i < meshFilters.Length) {
  19.             //MeshRenderer renderer = meshFilters[i].gameObject.GetComponent<MeshRenderer>();
  20.             combine[i].mesh = meshFilters[i].sharedMesh;
  21.             combine[i].transform = meshFilters[i].transform.localToWorldMatrix;
  22.             i++;
  23.         }
  24.         map.CombineMeshes(combine);
  25.         Selection.activeGameObject.transform.GetComponent<MeshFilter>().sharedMesh = map;
  26.         Selection.activeGameObject.transform.GetComponent<MeshCollider>().sharedMesh = Selection.activeGameObject.transform.GetComponent<MeshFilter>().sharedMesh;
  27.         Selection.activeGameObject.SetActive(true);
  28.     }
  29.     // Validate the menu item defined by the function above.
  30.     // The menu item will be disabled if this function returns false.
  31.     [MenuItem("PK Unity/Compile Selected Map", true)]
  32.     static bool ValidateCompile()
  33.     {
  34.         // Return false if no gameobject is selected.
  35.         return Selection.activeGameObject != null;
  36.     }
  37. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement