- WaterTile.cs
- Scripts /
- Water /
- Water /
- Environment /
- Standard Assets /
- Assets /
- project /
1 using System;
2 using UnityEngine;
3
4 namespace UnityStandardAssets.Water
5 {
6 [ExecuteInEditMode]
7 public class WaterTile : MonoBehaviour
8 {
9 public PlanarReflection reflection;
10 public WaterBase waterBase;
11
12
13 public void Start()
14 {
15 AcquireComponents();
16 }
17
18
19 void AcquireComponents()
20 {
21 if (!reflection)
22 {
23 if (transform.parent)
24 {
25 reflection = transform.parent.GetComponent<PlanarReflection>();
26 }
27 else
28 {
29 reflection = transform.GetComponent<PlanarReflection>();
30 }
31 }
32
33 if (!waterBase)
34 {
35 if (transform.parent)
36 {
37 waterBase = transform.parent.GetComponent<WaterBase>();
38 }
39 else
40 {
41 waterBase = transform.GetComponent<WaterBase>();
42 }
43 }
44 }
45
46
47 #if UNITY_EDITOR
48 public void Update()
49 {
50 AcquireComponents();
51 }
52 #endif
53
54
55 public void OnWillRenderObject()
56 {
57 if (reflection)
58 {
59 reflection.WaterTileBeingRendered(transform, Camera.current);
60 }
61 if (waterBase)
62 {
63 waterBase.WaterTileBeingRendered(transform, Camera.current);
64 }
65 }
66 }
67 }
2 using UnityEngine;
3
4 namespace UnityStandardAssets.Water
5 {
6 [ExecuteInEditMode]
7 public class WaterTile : MonoBehaviour
8 {
9 public PlanarReflection reflection;
10 public WaterBase waterBase;
11
12
13 public void Start()
14 {
15 AcquireComponents();
16 }
17
18
19 void AcquireComponents()
20 {
21 if (!reflection)
22 {
23 if (transform.parent)
24 {
25 reflection = transform.parent.GetComponent<PlanarReflection>();
26 }
27 else
28 {
29 reflection = transform.GetComponent<PlanarReflection>();
30 }
31 }
32
33 if (!waterBase)
34 {
35 if (transform.parent)
36 {
37 waterBase = transform.parent.GetComponent<WaterBase>();
38 }
39 else
40 {
41 waterBase = transform.GetComponent<WaterBase>();
42 }
43 }
44 }
45
46
47 #if UNITY_EDITOR
48 public void Update()
49 {
50 AcquireComponents();
51 }
52 #endif
53
54
55 public void OnWillRenderObject()
56 {
57 if (reflection)
58 {
59 reflection.WaterTileBeingRendered(transform, Camera.current);
60 }
61 if (waterBase)
62 {
63 waterBase.WaterTileBeingRendered(transform, Camera.current);
64 }
65 }
66 }
67 }