public uint AddCasterEffect(string effectKind, NkBattleChar kBattleChar) { if (this.m_bDontMakeEffect && NrTSingleton <NkEffectManager> .Instance.isEffectLimit(effectKind)) { return(0u); } if (kBattleChar == null) { return(0u); } Nr3DCharBase nr3DCharBase = kBattleChar.Get3DChar(); if (nr3DCharBase == null) { return(0u); } Transform effectTarget = nr3DCharBase.GetEffectTarget(); if (effectTarget == null) { return(0u); } EFFECT_INFO effectInfo = NrTSingleton <NkEffectManager> .Instance.GetEffectInfo(effectKind); if (effectInfo == null) { return(0u); } GameObject goTarget = nr3DCharBase.GetRootGameObject(); Transform effectPos = nr3DCharBase.GetEffectPos(effectInfo.EFFECT_POS); if (null != effectPos && effectInfo.EFFECT_POS == eEFFECT_POS.CENTERDM) { goTarget = effectPos.gameObject; } NkEffectUnit kEffectUnit; if (effectInfo.EFFECT_POS == eEFFECT_POS.CENTERDM) { kEffectUnit = new NkEffectUnit(effectInfo, goTarget); } else { kEffectUnit = new NkEffectUnit(effectInfo, kBattleChar); } return(this._AddEffect(kEffectUnit)); }