Exemplo n.º 1
0
        protected virtual void ServerHandleSkillByID(int skillID, int actionPriority, Vector3 dir, bool isClientHandle, int uniqueID)
        {
            Skill skill = DataReader <Skill> .Get(skillID);

            if (skill == null)
            {
                return;
            }
            this.CurSkillID            = skillID;
            this.ownerActor.IsRotating = false;
            this.ownerActor.ForceSetDirection(dir);
            this.ownerActor.ApplyMovingDirAsForward();
            if (skill.effect != null)
            {
                for (int i = 0; i < skill.effect.get_Count(); i++)
                {
                    this.MarkStaticEffectMessage(skill.effect.get_Item(i), isClientHandle);
                }
            }
            if (!string.IsNullOrEmpty(skill.attAction))
            {
                List <int> actionEffects = XUtility.GetActionEffects(this.ownerActor.FixAnimator.get_runtimeAnimatorController(), skill.attAction);
                for (int j = 0; j < actionEffects.get_Count(); j++)
                {
                    this.MarkStaticEffectMessage(actionEffects.get_Item(j), isClientHandle);
                }
            }
            if (isClientHandle)
            {
                this.serverTrusteeSkillActionStatusName.Add(new KeyValuePair <string, int>(skill.attAction, uniqueID));
                if (string.IsNullOrEmpty(skill.attAction))
                {
                    this.ServerTrusteeSkillActionEnd(string.Empty, this.owner.ID);
                }
            }
            this.ownerActor.ServerCastAction(skill.attAction, actionPriority, (!isClientHandle) ? ActorParent.EffectFrameSetMode.Ignore : ActorParent.EffectFrameSetMode.Server, skill.changeSpeed, (!string.IsNullOrEmpty(skill.attAction)) ? skillID : 0, skill.combo, skill.eventTag);
            if (skill.superArmor == 1)
            {
                int fxID = FXManager.Instance.PlayFX(93, this.ownerActor.FixTransform, this.ownerActor.FixTransform.get_position(), this.ownerActor.FixTransform.get_rotation(), 1f, 1f, 0, false, 0, null, null, 1f, FXClassification.Normal);
                this.ownerActor.FixFXSystem.AddActionFX(fxID);
            }
            if (skill.skillWarningTime != 0)
            {
                WarningGraghHandler.AddWarningGragh(new SkillWarningGraghMessage
                {
                    casterActor = this.ownerActor,
                    targetPoint = null,
                    skillID     = skillID
                });
            }
            this.ServerLogicTriggerEffect(skill);
        }
Exemplo n.º 2
0
 public static void ReleaseManagers()
 {
     WarningGraghHandler.Release();
     BattleCalculator.Release();
     GlobalBattleNetwork.Instance.Release();
     BattleBlackboard.Instance.Release();
     LocalBattleHandler.Instance.Release();
     LocalInstanceHandler.Instance.Release();
     CityManager.Instance.Release();
     AOIService.Instance.Release();
     EntityWorld.Instance.Release();
     InstanceManager.Release();
     LoginManager.Instance.Release();
     ReconnectManager.Instance.Release();
     NetworkManager.Instance.Release();
     for (int i = 0; i < BaseSubSystemManager.ListManager.get_Count(); i++)
     {
         BaseSubSystemManager.ListManager.get_Item(i).Release();
     }
 }
Exemplo n.º 3
0
    protected static GraghMessage MarkWarningGraghByDynamicWarningArea(XPoint caster, XPoint target, List <int> offset, List <int> dynamicWarningArea)
    {
        if (dynamicWarningArea.get_Count() < 4)
        {
            return(null);
        }
        XPoint xPoint = null;
        int    num    = dynamicWarningArea.get_Item(0);

        if (num != 1)
        {
            if (num == 2)
            {
                if (target == null)
                {
                    return(null);
                }
                xPoint          = new XPoint();
                xPoint.position = target.position;
                xPoint.rotation = target.rotation;
            }
        }
        else
        {
            if (caster == null)
            {
                return(null);
            }
            xPoint          = new XPoint();
            xPoint.position = caster.position;
            xPoint.rotation = caster.rotation;
        }
        xPoint = xPoint.ApplyOffset(offset);
        List <int> list = new List <int>();

        for (int i = 1; i < 4; i++)
        {
            list.Add(dynamicWarningArea.get_Item(i));
        }
        return(WarningGraghHandler.MarkWarningGragh(xPoint, list));
    }
Exemplo n.º 4
0
    public static void AddWarningGragh(SkillWarningGraghMessage message)
    {
        if (!message.casterActor)
        {
            return;
        }
        Skill skillData = DataReader <Skill> .Get(message.skillID);

        if (skillData == null)
        {
            return;
        }
        XPoint caster = new XPoint
        {
            position = message.casterActor.FixTransform.get_position(),
            rotation = message.casterActor.FixTransform.get_rotation()
        };
        GraghMessage gragh = WarningGraghHandler.MarkWarningGraghByDynamicWarningArea(caster, message.targetPoint, skillData.dynamicWarningAreaOffset, skillData.dynamicWarningArea);

        if (gragh == null)
        {
            return;
        }
        int fxID = 0;

        fxID = FXManager.Instance.PlayFX((gragh.graghShape != GraghShape.Sector) ? 1104 : 1103, null, gragh.Center, gragh.fixBasePoint.rotation, message.casterActor.RealActionSpeed, 1f, 0, false, 0, null, delegate(ActorFX fx)
        {
            if (fx != null)
            {
                fx.VecterScale = ((gragh.graghShape != GraghShape.Sector) ? new Vector3(gragh.width, 1f, gragh.height) : new Vector3(gragh.range, 1f, gragh.range));
            }
            WarningGraghHandler.warningFxTimer.Add(TimerHeap.AddTimer((uint)skillData.skillWarningTime, 0, delegate
            {
                FXManager.Instance.DeleteFX(fxID);
            }));
        }, 1f, FXClassification.Normal);
        message.casterActor.FixFXSystem.AddActionFX(fxID);
    }
Exemplo n.º 5
0
        public virtual void ClientHandleSkillByID(int skillID)
        {
            Skill skill = DataReader <Skill> .Get(skillID);

            if (skill == null)
            {
                return;
            }
            this.CurSkillID = skillID;
            this.MarkCD(skill);
            this.ownerActor.IsRotating = false;
            if (skill.autoAim == 1 && this.owner.AITarget != null && this.owner.AITarget.Actor)
            {
                this.ownerActor.ForceSetDirection(new Vector3(this.owner.AITarget.Actor.FixTransform.get_position().x - this.ownerActor.FixTransform.get_position().x, 0f, this.owner.AITarget.Actor.FixTransform.get_position().z - this.ownerActor.FixTransform.get_position().z));
                this.ownerActor.ApplyMovingDirAsForward();
            }
            for (int i = 0; i < skill.effect.get_Count(); i++)
            {
                this.MarkStaticEffectMessage(skill.effect.get_Item(i), true);
            }
            if (!string.IsNullOrEmpty(skill.attAction))
            {
                List <int> actionEffects = XUtility.GetActionEffects(this.ownerActor.FixAnimator.get_runtimeAnimatorController(), skill.attAction);
                for (int j = 0; j < actionEffects.get_Count(); j++)
                {
                    this.MarkStaticEffectMessage(actionEffects.get_Item(j), true);
                }
            }
            if (skill.aiSkillMove == 1 && this.owner.AITarget != null)
            {
                SkillWarningMessage skillWarningMessage = new SkillWarningMessage();
                skillWarningMessage.caster        = this.owner;
                skillWarningMessage.target        = this.owner.AITarget;
                skillWarningMessage.skillID       = skillID;
                skillWarningMessage.effectMessage = new Dictionary <int, XPoint>();
                if (skill.effect != null)
                {
                    for (int k = 0; k < skill.effect.get_Count(); k++)
                    {
                        int num = skill.effect.get_Item(k);
                        if (this.effectMessageCache.ContainsKey(num) && !skillWarningMessage.effectMessage.ContainsKey(num))
                        {
                            skillWarningMessage.effectMessage.Add(num, this.effectMessageCache.get_Item(num).basePoint);
                        }
                    }
                }
                List <int> actionEffects2 = XUtility.GetActionEffects(this.ownerActor.FixAnimator.get_runtimeAnimatorController(), skill.attAction);
                for (int l = 0; l < actionEffects2.get_Count(); l++)
                {
                    int num2 = actionEffects2.get_Item(l);
                    if (this.effectMessageCache.ContainsKey(num2) && !skillWarningMessage.effectMessage.ContainsKey(num2))
                    {
                        skillWarningMessage.effectMessage.Add(num2, this.effectMessageCache.get_Item(num2).basePoint);
                    }
                }
                EventDispatcher.BroadcastAsync <SkillWarningMessage>(WarningManagerEvent.AddSkillWarningMessage, skillWarningMessage);
            }
            bool flag = this.CheckSkillTrustee(skill);

            if (flag)
            {
                this.owner.IsSkillInTrustee = true;
                this.serverTrusteeSkillActionStatusName.Add(new KeyValuePair <string, int>(skill.attAction, 0));
                if (string.IsNullOrEmpty(skill.attAction))
                {
                    this.ServerTrusteeSkillActionEnd(string.Empty, this.owner.ID);
                }
            }
            if (skill.actionPriority != 0)
            {
                this.ownerActor.ActionPriorityTable[skill.attAction] = skill.actionPriority;
            }
            this.ownerActor.CastAction(skill.attAction, true, skill.changeSpeed, (!string.IsNullOrEmpty(skill.attAction)) ? skillID : 0, skill.combo, skill.eventTag);
            if (skill.superArmor == 1)
            {
                int fxID = FXManager.Instance.PlayFX(93, this.ownerActor.FixTransform, this.ownerActor.FixTransform.get_position(), this.ownerActor.FixTransform.get_rotation(), 1f, 1f, 0, false, 0, null, null, 1f, FXClassification.Normal);
                this.ownerActor.FixFXSystem.AddActionFX(fxID);
            }
            if (skill.skillWarningTime != 0 && this.owner.AITarget != null)
            {
                WarningGraghHandler.AddWarningGragh(new SkillWarningGraghMessage
                {
                    casterActor = this.ownerActor,
                    targetPoint = (!this.owner.AITarget.Actor) ? null : new XPoint
                    {
                        position = this.owner.AITarget.Actor.FixTransform.get_position(),
                        rotation = this.owner.AITarget.Actor.FixTransform.get_rotation()
                    },
                    skillID = skillID
                });
            }
            GlobalBattleNetwork.Instance.SendUseSkill(this.owner.ID, skillID, (this.owner.AITarget != null) ? this.owner.AITarget.ID : 0L, flag, this.ownerActor.FixTransform.get_position(), this.ownerActor.FixTransform.get_forward());
            this.ClientLogicTriggerEffect(skill);
        }
Exemplo n.º 6
0
 public static void Release()
 {
     WarningGraghHandler.ClearData();
 }
Exemplo n.º 7
0
 public static void InitManagers()
 {
     FPSManager.Instance.Init();
     SoundManager.CreateInstance();
     SDKManager.Instance.Init();
     NativeCallManager.Instance.Init();
     VoiceSDKManager.Instance.Init();
     PushNotificationManager.Instance.Init();
     BTLoader.Init();
     AssetManager.AssetOfTPManager.Instance.Init();
     UIQueueManager.Instance.Init();
     UIStackManager.Instance.Init();
     GuideManager.Instance.Init();
     BadWordsFilter.Instance.Init();
     NetworkManager.Instance.Init();
     LoginManager.Instance.Init();
     ReconnectManager.Instance.Init();
     EntityWorld.Instance.Init();
     MySceneManager.Instance.Init();
     AOIService.Instance.Init();
     CityManager.Instance.Init();
     InstanceManager.Init();
     GangFightManager.Instance.Init();
     BountyManager.Instance.Init();
     DungeonManager.Instance.Init();
     DefendFightManager.Instance.Init();
     SurvivalManager.Instance.Init();
     PVPManager.Instance.Init();
     ServerGMManager.Instance.Init();
     ElementInstanceManager.Instance.Init();
     WildBossManager.Instance.Init();
     SpecialFightManager.Instance.Init();
     DarkTrialManager.Instance.Init();
     FashionManager.Instance.Init();
     RadarManager.Instance.Init();
     MemCollabManager.Instance.Init();
     GodWeaponProgressManager.Instance.Init();
     SystemOpenProgressManager.Instance.Init();
     BadgeManager.Instance.Init();
     ActorVisibleManager.Instance.Init();
     NPCManager.Instance.Init();
     WildBossManager.Instance.Init();
     TaskNPCManager.Instance.Init();
     WildBossNPCManager.Instance.Init();
     HearthNPCManager.Instance.Init();
     CollectionNPCManager.Instance.Init();
     PetManager.Instance.Init();
     BackpackManager.Instance.Init();
     EnergyManager.Instance.Init();
     BoxRewardManager.Instance.Init();
     GuildManager.Instance.Init();
     TeamManager.Instance.Init();
     MultiPlayerManager.Instance.Init();
     GoldBuyManager.Instance.Init();
     ElementManager.Instance.Init();
     ChangeCareerManager.Instance.Init();
     GlobalManager.Instance.Init();
     EquipmentManager.Instance.Init();
     SignInManager.Instance.Init();
     MainTaskManager.Instance.Init();
     DailyTaskManager.Instance.Init();
     CharacterManager.Instance.Init();
     UpgradeManager.Instance.Init();
     GuildWarManager.Instance.Init();
     VIPManager.Instance.Init();
     RechargeManager.Instance.Init();
     RankingManager.Instance.Init();
     SkillUIManager.Instance.Init();
     RoleTalentManager.Instance.Init();
     TipsManager.Instance.Init();
     EliteDungeonManager.Instance.Init();
     TeamBasicManager.Instance.Init();
     WildMonsterManager.Instance.Init();
     GodSoldierManager.Instance.Init();
     GodWeaponManager.Instance.Init();
     SkillRuneManager.Instance.Init();
     GuildBossManager.Instance.Init();
     RenameManager.Instance.Init();
     HuntManager.Instance.Init();
     RankUpManager.Instance.Init();
     RankUpChangeManager.Instance.Init();
     MultiPVPManager.Instance.Init();
     TramcarManager.Instance.Init();
     GuildSkillManager.Instance.Init();
     PetTaskManager.Instance.Init();
     GuildStorageManager.Instance.Init();
     MarketManager.Instance.Init();
     LimitTimeMarketManager.Instance.Init();
     GuildMarketManager.Instance.Init();
     XMarketManager.Instance.Init();
     TransactionNPCManager.Instance.Init();
     GlobalBattleNetwork.Instance.Init();
     BattleBlackboard.Instance.Init();
     LocalInstanceHandler.Instance.Init();
     LocalBattleHandler.Instance.Init();
     LocalAgent.Intergrate(LocalInstanceHandler.Instance, LocalBattleHandler.Instance);
     BattleCalculator.Init();
     WarningGraghHandler.Init();
     BattleTimeManager.Instance.Init();
     BattleDialogManager.Instance.Init();
     ChatManager.Instance.Init();
     FriendManager.Instance.Init();
     MailManager.Instance.Init();
     TitleManager.Instance.Init();
     BroadcastManager.Instance.Init();
     BillboardManager.Instance.Init();
     FloatTextAddManager.Instance.Init();
     GemManager.Instance.Init();
     Activity7DayManager.Instance.Init();
     ActivityCenterManager.Instance.Init();
     WingManager.Instance.Init();
     ConsumeRechargeManager.Instance.Init();
     LuckDrawManager.Instance.Init();
     NoticeManager.Instance.Init();
     OperateActivityManager.Instance.Init();
     AchievementManager.Instance.Init();
     StrongerManager.Instance.Init();
     FirstPayManager.Instance.Init();
     InvestFundManager.Instance.Init();
     GrowUpPlanManager.Instance.Init();
     ActivityTossDiscountManager.Instance.Init();
     NewPeoperGiftPackageManager.Instance.Init();
     CheckPlayerInfoManager.Instance.Init();
     OffHookManager.Instance.Init();
     MushroomHitManager.Instance.Init();
     BossBookManager.Instance.Init();
     GiftExchangeManager.Instance.Init();
     DayGiftManager.Instance.Init();
     VipTasteCardManager.Instance.Init();
     AcOpenServerManager.Instance.Init();
     RedBagManager.Instance.Init();
 }