Exemple #1
0
        public object OnInitSceneUI(params object[] objs)
        {
            //--------- menu begin--------------------------
            ButtonBarView.GetInstance().viewType = ViewType.Menu; //ShortcutView.GetInstance(); //old view

            CMDView.GetInstance().viewType      = ViewType.Menu;
            HitPanelView.GetInstance().viewType = ViewType.Menu;
            HeroMenuView.GetInstance().viewType = ViewType.Menu;   //HeadView.GetInstance();//old view
            MinMapView.GetInstance().viewType   = ViewType.Menu;

            if (PlayerManager.GetInstance().MajorPlayer.level >= 14)
            {
                MissionFollowListView.GetInstance().viewType = ViewType.Menu;
            }
            else
            {
                MissionFollowView.GetInstance().viewType = ViewType.Menu;
            }

            TopRightMenuView.GetInstance().viewType = ViewType.Menu;
            PveProcessView.GetInstance().viewType   = ViewType.Menu;
            //-----------menu end--------------------

            //-----------window begin-----------------
            PveView.GetInstance();
            PveQuitView.GetInstance();
            PveAutoFight.GetInstance();
            //-----------window end-------------------

            //----------Tip begin-----------
            PveFailView.GetInstance();
            ReliveView.GetInstance();
            //----------Tip end-------------


            return(null);
        }
Exemple #2
0
        public void OnHeroDeathOp(KProtoBuf buf, bool fristTime)
        {
            S2C_HERO_DEATH respond    = buf as S2C_HERO_DEATH;
            SceneEntity    targetHero = GetSceneObject(respond.heroID) as SceneEntity;
            SceneEntity    killerHero = GetSceneObject(respond.KillerID) as SceneEntity;

            if (null == targetHero)
            {
                return;
            }
            if (targetHero == mainHero)
            {
                ReliveView.GetInstance().ShowView();
            }

            targetHero.property.isDeaded = true;
            uint          lastSkillId  = targetHero.property.lastHitSkillId;
            KSkillDisplay skillDisplay = KConfigFileManager.GetInstance().GetSkillDisplay(lastSkillId, targetHero.property.tabID);

            if (fristTime && null != killerHero)
            {
                KActiveSkill activeSkill = KConfigFileManager.GetInstance().GetActiveSkill(lastSkillId, 1);
                if (null != activeSkill && activeSkill.ClientCache)
                {
                    if (null != killerHero.ActiveAction)
                    {
                        killerHero.ActiveAction.AddDeadMessage(respond);
                        return;
                    }
                }
                else if (null != killerHero && skillDisplay.HitDelayTimeScale > 0.00001f)
                {
                    float distance = Vector3.Distance(killerHero.Position, targetHero.Position);
                    float _time    = distance * skillDisplay.HitDelayTimeScale;
                    DelayCallManager.instance.CallFunction(OnHeroDeathParam, _time, buf, false);
                    return;
                }
            }
            if (null != targetHero)
            {
                if (targetHero.property.activeAction.isFlying)
                {
                    if (skillDisplay.DeadType != KSkillDisplay.DEAD_TYPE.PHYSICS)
                    {
                        targetHero.property.isDeadTemp = true;
                        return;
                    }
                }
                targetHero.DispatchEvent(ControllerCommand.FinishImmediate);
                targetHero.DispatchEvent(ControllerCommand.CLEAR_BUFF);
                targetHero.Action.ToDead(killerHero);
                targetHero.property.isDeadTemp = true;
                if (null != killerHero)
                {
                    if (killerHero.gameObject.GetComponent <AttackSlow>() == null)
                    {
                        if (null == skillDisplay || skillDisplay.DieAttackSlowTime <= 0)
                        {
                            return;
                        }
                        killerHero.DispatchEvent(
                            ControllerCommand.SLOW,
                            killerHero.AnimCmp.GetLastLogicAnimName(),
                            skillDisplay.DieAttackSlowTime,
                            skillDisplay.DieAttackSpeed);
                    }
                }
            }
        }