public override void Active() { if (base.IsActive) { return; } if (DataReader <Monster> .Get(this.owner.TypeID).mode == 1) { return; } TimerHeap.DelTimer(this.timerID); this.GetAIDataByType(); base.AIRoot = BTLoader.GetBehaviorTree(this.AIType); if (base.AIRoot == null) { return; } base.IsActive = true; base.IsThinking = InstanceManager.IsAIThinking; this.owner.GetConditionManager().RegistThinkCondition(base.GetAIConditionMessage(base.AIRoot)); if (base.IsFirstActive) { base.IsFirstActive = false; this.timerID = TimerHeap.AddTimer((uint)DataReader <Monster> .Get(this.owner.TypeID).aiDelay, this.ThinkInterval, new Action(this.Think)); } else { this.timerID = TimerHeap.AddTimer(0u, this.ThinkInterval, new Action(this.Think)); } }
protected BTNode LoadBT(string type) { string fileName = "BT_" + type; BTNode btNode = BTLoader.GetBehaviorTree(fileName); if (btNode != null) { return(btNode); } TextAsset textAsset = CResourceSys.Instance.LoadBehaviourTree(fileName); if (textAsset == null) { return(null); } btNode = BTLoader.LoadBtXml(fileName, textAsset.text); Resources.UnloadAsset(textAsset); if (btNode == null) { Debug.LogError("创建BTree失败 " + fileName); } return(btNode); }
private static void CheckeNode(SecurityElement securityElement) { if (securityElement.get_Children() != null) { for (int i = 0; i < securityElement.get_Children().get_Count(); i++) { SecurityElement securityElement2 = (SecurityElement)securityElement.get_Children().get_Item(i); BTLoader.CheckeNode(securityElement2); } } }
public static BTNode GetBehaviorTree(string _id) { if (!BTLoader.container.ContainsKey(_id)) { BTLoader.LoadXML(_id); } if (BTLoader.container.ContainsKey(_id)) { return(BTLoader.container.get_Item(_id)); } return(null); }
public static BTNode TreeLoader(string xmlstring) { SecurityParser securityParser = new SecurityParser(); securityParser.LoadXml(xmlstring); SecurityElement securityElement = securityParser.ToXml(); SecurityElement securityElement2 = (SecurityElement)securityElement.get_Children().get_Item(0); if (securityElement2.Attribute("Class").Equals("Brainiac.Design.Nodes.Behavior")) { BTNode bTNode = new BTNode(); BTLoader.AddChildNode(bTNode, (SecurityElement)securityElement2.get_Children().get_Item(0)); return(bTNode); } return(null); }
public static void LoadXML(string fileName) { TextAsset textAsset = AssetLoader.LoadAssetNow("BT/BT" + fileName, typeof(Object)) as TextAsset; if (textAsset == null) { return; } BTNode bTNode = BTLoader.TreeLoader(textAsset.get_text()); BTLoader.container.Add(fileName, bTNode); AssetLoader.UnloadAsset("BT/BT" + fileName, null); if (bTNode == null) { Debuger.Error("创建BTree失败 " + fileName, new object[0]); } }
public virtual void Active() { if (this.IsActive) { return; } TimerHeap.DelTimer(this.timerID); this.GetAIDataByType(); this.AIRoot = BTLoader.GetBehaviorTree(this.AIType); if (this.AIRoot == null) { return; } this.IsActive = true; this.IsThinking = InstanceManager.IsAIThinking; this.owner.GetConditionManager().RegistThinkCondition(this.GetAIConditionMessage(this.AIRoot)); this.timerID = TimerHeap.AddTimer(0u, this.ThinkInterval, new System.Action(this.Think)); }
public override void Active() { if (base.IsActive) { return; } base.MoveSkipThinkCount = 0; base.MoveSkipTime = 0f; TimerHeap.DelTimer(this.pressIconTimer); TimerHeap.DelTimer(this.timerID); this.GetAIDataByType(); base.AIRoot = BTLoader.GetBehaviorTree(this.AIType); if (base.AIRoot == null) { return; } base.IsActive = true; base.IsThinking = InstanceManager.IsAIThinking; this.owner.GetConditionManager().RegistThinkCondition(base.GetAIConditionMessage(base.AIRoot)); this.timerID = TimerHeap.AddTimer(0u, this.ThinkInterval, new Action(this.Think)); }
private static void AddChildNode(Command node, SecurityElement securityElement) { if (securityElement.Attribute("Class") != null) { Type type = Type.GetType(securityElement.Attribute("Class")); ConstructorInfo[] constructors = type.GetConstructors(); ConstructorInfo constructorInfo = constructors[0]; ParameterInfo[] parameters = constructorInfo.GetParameters(); Type[] array = new Type[parameters.Length]; for (int i = 0; i < array.Length; i++) { ParameterInfo parameterInfo = parameters[i]; array[i] = parameterInfo.get_ParameterType(); } constructorInfo = type.GetConstructor(array); object[] array2 = new object[parameters.Length]; for (int j = 0; j < array.Length; j++) { ParameterInfo parameterInfo2 = parameters[j]; Type type2 = array[j]; string text = (string)securityElement.get_Attributes().get_Item(parameterInfo2.get_Name()); if (type2.Equals(typeof(string))) { array2[j] = text; } else if (type2.Equals(typeof(int))) { array2[j] = int.Parse(text); } else if (type2.Equals(typeof(float))) { array2[j] = float.Parse(text); } else if (type2.Equals(typeof(bool))) { if (text.Equals("True")) { array2[j] = true; } else { array2[j] = false; } } else if (type2.Equals(typeof(LogicalOperator))) { string[] array3 = text.ToString().Split(new char[] { ':' }); array2[j] = (LogicalOperator)int.Parse(array3[1]); } else if (type2.Equals(typeof(ComparisonOperator))) { string[] array4 = text.ToString().Split(new char[] { ':' }); array2[j] = (ComparisonOperator)int.Parse(array4[1]); } } Command command = constructorInfo.Invoke(array2) as Command; node.AddChild(command); if (securityElement.get_Children() != null) { for (int k = 0; k < securityElement.get_Children().get_Count(); k++) { BTLoader.AddChildNode(command, (SecurityElement)securityElement.get_Children().get_Item(k)); } } } else if (securityElement.Attribute("Identifier") != null && securityElement.get_Children() != null) { for (int l = 0; l < securityElement.get_Children().get_Count(); l++) { BTLoader.AddChildNode(node, (SecurityElement)securityElement.get_Children().get_Item(l)); } } }
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(); }