MB3_MeshBaker.cs 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. //----------------------------------------------
  2. // MeshBaker
  3. // Copyright © 2011-2012 Ian Deane
  4. //----------------------------------------------
  5. using UnityEngine;
  6. using System.Collections;
  7. using System.Collections.Specialized;
  8. using System;
  9. using System.Collections.Generic;
  10. using System.Text;
  11. using DigitalOpus.MB.Core;
  12. using System.Text.RegularExpressions;
  13. /// <summary>
  14. /// Component that manages a single combined mesh.
  15. ///
  16. /// This class is a Component. It must be added to a GameObject to use it. It is a wrapper for MB2_MeshCombiner which contains the same functionality but is not a component
  17. /// so it can be instantiated like a normal class.
  18. /// </summary>
  19. public class MB3_MeshBaker : MB3_MeshBakerCommon {
  20. [SerializeField] protected MB3_MeshCombinerSingle _meshCombiner = new MB3_MeshCombinerSingle();
  21. public override MB3_MeshCombiner meshCombiner{
  22. get{return _meshCombiner;}
  23. }
  24. public void BuildSceneMeshObject(){
  25. _meshCombiner.BuildSceneMeshObject();
  26. }
  27. public virtual bool ShowHide(GameObject[] gos, GameObject[] deleteGOs){
  28. return _meshCombiner.ShowHideGameObjects(gos, deleteGOs);
  29. }
  30. public virtual void ApplyShowHide(){
  31. _meshCombiner.ApplyShowHide();
  32. }
  33. public override bool AddDeleteGameObjects(GameObject[] gos, GameObject[] deleteGOs, bool disableRendererInSource){
  34. // if ((_meshCombiner.outputOption == MB2_OutputOptions.bakeIntoSceneObject || (_meshCombiner.outputOption == MB2_OutputOptions.bakeIntoPrefab && _meshCombiner.renderType == MB_RenderType.skinnedMeshRenderer) )) BuildSceneMeshObject();
  35. _meshCombiner.name = name + "-mesh";
  36. return _meshCombiner.AddDeleteGameObjects(gos,deleteGOs,disableRendererInSource);
  37. }
  38. public override bool AddDeleteGameObjectsByID(GameObject[] gos, int[] deleteGOinstanceIDs, bool disableRendererInSource){
  39. // if ((_meshCombiner.outputOption == MB2_OutputOptions.bakeIntoSceneObject || (_meshCombiner.outputOption == MB2_OutputOptions.bakeIntoPrefab && _meshCombiner.renderType == MB_RenderType.skinnedMeshRenderer) )) BuildSceneMeshObject();
  40. _meshCombiner.name = name + "-mesh";
  41. return _meshCombiner.AddDeleteGameObjectsByID(gos,deleteGOinstanceIDs,disableRendererInSource);
  42. }
  43. public void OnDestroy()
  44. {
  45. _meshCombiner.DisposeRuntimeCreated();
  46. }
  47. }