Example #1
0
        private void ActorMarkProcess(PoolObjHandle <ActorRoot> inActor, AreaCheck.ActorAction action)
        {
            if (inActor != 0)
            {
                OrganWrapper actorControl = inActor.handle.ActorControl as OrganWrapper;
                if (actorControl != null)
                {
                    switch (action)
                    {
                    case AreaCheck.ActorAction.Enter:
                    case AreaCheck.ActorAction.Hover:
                    {
                        long iMaxAttackDistance = (long)inActor.handle.SkillControl.GetSkillSlot(SkillSlotType.SLOT_SKILL_0).SkillObj.cfgData.iMaxAttackDistance;
                        if (action != AreaCheck.ActorAction.Enter)
                        {
                            VInt3 num3  = inActor.handle.location - this._hostPlayer.Captain.handle.location;
                            Place place = (num3.sqrMagnitudeLong2D < (iMaxAttackDistance * iMaxAttackDistance)) ? Place.In : Place.Near;
                            bool  flag  = actorControl.myTarget == this._hostPlayer.Captain;
                            actorControl.ShowAroundEffect((place != Place.Near) ? (!flag ? OrganAroundEffect.HostPlayerInNotHit : OrganAroundEffect.HostPlayerInAndHit) : OrganAroundEffect.HostPlayerNear, true, true, ((float)iMaxAttackDistance) / 10000f);
                            break;
                        }
                        actorControl.ShowAroundEffect(OrganAroundEffect.HostPlayerNear, true, true, ((float)iMaxAttackDistance) / 10000f);
                        break;
                    }

                    case AreaCheck.ActorAction.Leave:
                        actorControl.ShowAroundEffect(OrganAroundEffect.HostPlayerNear, false, true, 1f);
                        break;
                    }
                }
            }
        }
Example #2
0
 private void ActorMarkProcess(PoolObjHandle <ActorRoot> _inActor, AreaCheck.ActorAction _action)
 {
     if (_inActor != 0)
     {
         if (_inActor.handle.TheActorMeta.ActorType == ActorTypeDef.Actor_Type_Monster)
         {
             if (_action == AreaCheck.ActorAction.Enter)
             {
                 if (++this._aroundEnemyMonsterCount == 1)
                 {
                     ValueDataInfo info = base.actor.ValueComponent.mActorValue[RES_FUNCEFT_TYPE.RES_FUNCEFT_PHYDEFPT] - base.actor.TheStaticData.TheOrganOnlyInfo.NoEnemyAddPhyDef;
                     info = base.actor.ValueComponent.mActorValue[RES_FUNCEFT_TYPE.RES_FUNCEFT_MGCDEFPT] - base.actor.TheStaticData.TheOrganOnlyInfo.NoEnemyAddMgcDef;
                 }
             }
             else if ((_action == AreaCheck.ActorAction.Leave) && (--this._aroundEnemyMonsterCount == 0))
             {
                 ValueDataInfo info2 = base.actor.ValueComponent.mActorValue[RES_FUNCEFT_TYPE.RES_FUNCEFT_PHYDEFPT] + base.actor.TheStaticData.TheOrganOnlyInfo.NoEnemyAddPhyDef;
                 info2 = base.actor.ValueComponent.mActorValue[RES_FUNCEFT_TYPE.RES_FUNCEFT_MGCDEFPT] + base.actor.TheStaticData.TheOrganOnlyInfo.NoEnemyAddMgcDef;
             }
         }
         else if (_inActor.handle.TheActorMeta.ActorType == ActorTypeDef.Actor_Type_Hero)
         {
             if (_action == AreaCheck.ActorAction.Enter)
             {
                 _inActor.handle.HorizonMarker.AddShowMark(COM_PLAYERCAMP.COM_PLAYERCAMP_COUNT, HorizonConfig.ShowMark.Skill, 1);
             }
             else if (_action == AreaCheck.ActorAction.Leave)
             {
                 _inActor.handle.HorizonMarker.AddShowMark(COM_PLAYERCAMP.COM_PLAYERCAMP_COUNT, HorizonConfig.ShowMark.Skill, -1);
             }
         }
     }
 }
Example #3
0
 private void ActorMarkProcess(PoolObjHandle <ActorRoot> _inActor, AreaCheck.ActorAction _action)
 {
     if (_inActor != 0)
     {
         if (_inActor.handle.TheActorMeta.ActorType == ActorTypeDef.Actor_Type_Monster)
         {
             if (_action == AreaCheck.ActorAction.Enter)
             {
                 if (++this._aroundEnemyMonsterCount == 1)
                 {
                     int num = (int)(base.actor.ValueComponent.mActorValue[3] >> base.actor.TheStaticData.TheOrganOnlyInfo.NoEnemyAddPhyDef);
                     num = (int)(base.actor.ValueComponent.mActorValue[4] >> base.actor.TheStaticData.TheOrganOnlyInfo.NoEnemyAddMgcDef);
                 }
             }
             else if ((_action == AreaCheck.ActorAction.Leave) && (--this._aroundEnemyMonsterCount == 0))
             {
                 int num2 = (int)(base.actor.ValueComponent.mActorValue[3] << base.actor.TheStaticData.TheOrganOnlyInfo.NoEnemyAddPhyDef);
                 num2 = (int)(base.actor.ValueComponent.mActorValue[4] << base.actor.TheStaticData.TheOrganOnlyInfo.NoEnemyAddMgcDef);
             }
         }
         else if (_inActor.handle.TheActorMeta.ActorType == ActorTypeDef.Actor_Type_Hero)
         {
             if (_action == AreaCheck.ActorAction.Enter)
             {
                 _inActor.handle.HorizonMarker.AddShowMark(COM_PLAYERCAMP.COM_PLAYERCAMP_COUNT, HorizonConfig.ShowMark.Skill, 1);
             }
             else if (_action == AreaCheck.ActorAction.Leave)
             {
                 _inActor.handle.HorizonMarker.AddShowMark(COM_PLAYERCAMP.COM_PLAYERCAMP_COUNT, HorizonConfig.ShowMark.Skill, -1);
             }
         }
     }
 }
Example #4
0
        private void ActorMarkProcess(PoolObjHandle <ActorRoot> _inActor, AreaCheck.ActorAction _action)
        {
            if (!_inActor)
            {
                return;
            }
            DebugHelper.Assert(this.actor.TheActorMeta.ActorCamp != COM_PLAYERCAMP.COM_PLAYERCAMP_MID);
            if (this.actor.TheActorMeta.ActorCamp == COM_PLAYERCAMP.COM_PLAYERCAMP_MID)
            {
                return;
            }
            ActorTypeDef actorType = _inActor.handle.TheActorMeta.ActorType;

            if (actorType == ActorTypeDef.Actor_Type_Monster && !(_inActor.handle.ActorControl as MonsterWrapper).isCalledMonster)
            {
                if (_action == AreaCheck.ActorAction.Enter)
                {
                    if (++this._aroundEnemyMonsterCount == 1)
                    {
                        this.actor.ValueComponent.mActorValue[RES_FUNCEFT_TYPE.RES_FUNCEFT_PHYDEFPT].addValue -= this.actor.TheStaticData.TheOrganOnlyInfo.NoEnemyAddPhyDef;
                        this.actor.ValueComponent.mActorValue[RES_FUNCEFT_TYPE.RES_FUNCEFT_MGCDEFPT].addValue -= this.actor.TheStaticData.TheOrganOnlyInfo.NoEnemyAddMgcDef;
                    }
                }
                else if (_action == AreaCheck.ActorAction.Leave && --this._aroundEnemyMonsterCount == 0)
                {
                    this.actor.ValueComponent.mActorValue[RES_FUNCEFT_TYPE.RES_FUNCEFT_PHYDEFPT].addValue += this.actor.TheStaticData.TheOrganOnlyInfo.NoEnemyAddPhyDef;
                    this.actor.ValueComponent.mActorValue[RES_FUNCEFT_TYPE.RES_FUNCEFT_MGCDEFPT].addValue += this.actor.TheStaticData.TheOrganOnlyInfo.NoEnemyAddMgcDef;
                }
            }
            else if (actorType == ActorTypeDef.Actor_Type_Hero || actorType == ActorTypeDef.Actor_Type_EYE)
            {
                if (_action == AreaCheck.ActorAction.Enter)
                {
                    _inActor.handle.HorizonMarker.AddShowMark(COM_PLAYERCAMP.COM_PLAYERCAMP_COUNT, HorizonConfig.ShowMark.Organ, 1);
                }
                else if (_action == AreaCheck.ActorAction.Leave)
                {
                    _inActor.handle.HorizonMarker.AddShowMark(COM_PLAYERCAMP.COM_PLAYERCAMP_COUNT, HorizonConfig.ShowMark.Organ, -1);
                }
            }
        }
Example #5
0
        private void ActorMarkProcess(PoolObjHandle <ActorRoot> inActor, AreaCheck.ActorAction action)
        {
            if (!inActor)
            {
                return;
            }
            OrganWrapper organWrapper = inActor.get_handle().ActorControl as OrganWrapper;

            if (organWrapper == null)
            {
                return;
            }
            switch (action)
            {
            case AreaCheck.ActorAction.Enter:
            case AreaCheck.ActorAction.Hover:
            {
                long num = inActor.get_handle().SkillControl.GetSkillSlot(SkillSlotType.SLOT_SKILL_0).SkillObj.cfgData.iMaxAttackDistance;
                if (action == AreaCheck.ActorAction.Enter)
                {
                    organWrapper.ShowAroundEffect(OrganAroundEffect.HostPlayerNear, true, true, (float)num / 10000f);
                }
                else
                {
                    long sqrMagnitudeLong2D     = (inActor.get_handle().location - this._hostPlayer.Captain.get_handle().location).get_sqrMagnitudeLong2D();
                    HostPlayerLogic.Place place = (sqrMagnitudeLong2D < num * num) ? HostPlayerLogic.Place.In : HostPlayerLogic.Place.Near;
                    bool flag = organWrapper.myTarget == this._hostPlayer.Captain;
                    organWrapper.ShowAroundEffect((place != HostPlayerLogic.Place.Near) ? ((!flag) ? OrganAroundEffect.HostPlayerInNotHit : OrganAroundEffect.HostPlayerInAndHit) : OrganAroundEffect.HostPlayerNear, true, true, (float)num / 10000f);
                    if (place == HostPlayerLogic.Place.In && flag)
                    {
                        Singleton <EventRouter> .GetInstance().BroadCastEvent("NewbieHostPlayerInAndHitByTower");
                    }
                }
                break;
            }

            case AreaCheck.ActorAction.Leave:
                organWrapper.ShowAroundEffect(OrganAroundEffect.HostPlayerNear, false, true, 1f);
                break;
            }
        }
Example #6
0
        private void ActorMarkProcess(PoolObjHandle <ActorRoot> _inActor, AreaCheck.ActorAction _action)
        {
            if (!_inActor)
            {
                return;
            }
            ActorTypeDef actorType = _inActor.get_handle().TheActorMeta.ActorType;

            if (actorType == ActorTypeDef.Actor_Type_Monster)
            {
                if (_action == AreaCheck.ActorAction.Enter)
                {
                    if (++this._aroundEnemyMonsterCount == 1)
                    {
                        ValueDataInfo valueDataInfo = this.actor.ValueComponent.mActorValue[3] - this.actor.TheStaticData.TheOrganOnlyInfo.NoEnemyAddPhyDef;
                        valueDataInfo = this.actor.ValueComponent.mActorValue[4] - this.actor.TheStaticData.TheOrganOnlyInfo.NoEnemyAddMgcDef;
                    }
                }
                else if (_action == AreaCheck.ActorAction.Leave && --this._aroundEnemyMonsterCount == 0)
                {
                    ValueDataInfo valueDataInfo2 = this.actor.ValueComponent.mActorValue[3] + this.actor.TheStaticData.TheOrganOnlyInfo.NoEnemyAddPhyDef;
                    valueDataInfo2 = this.actor.ValueComponent.mActorValue[4] + this.actor.TheStaticData.TheOrganOnlyInfo.NoEnemyAddMgcDef;
                }
            }
            else if (actorType == ActorTypeDef.Actor_Type_Hero || actorType == ActorTypeDef.Actor_Type_EYE)
            {
                if (_action == AreaCheck.ActorAction.Enter)
                {
                    _inActor.get_handle().HorizonMarker.AddShowMark(3, HorizonConfig.ShowMark.Organ, 1);
                }
                else if (_action == AreaCheck.ActorAction.Leave)
                {
                    _inActor.get_handle().HorizonMarker.AddShowMark(3, HorizonConfig.ShowMark.Organ, -1);
                }
            }
        }