void Start() { var mousePos = Input.mousePosition; mousePos.z = 10; // select distance = 10 units from the camera spriteRenderer.color = Color.green; targetCollider.SetEnable(true); targetCollider.AddCollisionCallback(() => { spriteRenderer.color = Color.red; }); targetCollider.AddNoHitCallback(() => { spriteRenderer.color = Color.green; }); collisionMonitor.AddTargetCollider(targetCollider); }
public override void OnInspectorGUI() { EditorUtility.SetDirty(target); //ensures repaint on value change UTargetCollider uCollider = (UTargetCollider)target; //Radius if (uCollider.radius < 0f) { uCollider.radius = 0f; //forcefully avoid negative values } bool is_radius_over_suggested_max = (uCollider.radius > UTargetCollider.GetSuggestedMaxRadius()); if (is_radius_over_suggested_max) { GUI.color = Color.yellow; } uCollider.radius = EditorGUILayout.FloatField("Collider Radius", uCollider.radius); GUI.color = Color.white; if (is_radius_over_suggested_max) { EditorGUILayout.HelpBox("Exceeding UCollider suggested radius range", MessageType.Warning); } EditorGUILayout.HelpBox("UDEngine currently requires all collider to have the shape of circle to ensure good performance. To simulate other shapes, consider multiple circle colliders", MessageType.Info); // default the .trans prop as its own parent // default the .trans prop as its own parent if (uCollider.trans == null) { if (uCollider.transform.parent != null) { uCollider.SetTransform(uCollider.transform.parent); } else { uCollider.SetTransform(uCollider.transform); } } uCollider.SetTransform(EditorGUILayout.ObjectField("Transform", uCollider.trans, typeof(Transform), true) as Transform); uCollider.SetLayer(EditorGUILayout.IntField("Layer", uCollider.layer)); uCollider.SetEnable(EditorGUILayout.Toggle("Enabled", uCollider.IsEnabled())); }