public static void SetUsableCollider(ref UseableCollider useableCollider, Transform root, ObjInfo info, int useTag, bool defaultEnable, bool create = false) { if (useableCollider == null) { Transform colliderTrans = null; if (!create) { colliderTrans = root.Find("useable"); } if (null == colliderTrans) { GameObject go = new GameObject("useable"); colliderTrans = go.transform; colliderTrans.SetParentIndentical(root); } useableCollider = colliderTrans.GetComponent <UseableCollider>(); if (useableCollider == null) { useableCollider = colliderTrans.gameObject.AddComponent <UseableCollider>(); } } useableCollider.collider = useableCollider.gameObject.GetComponent <SphereCollider>(); if (useableCollider.collider == null) { useableCollider.collider = useableCollider.gameObject.AddComponent <SphereCollider>(); } useableCollider.gameObject.SetActive(defaultEnable); useableCollider.useable = defaultEnable; useableCollider.gameObject.layer = Const.LAYER_USABLE; useableCollider.info = info; useableCollider.useTag = useTag; }
//设置使用碰撞体 public static UseableCollider AddUsableCollider(Transform root, ObjInfo info, int useTag, bool defaultEnable) { UseableCollider useableCollider = null; SetUsableCollider(ref useableCollider, root, info, useTag, defaultEnable, true); return(useableCollider); }