Exemple #1
0
    public void StartWithTarget(Life Parent)
    {
        m_StartTime = Time.time;
        Vector3 scale = new Vector3(1.25f, 1.25f, 1.25f);

        base.StartWithTarget(Parent, null);

        GameObject posgo = m_Skin.ProPerty.HelpPoint.GetVauleByKey(HelpPointName.EffectPos);

        if (posgo != null)
        {
            //m_effectgo = SkillEffects._instance.LoadEffect("effect/prefab/", "1000011",posgo.transform.position,1.5f);
            GameObjectActionExcute       gae      = EffectM.LoadEffect(EffectM.sPath, "1000011", posgo.transform.position, BattleEnvironmentM.GetLifeMBornNode(true));
            GameObjectActionDelayDestory ndEffect = new GameObjectActionDelayDestory(1.5f);
            gae.AddAction(ndEffect);
            m_effectgo = gae.gameObject;
        }
        Role.RefreshSkin();
        //PlayAction(AnimatorState.Skill01,m_Start);

        (m_LifePrent as Role).SavePosZ();
        if (m_lifeMCore != null)
        {
            if (m_lifeMCore.m_IsPlayer)
            {
                //Debug.Log(" 己方释放大招!!!");
                List <Life> listRAW = new List <Life>();
                m_LifePrent.SetDark(false);
                //CM.SearchLifeMListInBoat(ref listRAW, LifeMType.ALL);
                CM.SearchLifeMList(ref listRAW, null, LifeMType.ALL, LifeMCamp.ALL, MapSearchStlye.AllWorld, null, 0);
                List <Role> rs      = new List <Role>();
                bool        ispause = false;
                foreach (Life item in listRAW)
                {
                    if (item != m_LifePrent)
                    {
                        if (item is Role)
                        {
                            Role r = item as Role;
                            if (r.CurrentAction != null && r.CurrentAction is GridActionCmdActiveSkill)
                            {
                                float starttime = (r.CurrentAction as GridActionCmdActiveSkill).m_StartTime;
                                if (starttime >= 0)
                                {
                                    if ((m_StartTime - starttime) > ConfigM.GetBigSkillDelatime())
                                    {
                                        ispause = true;
                                    }
                                    rs.Add(r);
                                }
                                else
                                {
                                    item.Pause();
                                    item.SetDark(true);
                                }
                            }
                            else
                            {
                                item.Pause();
                                item.SetDark(true);
                            }
                        }
                        else
                        {
                            item.Pause();
                            item.SetDark(true);
                        }
                    }
                }
                foreach (Role r in rs)
                {
                    if (ispause)
                    {
                        r.Pause();
                        r.SetDark(true);
                        (r.CurrentAction as GridActionCmdActiveSkill).m_StartTime = -1f;
                    }
                }
                MaterialM.DarkBattleEnv();
                m_Skin.Scale(scale);
                ParticleEffect.StaticPlay(false);
                Bullet.PauseAll();
            }
        }
        ActiiveStart();
        if (m_skillinfo.m_LifeTarget != null)
        {
            m_skillinfo.m_LifeTarget.SetDark(false);
        }
        else
        {
        }
    }