Tanoda
MeshCollHelper.cs
Go to the documentation of this file.
1using System.Collections;
2using System.Collections.Generic;
3using System.Threading.Tasks;
4using NaughtyAttributes;
5using UnityEngine;
6
7public class MeshCollHelper : MonoBehaviour
8{
9 private byte slow = 0;
10 void Update()
11 {
12 slow++;
13 if (slow % 30 == 0)
14 {
15 var mc = GetComponent<MeshCollider>();
16 if (mc)
17 {
18 Debug.Log($"{gameObject.name}: {mc.bounds.size}");
19 }
20 }
21 }
22
23 [Button]
24 private void MeshPumper()
25 {
26 var mc = GetComponent<MeshCollider>();
27 if (!mc) return;
28
29 int failsafe = 0;
30
31 transform.localScale *= 1/V3smoll(mc.bounds.size);
32 transform.localScale *= 0.25f;
33
34 }
35
36 [Button]
37 private void TriggerCollGen2()
38 {
39 StartCoroutine(TriggerCollGen());
40 }
41
42 private IEnumerator TriggerCollGen()
43 {
44 var mc = gameObject.AddComponent<MeshCollider>();
45 var origScale = transform.localScale;
46 var origPos = transform.position;
47
48 transform.position = Vector3.one * 999;
49
50 transform.localScale *= 1/V3smoll(mc.bounds.size);
51 transform.localScale *= 0.25f;
52 yield return new WaitForEndOfFrame();
53 var teg = gameObject.AddComponent<TriggerEventGenerator>();
55 transform.localScale = origScale;
56 transform.position = origPos;
57
58 Destroy(mc);
59 }
60
61 private float V3smoll(Vector3 v)
62 {
63 var retval = Mathf.Abs(v.x);
64
65 if (Mathf.Abs(v.y) < retval)
66 retval = Mathf.Abs(v.y);
67
68 if (Mathf.Abs(v.z) < retval)
69 retval = Mathf.Abs(v.z);
70
71 return retval;
72 }
73}
UnityEngine.UI.Button Button
Definition: Pointer.cs:7
UnityEngine.Debug Debug
Definition: TanodaServer.cs:19
GameObject[] GenerateThreadLocking()