public static void SetAllHitBoxRealDmgDelegate(this Unit m_unit, GetRealDmg calcDelegate) { if (m_unit.m_onHitBoxes == null) { return; } for (int i = 0; i < m_unit.m_onHitBoxes.Length; i++) { m_unit.m_onHitBoxes[i].m_dmgDelegate = calcDelegate; } }
void Awake() { // 需要初始化 collider 和 rigid 设置 layer 以及 collider 属性等 m_UnitAttached = GetComponentInParent <Unit>(); DamageModifier dm = GetComponent <DamageModifier>(); if (dm != null) { m_dmgDelegate = dm.GetRealDmg; } gameObject.layer = LayerMask.NameToLayer("OnHitBox"); }