public override void Do() { base.Do(); string ef_name = m_Prop.GetString(PropertiesKey.ACTION_EFFECT_NAME); bool ef_follow = m_Prop.GetBool(PropertiesKey.ACTION_EFFECT_FOLLOW, false); float ef_duration = m_Prop.GetFloat(PropertiesKey.ACTION_EFFECT_DURATION, -1); for (int i = 0; i < m_Summon.Targets.Count; i++) { Transform mount = m_Summon.Targets[i].GetMount(m_Prop.GetString(PropertiesKey.ACTION_EFFECT_NODE)); Effect effect = GameCenter.Instance.EffectManager.Create(ef_name, mount.position, mount.rotation, ef_duration); if (ef_follow) { effect.AddComponent <FollowObjComp>(); } } }