/// <summary> /// /// </summary> /// <param name="liveObj"> object to check </param> /// <returns> /// true: able to target, no worry. /// false: not able to target by following reason. /// 1) Same Tribe /// 2) not able in the scene/hierarchy. /// </returns> private bool AbleTarget(JCS_2DLiveObject liveObj) { if (mAttackerInfo.Attacker != null) { // cannot target it-self. if (liveObj.transform == mAttackerInfo.Attacker) { return(false); } JCS_2DLiveObject owenerLiveObject = mAttackerInfo.Attacker.GetComponent <JCS_2DLiveObject>(); if (!JCS_GameSettings.instance.TRIBE_DAMAGE_EACH_OTHER) { // check same tribe. if (JCS_Utility.IsSameTribe(liveObj, owenerLiveObject)) { return(false); } } } // don't target the are disabled. if (liveObj.gameObject.activeInHierarchy == false) { return(false); } // don't target the dead live object if (liveObj.IsDead()) { return(false); } // make sure the object can be target/damage. if (!liveObj.CanDamage) { return(false); } return(true); }