예제 #1
0
        public void ClearTargetID()
        {
            LockTargetEventParam param = new LockTargetEventParam(this.lockTargetID);

            Singleton <GameSkillEventSys> .GetInstance().SendEvent <LockTargetEventParam>(GameSkillEventDef.Event_ClearLockTarget, base.GetActor(), ref param, GameSkillEventChannel.Channel_HostCtrlActor);

            this.lockTargetID = 0;
        }
예제 #2
0
 public void SetLockTargetID(uint _targetID)
 {
     if (this.lockTargetID != _targetID)
     {
         this.lockTargetID = _targetID;
         LockTargetEventParam param = new LockTargetEventParam(this.lockTargetID);
         Singleton <GameSkillEventSys> .GetInstance().SendEvent <LockTargetEventParam>(GameSkillEventDef.Event_LockTarget, base.GetActor(), ref param, GameSkillEventChannel.Channel_HostCtrlActor);
     }
 }
예제 #3
0
 public void SetLockTargetID(uint _targetID, bool bIsFromAttackEnemyHero = false)
 {
     if (!bIsFromAttackEnemyHero && this.commonAttackEnemyHeroTargetID != 0u)
     {
         this.commonAttackEnemyHeroTargetID = 0u;
     }
     if (this.lockTargetID != _targetID)
     {
         this.lockTargetID = _targetID;
         LockTargetEventParam lockTargetEventParam = new LockTargetEventParam(this.lockTargetID);
         Singleton <GameSkillEventSys> .GetInstance().SendEvent <LockTargetEventParam>(GameSkillEventDef.Event_LockTarget, base.GetActor(), ref lockTargetEventParam, GameSkillEventChannel.Channel_HostCtrlActor);
     }
 }
예제 #4
0
        private void OnClearLockTarget(ref LockTargetEventParam _param)
        {
            PoolObjHandle <ActorRoot> actor = Singleton <GameObjMgr> .GetInstance().GetActor(_param.lockTargetID);

            if (actor && this.lockTargetPrefab != null)
            {
                this.targetObj = new PoolObjHandle <ActorRoot>(null);
                this.HidePrefab(this.lockTargetPrefab);
                MonoSingleton <SceneMgr> .GetInstance().AddToRoot(this.lockTargetPrefab, SceneObjType.ActionRes);

                if (actor.get_handle().TheActorMeta.ActorType == ActorTypeDef.Actor_Type_Hero && this.lockHeroPrefab != null)
                {
                    this.HidePrefab(this.lockHeroPrefab);
                    MonoSingleton <SceneMgr> .GetInstance().AddToRoot(this.lockHeroPrefab, SceneObjType.ActionRes);
                }
            }
        }
예제 #5
0
        private void OnLockTarget(ref LockTargetEventParam _param)
        {
            Vector3 zero = Vector3.zero;
            PoolObjHandle <ActorRoot> actor = Singleton <GameObjMgr> .GetInstance().GetActor(_param.lockTargetID);

            if (((actor != 0) && (this.lockTargetPrefab != null)) && !ActorHelper.IsHostActor(ref actor))
            {
                this.targetObj = actor;
                this.lockTargetPrefab.SetActive(true);
                if (actor.handle.CharInfo != null)
                {
                    this.SetPrefabScaler(this.lockTargetPrefab, actor.handle.CharInfo.iCollisionSize.x);
                }
                else
                {
                    this.SetPrefabScaler(this.lockTargetPrefab, 400);
                }
                zero    = actor.handle.gameObject.transform.position;
                zero.y += 0.2f;
                this.lockTargetPrefab.transform.position = zero;
                this.lockTargetPrefab.transform.SetParent(actor.handle.gameObject.transform);
                this.lockTargetPrefab.SetLayer("Actor");
                if (this.lockHeroPrefab != null)
                {
                    if (actor.handle.TheActorMeta.ActorType == ActorTypeDef.Actor_Type_Hero)
                    {
                        float num = 0f;
                        if (actor.handle.CharInfo != null)
                        {
                            num = ((float)actor.handle.CharInfo.iBulletHeight) / 1000f;
                        }
                        this.lockHeroPrefab.SetActive(true);
                        zero.y += num;
                        this.lockHeroPrefab.transform.position = zero;
                        this.lockHeroPrefab.transform.SetParent(actor.handle.gameObject.transform);
                        this.lockHeroPrefab.SetLayer("Actor");
                    }
                    else
                    {
                        this.lockHeroPrefab.SetActive(false);
                        MonoSingleton <SceneMgr> .GetInstance().AddToRoot(this.lockHeroPrefab, SceneObjType.ActionRes);
                    }
                }
            }
        }
예제 #6
0
        private void OnLockTarget(ref LockTargetEventParam _param)
        {
            Vector3 position = Vector3.zero;
            PoolObjHandle <ActorRoot> actor = Singleton <GameObjMgr> .GetInstance().GetActor(_param.lockTargetID);

            if (actor && this.lockTargetPrefab != null && !ActorHelper.IsHostActor(ref actor))
            {
                this.targetObj = actor;
                this.ShowPrefab(this.lockTargetPrefab);
                if (actor.get_handle().CharInfo != null)
                {
                    this.SetPrefabScaler(this.lockTargetPrefab, actor.get_handle().CharInfo.iCollisionSize.x);
                }
                else
                {
                    this.SetPrefabScaler(this.lockTargetPrefab, 400);
                }
                position    = actor.get_handle().myTransform.position;
                position.y += 0.2f;
                this.lockTargetTransform.position = position;
                this.lockTargetTransform.SetParent(actor.get_handle().myTransform);
                this.lockTargetTransform.localRotation = Quaternion.Euler(90f, 0f, 0f);
                if (this.lockHeroPrefab != null)
                {
                    if (actor.get_handle().TheActorMeta.ActorType == ActorTypeDef.Actor_Type_Hero)
                    {
                        float num = 0f;
                        if (actor.get_handle().CharInfo != null)
                        {
                            num = (float)actor.get_handle().CharInfo.iBulletHeight / 1000f;
                        }
                        this.ShowPrefab(this.lockHeroPrefab);
                        position.y += num;
                        this.lockHeroTransform.position = position;
                        this.lockHeroTransform.SetParent(actor.get_handle().myTransform);
                    }
                    else
                    {
                        this.HidePrefab(this.lockHeroPrefab);
                        MonoSingleton <SceneMgr> .GetInstance().AddToRoot(this.lockHeroPrefab, SceneObjType.ActionRes);
                    }
                }
            }
        }