Exemplo n.º 1
0
        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>();
                }
            }
        }