NonSolidWallScript.cs 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. 
  2. using UnityEngine;
  3. namespace WorldPlatforms
  4. {
  5. public class NonSolidWallScript : MonoBehaviour
  6. {
  7. public void InitVars(Texture2D textureSolid, Texture2D textureNonSolid, Renderer renderer)
  8. {
  9. this.textureNonSolid = textureNonSolid;
  10. this.textureSolid = textureSolid;
  11. this.renderer = renderer;
  12. renderer.material = new Material(renderer.material)
  13. {
  14. mainTexture = textureSolid
  15. };
  16. }
  17. private int inside = 0;
  18. private Texture2D textureSolid;
  19. private Texture2D textureNonSolid;
  20. private Renderer renderer;
  21. private void OnTriggerEnter(Collider c)
  22. {
  23. if (c.gameObject.layer == 8 && c.GetComponent<NetworkView>().isMine)
  24. {
  25. if(inside == 0)
  26. {
  27. renderer.material = new Material(renderer.material)
  28. {
  29. mainTexture = textureNonSolid
  30. };
  31. }
  32. inside++;
  33. }
  34. }
  35. private void OnTriggerExit(Collider c)
  36. {
  37. if (c.gameObject.layer == 8 && c.GetComponent<NetworkView>().isMine)
  38. {
  39. inside--;
  40. if (inside == 0)
  41. {
  42. renderer.material = new Material(renderer.material)
  43. {
  44. mainTexture = textureSolid
  45. };
  46. }
  47. }
  48. }
  49. }
  50. }