public override void OnInspectorGUI() { base.OnInspectorGUI(); BluePart BP = (BluePart)target; if (GUILayout.Button("Break")) { BP.Break(); } }
void SpawnExplosion(Vector3 Start) { LastPos = Start; if (Start != Vector3.zero) { Collider[] hitColliders = Physics.OverlapSphere(Start, Radius); int i = 0; while (i < hitColliders.Length) { try { BluePart Part = hitColliders[i].GetComponent <BluePart>(); if (Part != null) { Part.Break(); } }catch {} try { Rigidbody R = hitColliders[i].GetComponent <Rigidbody>(); if (R != null) { Vector3 Direction = hitColliders[i].transform.position - Start; float percent = (Vector3.Distance(hitColliders[i].transform.position, Start)) / (Radius); if (percent > 1) { percent = 1; } percent = Magnitude * (1 - percent); R.AddForce(Direction.normalized * percent); } }catch {} i++; } } }