From 6eb915c129fc90c6f4c82ae097dd6ffad5239efc Mon Sep 17 00:00:00 2001 From: chai Date: Mon, 25 Jan 2021 14:28:30 +0800 Subject: +scripts --- .../Scripts/XUtliPoolLib/AbyssPartyListTable.cs | 83 + .../XUtliPoolLib/AbyssPartyListTable.cs.meta | 12 + .../Scripts/XUtliPoolLib/AbyssPartyTypeTable.cs | 83 + .../XUtliPoolLib/AbyssPartyTypeTable.cs.meta | 12 + .../Assets/Scripts/XUtliPoolLib/AccessCallback.cs | 6 + .../Scripts/XUtliPoolLib/AccessCallback.cs.meta | 12 + .../XUtliPoolLib/AchievementPointRewardTable.cs | 67 + .../AchievementPointRewardTable.cs.meta | 12 + .../Scripts/XUtliPoolLib/AchievementV2Table.cs | 141 ++ .../XUtliPoolLib/AchievementV2Table.cs.meta | 12 + .../Assets/Scripts/XUtliPoolLib/AchivementTable.cs | 91 + .../Scripts/XUtliPoolLib/AchivementTable.cs.meta | 12 + Client/Assets/Scripts/XUtliPoolLib/ActionAudio.cs | 90 + .../Scripts/XUtliPoolLib/ActionAudio.cs.meta | 12 + .../Scripts/XUtliPoolLib/ActivityChestTable.cs | 44 + .../XUtliPoolLib/ActivityChestTable.cs.meta | 12 + .../Scripts/XUtliPoolLib/ActivityListTable.cs | 95 + .../Scripts/XUtliPoolLib/ActivityListTable.cs.meta | 12 + .../Assets/Scripts/XUtliPoolLib/ActivityPopInfo.cs | 17 + .../Scripts/XUtliPoolLib/ActivityPopInfo.cs.meta | 12 + .../Assets/Scripts/XUtliPoolLib/ActivityTabInfo.cs | 23 + .../Scripts/XUtliPoolLib/ActivityTabInfo.cs.meta | 12 + .../Assets/Scripts/XUtliPoolLib/ActivityTable.cs | 91 + .../Scripts/XUtliPoolLib/ActivityTable.cs.meta | 12 + Client/Assets/Scripts/XUtliPoolLib/AncientTask.cs | 52 + .../Scripts/XUtliPoolLib/AncientTask.cs.meta | 12 + .../Scripts/XUtliPoolLib/AncientTimesTable.cs | 48 + .../Scripts/XUtliPoolLib/AncientTimesTable.cs.meta | 12 + .../XUtliPoolLib/AndroidAssetBundleLoader.cs | 83 + .../XUtliPoolLib/AndroidAssetBundleLoader.cs.meta | 12 + .../Scripts/XUtliPoolLib/AnimLoadCallback.cs | 6 + .../Scripts/XUtliPoolLib/AnimLoadCallback.cs.meta | 12 + Client/Assets/Scripts/XUtliPoolLib/ArgentaDaily.cs | 71 + .../Scripts/XUtliPoolLib/ArgentaDaily.cs.meta | 12 + Client/Assets/Scripts/XUtliPoolLib/ArgentaTask.cs | 44 + .../Scripts/XUtliPoolLib/ArgentaTask.cs.meta | 12 + .../Scripts/XUtliPoolLib/ArtifactComposeTable.cs | 44 + .../XUtliPoolLib/ArtifactComposeTable.cs.meta | 12 + .../Assets/Scripts/XUtliPoolLib/ArtifactEffect.cs | 44 + .../Scripts/XUtliPoolLib/ArtifactEffect.cs.meta | 12 + .../Scripts/XUtliPoolLib/ArtifactListTable.cs | 127 ++ .../Scripts/XUtliPoolLib/ArtifactListTable.cs.meta | 12 + .../Scripts/XUtliPoolLib/ArtifactSuitTable.cs | 99 + .../Scripts/XUtliPoolLib/ArtifactSuitTable.cs.meta | 12 + .../Assets/Scripts/XUtliPoolLib/AssetBundleData.cs | 19 + .../Scripts/XUtliPoolLib/AssetBundleData.cs.meta | 12 + .../XUtliPoolLib/AssetBundleDataBinaryReader.cs | 43 + .../AssetBundleDataBinaryReader.cs.meta | 12 + .../Scripts/XUtliPoolLib/AssetBundleDataReader.cs | 123 ++ .../XUtliPoolLib/AssetBundleDataReader.cs.meta | 12 + .../Scripts/XUtliPoolLib/AssetBundleExportType.cs | 12 + .../XUtliPoolLib/AssetBundleExportType.cs.meta | 12 + .../Assets/Scripts/XUtliPoolLib/AssetBundleInfo.cs | 341 ++++ .../Scripts/XUtliPoolLib/AssetBundleInfo.cs.meta | 12 + .../XUtliPoolLib/AssetBundleLoadProgress.cs | 15 + .../XUtliPoolLib/AssetBundleLoadProgress.cs.meta | 12 + .../Scripts/XUtliPoolLib/AssetBundleLoader.cs | 92 + .../Scripts/XUtliPoolLib/AssetBundleLoader.cs.meta | 12 + .../Scripts/XUtliPoolLib/AssetBundleManager.cs | 649 ++++++ .../XUtliPoolLib/AssetBundleManager.cs.meta | 12 + .../XUtliPoolLib/AssetBundlePathResolver.cs | 215 ++ .../XUtliPoolLib/AssetBundlePathResolver.cs.meta | 12 + .../Assets/Scripts/XUtliPoolLib/AsyncXNGUILoad.cs | 15 + .../Scripts/XUtliPoolLib/AsyncXNGUILoad.cs.meta | 12 + .../Assets/Scripts/XUtliPoolLib/AttributeEmblem.cs | 48 + .../Scripts/XUtliPoolLib/AttributeEmblem.cs.meta | 12 + .../Scripts/XUtliPoolLib/AuctionDiscountTable.cs | 44 + .../XUtliPoolLib/AuctionDiscountTable.cs.meta | 12 + .../Assets/Scripts/XUtliPoolLib/AuctionTypeList.cs | 44 + .../Scripts/XUtliPoolLib/AuctionTypeList.cs.meta | 12 + Client/Assets/Scripts/XUtliPoolLib/AudioChannel.cs | 13 + .../Scripts/XUtliPoolLib/AudioChannel.cs.meta | 12 + .../Scripts/XUtliPoolLib/BackflowActivity.cs | 121 ++ .../Scripts/XUtliPoolLib/BackflowActivity.cs.meta | 12 + Client/Assets/Scripts/XUtliPoolLib/BackflowShop.cs | 133 ++ .../Scripts/XUtliPoolLib/BackflowShop.cs.meta | 12 + .../Scripts/XUtliPoolLib/BagExpandItemListTable.cs | 90 + .../XUtliPoolLib/BagExpandItemListTable.cs.meta | 12 + .../Scripts/XUtliPoolLib/BattleFieldPointReward.cs | 56 + .../XUtliPoolLib/BattleFieldPointReward.cs.meta | 12 + .../XUtliPoolLib/BeforeUnityUnLoadResource.cs | 6 + .../XUtliPoolLib/BeforeUnityUnLoadResource.cs.meta | 12 + .../Scripts/XUtliPoolLib/BigMeleePointReward.cs | 44 + .../XUtliPoolLib/BigMeleePointReward.cs.meta | 12 + .../Scripts/XUtliPoolLib/BigMeleeRankReward.cs | 44 + .../XUtliPoolLib/BigMeleeRankReward.cs.meta | 12 + Client/Assets/Scripts/XUtliPoolLib/BlockInfo.cs | 17 + .../Assets/Scripts/XUtliPoolLib/BlockInfo.cs.meta | 12 + .../Scripts/XUtliPoolLib/BossRushBuffTable.cs | 75 + .../Scripts/XUtliPoolLib/BossRushBuffTable.cs.meta | 12 + .../Assets/Scripts/XUtliPoolLib/BossRushTable.cs | 125 ++ .../Scripts/XUtliPoolLib/BossRushTable.cs.meta | 12 + Client/Assets/Scripts/XUtliPoolLib/BuffTable.cs | 248 +++ .../Assets/Scripts/XUtliPoolLib/BuffTable.cs.meta | 12 + Client/Assets/Scripts/XUtliPoolLib/BufferBlock.cs | 17 + .../Scripts/XUtliPoolLib/BufferBlock.cs.meta | 12 + .../Assets/Scripts/XUtliPoolLib/BufferPoolMgr.cs | 63 + .../Scripts/XUtliPoolLib/BufferPoolMgr.cs.meta | 12 + .../Assets/Scripts/XUtliPoolLib/BuyDragonCoin.cs | 40 + .../Scripts/XUtliPoolLib/BuyDragonCoin.cs.meta | 12 + .../Assets/Scripts/XUtliPoolLib/BuyFatigueTable.cs | 48 + .../Scripts/XUtliPoolLib/BuyFatigueTable.cs.meta | 12 + Client/Assets/Scripts/XUtliPoolLib/BuyGoldTable.cs | 44 + .../Scripts/XUtliPoolLib/BuyGoldTable.cs.meta | 12 + Client/Assets/Scripts/XUtliPoolLib/CVSReader.cs | 389 ++++ .../Assets/Scripts/XUtliPoolLib/CVSReader.cs.meta | 12 + .../Assets/Scripts/XUtliPoolLib/CallMonsterData.cs | 42 + .../Scripts/XUtliPoolLib/CallMonsterData.cs.meta | 12 + .../Scripts/XUtliPoolLib/CameraMotionSpace.cs | 11 + .../Scripts/XUtliPoolLib/CameraMotionSpace.cs.meta | 12 + .../Scripts/XUtliPoolLib/CameraMotionType.cs | 10 + .../Scripts/XUtliPoolLib/CameraMotionType.cs.meta | 12 + .../Scripts/XUtliPoolLib/CampDuelPointReward.cs | 52 + .../XUtliPoolLib/CampDuelPointReward.cs.meta | 12 + .../Scripts/XUtliPoolLib/CampDuelRankReward.cs | 48 + .../XUtliPoolLib/CampDuelRankReward.cs.meta | 12 + .../Scripts/XUtliPoolLib/CanExecuteHandler.cs | 6 + .../Scripts/XUtliPoolLib/CanExecuteHandler.cs.meta | 12 + .../Assets/Scripts/XUtliPoolLib/CardRewardTable.cs | 48 + .../Scripts/XUtliPoolLib/CardRewardTable.cs.meta | 12 + .../Assets/Scripts/XUtliPoolLib/CardStoreTable.cs | 36 + .../Scripts/XUtliPoolLib/CardStoreTable.cs.meta | 12 + .../Scripts/XUtliPoolLib/CardsFireProperty.cs | 48 + .../Scripts/XUtliPoolLib/CardsFireProperty.cs.meta | 12 + Client/Assets/Scripts/XUtliPoolLib/CardsGroup.cs | 129 ++ .../Assets/Scripts/XUtliPoolLib/CardsGroup.cs.meta | 12 + .../Assets/Scripts/XUtliPoolLib/CardsGroupList.cs | 87 + .../Scripts/XUtliPoolLib/CardsGroupList.cs.meta | 12 + Client/Assets/Scripts/XUtliPoolLib/CardsList.cs | 129 ++ .../Assets/Scripts/XUtliPoolLib/CardsList.cs.meta | 12 + Client/Assets/Scripts/XUtliPoolLib/Career.cs | 44 + Client/Assets/Scripts/XUtliPoolLib/Career.cs.meta | 12 + .../XUtliPoolLib/CharacterAttributesList.cs | 40 + .../XUtliPoolLib/CharacterAttributesList.cs.meta | 12 + .../Scripts/XUtliPoolLib/CharacterCommonInfo.cs | 40 + .../XUtliPoolLib/CharacterCommonInfo.cs.meta | 12 + Client/Assets/Scripts/XUtliPoolLib/ChatApollo.cs | 60 + .../Assets/Scripts/XUtliPoolLib/ChatApollo.cs.meta | 12 + Client/Assets/Scripts/XUtliPoolLib/ChatOpen.cs | 92 + .../Assets/Scripts/XUtliPoolLib/ChatOpen.cs.meta | 12 + Client/Assets/Scripts/XUtliPoolLib/ChatTable.cs | 79 + .../Assets/Scripts/XUtliPoolLib/ChatTable.cs.meta | 12 + Client/Assets/Scripts/XUtliPoolLib/ChestList.cs | 48 + .../Assets/Scripts/XUtliPoolLib/ChestList.cs.meta | 12 + .../XUtliPoolLib/ChickenDinnerRankReward.cs | 40 + .../XUtliPoolLib/ChickenDinnerRankReward.cs.meta | 12 + .../Scripts/XUtliPoolLib/CombatParamTable.cs | 80 + .../Scripts/XUtliPoolLib/CombatParamTable.cs.meta | 12 + .../Assets/Scripts/XUtliPoolLib/CommandCallback.cs | 6 + .../Scripts/XUtliPoolLib/CommandCallback.cs.meta | 12 + .../Scripts/XUtliPoolLib/CommonObjectPool.cs | 24 + .../Scripts/XUtliPoolLib/CommonObjectPool.cs.meta | 12 + .../XUtliPoolLib/CompeteDragonRankRewardTable.cs | 44 + .../CompeteDragonRankRewardTable.cs.meta | 12 + .../Assets/Scripts/XUtliPoolLib/CookingFoodInfo.cs | 95 + .../Scripts/XUtliPoolLib/CookingFoodInfo.cs.meta | 12 + Client/Assets/Scripts/XUtliPoolLib/CookingLevel.cs | 40 + .../Scripts/XUtliPoolLib/CookingLevel.cs.meta | 12 + .../Assets/Scripts/XUtliPoolLib/CrossGvgReward.cs | 52 + .../Scripts/XUtliPoolLib/CrossGvgReward.cs.meta | 12 + .../XUtliPoolLib/CustomBattleSystemTable.cs | 91 + .../XUtliPoolLib/CustomBattleSystemTable.cs.meta | 12 + .../Scripts/XUtliPoolLib/CustomBattleTable.cs | 95 + .../Scripts/XUtliPoolLib/CustomBattleTable.cs.meta | 12 + .../Scripts/XUtliPoolLib/CustomBattleTypeTable.cs | 75 + .../XUtliPoolLib/CustomBattleTypeTable.cs.meta | 12 + .../Scripts/XUtliPoolLib/CustomRewardTable.cs | 48 + .../Scripts/XUtliPoolLib/CustomRewardTable.cs.meta | 12 + .../XUtliPoolLib/CustomSystemRewardTable.cs | 48 + .../XUtliPoolLib/CustomSystemRewardTable.cs.meta | 12 + Client/Assets/Scripts/XUtliPoolLib/DailyTask.cs | 153 ++ .../Assets/Scripts/XUtliPoolLib/DailyTask.cs.meta | 12 + .../Assets/Scripts/XUtliPoolLib/DailyTaskLuck.cs | 52 + .../Scripts/XUtliPoolLib/DailyTaskLuck.cs.meta | 12 + .../Assets/Scripts/XUtliPoolLib/DailyTaskReward.cs | 96 + .../Scripts/XUtliPoolLib/DailyTaskReward.cs.meta | 12 + Client/Assets/Scripts/XUtliPoolLib/DanceConfig.cs | 173 ++ .../Scripts/XUtliPoolLib/DanceConfig.cs.meta | 12 + Client/Assets/Scripts/XUtliPoolLib/DargonReward.cs | 60 + .../Scripts/XUtliPoolLib/DargonReward.cs.meta | 12 + Client/Assets/Scripts/XUtliPoolLib/DataHandler.cs | 265 +++ .../Scripts/XUtliPoolLib/DataHandler.cs.meta | 12 + Client/Assets/Scripts/XUtliPoolLib/DeJson.meta | 9 + .../Scripts/XUtliPoolLib/DeJson/Deserializer.cs | 318 +++ .../XUtliPoolLib/DeJson/Deserializer.cs.meta | 12 + .../Scripts/XUtliPoolLib/DeJson/Serializer.cs | 426 ++++ .../Scripts/XUtliPoolLib/DeJson/Serializer.cs.meta | 12 + Client/Assets/Scripts/XUtliPoolLib/DebugHandler.cs | 6 + .../Scripts/XUtliPoolLib/DebugHandler.cs.meta | 12 + Client/Assets/Scripts/XUtliPoolLib/DefaultEquip.cs | 185 ++ .../Scripts/XUtliPoolLib/DefaultEquip.cs.meta | 12 + Client/Assets/Scripts/XUtliPoolLib/DelLuaError.cs | 6 + .../Scripts/XUtliPoolLib/DelLuaError.cs.meta | 12 + .../Assets/Scripts/XUtliPoolLib/DelLuaRespond.cs | 6 + .../Scripts/XUtliPoolLib/DelLuaRespond.cs.meta | 12 + .../Assets/Scripts/XUtliPoolLib/DelegateHandler.cs | 6 + .../Scripts/XUtliPoolLib/DelegateHandler.cs.meta | 12 + .../Scripts/XUtliPoolLib/DesignationTable.cs | 173 ++ .../Scripts/XUtliPoolLib/DesignationTable.cs.meta | 12 + .../Scripts/XUtliPoolLib/DetectEnemyInRangeArg.cs | 23 + .../XUtliPoolLib/DetectEnemyInRangeArg.cs.meta | 12 + .../Assets/Scripts/XUtliPoolLib/DictionaryPool.cs | 31 + .../Scripts/XUtliPoolLib/DictionaryPool.cs.meta | 12 + .../Assets/Scripts/XUtliPoolLib/DoubleActivity.cs | 79 + .../Scripts/XUtliPoolLib/DoubleActivity.cs.meta | 12 + .../Assets/Scripts/XUtliPoolLib/DragonExpList.cs | 103 + .../Scripts/XUtliPoolLib/DragonExpList.cs.meta | 12 + .../XUtliPoolLib/DragonGuildAchieveTable.cs | 103 + .../XUtliPoolLib/DragonGuildAchieveTable.cs.meta | 12 + .../Scripts/XUtliPoolLib/DragonGuildConfigTable.cs | 75 + .../XUtliPoolLib/DragonGuildConfigTable.cs.meta | 12 + .../Scripts/XUtliPoolLib/DragonGuildIntroduce.cs | 71 + .../XUtliPoolLib/DragonGuildIntroduce.cs.meta | 12 + .../XUtliPoolLib/DragonGuildLivenessTable.cs | 52 + .../XUtliPoolLib/DragonGuildLivenessTable.cs.meta | 12 + .../XUtliPoolLib/DragonGuildPermissionTable.cs | 48 + .../DragonGuildPermissionTable.cs.meta | 12 + .../Scripts/XUtliPoolLib/DragonGuildTable.cs | 63 + .../Scripts/XUtliPoolLib/DragonGuildTable.cs.meta | 12 + .../Scripts/XUtliPoolLib/DragonGuildTaskTable.cs | 99 + .../XUtliPoolLib/DragonGuildTaskTable.cs.meta | 12 + .../Assets/Scripts/XUtliPoolLib/DragonNestTable.cs | 120 ++ .../Scripts/XUtliPoolLib/DragonNestTable.cs.meta | 12 + .../Assets/Scripts/XUtliPoolLib/DragonNestType.cs | 48 + .../Scripts/XUtliPoolLib/DragonNestType.cs.meta | 12 + Client/Assets/Scripts/XUtliPoolLib/DropList.cs | 48 + .../Assets/Scripts/XUtliPoolLib/DropList.cs.meta | 12 + .../Assets/Scripts/XUtliPoolLib/EAsyncLoadState.cs | 12 + .../Scripts/XUtliPoolLib/EAsyncLoadState.cs.meta | 12 + Client/Assets/Scripts/XUtliPoolLib/EClassType.cs | 9 + .../Assets/Scripts/XUtliPoolLib/EClassType.cs.meta | 12 + .../Assets/Scripts/XUtliPoolLib/EComponentType.cs | 12 + .../Scripts/XUtliPoolLib/EComponentType.cs.meta | 12 + .../Assets/Scripts/XUtliPoolLib/ECreateHideType.cs | 12 + .../Scripts/XUtliPoolLib/ECreateHideType.cs.meta | 12 + .../Scripts/XUtliPoolLib/EDelayProcessType.cs | 10 + .../Scripts/XUtliPoolLib/EDelayProcessType.cs.meta | 12 + Client/Assets/Scripts/XUtliPoolLib/EPartType.cs | 26 + .../Assets/Scripts/XUtliPoolLib/EPartType.cs.meta | 12 + .../Assets/Scripts/XUtliPoolLib/EffectDesTable.cs | 79 + .../Scripts/XUtliPoolLib/EffectDesTable.cs.meta | 12 + Client/Assets/Scripts/XUtliPoolLib/EffectTable.cs | 68 + .../Scripts/XUtliPoolLib/EffectTable.cs.meta | 12 + Client/Assets/Scripts/XUtliPoolLib/EmblemBasic.cs | 129 ++ .../Scripts/XUtliPoolLib/EmblemBasic.cs.meta | 12 + Client/Assets/Scripts/XUtliPoolLib/EnchantEquip.cs | 83 + .../Scripts/XUtliPoolLib/EnchantEquip.cs.meta | 12 + .../Assets/Scripts/XUtliPoolLib/EnhanceFxTable.cs | 48 + .../Scripts/XUtliPoolLib/EnhanceFxTable.cs.meta | 12 + .../Assets/Scripts/XUtliPoolLib/EnhanceMaster.cs | 44 + .../Scripts/XUtliPoolLib/EnhanceMaster.cs.meta | 12 + Client/Assets/Scripts/XUtliPoolLib/EnhanceTable.cs | 56 + .../Scripts/XUtliPoolLib/EnhanceTable.cs.meta | 12 + .../Scripts/XUtliPoolLib/EquipFusionExpTable.cs | 67 + .../XUtliPoolLib/EquipFusionExpTable.cs.meta | 12 + .../Scripts/XUtliPoolLib/EquipFusionTable.cs | 68 + .../Scripts/XUtliPoolLib/EquipFusionTable.cs.meta | 12 + Client/Assets/Scripts/XUtliPoolLib/EquipList.cs | 189 ++ .../Assets/Scripts/XUtliPoolLib/EquipList.cs.meta | 12 + .../Assets/Scripts/XUtliPoolLib/EquipSuitTable.cs | 177 ++ .../Scripts/XUtliPoolLib/EquipSuitTable.cs.meta | 12 + .../Scripts/XUtliPoolLib/ExecuteCommandHandler.cs | 6 + .../XUtliPoolLib/ExecuteCommandHandler.cs.meta | 12 + Client/Assets/Scripts/XUtliPoolLib/ExpBackTable.cs | 75 + .../Scripts/XUtliPoolLib/ExpBackTable.cs.meta | 12 + .../Assets/Scripts/XUtliPoolLib/ExpeditionTable.cs | 209 ++ .../Scripts/XUtliPoolLib/ExpeditionTable.cs.meta | 12 + Client/Assets/Scripts/XUtliPoolLib/FashionCharm.cs | 95 + .../Scripts/XUtliPoolLib/FashionCharm.cs.meta | 12 + .../Scripts/XUtliPoolLib/FashionComposeSet.cs | 48 + .../Scripts/XUtliPoolLib/FashionComposeSet.cs.meta | 12 + .../Scripts/XUtliPoolLib/FashionComposeTable.cs | 44 + .../XUtliPoolLib/FashionComposeTable.cs.meta | 12 + .../Scripts/XUtliPoolLib/FashionEffectTable.cs | 64 + .../XUtliPoolLib/FashionEffectTable.cs.meta | 12 + .../Scripts/XUtliPoolLib/FashionEnhanceFx.cs | 91 + .../Scripts/XUtliPoolLib/FashionEnhanceFx.cs.meta | 12 + Client/Assets/Scripts/XUtliPoolLib/FashionHair.cs | 71 + .../Scripts/XUtliPoolLib/FashionHair.cs.meta | 12 + Client/Assets/Scripts/XUtliPoolLib/FashionList.cs | 153 ++ .../Scripts/XUtliPoolLib/FashionList.cs.meta | 12 + .../XUtliPoolLib/FashionSuitSpecialEffects.cs | 157 ++ .../XUtliPoolLib/FashionSuitSpecialEffects.cs.meta | 12 + .../Scripts/XUtliPoolLib/FashionSuitTable.cs | 127 ++ .../Scripts/XUtliPoolLib/FashionSuitTable.cs.meta | 12 + .../Scripts/XUtliPoolLib/FashionSynthesis.cs | 52 + .../Scripts/XUtliPoolLib/FashionSynthesis.cs.meta | 12 + Client/Assets/Scripts/XUtliPoolLib/FestScene.cs | 67 + .../Assets/Scripts/XUtliPoolLib/FestScene.cs.meta | 12 + .../XUtliPoolLib/FestivityLovePersonReward.cs | 40 + .../XUtliPoolLib/FestivityLovePersonReward.cs.meta | 12 + .../XUtliPoolLib/FestivityLoveRankReward.cs | 48 + .../XUtliPoolLib/FestivityLoveRankReward.cs.meta | 12 + .../Scripts/XUtliPoolLib/FestivityLoveTable.cs | 44 + .../XUtliPoolLib/FestivityLoveTable.cs.meta | 12 + .../Scripts/XUtliPoolLib/FightDesignation.cs | 48 + .../Scripts/XUtliPoolLib/FightDesignation.cs.meta | 12 + .../Assets/Scripts/XUtliPoolLib/FightGroupTable.cs | 64 + .../Scripts/XUtliPoolLib/FightGroupTable.cs.meta | 12 + .../Assets/Scripts/XUtliPoolLib/FilterSkillArg.cs | 32 + .../Scripts/XUtliPoolLib/FilterSkillArg.cs.meta | 12 + .../Assets/Scripts/XUtliPoolLib/FirstPassReward.cs | 44 + .../Scripts/XUtliPoolLib/FirstPassReward.cs.meta | 12 + .../Assets/Scripts/XUtliPoolLib/FirstPassTable.cs | 91 + .../Scripts/XUtliPoolLib/FirstPassTable.cs.meta | 12 + Client/Assets/Scripts/XUtliPoolLib/FishInfo.cs | 67 + .../Assets/Scripts/XUtliPoolLib/FishInfo.cs.meta | 12 + Client/Assets/Scripts/XUtliPoolLib/FloatCurve.cs | 83 + .../Assets/Scripts/XUtliPoolLib/FloatCurve.cs.meta | 12 + Client/Assets/Scripts/XUtliPoolLib/FlowerRain.cs | 48 + .../Assets/Scripts/XUtliPoolLib/FlowerRain.cs.meta | 12 + .../Scripts/XUtliPoolLib/FlowerRankRewardTable.cs | 52 + .../XUtliPoolLib/FlowerRankRewardTable.cs.meta | 12 + .../Scripts/XUtliPoolLib/FlowerSendNoticeTable.cs | 44 + .../XUtliPoolLib/FlowerSendNoticeTable.cs.meta | 12 + .../Scripts/XUtliPoolLib/FlowerWeekRankReward.cs | 40 + .../XUtliPoolLib/FlowerWeekRankReward.cs.meta | 12 + Client/Assets/Scripts/XUtliPoolLib/ForbidWord.cs | 36 + .../Assets/Scripts/XUtliPoolLib/ForbidWord.cs.meta | 12 + .../Assets/Scripts/XUtliPoolLib/ForgeAttributes.cs | 56 + .../Scripts/XUtliPoolLib/ForgeAttributes.cs.meta | 12 + .../Assets/Scripts/XUtliPoolLib/FpGoToLevelUp.cs | 60 + .../Scripts/XUtliPoolLib/FpGoToLevelUp.cs.meta | 12 + .../Assets/Scripts/XUtliPoolLib/FpStrengthNew.cs | 83 + .../Scripts/XUtliPoolLib/FpStrengthNew.cs.meta | 12 + .../Scripts/XUtliPoolLib/FpStrengthenTable.cs | 133 ++ .../Scripts/XUtliPoolLib/FpStrengthenTable.cs.meta | 12 + Client/Assets/Scripts/XUtliPoolLib/FriendInfo.cs | 30 + .../Assets/Scripts/XUtliPoolLib/FriendInfo.cs.meta | 12 + .../Scripts/XUtliPoolLib/FriendSysConfigTable.cs | 87 + .../XUtliPoolLib/FriendSysConfigTable.cs.meta | 12 + Client/Assets/Scripts/XUtliPoolLib/FriendTable.cs | 71 + .../Scripts/XUtliPoolLib/FriendTable.cs.meta | 12 + .../Assets/Scripts/XUtliPoolLib/FxLoadCallback.cs | 6 + .../Scripts/XUtliPoolLib/FxLoadCallback.cs.meta | 12 + .../Scripts/XUtliPoolLib/GameCommunityTable.cs | 60 + .../XUtliPoolLib/GameCommunityTable.cs.meta | 12 + .../Scripts/XUtliPoolLib/GardenBanquetCfg.cs | 107 + .../Scripts/XUtliPoolLib/GardenBanquetCfg.cs.meta | 12 + .../Scripts/XUtliPoolLib/GardenFishConfig.cs | 71 + .../Scripts/XUtliPoolLib/GardenFishConfig.cs.meta | 12 + Client/Assets/Scripts/XUtliPoolLib/GlobalTable.cs | 34 + .../Scripts/XUtliPoolLib/GlobalTable.cs.meta | 12 + Client/Assets/Scripts/XUtliPoolLib/GoalAwards.cs | 76 + .../Assets/Scripts/XUtliPoolLib/GoalAwards.cs.meta | 12 + .../Assets/Scripts/XUtliPoolLib/GroupStageType.cs | 71 + .../Scripts/XUtliPoolLib/GroupStageType.cs.meta | 12 + .../Assets/Scripts/XUtliPoolLib/GuildAuctReward.cs | 117 ++ .../Scripts/XUtliPoolLib/GuildAuctReward.cs.meta | 12 + .../Assets/Scripts/XUtliPoolLib/GuildBonusTable.cs | 71 + .../Scripts/XUtliPoolLib/GuildBonusTable.cs.meta | 12 + .../Scripts/XUtliPoolLib/GuildBossConfigTable.cs | 137 ++ .../XUtliPoolLib/GuildBossConfigTable.cs.meta | 12 + .../Scripts/XUtliPoolLib/GuildBossRewardTable.cs | 113 + .../XUtliPoolLib/GuildBossRewardTable.cs.meta | 12 + .../XUtliPoolLib/GuildBossRoleRewardTable.cs | 40 + .../XUtliPoolLib/GuildBossRoleRewardTable.cs.meta | 12 + .../Assets/Scripts/XUtliPoolLib/GuildBuffTable.cs | 40 + .../Scripts/XUtliPoolLib/GuildBuffTable.cs.meta | 12 + Client/Assets/Scripts/XUtliPoolLib/GuildCamp.cs | 56 + .../Assets/Scripts/XUtliPoolLib/GuildCamp.cs.meta | 12 + .../Scripts/XUtliPoolLib/GuildCampPartyReward.cs | 44 + .../XUtliPoolLib/GuildCampPartyReward.cs.meta | 12 + .../Assets/Scripts/XUtliPoolLib/GuildCampRank.cs | 44 + .../Scripts/XUtliPoolLib/GuildCampRank.cs.meta | 12 + .../Scripts/XUtliPoolLib/GuildCheckinBoxTable.cs | 63 + .../XUtliPoolLib/GuildCheckinBoxTable.cs.meta | 12 + .../Scripts/XUtliPoolLib/GuildCheckinTable.cs | 71 + .../Scripts/XUtliPoolLib/GuildCheckinTable.cs.meta | 12 + .../Scripts/XUtliPoolLib/GuildConfigTable.cs | 147 ++ .../Scripts/XUtliPoolLib/GuildConfigTable.cs.meta | 12 + Client/Assets/Scripts/XUtliPoolLib/GuildHall.cs | 72 + .../Assets/Scripts/XUtliPoolLib/GuildHall.cs.meta | 12 + .../Scripts/XUtliPoolLib/GuildMineralBattle.cs | 121 ++ .../XUtliPoolLib/GuildMineralBattle.cs.meta | 12 + .../XUtliPoolLib/GuildMineralBattleReward.cs | 67 + .../XUtliPoolLib/GuildMineralBattleReward.cs.meta | 12 + .../Scripts/XUtliPoolLib/GuildMineralBufflist.cs | 71 + .../XUtliPoolLib/GuildMineralBufflist.cs.meta | 12 + .../Scripts/XUtliPoolLib/GuildMineralStorage.cs | 56 + .../XUtliPoolLib/GuildMineralStorage.cs.meta | 12 + .../Scripts/XUtliPoolLib/GuildPermissionTable.cs | 56 + .../XUtliPoolLib/GuildPermissionTable.cs.meta | 12 + .../Scripts/XUtliPoolLib/GuildPkRankReward.cs | 63 + .../Scripts/XUtliPoolLib/GuildPkRankReward.cs.meta | 12 + .../Scripts/XUtliPoolLib/GuildRankRewardTable.cs | 48 + .../XUtliPoolLib/GuildRankRewardTable.cs.meta | 12 + .../Scripts/XUtliPoolLib/GuildRelaxGameList.cs | 67 + .../XUtliPoolLib/GuildRelaxGameList.cs.meta | 12 + .../Assets/Scripts/XUtliPoolLib/GuildSalaryDesc.cs | 48 + .../Scripts/XUtliPoolLib/GuildSalaryDesc.cs.meta | 12 + .../Scripts/XUtliPoolLib/GuildSalaryTable.cs | 179 ++ .../Scripts/XUtliPoolLib/GuildSalaryTable.cs.meta | 12 + .../Assets/Scripts/XUtliPoolLib/GuildSkillTable.cs | 84 + .../Scripts/XUtliPoolLib/GuildSkillTable.cs.meta | 12 + .../Assets/Scripts/XUtliPoolLib/GuildTransfer.cs | 71 + .../Scripts/XUtliPoolLib/GuildTransfer.cs.meta | 12 + Client/Assets/Scripts/XUtliPoolLib/GuildZiCai.cs | 56 + .../Assets/Scripts/XUtliPoolLib/GuildZiCai.cs.meta | 12 + .../Assets/Scripts/XUtliPoolLib/Guildintroduce.cs | 67 + .../Scripts/XUtliPoolLib/Guildintroduce.cs.meta | 12 + .../Assets/Scripts/XUtliPoolLib/HairColorTable.cs | 71 + .../Scripts/XUtliPoolLib/HairColorTable.cs.meta | 12 + Client/Assets/Scripts/XUtliPoolLib/HashPool.cs | 31 + .../Assets/Scripts/XUtliPoolLib/HashPool.cs.meta | 12 + .../XUtliPoolLib/HeroBattleExperienceHero.cs | 71 + .../XUtliPoolLib/HeroBattleExperienceHero.cs.meta | 12 + .../Scripts/XUtliPoolLib/HeroBattleMapCenter.cs | 99 + .../XUtliPoolLib/HeroBattleMapCenter.cs.meta | 12 + .../Assets/Scripts/XUtliPoolLib/HeroBattleTips.cs | 63 + .../Scripts/XUtliPoolLib/HeroBattleTips.cs.meta | 12 + .../Scripts/XUtliPoolLib/HeroBattleWeekReward.cs | 67 + .../XUtliPoolLib/HeroBattleWeekReward.cs.meta | 12 + Client/Assets/Scripts/XUtliPoolLib/Horse.cs | 63 + Client/Assets/Scripts/XUtliPoolLib/Horse.cs.meta | 12 + .../Assets/Scripts/XUtliPoolLib/HotfixAttribute.cs | 6 + .../Scripts/XUtliPoolLib/HotfixAttribute.cs.meta | 12 + .../Scripts/XUtliPoolLib/HotfixIgnoreAttribute.cs | 6 + .../XUtliPoolLib/HotfixIgnoreAttribute.cs.meta | 12 + Client/Assets/Scripts/XUtliPoolLib/HotfixMode.cs | 12 + .../Assets/Scripts/XUtliPoolLib/HotfixMode.cs.meta | 12 + .../Scripts/XUtliPoolLib/IAnimStateMachine.cs | 9 + .../Scripts/XUtliPoolLib/IAnimStateMachine.cs.meta | 12 + .../Assets/Scripts/XUtliPoolLib/IApolloManager.cs | 55 + .../Scripts/XUtliPoolLib/IApolloManager.cs.meta | 12 + .../Scripts/XUtliPoolLib/IAssociatedCamera.cs | 10 + .../Scripts/XUtliPoolLib/IAssociatedCamera.cs.meta | 12 + Client/Assets/Scripts/XUtliPoolLib/IBShop.cs | 169 ++ Client/Assets/Scripts/XUtliPoolLib/IBShop.cs.meta | 12 + Client/Assets/Scripts/XUtliPoolLib/IBroardcast.cs | 21 + .../Scripts/XUtliPoolLib/IBroardcast.cs.meta | 12 + .../Scripts/XUtliPoolLib/IColliderRenderLinker.cs | 10 + .../XUtliPoolLib/IColliderRenderLinker.cs.meta | 12 + .../Scripts/XUtliPoolLib/IControlParticle.cs | 12 + .../Scripts/XUtliPoolLib/IControlParticle.cs.meta | 12 + Client/Assets/Scripts/XUtliPoolLib/IDelayLoad.cs | 9 + .../Assets/Scripts/XUtliPoolLib/IDelayLoad.cs.meta | 12 + Client/Assets/Scripts/XUtliPoolLib/IEntrance.cs | 34 + .../Assets/Scripts/XUtliPoolLib/IEntrance.cs.meta | 12 + Client/Assets/Scripts/XUtliPoolLib/IEnvSetting.cs | 9 + .../Scripts/XUtliPoolLib/IEnvSetting.cs.meta | 12 + .../Assets/Scripts/XUtliPoolLib/IFMOD_Listener.cs | 9 + .../Scripts/XUtliPoolLib/IFMOD_Listener.cs.meta | 12 + Client/Assets/Scripts/XUtliPoolLib/IFxPro.cs | 11 + Client/Assets/Scripts/XUtliPoolLib/IFxPro.cs.meta | 12 + Client/Assets/Scripts/XUtliPoolLib/IGameSysMgr.cs | 40 + .../Scripts/XUtliPoolLib/IGameSysMgr.cs.meta | 12 + Client/Assets/Scripts/XUtliPoolLib/IHere.cs | 9 + Client/Assets/Scripts/XUtliPoolLib/IHere.cs.meta | 12 + .../Assets/Scripts/XUtliPoolLib/IHotfixManager.cs | 40 + .../Scripts/XUtliPoolLib/IHotfixManager.cs.meta | 12 + .../Assets/Scripts/XUtliPoolLib/ILoopItemObject.cs | 16 + .../Scripts/XUtliPoolLib/ILoopItemObject.cs.meta | 12 + .../Assets/Scripts/XUtliPoolLib/ILoopScrollView.cs | 29 + .../Scripts/XUtliPoolLib/ILoopScrollView.cs.meta | 12 + Client/Assets/Scripts/XUtliPoolLib/ILuaEngine.cs | 15 + .../Assets/Scripts/XUtliPoolLib/ILuaEngine.cs.meta | 12 + Client/Assets/Scripts/XUtliPoolLib/ILuaExtion.cs | 45 + .../Assets/Scripts/XUtliPoolLib/ILuaExtion.cs.meta | 12 + Client/Assets/Scripts/XUtliPoolLib/ILuaFunction.cs | 19 + .../Scripts/XUtliPoolLib/ILuaFunction.cs.meta | 12 + Client/Assets/Scripts/XUtliPoolLib/ILuaGameInfo.cs | 25 + .../Scripts/XUtliPoolLib/ILuaGameInfo.cs.meta | 12 + .../Assets/Scripts/XUtliPoolLib/ILuaNetSender.cs | 9 + .../Scripts/XUtliPoolLib/ILuaNetSender.cs.meta | 12 + Client/Assets/Scripts/XUtliPoolLib/ILuaNetwork.cs | 20 + .../Scripts/XUtliPoolLib/ILuaNetwork.cs.meta | 12 + .../Assets/Scripts/XUtliPoolLib/ILuaUIManager.cs | 17 + .../Scripts/XUtliPoolLib/ILuaUIManager.cs.meta | 12 + Client/Assets/Scripts/XUtliPoolLib/IModalDlg.cs | 10 + .../Assets/Scripts/XUtliPoolLib/IModalDlg.cs.meta | 12 + .../Assets/Scripts/XUtliPoolLib/INativePlugin.cs | 17 + .../Scripts/XUtliPoolLib/INativePlugin.cs.meta | 12 + .../Scripts/XUtliPoolLib/IOSAssetBundleLoader.cs | 83 + .../XUtliPoolLib/IOSAssetBundleLoader.cs.meta | 12 + Client/Assets/Scripts/XUtliPoolLib/IObjectPool.cs | 13 + .../Scripts/XUtliPoolLib/IObjectPool.cs.meta | 12 + Client/Assets/Scripts/XUtliPoolLib/IPlatform.cs | 106 + .../Assets/Scripts/XUtliPoolLib/IPlatform.cs.meta | 12 + Client/Assets/Scripts/XUtliPoolLib/IQueueObject.cs | 9 + .../Scripts/XUtliPoolLib/IQueueObject.cs.meta | 12 + .../Assets/Scripts/XUtliPoolLib/IRenderObject.cs | 26 + .../Scripts/XUtliPoolLib/IRenderObject.cs.meta | 12 + .../Assets/Scripts/XUtliPoolLib/IResourceHelp.cs | 10 + .../Scripts/XUtliPoolLib/IResourceHelp.cs.meta | 12 + .../Assets/Scripts/XUtliPoolLib/ISeqListRef.2.cs | 14 + .../Scripts/XUtliPoolLib/ISeqListRef.2.cs.meta | 12 + Client/Assets/Scripts/XUtliPoolLib/ISeqListRef.cs | 9 + .../Scripts/XUtliPoolLib/ISeqListRef.cs.meta | 12 + Client/Assets/Scripts/XUtliPoolLib/ISeqRef.2.cs | 12 + .../Assets/Scripts/XUtliPoolLib/ISeqRef.2.cs.meta | 12 + Client/Assets/Scripts/XUtliPoolLib/ISeqRef.cs | 9 + Client/Assets/Scripts/XUtliPoolLib/ISeqRef.cs.meta | 12 + Client/Assets/Scripts/XUtliPoolLib/ITssSdk.cs | 11 + Client/Assets/Scripts/XUtliPoolLib/ITssSdk.cs.meta | 12 + Client/Assets/Scripts/XUtliPoolLib/ITssSdkSend.cs | 9 + .../Scripts/XUtliPoolLib/ITssSdkSend.cs.meta | 12 + Client/Assets/Scripts/XUtliPoolLib/IUiUtility.cs | 95 + .../Assets/Scripts/XUtliPoolLib/IUiUtility.cs.meta | 12 + Client/Assets/Scripts/XUtliPoolLib/IWeaponTail.cs | 16 + .../Scripts/XUtliPoolLib/IWeaponTail.cs.meta | 12 + .../Assets/Scripts/XUtliPoolLib/IX3DAvatarMgr.cs | 32 + .../Scripts/XUtliPoolLib/IX3DAvatarMgr.cs.meta | 12 + .../Assets/Scripts/XUtliPoolLib/IXAIGeneralMgr.cs | 152 ++ .../Scripts/XUtliPoolLib/IXAIGeneralMgr.cs.meta | 12 + .../Assets/Scripts/XUtliPoolLib/IXBehaviorTree.cs | 40 + .../Scripts/XUtliPoolLib/IXBehaviorTree.cs.meta | 12 + Client/Assets/Scripts/XUtliPoolLib/IXBuglyMgr.cs | 9 + .../Assets/Scripts/XUtliPoolLib/IXBuglyMgr.cs.meta | 12 + Client/Assets/Scripts/XUtliPoolLib/IXCamera.cs | 9 + .../Assets/Scripts/XUtliPoolLib/IXCamera.cs.meta | 12 + Client/Assets/Scripts/XUtliPoolLib/IXCurve.cs | 19 + Client/Assets/Scripts/XUtliPoolLib/IXCurve.cs.meta | 12 + .../Scripts/XUtliPoolLib/IXDragonExpedition.cs | 20 + .../XUtliPoolLib/IXDragonExpedition.cs.meta | 12 + Client/Assets/Scripts/XUtliPoolLib/IXDummy.cs | 17 + Client/Assets/Scripts/XUtliPoolLib/IXDummy.cs.meta | 12 + Client/Assets/Scripts/XUtliPoolLib/IXFmod.cs | 24 + Client/Assets/Scripts/XUtliPoolLib/IXFmod.cs.meta | 12 + Client/Assets/Scripts/XUtliPoolLib/IXFmodBus.cs | 22 + .../Assets/Scripts/XUtliPoolLib/IXFmodBus.cs.meta | 12 + .../Scripts/XUtliPoolLib/IXGameSirControl.cs | 25 + .../Scripts/XUtliPoolLib/IXGameSirControl.cs.meta | 12 + Client/Assets/Scripts/XUtliPoolLib/IXGameUI.cs | 26 + .../Assets/Scripts/XUtliPoolLib/IXGameUI.cs.meta | 12 + .../Scripts/XUtliPoolLib/IXHUDDescription.cs | 14 + .../Scripts/XUtliPoolLib/IXHUDDescription.cs.meta | 12 + Client/Assets/Scripts/XUtliPoolLib/IXIFlyMgr.cs | 56 + .../Assets/Scripts/XUtliPoolLib/IXIFlyMgr.cs.meta | 12 + Client/Assets/Scripts/XUtliPoolLib/IXInterface.cs | 9 + .../Scripts/XUtliPoolLib/IXInterface.cs.meta | 12 + Client/Assets/Scripts/XUtliPoolLib/IXNGUI.cs | 30 + Client/Assets/Scripts/XUtliPoolLib/IXNGUI.cs.meta | 12 + .../Assets/Scripts/XUtliPoolLib/IXNGUICallback.cs | 12 + .../Scripts/XUtliPoolLib/IXNGUICallback.cs.meta | 12 + .../XUtliPoolLib/IXNGUIClickEventHandler.cs | 7 + .../XUtliPoolLib/IXNGUIClickEventHandler.cs.meta | 12 + .../Scripts/XUtliPoolLib/IXNormalItemDrawer.cs | 10 + .../XUtliPoolLib/IXNormalItemDrawer.cs.meta | 12 + .../Scripts/XUtliPoolLib/IXOperationRecord.cs | 10 + .../Scripts/XUtliPoolLib/IXOperationRecord.cs.meta | 12 + Client/Assets/Scripts/XUtliPoolLib/IXPandoraMgr.cs | 59 + .../Scripts/XUtliPoolLib/IXPandoraMgr.cs.meta | 12 + .../Assets/Scripts/XUtliPoolLib/IXPlayerAction.cs | 40 + .../Scripts/XUtliPoolLib/IXPlayerAction.cs.meta | 12 + .../Assets/Scripts/XUtliPoolLib/IXPositionGroup.cs | 12 + .../Scripts/XUtliPoolLib/IXPositionGroup.cs.meta | 12 + .../Scripts/XUtliPoolLib/IXRedpointDirtyMgr.cs | 9 + .../XUtliPoolLib/IXRedpointDirtyMgr.cs.meta | 12 + .../Assets/Scripts/XUtliPoolLib/IXRedpointExMgr.cs | 13 + .../Scripts/XUtliPoolLib/IXRedpointExMgr.cs.meta | 12 + .../Scripts/XUtliPoolLib/IXRedpointForbidMgr.cs | 17 + .../XUtliPoolLib/IXRedpointForbidMgr.cs.meta | 12 + .../Assets/Scripts/XUtliPoolLib/IXRedpointMgr.cs | 18 + .../Scripts/XUtliPoolLib/IXRedpointMgr.cs.meta | 12 + .../Scripts/XUtliPoolLib/IXRedpointRelationMgr.cs | 19 + .../XUtliPoolLib/IXRedpointRelationMgr.cs.meta | 12 + Client/Assets/Scripts/XUtliPoolLib/IXScene.cs | 13 + Client/Assets/Scripts/XUtliPoolLib/IXScene.cs.meta | 12 + .../Scripts/XUtliPoolLib/IXSceneOperation.cs | 9 + .../Scripts/XUtliPoolLib/IXSceneOperation.cs.meta | 12 + Client/Assets/Scripts/XUtliPoolLib/IXTutorial.cs | 13 + .../Assets/Scripts/XUtliPoolLib/IXTutorial.cs.meta | 12 + .../Assets/Scripts/XUtliPoolLib/IXTweenFadeIn.cs | 11 + .../Scripts/XUtliPoolLib/IXTweenFadeIn.cs.meta | 12 + Client/Assets/Scripts/XUtliPoolLib/IXVideo.cs | 13 + Client/Assets/Scripts/XUtliPoolLib/IXVideo.cs.meta | 12 + Client/Assets/Scripts/XUtliPoolLib/Ionic.meta | 9 + Client/Assets/Scripts/XUtliPoolLib/Ionic/Crc.meta | 9 + .../Assets/Scripts/XUtliPoolLib/Ionic/Crc/CRC32.cs | 286 +++ .../Scripts/XUtliPoolLib/Ionic/Crc/CRC32.cs.meta | 12 + .../XUtliPoolLib/Ionic/Crc/CrcCalculatorStream.cs | 210 ++ .../Ionic/Crc/CrcCalculatorStream.cs.meta | 12 + Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib.meta | 9 + .../Scripts/XUtliPoolLib/Ionic/Zlib/Adler.cs | 81 + .../Scripts/XUtliPoolLib/Ionic/Zlib/Adler.cs.meta | 12 + .../Scripts/XUtliPoolLib/Ionic/Zlib/BlockState.cs | 12 + .../XUtliPoolLib/Ionic/Zlib/BlockState.cs.meta | 12 + .../XUtliPoolLib/Ionic/Zlib/CompressionLevel.cs | 22 + .../Ionic/Zlib/CompressionLevel.cs.meta | 12 + .../XUtliPoolLib/Ionic/Zlib/CompressionMode.cs | 10 + .../Ionic/Zlib/CompressionMode.cs.meta | 12 + .../XUtliPoolLib/Ionic/Zlib/CompressionStrategy.cs | 11 + .../Ionic/Zlib/CompressionStrategy.cs.meta | 12 + .../XUtliPoolLib/Ionic/Zlib/DeflateFlavor.cs | 11 + .../XUtliPoolLib/Ionic/Zlib/DeflateFlavor.cs.meta | 12 + .../XUtliPoolLib/Ionic/Zlib/DeflateManager.cs | 1592 +++++++++++++++ .../XUtliPoolLib/Ionic/Zlib/DeflateManager.cs.meta | 12 + .../XUtliPoolLib/Ionic/Zlib/DeflateStream.cs | 288 +++ .../XUtliPoolLib/Ionic/Zlib/DeflateStream.cs.meta | 12 + .../Scripts/XUtliPoolLib/Ionic/Zlib/FlushType.cs | 13 + .../XUtliPoolLib/Ionic/Zlib/FlushType.cs.meta | 12 + .../Scripts/XUtliPoolLib/Ionic/Zlib/GZipStream.cs | 417 ++++ .../XUtliPoolLib/Ionic/Zlib/GZipStream.cs.meta | 12 + .../Scripts/XUtliPoolLib/Ionic/Zlib/InfTree.cs | 2154 ++++++++++++++++++++ .../XUtliPoolLib/Ionic/Zlib/InfTree.cs.meta | 12 + .../XUtliPoolLib/Ionic/Zlib/InflateBlocks.cs | 740 +++++++ .../XUtliPoolLib/Ionic/Zlib/InflateBlocks.cs.meta | 12 + .../XUtliPoolLib/Ionic/Zlib/InflateCodes.cs | 696 +++++++ .../XUtliPoolLib/Ionic/Zlib/InflateCodes.cs.meta | 12 + .../XUtliPoolLib/Ionic/Zlib/InflateManager.cs | 523 +++++ .../XUtliPoolLib/Ionic/Zlib/InflateManager.cs.meta | 12 + .../XUtliPoolLib/Ionic/Zlib/InternalConstants.cs | 27 + .../Ionic/Zlib/InternalConstants.cs.meta | 12 + .../Ionic/Zlib/InternalInflateConstants.cs | 28 + .../Ionic/Zlib/InternalInflateConstants.cs.meta | 12 + .../Ionic/Zlib/ParallelDeflateOutputStream.cs | 630 ++++++ .../Ionic/Zlib/ParallelDeflateOutputStream.cs.meta | 12 + .../Scripts/XUtliPoolLib/Ionic/Zlib/SharedUtils.cs | 53 + .../XUtliPoolLib/Ionic/Zlib/SharedUtils.cs.meta | 12 + .../Scripts/XUtliPoolLib/Ionic/Zlib/StaticTree.cs | 676 ++++++ .../XUtliPoolLib/Ionic/Zlib/StaticTree.cs.meta | 12 + .../Assets/Scripts/XUtliPoolLib/Ionic/Zlib/Tree.cs | 1184 +++++++++++ .../Scripts/XUtliPoolLib/Ionic/Zlib/Tree.cs.meta | 12 + .../Scripts/XUtliPoolLib/Ionic/Zlib/WorkItem.cs | 35 + .../XUtliPoolLib/Ionic/Zlib/WorkItem.cs.meta | 12 + .../XUtliPoolLib/Ionic/Zlib/ZlibBaseStream.cs | 718 +++++++ .../XUtliPoolLib/Ionic/Zlib/ZlibBaseStream.cs.meta | 12 + .../Scripts/XUtliPoolLib/Ionic/Zlib/ZlibCodec.cs | 315 +++ .../XUtliPoolLib/Ionic/Zlib/ZlibCodec.cs.meta | 12 + .../XUtliPoolLib/Ionic/Zlib/ZlibConstants.cs | 27 + .../XUtliPoolLib/Ionic/Zlib/ZlibConstants.cs.meta | 12 + .../XUtliPoolLib/Ionic/Zlib/ZlibException.cs | 17 + .../XUtliPoolLib/Ionic/Zlib/ZlibException.cs.meta | 12 + .../Scripts/XUtliPoolLib/Ionic/Zlib/ZlibStream.cs | 278 +++ .../XUtliPoolLib/Ionic/Zlib/ZlibStream.cs.meta | 12 + .../XUtliPoolLib/Ionic/Zlib/ZlibStreamFlavor.cs | 11 + .../Ionic/Zlib/ZlibStreamFlavor.cs.meta | 12 + .../Assets/Scripts/XUtliPoolLib/ItemBackTable.cs | 64 + .../Scripts/XUtliPoolLib/ItemBackTable.cs.meta | 12 + .../Assets/Scripts/XUtliPoolLib/ItemBuffTable.cs | 67 + .../Scripts/XUtliPoolLib/ItemBuffTable.cs.meta | 12 + .../Scripts/XUtliPoolLib/ItemComposeTable.cs | 145 ++ .../Scripts/XUtliPoolLib/ItemComposeTable.cs.meta | 12 + Client/Assets/Scripts/XUtliPoolLib/ItemList.cs | 229 +++ .../Assets/Scripts/XUtliPoolLib/ItemList.cs.meta | 12 + .../Assets/Scripts/XUtliPoolLib/ItemTransform.cs | 117 ++ .../Scripts/XUtliPoolLib/ItemTransform.cs.meta | 12 + .../Scripts/XUtliPoolLib/ItemUseButtonList.cs | 48 + .../Scripts/XUtliPoolLib/ItemUseButtonList.cs.meta | 12 + .../Assets/Scripts/XUtliPoolLib/JadeGroupTable.cs | 40 + .../Scripts/XUtliPoolLib/JadeGroupTable.cs.meta | 12 + .../Assets/Scripts/XUtliPoolLib/JadeSealTable.cs | 76 + .../Scripts/XUtliPoolLib/JadeSealTable.cs.meta | 12 + .../Assets/Scripts/XUtliPoolLib/JadeSlotTable.cs | 63 + .../Scripts/XUtliPoolLib/JadeSlotTable.cs.meta | 12 + Client/Assets/Scripts/XUtliPoolLib/JadeTable.cs | 129 ++ .../Assets/Scripts/XUtliPoolLib/JadeTable.cs.meta | 12 + Client/Assets/Scripts/XUtliPoolLib/JsonUtil.cs | 164 ++ .../Assets/Scripts/XUtliPoolLib/JsonUtil.cs.meta | 12 + .../Scripts/XUtliPoolLib/LeagueRankReward.cs | 40 + .../Scripts/XUtliPoolLib/LeagueRankReward.cs.meta | 12 + .../XUtliPoolLib/LevelSealNewFunctionTable.cs | 48 + .../XUtliPoolLib/LevelSealNewFunctionTable.cs.meta | 12 + .../Scripts/XUtliPoolLib/LevelSealTypeTable.cs | 107 + .../XUtliPoolLib/LevelSealTypeTable.cs.meta | 12 + Client/Assets/Scripts/XUtliPoolLib/ListPool.cs | 31 + .../Assets/Scripts/XUtliPoolLib/ListPool.cs.meta | 12 + Client/Assets/Scripts/XUtliPoolLib/LiveTable.cs | 71 + .../Assets/Scripts/XUtliPoolLib/LiveTable.cs.meta | 12 + .../Assets/Scripts/XUtliPoolLib/LoadAsyncTask.cs | 238 +++ .../Scripts/XUtliPoolLib/LoadAsyncTask.cs.meta | 12 + Client/Assets/Scripts/XUtliPoolLib/LoadCallBack.cs | 7 + .../Scripts/XUtliPoolLib/LoadCallBack.cs.meta | 12 + .../Assets/Scripts/XUtliPoolLib/LoadCallback.2.cs | 6 + .../Scripts/XUtliPoolLib/LoadCallback.2.cs.meta | 12 + Client/Assets/Scripts/XUtliPoolLib/LoadFrom.cs | 10 + .../Assets/Scripts/XUtliPoolLib/LoadFrom.cs.meta | 12 + Client/Assets/Scripts/XUtliPoolLib/LoadInfo.cs | 11 + .../Assets/Scripts/XUtliPoolLib/LoadInfo.cs.meta | 12 + Client/Assets/Scripts/XUtliPoolLib/LoadState.cs | 13 + .../Assets/Scripts/XUtliPoolLib/LoadState.cs.meta | 12 + Client/Assets/Scripts/XUtliPoolLib/LoopItemData.cs | 9 + .../Scripts/XUtliPoolLib/LoopItemData.cs.meta | 12 + .../Assets/Scripts/XUtliPoolLib/MarriageLevel.cs | 83 + .../Scripts/XUtliPoolLib/MarriageLevel.cs.meta | 12 + Client/Assets/Scripts/XUtliPoolLib/MemoryPool.cs | 193 ++ .../Assets/Scripts/XUtliPoolLib/MemoryPool.cs.meta | 12 + .../XUtliPoolLib/MentorCompleteRewardTable.cs | 67 + .../XUtliPoolLib/MentorCompleteRewardTable.cs.meta | 12 + .../Assets/Scripts/XUtliPoolLib/MentorTaskTable.cs | 79 + .../Scripts/XUtliPoolLib/MentorTaskTable.cs.meta | 12 + .../Scripts/XUtliPoolLib/MilitaryRankByExploit.cs | 83 + .../XUtliPoolLib/MilitaryRankByExploit.cs.meta | 12 + .../Scripts/XUtliPoolLib/MilitaryRankReward.cs | 40 + .../XUtliPoolLib/MilitaryRankReward.cs.meta | 12 + Client/Assets/Scripts/XUtliPoolLib/MiniJSON.meta | 9 + .../Assets/Scripts/XUtliPoolLib/MiniJSON/Json.cs | 638 ++++++ .../Scripts/XUtliPoolLib/MiniJSON/Json.cs.meta | 12 + Client/Assets/Scripts/XUtliPoolLib/MobaLevel.cs | 113 + .../Assets/Scripts/XUtliPoolLib/MobaLevel.cs.meta | 12 + Client/Assets/Scripts/XUtliPoolLib/MobaMiniMap.cs | 117 ++ .../Scripts/XUtliPoolLib/MobaMiniMap.cs.meta | 12 + .../Assets/Scripts/XUtliPoolLib/MobaSignalTable.cs | 79 + .../Scripts/XUtliPoolLib/MobaSignalTable.cs.meta | 12 + .../Assets/Scripts/XUtliPoolLib/MobaWeekReward.cs | 67 + .../Scripts/XUtliPoolLib/MobaWeekReward.cs.meta | 12 + .../XUtliPoolLib/MobileAssetBundleLoader.cs | 392 ++++ .../XUtliPoolLib/MobileAssetBundleLoader.cs.meta | 12 + .../Scripts/XUtliPoolLib/MultiActivityList.cs | 111 + .../Scripts/XUtliPoolLib/MultiActivityList.cs.meta | 12 + .../Assets/Scripts/XUtliPoolLib/NestListTable.cs | 67 + .../Scripts/XUtliPoolLib/NestListTable.cs.meta | 12 + .../Assets/Scripts/XUtliPoolLib/NestStarReward.cs | 52 + .../Scripts/XUtliPoolLib/NestStarReward.cs.meta | 12 + .../Assets/Scripts/XUtliPoolLib/NestTypeTable.cs | 75 + .../Scripts/XUtliPoolLib/NestTypeTable.cs.meta | 12 + Client/Assets/Scripts/XUtliPoolLib/NoticeTable.cs | 125 ++ .../Scripts/XUtliPoolLib/NoticeTable.cs.meta | 12 + Client/Assets/Scripts/XUtliPoolLib/NpcFeeling.cs | 124 ++ .../Assets/Scripts/XUtliPoolLib/NpcFeeling.cs.meta | 12 + .../Assets/Scripts/XUtliPoolLib/NpcFeelingAttr.cs | 52 + .../Scripts/XUtliPoolLib/NpcFeelingAttr.cs.meta | 12 + .../Scripts/XUtliPoolLib/NpcFeelingSpecial.cs | 40 + .../Scripts/XUtliPoolLib/NpcFeelingSpecial.cs.meta | 12 + Client/Assets/Scripts/XUtliPoolLib/NpcUniteAttr.cs | 56 + .../Scripts/XUtliPoolLib/NpcUniteAttr.cs.meta | 12 + Client/Assets/Scripts/XUtliPoolLib/ObjectPool.cs | 81 + .../Assets/Scripts/XUtliPoolLib/ObjectPool.cs.meta | 12 + .../Assets/Scripts/XUtliPoolLib/ObjectPoolCache.cs | 15 + .../Scripts/XUtliPoolLib/ObjectPoolCache.cs.meta | 12 + .../Assets/Scripts/XUtliPoolLib/OnFxDestroyed.cs | 6 + .../Scripts/XUtliPoolLib/OnFxDestroyed.cs.meta | 12 + .../Scripts/XUtliPoolLib/OnLoadedCallback.cs | 6 + .../Scripts/XUtliPoolLib/OnLoadedCallback.cs.meta | 12 + .../Scripts/XUtliPoolLib/OnlineRewardTable.cs | 67 + .../Scripts/XUtliPoolLib/OnlineRewardTable.cs.meta | 12 + .../Scripts/XUtliPoolLib/OpenServerActivity.cs | 113 + .../XUtliPoolLib/OpenServerActivity.cs.meta | 12 + .../Assets/Scripts/XUtliPoolLib/OpenSystemTable.cs | 157 ++ .../Scripts/XUtliPoolLib/OpenSystemTable.cs.meta | 12 + .../Scripts/XUtliPoolLib/OperatingActivity.cs | 64 + .../Scripts/XUtliPoolLib/OperatingActivity.cs.meta | 12 + .../Assets/Scripts/XUtliPoolLib/OperationRecord.cs | 40 + .../Scripts/XUtliPoolLib/OperationRecord.cs.meta | 12 + .../Assets/Scripts/XUtliPoolLib/OverWatchTable.cs | 123 ++ .../Scripts/XUtliPoolLib/OverWatchTable.cs.meta | 12 + .../Scripts/XUtliPoolLib/OverrideAnimCallback.cs | 6 + .../XUtliPoolLib/OverrideAnimCallback.cs.meta | 12 + Client/Assets/Scripts/XUtliPoolLib/PDatabase.cs | 486 +++++ .../Assets/Scripts/XUtliPoolLib/PDatabase.cs.meta | 12 + Client/Assets/Scripts/XUtliPoolLib/PInfo.cs | 11 + Client/Assets/Scripts/XUtliPoolLib/PInfo.cs.meta | 12 + Client/Assets/Scripts/XUtliPoolLib/PUtil.cs | 58 + Client/Assets/Scripts/XUtliPoolLib/PUtil.cs.meta | 12 + .../Assets/Scripts/XUtliPoolLib/PVEAttrModify.cs | 109 + .../Scripts/XUtliPoolLib/PVEAttrModify.cs.meta | 12 + .../Assets/Scripts/XUtliPoolLib/PVPActivityList.cs | 67 + .../Scripts/XUtliPoolLib/PVPActivityList.cs.meta | 12 + Client/Assets/Scripts/XUtliPoolLib/PandoraHeart.cs | 80 + .../Scripts/XUtliPoolLib/PandoraHeart.cs.meta | 12 + .../Scripts/XUtliPoolLib/PandoraHeartReward.cs | 44 + .../XUtliPoolLib/PandoraHeartReward.cs.meta | 12 + .../Scripts/XUtliPoolLib/PartnerLivenessTable.cs | 52 + .../XUtliPoolLib/PartnerLivenessTable.cs.meta | 12 + Client/Assets/Scripts/XUtliPoolLib/PartnerTable.cs | 67 + .../Scripts/XUtliPoolLib/PartnerTable.cs.meta | 12 + .../Assets/Scripts/XUtliPoolLib/PartnerWelfare.cs | 63 + .../Scripts/XUtliPoolLib/PartnerWelfare.cs.meta | 12 + .../Assets/Scripts/XUtliPoolLib/PayAileenTable.cs | 68 + .../Scripts/XUtliPoolLib/PayAileenTable.cs.meta | 12 + Client/Assets/Scripts/XUtliPoolLib/PayCardTable.cs | 64 + .../Scripts/XUtliPoolLib/PayCardTable.cs.meta | 12 + Client/Assets/Scripts/XUtliPoolLib/PayFirst.cs | 44 + .../Assets/Scripts/XUtliPoolLib/PayFirst.cs.meta | 12 + Client/Assets/Scripts/XUtliPoolLib/PayGiftTable.cs | 60 + .../Scripts/XUtliPoolLib/PayGiftTable.cs.meta | 12 + Client/Assets/Scripts/XUtliPoolLib/PayListTable.cs | 83 + .../Scripts/XUtliPoolLib/PayListTable.cs.meta | 12 + .../Scripts/XUtliPoolLib/PayMarketingInfo.cs | 13 + .../Scripts/XUtliPoolLib/PayMarketingInfo.cs.meta | 12 + .../Assets/Scripts/XUtliPoolLib/PayMemberTable.cs | 144 ++ .../Scripts/XUtliPoolLib/PayMemberTable.cs.meta | 12 + .../Assets/Scripts/XUtliPoolLib/PayWelfareTable.cs | 44 + .../Scripts/XUtliPoolLib/PayWelfareTable.cs.meta | 12 + Client/Assets/Scripts/XUtliPoolLib/PetBubble.cs | 60 + .../Assets/Scripts/XUtliPoolLib/PetBubble.cs.meta | 12 + Client/Assets/Scripts/XUtliPoolLib/PetFoodTable.cs | 71 + .../Scripts/XUtliPoolLib/PetFoodTable.cs.meta | 12 + Client/Assets/Scripts/XUtliPoolLib/PetInfoTable.cs | 115 ++ .../Scripts/XUtliPoolLib/PetInfoTable.cs.meta | 12 + Client/Assets/Scripts/XUtliPoolLib/PetItemTable.cs | 63 + .../Scripts/XUtliPoolLib/PetItemTable.cs.meta | 12 + .../Assets/Scripts/XUtliPoolLib/PetLevelTable.cs | 48 + .../Scripts/XUtliPoolLib/PetLevelTable.cs.meta | 12 + .../Scripts/XUtliPoolLib/PetMoodTipsTable.cs | 48 + .../Scripts/XUtliPoolLib/PetMoodTipsTable.cs.meta | 12 + .../Scripts/XUtliPoolLib/PetPassiveSkillTable.cs | 75 + .../XUtliPoolLib/PetPassiveSkillTable.cs.meta | 12 + Client/Assets/Scripts/XUtliPoolLib/PetSkillBook.cs | 63 + .../Scripts/XUtliPoolLib/PetSkillBook.cs.meta | 12 + .../Scripts/XUtliPoolLib/PhotographEffectCfg.cs | 60 + .../XUtliPoolLib/PhotographEffectCfg.cs.meta | 12 + Client/Assets/Scripts/XUtliPoolLib/PkPointTable.cs | 44 + .../Scripts/XUtliPoolLib/PkPointTable.cs.meta | 12 + .../Scripts/XUtliPoolLib/PkProfessionTable.cs | 36 + .../Scripts/XUtliPoolLib/PkProfessionTable.cs.meta | 12 + Client/Assets/Scripts/XUtliPoolLib/PkRankTable.cs | 40 + .../Scripts/XUtliPoolLib/PkRankTable.cs.meta | 12 + Client/Assets/Scripts/XUtliPoolLib/PlantSeed.cs | 119 ++ .../Assets/Scripts/XUtliPoolLib/PlantSeed.cs.meta | 12 + Client/Assets/Scripts/XUtliPoolLib/PlantSprite.cs | 71 + .../Scripts/XUtliPoolLib/PlantSprite.cs.meta | 12 + Client/Assets/Scripts/XUtliPoolLib/PlayerInfo.cs | 30 + .../Assets/Scripts/XUtliPoolLib/PlayerInfo.cs.meta | 12 + .../Scripts/XUtliPoolLib/PlayerLevelTable.cs | 125 ++ .../Scripts/XUtliPoolLib/PlayerLevelTable.cs.meta | 12 + .../Scripts/XUtliPoolLib/PokerTournamentReward.cs | 40 + .../XUtliPoolLib/PokerTournamentReward.cs.meta | 12 + .../Scripts/XUtliPoolLib/PowerPointCoeffTable.cs | 44 + .../XUtliPoolLib/PowerPointCoeffTable.cs.meta | 12 + .../Scripts/XUtliPoolLib/PreloadAnimationList.cs | 40 + .../XUtliPoolLib/PreloadAnimationList.cs.meta | 12 + Client/Assets/Scripts/XUtliPoolLib/Prerogative.cs | 129 ++ .../Scripts/XUtliPoolLib/Prerogative.cs.meta | 12 + .../Scripts/XUtliPoolLib/PrerogativeContent.cs | 137 ++ .../XUtliPoolLib/PrerogativeContent.cs.meta | 12 + .../Assets/Scripts/XUtliPoolLib/ProfSkillTable.cs | 139 ++ .../Scripts/XUtliPoolLib/ProfSkillTable.cs.meta | 12 + .../Scripts/XUtliPoolLib/ProfessionConvertTable.cs | 76 + .../XUtliPoolLib/ProfessionConvertTable.cs.meta | 12 + .../Assets/Scripts/XUtliPoolLib/ProfessionTable.cs | 71 + .../Scripts/XUtliPoolLib/ProfessionTable.cs.meta | 12 + .../Scripts/XUtliPoolLib/PushMessageTable.cs | 56 + .../Scripts/XUtliPoolLib/PushMessageTable.cs.meta | 12 + Client/Assets/Scripts/XUtliPoolLib/PushSetting.cs | 56 + .../Scripts/XUtliPoolLib/PushSetting.cs.meta | 12 + .../Scripts/XUtliPoolLib/PushSubscribeTable.cs | 71 + .../XUtliPoolLib/PushSubscribeTable.cs.meta | 12 + .../Scripts/XUtliPoolLib/PveProfessionTable.cs | 40 + .../XUtliPoolLib/PveProfessionTable.cs.meta | 12 + .../Scripts/XUtliPoolLib/QAConditionTable.cs | 63 + .../Scripts/XUtliPoolLib/QAConditionTable.cs.meta | 12 + .../Scripts/XUtliPoolLib/QALevelRewardTable.cs | 79 + .../XUtliPoolLib/QALevelRewardTable.cs.meta | 12 + .../Scripts/XUtliPoolLib/QuestionLibraryTable.cs | 121 ++ .../XUtliPoolLib/QuestionLibraryTable.cs.meta | 12 + Client/Assets/Scripts/XUtliPoolLib/QueuePool.cs | 31 + .../Assets/Scripts/XUtliPoolLib/QueuePool.cs.meta | 12 + .../Assets/Scripts/XUtliPoolLib/QuickReplyTable.cs | 67 + .../Scripts/XUtliPoolLib/QuickReplyTable.cs.meta | 12 + .../Scripts/XUtliPoolLib/RandomAttributes.cs | 56 + .../Scripts/XUtliPoolLib/RandomAttributes.cs.meta | 12 + .../Assets/Scripts/XUtliPoolLib/RandomBossTable.cs | 40 + .../Scripts/XUtliPoolLib/RandomBossTable.cs.meta | 12 + Client/Assets/Scripts/XUtliPoolLib/RandomName.cs | 117 ++ .../Assets/Scripts/XUtliPoolLib/RandomName.cs.meta | 12 + .../Scripts/XUtliPoolLib/RandomSceneTable.cs | 40 + .../Scripts/XUtliPoolLib/RandomSceneTable.cs.meta | 12 + .../Assets/Scripts/XUtliPoolLib/RandomTaskTable.cs | 75 + .../Scripts/XUtliPoolLib/RandomTaskTable.cs.meta | 12 + .../Assets/Scripts/XUtliPoolLib/RechargeTable.cs | 64 + .../Scripts/XUtliPoolLib/RechargeTable.cs.meta | 12 + .../Scripts/XUtliPoolLib/RecommendFightNum.cs | 48 + .../Scripts/XUtliPoolLib/RecommendFightNum.cs.meta | 12 + Client/Assets/Scripts/XUtliPoolLib/RenameList.cs | 63 + .../Assets/Scripts/XUtliPoolLib/RenameList.cs.meta | 12 + .../Assets/Scripts/XUtliPoolLib/ResetCallback.cs | 6 + .../Scripts/XUtliPoolLib/ResetCallback.cs.meta | 12 + Client/Assets/Scripts/XUtliPoolLib/Rift.cs | 64 + Client/Assets/Scripts/XUtliPoolLib/Rift.cs.meta | 12 + .../XUtliPoolLib/RiftBuffSuitMonsterType.cs | 52 + .../XUtliPoolLib/RiftBuffSuitMonsterType.cs.meta | 12 + .../Assets/Scripts/XUtliPoolLib/RiftRankReward.cs | 44 + .../Scripts/XUtliPoolLib/RiftRankReward.cs.meta | 12 + Client/Assets/Scripts/XUtliPoolLib/RiftType.cs | 52 + .../Assets/Scripts/XUtliPoolLib/RiftType.cs.meta | 12 + .../Scripts/XUtliPoolLib/RiftWelfareReward.cs | 44 + .../Scripts/XUtliPoolLib/RiftWelfareReward.cs.meta | 12 + Client/Assets/Scripts/XUtliPoolLib/RiskMapFile.cs | 99 + .../Scripts/XUtliPoolLib/RiskMapFile.cs.meta | 12 + Client/Assets/Scripts/XUtliPoolLib/SceneTable.cs | 441 ++++ .../Assets/Scripts/XUtliPoolLib/SceneTable.cs.meta | 12 + Client/Assets/Scripts/XUtliPoolLib/Seq2.cs | 17 + Client/Assets/Scripts/XUtliPoolLib/Seq2.cs.meta | 12 + Client/Assets/Scripts/XUtliPoolLib/SeqList.cs | 66 + Client/Assets/Scripts/XUtliPoolLib/SeqList.cs.meta | 12 + Client/Assets/Scripts/XUtliPoolLib/SeqListRef.cs | 65 + .../Assets/Scripts/XUtliPoolLib/SeqListRef.cs.meta | 12 + Client/Assets/Scripts/XUtliPoolLib/SeqRef.cs | 39 + Client/Assets/Scripts/XUtliPoolLib/SeqRef.cs.meta | 12 + .../Scripts/XUtliPoolLib/SetRedpointUIHandler.cs | 7 + .../XUtliPoolLib/SetRedpointUIHandler.cs.meta | 12 + .../Scripts/XUtliPoolLib/SevenImportTable.cs | 75 + .../Scripts/XUtliPoolLib/SevenImportTable.cs.meta | 12 + .../Assets/Scripts/XUtliPoolLib/ShaderManager.cs | 316 +++ .../Scripts/XUtliPoolLib/ShaderManager.cs.meta | 12 + .../Assets/Scripts/XUtliPoolLib/ShadowCatReward.cs | 36 + .../Scripts/XUtliPoolLib/ShadowCatReward.cs.meta | 12 + .../Assets/Scripts/XUtliPoolLib/ShareBgTexture.cs | 48 + .../Scripts/XUtliPoolLib/ShareBgTexture.cs.meta | 12 + .../Scripts/XUtliPoolLib/ShareCallBackType.cs | 13 + .../Scripts/XUtliPoolLib/ShareCallBackType.cs.meta | 12 + Client/Assets/Scripts/XUtliPoolLib/ShareTable.cs | 79 + .../Assets/Scripts/XUtliPoolLib/ShareTable.cs.meta | 12 + Client/Assets/Scripts/XUtliPoolLib/ShopTable.cs | 173 ++ .../Assets/Scripts/XUtliPoolLib/ShopTable.cs.meta | 12 + .../Assets/Scripts/XUtliPoolLib/ShopTypeTable.cs | 118 ++ .../Scripts/XUtliPoolLib/ShopTypeTable.cs.meta | 12 + Client/Assets/Scripts/XUtliPoolLib/SimpleQueue.cs | 80 + .../Scripts/XUtliPoolLib/SimpleQueue.cs.meta | 12 + Client/Assets/Scripts/XUtliPoolLib/SkillCombo.cs | 56 + .../Assets/Scripts/XUtliPoolLib/SkillCombo.cs.meta | 12 + Client/Assets/Scripts/XUtliPoolLib/SkillEmblem.cs | 137 ++ .../Scripts/XUtliPoolLib/SkillEmblem.cs.meta | 12 + Client/Assets/Scripts/XUtliPoolLib/SkillFxType.cs | 10 + .../Scripts/XUtliPoolLib/SkillFxType.cs.meta | 12 + Client/Assets/Scripts/XUtliPoolLib/SkillList.cs | 280 +++ .../Assets/Scripts/XUtliPoolLib/SkillList.cs.meta | 12 + .../Scripts/XUtliPoolLib/SkillTreeConfigTable.cs | 113 + .../XUtliPoolLib/SkillTreeConfigTable.cs.meta | 12 + .../Assets/Scripts/XUtliPoolLib/SkyArenaReward.cs | 44 + .../Scripts/XUtliPoolLib/SkyArenaReward.cs.meta | 12 + Client/Assets/Scripts/XUtliPoolLib/SmallBuffer.cs | 242 +++ .../Scripts/XUtliPoolLib/SmallBuffer.cs.meta | 12 + .../Assets/Scripts/XUtliPoolLib/SmallBufferPool.cs | 153 ++ .../Scripts/XUtliPoolLib/SmallBufferPool.cs.meta | 12 + .../XUtliPoolLib/SpectateLevelRewardConfig.cs | 63 + .../XUtliPoolLib/SpectateLevelRewardConfig.cs.meta | 12 + .../Assets/Scripts/XUtliPoolLib/SpriteEvolution.cs | 60 + .../Scripts/XUtliPoolLib/SpriteEvolution.cs.meta | 12 + Client/Assets/Scripts/XUtliPoolLib/SpriteLevel.cs | 48 + .../Scripts/XUtliPoolLib/SpriteLevel.cs.meta | 12 + .../Scripts/XUtliPoolLib/SpritePreviewTable.cs | 117 ++ .../XUtliPoolLib/SpritePreviewTable.cs.meta | 12 + Client/Assets/Scripts/XUtliPoolLib/SpriteSkill.cs | 76 + .../Scripts/XUtliPoolLib/SpriteSkill.cs.meta | 12 + Client/Assets/Scripts/XUtliPoolLib/SpriteTable.cs | 182 ++ .../Scripts/XUtliPoolLib/SpriteTable.cs.meta | 12 + .../Assets/Scripts/XUtliPoolLib/StageRankTable.cs | 117 ++ .../Scripts/XUtliPoolLib/StageRankTable.cs.meta | 12 + Client/Assets/Scripts/XUtliPoolLib/StringTable.cs | 34 + .../Scripts/XUtliPoolLib/StringTable.cs.meta | 12 + .../Assets/Scripts/XUtliPoolLib/SuperActivity.cs | 60 + .../Scripts/XUtliPoolLib/SuperActivity.cs.meta | 12 + .../Scripts/XUtliPoolLib/SuperActivityTask.cs | 161 ++ .../Scripts/XUtliPoolLib/SuperActivityTask.cs.meta | 12 + .../Scripts/XUtliPoolLib/SuperActivityTime.cs | 99 + .../Scripts/XUtliPoolLib/SuperActivityTime.cs.meta | 12 + .../XUtliPoolLib/SuperArmorRecoveryCoffTable.cs | 44 + .../SuperArmorRecoveryCoffTable.cs.meta | 12 + .../Assets/Scripts/XUtliPoolLib/SystemAnnounce.cs | 87 + .../Scripts/XUtliPoolLib/SystemAnnounce.cs.meta | 12 + .../Assets/Scripts/XUtliPoolLib/SystemHelpTable.cs | 113 + .../Scripts/XUtliPoolLib/SystemHelpTable.cs.meta | 12 + .../Scripts/XUtliPoolLib/SystemRewardTable.cs | 75 + .../Scripts/XUtliPoolLib/SystemRewardTable.cs.meta | 12 + Client/Assets/Scripts/XUtliPoolLib/TaJieHelpTab.cs | 79 + .../Scripts/XUtliPoolLib/TaJieHelpTab.cs.meta | 12 + Client/Assets/Scripts/XUtliPoolLib/TaJieHelpUrl.cs | 67 + .../Scripts/XUtliPoolLib/TaJieHelpUrl.cs.meta | 12 + Client/Assets/Scripts/XUtliPoolLib/TaskTableNew.cs | 177 ++ .../Scripts/XUtliPoolLib/TaskTableNew.cs.meta | 12 + .../Scripts/XUtliPoolLib/TeamTowerRewardTable.cs | 64 + .../XUtliPoolLib/TeamTowerRewardTable.cs.meta | 12 + .../Assets/Scripts/XUtliPoolLib/TerritoryBattle.cs | 79 + .../Scripts/XUtliPoolLib/TerritoryBattle.cs.meta | 12 + .../Assets/Scripts/XUtliPoolLib/TerritoryRewd.cs | 44 + .../Scripts/XUtliPoolLib/TerritoryRewd.cs.meta | 12 + .../Assets/Scripts/XUtliPoolLib/ThemeActivity.cs | 67 + .../Scripts/XUtliPoolLib/ThemeActivity.cs.meta | 12 + Client/Assets/Scripts/XUtliPoolLib/TitleTable.cs | 76 + .../Assets/Scripts/XUtliPoolLib/TitleTable.cs.meta | 12 + Client/Assets/Scripts/XUtliPoolLib/TrophyInfo.cs | 88 + .../Assets/Scripts/XUtliPoolLib/TrophyInfo.cs.meta | 12 + Client/Assets/Scripts/XUtliPoolLib/TrophyReward.cs | 44 + .../Scripts/XUtliPoolLib/TrophyReward.cs.meta | 12 + Client/Assets/Scripts/XUtliPoolLib/UniqueString.cs | 76 + .../Scripts/XUtliPoolLib/UniqueString.cs.meta | 12 + Client/Assets/Scripts/XUtliPoolLib/VIPTable.cs | 111 + .../Assets/Scripts/XUtliPoolLib/VIPTable.cs.meta | 12 + .../Scripts/XUtliPoolLib/WXGroupCallBackType.cs | 10 + .../XUtliPoolLib/WXGroupCallBackType.cs.meta | 12 + Client/Assets/Scripts/XUtliPoolLib/WXGroupInfo.cs | 22 + .../Scripts/XUtliPoolLib/WXGroupInfo.cs.meta | 12 + .../Assets/Scripts/XUtliPoolLib/WXGroupResult.cs | 18 + .../Scripts/XUtliPoolLib/WXGroupResult.cs.meta | 12 + .../Scripts/XUtliPoolLib/WeddingLoverLiveness.cs | 71 + .../XUtliPoolLib/WeddingLoverLiveness.cs.meta | 12 + .../Assets/Scripts/XUtliPoolLib/WeekEnd4v4List.cs | 80 + .../Scripts/XUtliPoolLib/WeekEnd4v4List.cs.meta | 12 + .../Scripts/XUtliPoolLib/WeekEndNestActivity.cs | 67 + .../XUtliPoolLib/WeekEndNestActivity.cs.meta | 12 + .../Scripts/XUtliPoolLib/WorldBossRewardTable.cs | 44 + .../XUtliPoolLib/WorldBossRewardTable.cs.meta | 12 + .../Scripts/XUtliPoolLib/WorldLevelExpBuff.cs | 56 + .../Scripts/XUtliPoolLib/WorldLevelExpBuff.cs.meta | 12 + .../Assets/Scripts/XUtliPoolLib/XActorDataClip.cs | 36 + .../Scripts/XUtliPoolLib/XActorDataClip.cs.meta | 12 + .../Assets/Scripts/XUtliPoolLib/XAnimationClip.cs | 23 + .../Scripts/XUtliPoolLib/XAnimationClip.cs.meta | 12 + .../Assets/Scripts/XUtliPoolLib/XAnimationPool.cs | 30 + .../Scripts/XUtliPoolLib/XAnimationPool.cs.meta | 12 + Client/Assets/Scripts/XUtliPoolLib/XAnimator.cs | 643 ++++++ .../Assets/Scripts/XUtliPoolLib/XAnimator.cs.meta | 12 + Client/Assets/Scripts/XUtliPoolLib/XAudioData.cs | 20 + .../Assets/Scripts/XUtliPoolLib/XAudioData.cs.meta | 12 + .../Assets/Scripts/XUtliPoolLib/XAudioDataClip.cs | 18 + .../Scripts/XUtliPoolLib/XAudioDataClip.cs.meta | 12 + Client/Assets/Scripts/XUtliPoolLib/XBaseData.cs | 14 + .../Assets/Scripts/XUtliPoolLib/XBaseData.cs.meta | 12 + .../Assets/Scripts/XUtliPoolLib/XBaseSingleton.cs | 11 + .../Scripts/XUtliPoolLib/XBaseSingleton.cs.meta | 12 + Client/Assets/Scripts/XUtliPoolLib/XBeHitPhase.cs | 12 + .../Scripts/XUtliPoolLib/XBeHitPhase.cs.meta | 12 + Client/Assets/Scripts/XUtliPoolLib/XBeHitState.cs | 13 + .../Scripts/XUtliPoolLib/XBeHitState.cs.meta | 12 + .../Scripts/XUtliPoolLib/XBeHitState_Animation.cs | 11 + .../XUtliPoolLib/XBeHitState_Animation.cs.meta | 12 + .../Assets/Scripts/XUtliPoolLib/XBinaryReader.cs | 565 +++++ .../Scripts/XUtliPoolLib/XBinaryReader.cs.meta | 12 + Client/Assets/Scripts/XUtliPoolLib/XCallCommand.cs | 36 + .../Scripts/XUtliPoolLib/XCallCommand.cs.meta | 12 + .../Scripts/XUtliPoolLib/XCameraEffectData.cs | 68 + .../Scripts/XUtliPoolLib/XCameraEffectData.cs.meta | 12 + .../Scripts/XUtliPoolLib/XCameraMotionData.cs | 60 + .../Scripts/XUtliPoolLib/XCameraMotionData.cs.meta | 12 + .../Scripts/XUtliPoolLib/XCameraPostEffectData.cs | 36 + .../XUtliPoolLib/XCameraPostEffectData.cs.meta | 12 + Client/Assets/Scripts/XUtliPoolLib/XCastChain.cs | 21 + .../Assets/Scripts/XUtliPoolLib/XCastChain.cs.meta | 12 + Client/Assets/Scripts/XUtliPoolLib/XChapter.cs | 87 + .../Assets/Scripts/XUtliPoolLib/XChapter.cs.meta | 12 + Client/Assets/Scripts/XUtliPoolLib/XChargeData.cs | 68 + .../Scripts/XUtliPoolLib/XChargeData.cs.meta | 12 + Client/Assets/Scripts/XUtliPoolLib/XClipType.cs | 14 + .../Assets/Scripts/XUtliPoolLib/XClipType.cs.meta | 12 + .../Assets/Scripts/XUtliPoolLib/XCombinedData.cs | 25 + .../Scripts/XUtliPoolLib/XCombinedData.cs.meta | 12 + Client/Assets/Scripts/XUtliPoolLib/XCommon.cs | 695 +++++++ Client/Assets/Scripts/XUtliPoolLib/XCommon.cs.meta | 12 + Client/Assets/Scripts/XUtliPoolLib/XCurrentGrid.cs | 9 + .../Scripts/XUtliPoolLib/XCurrentGrid.cs.meta | 12 + .../Assets/Scripts/XUtliPoolLib/XCutSceneClip.cs | 15 + .../Scripts/XUtliPoolLib/XCutSceneClip.cs.meta | 12 + .../Assets/Scripts/XUtliPoolLib/XCutSceneData.cs | 70 + .../Scripts/XUtliPoolLib/XCutSceneData.cs.meta | 12 + .../Scripts/XUtliPoolLib/XDataFileLoadException.cs | 16 + .../XUtliPoolLib/XDataFileLoadException.cs.meta | 12 + Client/Assets/Scripts/XUtliPoolLib/XDataWrapper.cs | 11 + .../Scripts/XUtliPoolLib/XDataWrapper.cs.meta | 12 + Client/Assets/Scripts/XUtliPoolLib/XDebug.cs | 355 ++++ Client/Assets/Scripts/XUtliPoolLib/XDebug.cs.meta | 12 + .../Assets/Scripts/XUtliPoolLib/XDebugChannel.cs | 18 + .../Scripts/XUtliPoolLib/XDebugChannel.cs.meta | 12 + Client/Assets/Scripts/XUtliPoolLib/XDebugColor.cs | 12 + .../Scripts/XUtliPoolLib/XDebugColor.cs.meta | 12 + Client/Assets/Scripts/XUtliPoolLib/XDirectory.cs | 83 + .../Assets/Scripts/XUtliPoolLib/XDirectory.cs.meta | 12 + .../Scripts/XUtliPoolLib/XDoubleNewException.cs | 16 + .../XUtliPoolLib/XDoubleNewException.cs.meta | 12 + Client/Assets/Scripts/XUtliPoolLib/XElapseTimer.cs | 59 + .../Scripts/XUtliPoolLib/XElapseTimer.cs.meta | 12 + .../Assets/Scripts/XUtliPoolLib/XEngineCommand.cs | 84 + .../Scripts/XUtliPoolLib/XEngineCommand.cs.meta | 12 + .../Scripts/XUtliPoolLib/XEngineCommandMgr.cs | 225 ++ .../Scripts/XUtliPoolLib/XEngineCommandMgr.cs.meta | 12 + .../Assets/Scripts/XUtliPoolLib/XEngineObject.cs | 14 + .../Scripts/XUtliPoolLib/XEngineObject.cs.meta | 12 + .../Scripts/XUtliPoolLib/XEntityPresentation.cs | 421 ++++ .../XUtliPoolLib/XEntityPresentation.cs.meta | 12 + .../Scripts/XUtliPoolLib/XEntityStatistics.cs | 337 +++ .../Scripts/XUtliPoolLib/XEntityStatistics.cs.meta | 12 + .../XUtliPoolLib/XErrorEventArgTypeException.cs | 16 + .../XErrorEventArgTypeException.cs.meta | 12 + .../XErrorUnregisteredComponentException.cs | 16 + .../XErrorUnregisteredComponentException.cs.meta | 12 + Client/Assets/Scripts/XUtliPoolLib/XException.cs | 20 + .../Assets/Scripts/XUtliPoolLib/XException.cs.meta | 12 + .../XUtliPoolLib/XFastEnumIntEqualityComparer.cs | 25 + .../XFastEnumIntEqualityComparer.cs.meta | 12 + .../Scripts/XUtliPoolLib/XFetchVersionNetwork.cs | 265 +++ .../XUtliPoolLib/XFetchVersionNetwork.cs.meta | 12 + Client/Assets/Scripts/XUtliPoolLib/XFile.cs | 179 ++ Client/Assets/Scripts/XUtliPoolLib/XFile.cs.meta | 12 + Client/Assets/Scripts/XUtliPoolLib/XFileLog.cs | 257 +++ .../Assets/Scripts/XUtliPoolLib/XFileLog.cs.meta | 12 + .../Assets/Scripts/XUtliPoolLib/XFileReadAsync.cs | 15 + .../Scripts/XUtliPoolLib/XFileReadAsync.cs.meta | 12 + Client/Assets/Scripts/XUtliPoolLib/XFx.cs | 1083 ++++++++++ Client/Assets/Scripts/XUtliPoolLib/XFx.cs.meta | 12 + Client/Assets/Scripts/XUtliPoolLib/XFxData.cs | 91 + Client/Assets/Scripts/XUtliPoolLib/XFxData.cs.meta | 12 + Client/Assets/Scripts/XUtliPoolLib/XFxDataClip.cs | 39 + .../Scripts/XUtliPoolLib/XFxDataClip.cs.meta | 12 + Client/Assets/Scripts/XUtliPoolLib/XFxMgr.cs | 143 ++ Client/Assets/Scripts/XUtliPoolLib/XFxMgr.cs.meta | 12 + Client/Assets/Scripts/XUtliPoolLib/XGameObject.cs | 1351 ++++++++++++ .../Scripts/XUtliPoolLib/XGameObject.cs.meta | 12 + .../Assets/Scripts/XUtliPoolLib/XGameSirKeyCode.cs | 115 ++ .../Scripts/XUtliPoolLib/XGameSirKeyCode.cs.meta | 12 + Client/Assets/Scripts/XUtliPoolLib/XGrid.cs | 167 ++ Client/Assets/Scripts/XUtliPoolLib/XGrid.cs.meta | 12 + Client/Assets/Scripts/XUtliPoolLib/XHeap.cs | 239 +++ Client/Assets/Scripts/XUtliPoolLib/XHeap.cs.meta | 12 + Client/Assets/Scripts/XUtliPoolLib/XHitData.cs | 85 + .../Assets/Scripts/XUtliPoolLib/XHitData.cs.meta | 12 + .../Assets/Scripts/XUtliPoolLib/XInterfaceMgr.cs | 54 + .../Scripts/XUtliPoolLib/XInterfaceMgr.cs.meta | 12 + Client/Assets/Scripts/XUtliPoolLib/XInterpolate.cs | 520 +++++ .../Scripts/XUtliPoolLib/XInterpolate.cs.meta | 12 + .../Scripts/XUtliPoolLib/XInvalidSkillException.cs | 16 + .../XUtliPoolLib/XInvalidSkillException.cs.meta | 12 + Client/Assets/Scripts/XUtliPoolLib/XJAData.cs | 28 + Client/Assets/Scripts/XUtliPoolLib/XJAData.cs.meta | 12 + .../Scripts/XUtliPoolLib/XLocalPRSAsyncData.cs | 25 + .../XUtliPoolLib/XLocalPRSAsyncData.cs.meta | 12 + Client/Assets/Scripts/XUtliPoolLib/XLogicalData.cs | 111 + .../Scripts/XUtliPoolLib/XLogicalData.cs.meta | 12 + .../Scripts/XUtliPoolLib/XLongAttackResultData.cs | 176 ++ .../XUtliPoolLib/XLongAttackResultData.cs.meta | 12 + Client/Assets/Scripts/XUtliPoolLib/XLuaLong.cs | 24 + .../Assets/Scripts/XUtliPoolLib/XLuaLong.cs.meta | 12 + .../Scripts/XUtliPoolLib/XManipulationData.cs | 47 + .../Scripts/XUtliPoolLib/XManipulationData.cs.meta | 12 + .../Assets/Scripts/XUtliPoolLib/XMeshPartList.cs | 229 +++ .../Scripts/XUtliPoolLib/XMeshPartList.cs.meta | 12 + .../Assets/Scripts/XUtliPoolLib/XMeshRenderInfo.cs | 10 + .../Scripts/XUtliPoolLib/XMeshRenderInfo.cs.meta | 12 + .../XUtliPoolLib/XMissAnimationException.cs | 16 + .../XUtliPoolLib/XMissAnimationException.cs.meta | 12 + .../XUtliPoolLib/XMissEventDescriptionException.cs | 16 + .../XMissEventDescriptionException.cs.meta | 12 + Client/Assets/Scripts/XUtliPoolLib/XMobUnitData.cs | 38 + .../Scripts/XUtliPoolLib/XMobUnitData.cs.meta | 12 + Client/Assets/Scripts/XUtliPoolLib/XNpcInfo.cs | 185 ++ .../Assets/Scripts/XUtliPoolLib/XNpcInfo.cs.meta | 12 + .../Assets/Scripts/XUtliPoolLib/XObjAsyncData.cs | 27 + .../Scripts/XUtliPoolLib/XObjAsyncData.cs.meta | 12 + .../Assets/Scripts/XUtliPoolLib/XOperationTable.cs | 137 ++ .../Scripts/XUtliPoolLib/XOperationTable.cs.meta | 12 + Client/Assets/Scripts/XUtliPoolLib/XOptions.cs | 137 ++ .../Assets/Scripts/XUtliPoolLib/XOptions.cs.meta | 12 + .../Assets/Scripts/XUtliPoolLib/XPlatformType.cs | 11 + .../Scripts/XUtliPoolLib/XPlatformType.cs.meta | 12 + .../Assets/Scripts/XUtliPoolLib/XPlayerDataClip.cs | 39 + .../Scripts/XUtliPoolLib/XPlayerDataClip.cs.meta | 12 + Client/Assets/Scripts/XUtliPoolLib/XQTEData.cs | 21 + .../Assets/Scripts/XUtliPoolLib/XQTEData.cs.meta | 12 + .../Assets/Scripts/XUtliPoolLib/XQTEStatusTable.cs | 63 + .../Scripts/XUtliPoolLib/XQTEStatusTable.cs.meta | 12 + .../Scripts/XUtliPoolLib/XRedpointDirtyMgr.cs | 25 + .../Scripts/XUtliPoolLib/XRedpointDirtyMgr.cs.meta | 12 + .../Assets/Scripts/XUtliPoolLib/XRedpointExMgr.cs | 100 + .../Scripts/XUtliPoolLib/XRedpointExMgr.cs.meta | 12 + .../Scripts/XUtliPoolLib/XRedpointForbidMgr.cs | 104 + .../XUtliPoolLib/XRedpointForbidMgr.cs.meta | 12 + Client/Assets/Scripts/XUtliPoolLib/XRedpointMgr.cs | 233 +++ .../Scripts/XUtliPoolLib/XRedpointMgr.cs.meta | 12 + .../Scripts/XUtliPoolLib/XRedpointRelationMgr.cs | 279 +++ .../XUtliPoolLib/XRedpointRelationMgr.cs.meta | 12 + .../Scripts/XUtliPoolLib/XResourceLoaderMgr.cs | 2151 +++++++++++++++++++ .../XUtliPoolLib/XResourceLoaderMgr.cs.meta | 12 + .../Scripts/XUtliPoolLib/XResultAffectDirection.cs | 10 + .../XUtliPoolLib/XResultAffectDirection.cs.meta | 12 + .../Scripts/XUtliPoolLib/XResultBulletType.cs | 12 + .../Scripts/XUtliPoolLib/XResultBulletType.cs.meta | 12 + Client/Assets/Scripts/XUtliPoolLib/XResultData.cs | 121 ++ .../Scripts/XUtliPoolLib/XResultData.cs.meta | 12 + Client/Assets/Scripts/XUtliPoolLib/XScriptData.cs | 21 + .../Scripts/XUtliPoolLib/XScriptData.cs.meta | 12 + .../Scripts/XUtliPoolLib/XSetParentCommand.cs | 54 + .../Scripts/XUtliPoolLib/XSetParentCommand.cs.meta | 12 + Client/Assets/Scripts/XUtliPoolLib/XSingleton.cs | 36 + .../Assets/Scripts/XUtliPoolLib/XSingleton.cs.meta | 12 + Client/Assets/Scripts/XUtliPoolLib/XSkillData.cs | 348 ++++ .../Assets/Scripts/XUtliPoolLib/XSkillData.cs.meta | 12 + .../Assets/Scripts/XUtliPoolLib/XSkillScriptGen.cs | 152 ++ .../Scripts/XUtliPoolLib/XSkillScriptGen.cs.meta | 12 + .../XUtliPoolLib/XSkillUnexpectedFireException.cs | 16 + .../XSkillUnexpectedFireException.cs.meta | 12 + .../Assets/Scripts/XUtliPoolLib/XSlashDataClip.cs | 24 + .../Scripts/XUtliPoolLib/XSlashDataClip.cs.meta | 12 + .../Scripts/XUtliPoolLib/XStrickenResponse.cs | 12 + .../Scripts/XUtliPoolLib/XStrickenResponse.cs.meta | 12 + .../Assets/Scripts/XUtliPoolLib/XStringDefine.cs | 60 + .../Scripts/XUtliPoolLib/XStringDefine.cs.meta | 12 + .../Scripts/XUtliPoolLib/XStringFormatHelper.cs | 154 ++ .../XUtliPoolLib/XStringFormatHelper.cs.meta | 12 + Client/Assets/Scripts/XUtliPoolLib/XStringTable.cs | 116 ++ .../Scripts/XUtliPoolLib/XStringTable.cs.meta | 12 + .../Scripts/XUtliPoolLib/XSubTitleDataClip.cs | 15 + .../Scripts/XUtliPoolLib/XSubTitleDataClip.cs.meta | 12 + .../Scripts/XUtliPoolLib/XTableAsyncLoader.cs | 171 ++ .../Scripts/XUtliPoolLib/XTableAsyncLoader.cs.meta | 12 + Client/Assets/Scripts/XUtliPoolLib/XTimerMgr.cs | 374 ++++ .../Assets/Scripts/XUtliPoolLib/XTimerMgr.cs.meta | 12 + Client/Assets/Scripts/XUtliPoolLib/XUIPool.cs | 376 ++++ Client/Assets/Scripts/XUtliPoolLib/XUIPool.cs.meta | 12 + Client/Assets/Scripts/XUtliPoolLib/XUpdater.meta | 9 + .../Scripts/XUtliPoolLib/XUpdater/AssetLevel.cs | 11 + .../XUtliPoolLib/XUpdater/AssetLevel.cs.meta | 12 + .../XUtliPoolLib/XUpdater/AsyncAssemblyRequest.cs | 12 + .../XUpdater/AsyncAssemblyRequest.cs.meta | 12 + .../XUtliPoolLib/XUpdater/AsyncCachedRequest.cs | 13 + .../XUpdater/AsyncCachedRequest.cs.meta | 12 + .../XUpdater/AsyncDecompressRequest.cs | 13 + .../XUpdater/AsyncDecompressRequest.cs.meta | 12 + .../XUtliPoolLib/XUpdater/AsyncExtractRequest.cs | 11 + .../XUpdater/AsyncExtractRequest.cs.meta | 12 + .../XUtliPoolLib/XUpdater/AsyncLogRequest.cs | 9 + .../XUtliPoolLib/XUpdater/AsyncLogRequest.cs.meta | 12 + .../XUtliPoolLib/XUpdater/AsyncReadRequest.cs | 11 + .../XUtliPoolLib/XUpdater/AsyncReadRequest.cs.meta | 12 + .../XUpdater/AsyncVersionProcessRequest.cs | 11 + .../XUpdater/AsyncVersionProcessRequest.cs.meta | 12 + .../XUtliPoolLib/XUpdater/AsyncWriteRequest.cs | 17 + .../XUpdater/AsyncWriteRequest.cs.meta | 12 + .../Scripts/XUtliPoolLib/XUpdater/BuildTarget.cs | 12 + .../XUtliPoolLib/XUpdater/BuildTarget.cs.meta | 12 + .../Scripts/XUtliPoolLib/XUpdater/BundleMetaRes.cs | 7 + .../XUtliPoolLib/XUpdater/BundleMetaRes.cs.meta | 12 + .../XUtliPoolLib/XUpdater/HandleBundleDownload.cs | 7 + .../XUpdater/HandleBundleDownload.cs.meta | 12 + .../XUtliPoolLib/XUpdater/HandleFetchBundle.cs | 7 + .../XUpdater/HandleFetchBundle.cs.meta | 12 + .../XUtliPoolLib/XUpdater/HandleLoadAsset.cs | 7 + .../XUtliPoolLib/XUpdater/HandleLoadAsset.cs.meta | 12 + .../XUtliPoolLib/XUpdater/HandleLoadBundle.cs | 7 + .../XUtliPoolLib/XUpdater/HandleLoadBundle.cs.meta | 12 + .../XUpdater/HandlePreDecompressing.cs | 6 + .../XUpdater/HandlePreDecompressing.cs.meta | 12 + .../XUtliPoolLib/XUpdater/HandleVersionDownload.cs | 7 + .../XUpdater/HandleVersionDownload.cs.meta | 12 + .../XUtliPoolLib/XUpdater/HandleVersionLoaded.cs | 6 + .../XUpdater/HandleVersionLoaded.cs.meta | 12 + .../Scripts/XUtliPoolLib/XUpdater/ResourceType.cs | 11 + .../XUtliPoolLib/XUpdater/ResourceType.cs.meta | 12 + .../Scripts/XUtliPoolLib/XUpdater/XBundle.cs | 64 + .../Scripts/XUtliPoolLib/XUpdater/XBundle.cs.meta | 12 + .../Scripts/XUtliPoolLib/XUpdater/XBundleData.cs | 16 + .../XUtliPoolLib/XUpdater/XBundleData.cs.meta | 12 + .../Scripts/XUtliPoolLib/XUpdater/XCaching.cs | 404 ++++ .../Scripts/XUtliPoolLib/XUpdater/XCaching.cs.meta | 12 + .../Scripts/XUtliPoolLib/XUpdater/XDownloader.cs | 149 ++ .../XUtliPoolLib/XUpdater/XDownloader.cs.meta | 12 + .../Scripts/XUtliPoolLib/XUpdater/XLaunchMode.cs | 11 + .../XUtliPoolLib/XUpdater/XLaunchMode.cs.meta | 12 + .../Scripts/XUtliPoolLib/XUpdater/XLoadingUI.cs | 238 +++ .../XUtliPoolLib/XUpdater/XLoadingUI.cs.meta | 12 + .../XUtliPoolLib/XUpdater/XMetaResPackage.cs | 16 + .../XUtliPoolLib/XUpdater/XMetaResPackage.cs.meta | 12 + .../Scripts/XUtliPoolLib/XUpdater/XResPackage.cs | 16 + .../XUtliPoolLib/XUpdater/XResPackage.cs.meta | 12 + .../Assets/Scripts/XUtliPoolLib/XUpdater/XShell.cs | 229 +++ .../Scripts/XUtliPoolLib/XUpdater/XShell.cs.meta | 12 + .../Scripts/XUtliPoolLib/XUpdater/XUpdater.cs | 1644 +++++++++++++++ .../Scripts/XUtliPoolLib/XUpdater/XUpdater.cs.meta | 12 + .../Scripts/XUtliPoolLib/XUpdater/XVersion.cs | 174 ++ .../Scripts/XUtliPoolLib/XUpdater/XVersion.cs.meta | 12 + .../Scripts/XUtliPoolLib/XUpdater/XVersionData.cs | 287 +++ .../XUtliPoolLib/XUpdater/XVersionData.cs.meta | 12 + .../Scripts/XUtliPoolLib/XUpdater/eUPdatePhase.cs | 20 + .../XUtliPoolLib/XUpdater/eUPdatePhase.cs.meta | 12 + .../Scripts/XUtliPoolLib/XUtliPoolLib.csproj | 685 +++++++ .../Scripts/XUtliPoolLib/XUtliPoolLib.csproj.meta | 8 + Client/Assets/Scripts/XUtliPoolLib/XWarningData.cs | 65 + .../Scripts/XUtliPoolLib/XWarningData.cs.meta | 12 + Client/Assets/Scripts/XUtliPoolLib/XWarningType.cs | 12 + .../Scripts/XUtliPoolLib/XWarningType.cs.meta | 12 + .../XUtliPoolLib/XZeroCoolDownTimeException.cs | 16 + .../XZeroCoolDownTimeException.cs.meta | 12 + .../Scripts/XUtliPoolLib/XZeroDelayException.cs | 16 + .../XUtliPoolLib/XZeroDelayException.cs.meta | 12 + .../Assets/Scripts/XUtliPoolLib/YorozuyaTable.cs | 75 + .../Scripts/XUtliPoolLib/YorozuyaTable.cs.meta | 12 + 1266 files changed, 71214 insertions(+) create mode 100644 Client/Assets/Scripts/XUtliPoolLib/AbyssPartyListTable.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/AbyssPartyListTable.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/AbyssPartyTypeTable.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/AbyssPartyTypeTable.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/AccessCallback.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/AccessCallback.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/AchievementPointRewardTable.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/AchievementPointRewardTable.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/AchievementV2Table.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/AchievementV2Table.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/AchivementTable.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/AchivementTable.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/ActionAudio.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/ActionAudio.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/ActivityChestTable.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/ActivityChestTable.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/ActivityListTable.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/ActivityListTable.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/ActivityPopInfo.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/ActivityPopInfo.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/ActivityTabInfo.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/ActivityTabInfo.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/ActivityTable.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/ActivityTable.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/AncientTask.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/AncientTask.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/AncientTimesTable.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/AncientTimesTable.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/AndroidAssetBundleLoader.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/AndroidAssetBundleLoader.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/AnimLoadCallback.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/AnimLoadCallback.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/ArgentaDaily.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/ArgentaDaily.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/ArgentaTask.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/ArgentaTask.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/ArtifactComposeTable.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/ArtifactComposeTable.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/ArtifactEffect.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/ArtifactEffect.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/ArtifactListTable.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/ArtifactListTable.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/ArtifactSuitTable.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/ArtifactSuitTable.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/AssetBundleData.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/AssetBundleData.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/AssetBundleDataBinaryReader.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/AssetBundleDataBinaryReader.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/AssetBundleDataReader.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/AssetBundleDataReader.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/AssetBundleExportType.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/AssetBundleExportType.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/AssetBundleInfo.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/AssetBundleInfo.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/AssetBundleLoadProgress.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/AssetBundleLoadProgress.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/AssetBundleLoader.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/AssetBundleLoader.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/AssetBundleManager.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/AssetBundleManager.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/AssetBundlePathResolver.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/AssetBundlePathResolver.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/AsyncXNGUILoad.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/AsyncXNGUILoad.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/AttributeEmblem.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/AttributeEmblem.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/AuctionDiscountTable.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/AuctionDiscountTable.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/AuctionTypeList.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/AuctionTypeList.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/AudioChannel.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/AudioChannel.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/BackflowActivity.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/BackflowActivity.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/BackflowShop.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/BackflowShop.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/BagExpandItemListTable.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/BagExpandItemListTable.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/BattleFieldPointReward.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/BattleFieldPointReward.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/BeforeUnityUnLoadResource.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/BeforeUnityUnLoadResource.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/BigMeleePointReward.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/BigMeleePointReward.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/BigMeleeRankReward.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/BigMeleeRankReward.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/BlockInfo.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/BlockInfo.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/BossRushBuffTable.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/BossRushBuffTable.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/BossRushTable.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/BossRushTable.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/BuffTable.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/BuffTable.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/BufferBlock.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/BufferBlock.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/BufferPoolMgr.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/BufferPoolMgr.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/BuyDragonCoin.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/BuyDragonCoin.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/BuyFatigueTable.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/BuyFatigueTable.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/BuyGoldTable.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/BuyGoldTable.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/CVSReader.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/CVSReader.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/CallMonsterData.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/CallMonsterData.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/CameraMotionSpace.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/CameraMotionSpace.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/CameraMotionType.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/CameraMotionType.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/CampDuelPointReward.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/CampDuelPointReward.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/CampDuelRankReward.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/CampDuelRankReward.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/CanExecuteHandler.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/CanExecuteHandler.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/CardRewardTable.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/CardRewardTable.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/CardStoreTable.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/CardStoreTable.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/CardsFireProperty.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/CardsFireProperty.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/CardsGroup.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/CardsGroup.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/CardsGroupList.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/CardsGroupList.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/CardsList.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/CardsList.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/Career.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/Career.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/CharacterAttributesList.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/CharacterAttributesList.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/CharacterCommonInfo.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/CharacterCommonInfo.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/ChatApollo.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/ChatApollo.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/ChatOpen.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/ChatOpen.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/ChatTable.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/ChatTable.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/ChestList.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/ChestList.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/ChickenDinnerRankReward.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/ChickenDinnerRankReward.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/CombatParamTable.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/CombatParamTable.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/CommandCallback.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/CommandCallback.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/CommonObjectPool.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/CommonObjectPool.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/CompeteDragonRankRewardTable.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/CompeteDragonRankRewardTable.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/CookingFoodInfo.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/CookingFoodInfo.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/CookingLevel.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/CookingLevel.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/CrossGvgReward.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/CrossGvgReward.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/CustomBattleSystemTable.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/CustomBattleSystemTable.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/CustomBattleTable.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/CustomBattleTable.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/CustomBattleTypeTable.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/CustomBattleTypeTable.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/CustomRewardTable.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/CustomRewardTable.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/CustomSystemRewardTable.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/CustomSystemRewardTable.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/DailyTask.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/DailyTask.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/DailyTaskLuck.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/DailyTaskLuck.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/DailyTaskReward.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/DailyTaskReward.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/DanceConfig.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/DanceConfig.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/DargonReward.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/DargonReward.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/DataHandler.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/DataHandler.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/DeJson.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/DeJson/Deserializer.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/DeJson/Deserializer.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/DeJson/Serializer.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/DeJson/Serializer.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/DebugHandler.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/DebugHandler.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/DefaultEquip.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/DefaultEquip.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/DelLuaError.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/DelLuaError.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/DelLuaRespond.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/DelLuaRespond.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/DelegateHandler.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/DelegateHandler.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/DesignationTable.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/DesignationTable.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/DetectEnemyInRangeArg.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/DetectEnemyInRangeArg.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/DictionaryPool.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/DictionaryPool.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/DoubleActivity.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/DoubleActivity.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/DragonExpList.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/DragonExpList.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/DragonGuildAchieveTable.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/DragonGuildAchieveTable.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/DragonGuildConfigTable.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/DragonGuildConfigTable.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/DragonGuildIntroduce.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/DragonGuildIntroduce.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/DragonGuildLivenessTable.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/DragonGuildLivenessTable.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/DragonGuildPermissionTable.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/DragonGuildPermissionTable.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/DragonGuildTable.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/DragonGuildTable.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/DragonGuildTaskTable.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/DragonGuildTaskTable.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/DragonNestTable.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/DragonNestTable.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/DragonNestType.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/DragonNestType.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/DropList.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/DropList.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/EAsyncLoadState.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/EAsyncLoadState.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/EClassType.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/EClassType.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/EComponentType.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/EComponentType.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/ECreateHideType.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/ECreateHideType.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/EDelayProcessType.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/EDelayProcessType.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/EPartType.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/EPartType.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/EffectDesTable.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/EffectDesTable.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/EffectTable.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/EffectTable.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/EmblemBasic.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/EmblemBasic.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/EnchantEquip.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/EnchantEquip.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/EnhanceFxTable.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/EnhanceFxTable.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/EnhanceMaster.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/EnhanceMaster.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/EnhanceTable.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/EnhanceTable.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/EquipFusionExpTable.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/EquipFusionExpTable.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/EquipFusionTable.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/EquipFusionTable.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/EquipList.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/EquipList.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/EquipSuitTable.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/EquipSuitTable.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/ExecuteCommandHandler.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/ExecuteCommandHandler.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/ExpBackTable.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/ExpBackTable.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/ExpeditionTable.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/ExpeditionTable.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/FashionCharm.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/FashionCharm.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/FashionComposeSet.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/FashionComposeSet.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/FashionComposeTable.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/FashionComposeTable.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/FashionEffectTable.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/FashionEffectTable.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/FashionEnhanceFx.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/FashionEnhanceFx.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/FashionHair.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/FashionHair.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/FashionList.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/FashionList.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/FashionSuitSpecialEffects.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/FashionSuitSpecialEffects.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/FashionSuitTable.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/FashionSuitTable.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/FashionSynthesis.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/FashionSynthesis.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/FestScene.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/FestScene.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/FestivityLovePersonReward.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/FestivityLovePersonReward.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/FestivityLoveRankReward.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/FestivityLoveRankReward.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/FestivityLoveTable.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/FestivityLoveTable.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/FightDesignation.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/FightDesignation.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/FightGroupTable.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/FightGroupTable.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/FilterSkillArg.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/FilterSkillArg.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/FirstPassReward.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/FirstPassReward.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/FirstPassTable.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/FirstPassTable.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/FishInfo.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/FishInfo.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/FloatCurve.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/FloatCurve.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/FlowerRain.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/FlowerRain.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/FlowerRankRewardTable.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/FlowerRankRewardTable.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/FlowerSendNoticeTable.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/FlowerSendNoticeTable.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/FlowerWeekRankReward.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/FlowerWeekRankReward.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/ForbidWord.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/ForbidWord.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/ForgeAttributes.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/ForgeAttributes.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/FpGoToLevelUp.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/FpGoToLevelUp.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/FpStrengthNew.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/FpStrengthNew.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/FpStrengthenTable.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/FpStrengthenTable.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/FriendInfo.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/FriendInfo.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/FriendSysConfigTable.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/FriendSysConfigTable.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/FriendTable.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/FriendTable.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/FxLoadCallback.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/FxLoadCallback.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/GameCommunityTable.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/GameCommunityTable.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/GardenBanquetCfg.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/GardenBanquetCfg.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/GardenFishConfig.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/GardenFishConfig.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/GlobalTable.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/GlobalTable.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/GoalAwards.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/GoalAwards.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/GroupStageType.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/GroupStageType.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/GuildAuctReward.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/GuildAuctReward.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/GuildBonusTable.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/GuildBonusTable.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/GuildBossConfigTable.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/GuildBossConfigTable.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/GuildBossRewardTable.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/GuildBossRewardTable.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/GuildBossRoleRewardTable.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/GuildBossRoleRewardTable.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/GuildBuffTable.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/GuildBuffTable.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/GuildCamp.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/GuildCamp.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/GuildCampPartyReward.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/GuildCampPartyReward.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/GuildCampRank.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/GuildCampRank.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/GuildCheckinBoxTable.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/GuildCheckinBoxTable.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/GuildCheckinTable.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/GuildCheckinTable.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/GuildConfigTable.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/GuildConfigTable.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/GuildHall.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/GuildHall.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/GuildMineralBattle.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/GuildMineralBattle.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/GuildMineralBattleReward.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/GuildMineralBattleReward.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/GuildMineralBufflist.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/GuildMineralBufflist.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/GuildMineralStorage.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/GuildMineralStorage.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/GuildPermissionTable.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/GuildPermissionTable.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/GuildPkRankReward.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/GuildPkRankReward.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/GuildRankRewardTable.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/GuildRankRewardTable.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/GuildRelaxGameList.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/GuildRelaxGameList.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/GuildSalaryDesc.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/GuildSalaryDesc.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/GuildSalaryTable.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/GuildSalaryTable.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/GuildSkillTable.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/GuildSkillTable.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/GuildTransfer.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/GuildTransfer.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/GuildZiCai.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/GuildZiCai.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/Guildintroduce.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/Guildintroduce.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/HairColorTable.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/HairColorTable.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/HashPool.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/HashPool.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/HeroBattleExperienceHero.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/HeroBattleExperienceHero.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/HeroBattleMapCenter.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/HeroBattleMapCenter.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/HeroBattleTips.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/HeroBattleTips.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/HeroBattleWeekReward.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/HeroBattleWeekReward.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/Horse.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/Horse.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/HotfixAttribute.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/HotfixAttribute.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/HotfixIgnoreAttribute.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/HotfixIgnoreAttribute.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/HotfixMode.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/HotfixMode.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/IAnimStateMachine.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/IAnimStateMachine.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/IApolloManager.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/IApolloManager.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/IAssociatedCamera.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/IAssociatedCamera.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/IBShop.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/IBShop.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/IBroardcast.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/IBroardcast.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/IColliderRenderLinker.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/IColliderRenderLinker.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/IControlParticle.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/IControlParticle.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/IDelayLoad.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/IDelayLoad.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/IEntrance.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/IEntrance.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/IEnvSetting.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/IEnvSetting.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/IFMOD_Listener.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/IFMOD_Listener.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/IFxPro.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/IFxPro.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/IGameSysMgr.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/IGameSysMgr.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/IHere.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/IHere.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/IHotfixManager.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/IHotfixManager.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/ILoopItemObject.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/ILoopItemObject.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/ILoopScrollView.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/ILoopScrollView.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/ILuaEngine.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/ILuaEngine.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/ILuaExtion.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/ILuaExtion.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/ILuaFunction.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/ILuaFunction.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/ILuaGameInfo.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/ILuaGameInfo.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/ILuaNetSender.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/ILuaNetSender.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/ILuaNetwork.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/ILuaNetwork.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/ILuaUIManager.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/ILuaUIManager.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/IModalDlg.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/IModalDlg.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/INativePlugin.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/INativePlugin.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/IOSAssetBundleLoader.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/IOSAssetBundleLoader.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/IObjectPool.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/IObjectPool.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/IPlatform.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/IPlatform.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/IQueueObject.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/IQueueObject.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/IRenderObject.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/IRenderObject.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/IResourceHelp.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/IResourceHelp.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/ISeqListRef.2.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/ISeqListRef.2.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/ISeqListRef.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/ISeqListRef.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/ISeqRef.2.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/ISeqRef.2.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/ISeqRef.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/ISeqRef.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/ITssSdk.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/ITssSdk.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/ITssSdkSend.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/ITssSdkSend.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/IUiUtility.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/IUiUtility.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/IWeaponTail.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/IWeaponTail.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/IX3DAvatarMgr.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/IX3DAvatarMgr.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/IXAIGeneralMgr.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/IXAIGeneralMgr.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/IXBehaviorTree.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/IXBehaviorTree.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/IXBuglyMgr.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/IXBuglyMgr.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/IXCamera.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/IXCamera.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/IXCurve.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/IXCurve.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/IXDragonExpedition.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/IXDragonExpedition.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/IXDummy.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/IXDummy.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/IXFmod.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/IXFmod.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/IXFmodBus.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/IXFmodBus.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/IXGameSirControl.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/IXGameSirControl.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/IXGameUI.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/IXGameUI.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/IXHUDDescription.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/IXHUDDescription.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/IXIFlyMgr.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/IXIFlyMgr.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/IXInterface.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/IXInterface.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/IXNGUI.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/IXNGUI.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/IXNGUICallback.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/IXNGUICallback.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/IXNGUIClickEventHandler.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/IXNGUIClickEventHandler.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/IXNormalItemDrawer.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/IXNormalItemDrawer.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/IXOperationRecord.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/IXOperationRecord.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/IXPandoraMgr.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/IXPandoraMgr.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/IXPlayerAction.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/IXPlayerAction.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/IXPositionGroup.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/IXPositionGroup.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/IXRedpointDirtyMgr.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/IXRedpointDirtyMgr.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/IXRedpointExMgr.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/IXRedpointExMgr.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/IXRedpointForbidMgr.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/IXRedpointForbidMgr.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/IXRedpointMgr.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/IXRedpointMgr.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/IXRedpointRelationMgr.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/IXRedpointRelationMgr.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/IXScene.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/IXScene.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/IXSceneOperation.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/IXSceneOperation.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/IXTutorial.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/IXTutorial.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/IXTweenFadeIn.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/IXTweenFadeIn.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/IXVideo.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/IXVideo.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/Ionic.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/Ionic/Crc.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/Ionic/Crc/CRC32.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/Ionic/Crc/CRC32.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/Ionic/Crc/CrcCalculatorStream.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/Ionic/Crc/CrcCalculatorStream.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib/Adler.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib/Adler.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib/BlockState.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib/BlockState.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib/CompressionLevel.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib/CompressionLevel.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib/CompressionMode.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib/CompressionMode.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib/CompressionStrategy.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib/CompressionStrategy.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib/DeflateFlavor.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib/DeflateFlavor.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib/DeflateManager.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib/DeflateManager.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib/DeflateStream.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib/DeflateStream.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib/FlushType.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib/FlushType.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib/GZipStream.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib/GZipStream.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib/InfTree.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib/InfTree.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib/InflateBlocks.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib/InflateBlocks.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib/InflateCodes.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib/InflateCodes.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib/InflateManager.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib/InflateManager.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib/InternalConstants.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib/InternalConstants.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib/InternalInflateConstants.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib/InternalInflateConstants.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib/ParallelDeflateOutputStream.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib/ParallelDeflateOutputStream.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib/SharedUtils.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib/SharedUtils.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib/StaticTree.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib/StaticTree.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib/Tree.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib/Tree.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib/WorkItem.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib/WorkItem.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib/ZlibBaseStream.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib/ZlibBaseStream.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib/ZlibCodec.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib/ZlibCodec.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib/ZlibConstants.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib/ZlibConstants.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib/ZlibException.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib/ZlibException.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib/ZlibStream.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib/ZlibStream.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib/ZlibStreamFlavor.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib/ZlibStreamFlavor.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/ItemBackTable.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/ItemBackTable.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/ItemBuffTable.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/ItemBuffTable.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/ItemComposeTable.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/ItemComposeTable.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/ItemList.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/ItemList.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/ItemTransform.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/ItemTransform.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/ItemUseButtonList.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/ItemUseButtonList.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/JadeGroupTable.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/JadeGroupTable.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/JadeSealTable.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/JadeSealTable.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/JadeSlotTable.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/JadeSlotTable.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/JadeTable.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/JadeTable.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/JsonUtil.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/JsonUtil.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/LeagueRankReward.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/LeagueRankReward.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/LevelSealNewFunctionTable.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/LevelSealNewFunctionTable.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/LevelSealTypeTable.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/LevelSealTypeTable.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/ListPool.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/ListPool.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/LiveTable.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/LiveTable.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/LoadAsyncTask.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/LoadAsyncTask.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/LoadCallBack.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/LoadCallBack.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/LoadCallback.2.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/LoadCallback.2.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/LoadFrom.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/LoadFrom.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/LoadInfo.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/LoadInfo.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/LoadState.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/LoadState.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/LoopItemData.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/LoopItemData.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/MarriageLevel.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/MarriageLevel.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/MemoryPool.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/MemoryPool.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/MentorCompleteRewardTable.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/MentorCompleteRewardTable.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/MentorTaskTable.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/MentorTaskTable.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/MilitaryRankByExploit.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/MilitaryRankByExploit.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/MilitaryRankReward.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/MilitaryRankReward.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/MiniJSON.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/MiniJSON/Json.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/MiniJSON/Json.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/MobaLevel.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/MobaLevel.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/MobaMiniMap.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/MobaMiniMap.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/MobaSignalTable.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/MobaSignalTable.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/MobaWeekReward.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/MobaWeekReward.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/MobileAssetBundleLoader.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/MobileAssetBundleLoader.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/MultiActivityList.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/MultiActivityList.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/NestListTable.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/NestListTable.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/NestStarReward.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/NestStarReward.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/NestTypeTable.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/NestTypeTable.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/NoticeTable.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/NoticeTable.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/NpcFeeling.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/NpcFeeling.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/NpcFeelingAttr.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/NpcFeelingAttr.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/NpcFeelingSpecial.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/NpcFeelingSpecial.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/NpcUniteAttr.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/NpcUniteAttr.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/ObjectPool.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/ObjectPool.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/ObjectPoolCache.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/ObjectPoolCache.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/OnFxDestroyed.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/OnFxDestroyed.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/OnLoadedCallback.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/OnLoadedCallback.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/OnlineRewardTable.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/OnlineRewardTable.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/OpenServerActivity.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/OpenServerActivity.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/OpenSystemTable.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/OpenSystemTable.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/OperatingActivity.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/OperatingActivity.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/OperationRecord.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/OperationRecord.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/OverWatchTable.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/OverWatchTable.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/OverrideAnimCallback.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/OverrideAnimCallback.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/PDatabase.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/PDatabase.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/PInfo.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/PInfo.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/PUtil.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/PUtil.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/PVEAttrModify.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/PVEAttrModify.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/PVPActivityList.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/PVPActivityList.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/PandoraHeart.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/PandoraHeart.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/PandoraHeartReward.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/PandoraHeartReward.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/PartnerLivenessTable.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/PartnerLivenessTable.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/PartnerTable.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/PartnerTable.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/PartnerWelfare.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/PartnerWelfare.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/PayAileenTable.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/PayAileenTable.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/PayCardTable.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/PayCardTable.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/PayFirst.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/PayFirst.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/PayGiftTable.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/PayGiftTable.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/PayListTable.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/PayListTable.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/PayMarketingInfo.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/PayMarketingInfo.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/PayMemberTable.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/PayMemberTable.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/PayWelfareTable.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/PayWelfareTable.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/PetBubble.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/PetBubble.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/PetFoodTable.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/PetFoodTable.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/PetInfoTable.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/PetInfoTable.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/PetItemTable.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/PetItemTable.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/PetLevelTable.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/PetLevelTable.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/PetMoodTipsTable.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/PetMoodTipsTable.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/PetPassiveSkillTable.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/PetPassiveSkillTable.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/PetSkillBook.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/PetSkillBook.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/PhotographEffectCfg.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/PhotographEffectCfg.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/PkPointTable.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/PkPointTable.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/PkProfessionTable.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/PkProfessionTable.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/PkRankTable.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/PkRankTable.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/PlantSeed.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/PlantSeed.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/PlantSprite.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/PlantSprite.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/PlayerInfo.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/PlayerInfo.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/PlayerLevelTable.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/PlayerLevelTable.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/PokerTournamentReward.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/PokerTournamentReward.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/PowerPointCoeffTable.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/PowerPointCoeffTable.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/PreloadAnimationList.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/PreloadAnimationList.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/Prerogative.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/Prerogative.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/PrerogativeContent.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/PrerogativeContent.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/ProfSkillTable.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/ProfSkillTable.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/ProfessionConvertTable.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/ProfessionConvertTable.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/ProfessionTable.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/ProfessionTable.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/PushMessageTable.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/PushMessageTable.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/PushSetting.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/PushSetting.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/PushSubscribeTable.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/PushSubscribeTable.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/PveProfessionTable.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/PveProfessionTable.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/QAConditionTable.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/QAConditionTable.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/QALevelRewardTable.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/QALevelRewardTable.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/QuestionLibraryTable.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/QuestionLibraryTable.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/QueuePool.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/QueuePool.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/QuickReplyTable.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/QuickReplyTable.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/RandomAttributes.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/RandomAttributes.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/RandomBossTable.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/RandomBossTable.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/RandomName.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/RandomName.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/RandomSceneTable.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/RandomSceneTable.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/RandomTaskTable.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/RandomTaskTable.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/RechargeTable.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/RechargeTable.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/RecommendFightNum.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/RecommendFightNum.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/RenameList.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/RenameList.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/ResetCallback.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/ResetCallback.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/Rift.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/Rift.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/RiftBuffSuitMonsterType.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/RiftBuffSuitMonsterType.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/RiftRankReward.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/RiftRankReward.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/RiftType.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/RiftType.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/RiftWelfareReward.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/RiftWelfareReward.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/RiskMapFile.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/RiskMapFile.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/SceneTable.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/SceneTable.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/Seq2.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/Seq2.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/SeqList.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/SeqList.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/SeqListRef.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/SeqListRef.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/SeqRef.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/SeqRef.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/SetRedpointUIHandler.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/SetRedpointUIHandler.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/SevenImportTable.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/SevenImportTable.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/ShaderManager.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/ShaderManager.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/ShadowCatReward.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/ShadowCatReward.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/ShareBgTexture.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/ShareBgTexture.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/ShareCallBackType.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/ShareCallBackType.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/ShareTable.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/ShareTable.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/ShopTable.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/ShopTable.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/ShopTypeTable.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/ShopTypeTable.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/SimpleQueue.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/SimpleQueue.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/SkillCombo.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/SkillCombo.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/SkillEmblem.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/SkillEmblem.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/SkillFxType.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/SkillFxType.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/SkillList.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/SkillList.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/SkillTreeConfigTable.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/SkillTreeConfigTable.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/SkyArenaReward.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/SkyArenaReward.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/SmallBuffer.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/SmallBuffer.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/SmallBufferPool.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/SmallBufferPool.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/SpectateLevelRewardConfig.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/SpectateLevelRewardConfig.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/SpriteEvolution.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/SpriteEvolution.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/SpriteLevel.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/SpriteLevel.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/SpritePreviewTable.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/SpritePreviewTable.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/SpriteSkill.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/SpriteSkill.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/SpriteTable.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/SpriteTable.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/StageRankTable.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/StageRankTable.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/StringTable.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/StringTable.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/SuperActivity.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/SuperActivity.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/SuperActivityTask.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/SuperActivityTask.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/SuperActivityTime.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/SuperActivityTime.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/SuperArmorRecoveryCoffTable.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/SuperArmorRecoveryCoffTable.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/SystemAnnounce.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/SystemAnnounce.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/SystemHelpTable.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/SystemHelpTable.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/SystemRewardTable.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/SystemRewardTable.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/TaJieHelpTab.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/TaJieHelpTab.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/TaJieHelpUrl.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/TaJieHelpUrl.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/TaskTableNew.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/TaskTableNew.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/TeamTowerRewardTable.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/TeamTowerRewardTable.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/TerritoryBattle.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/TerritoryBattle.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/TerritoryRewd.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/TerritoryRewd.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/ThemeActivity.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/ThemeActivity.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/TitleTable.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/TitleTable.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/TrophyInfo.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/TrophyInfo.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/TrophyReward.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/TrophyReward.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/UniqueString.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/UniqueString.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/VIPTable.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/VIPTable.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/WXGroupCallBackType.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/WXGroupCallBackType.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/WXGroupInfo.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/WXGroupInfo.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/WXGroupResult.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/WXGroupResult.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/WeddingLoverLiveness.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/WeddingLoverLiveness.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/WeekEnd4v4List.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/WeekEnd4v4List.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/WeekEndNestActivity.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/WeekEndNestActivity.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/WorldBossRewardTable.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/WorldBossRewardTable.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/WorldLevelExpBuff.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/WorldLevelExpBuff.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XActorDataClip.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XActorDataClip.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XAnimationClip.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XAnimationClip.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XAnimationPool.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XAnimationPool.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XAnimator.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XAnimator.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XAudioData.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XAudioData.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XAudioDataClip.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XAudioDataClip.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XBaseData.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XBaseData.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XBaseSingleton.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XBaseSingleton.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XBeHitPhase.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XBeHitPhase.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XBeHitState.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XBeHitState.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XBeHitState_Animation.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XBeHitState_Animation.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XBinaryReader.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XBinaryReader.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XCallCommand.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XCallCommand.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XCameraEffectData.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XCameraEffectData.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XCameraMotionData.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XCameraMotionData.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XCameraPostEffectData.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XCameraPostEffectData.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XCastChain.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XCastChain.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XChapter.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XChapter.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XChargeData.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XChargeData.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XClipType.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XClipType.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XCombinedData.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XCombinedData.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XCommon.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XCommon.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XCurrentGrid.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XCurrentGrid.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XCutSceneClip.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XCutSceneClip.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XCutSceneData.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XCutSceneData.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XDataFileLoadException.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XDataFileLoadException.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XDataWrapper.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XDataWrapper.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XDebug.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XDebug.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XDebugChannel.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XDebugChannel.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XDebugColor.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XDebugColor.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XDirectory.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XDirectory.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XDoubleNewException.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XDoubleNewException.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XElapseTimer.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XElapseTimer.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XEngineCommand.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XEngineCommand.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XEngineCommandMgr.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XEngineCommandMgr.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XEngineObject.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XEngineObject.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XEntityPresentation.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XEntityPresentation.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XEntityStatistics.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XEntityStatistics.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XErrorEventArgTypeException.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XErrorEventArgTypeException.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XErrorUnregisteredComponentException.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XErrorUnregisteredComponentException.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XException.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XException.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XFastEnumIntEqualityComparer.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XFastEnumIntEqualityComparer.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XFetchVersionNetwork.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XFetchVersionNetwork.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XFile.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XFile.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XFileLog.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XFileLog.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XFileReadAsync.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XFileReadAsync.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XFx.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XFx.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XFxData.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XFxData.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XFxDataClip.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XFxDataClip.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XFxMgr.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XFxMgr.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XGameObject.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XGameObject.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XGameSirKeyCode.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XGameSirKeyCode.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XGrid.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XGrid.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XHeap.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XHeap.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XHitData.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XHitData.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XInterfaceMgr.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XInterfaceMgr.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XInterpolate.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XInterpolate.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XInvalidSkillException.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XInvalidSkillException.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XJAData.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XJAData.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XLocalPRSAsyncData.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XLocalPRSAsyncData.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XLogicalData.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XLogicalData.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XLongAttackResultData.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XLongAttackResultData.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XLuaLong.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XLuaLong.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XManipulationData.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XManipulationData.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XMeshPartList.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XMeshPartList.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XMeshRenderInfo.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XMeshRenderInfo.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XMissAnimationException.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XMissAnimationException.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XMissEventDescriptionException.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XMissEventDescriptionException.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XMobUnitData.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XMobUnitData.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XNpcInfo.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XNpcInfo.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XObjAsyncData.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XObjAsyncData.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XOperationTable.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XOperationTable.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XOptions.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XOptions.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XPlatformType.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XPlatformType.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XPlayerDataClip.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XPlayerDataClip.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XQTEData.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XQTEData.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XQTEStatusTable.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XQTEStatusTable.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XRedpointDirtyMgr.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XRedpointDirtyMgr.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XRedpointExMgr.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XRedpointExMgr.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XRedpointForbidMgr.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XRedpointForbidMgr.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XRedpointMgr.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XRedpointMgr.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XRedpointRelationMgr.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XRedpointRelationMgr.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XResourceLoaderMgr.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XResourceLoaderMgr.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XResultAffectDirection.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XResultAffectDirection.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XResultBulletType.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XResultBulletType.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XResultData.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XResultData.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XScriptData.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XScriptData.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XSetParentCommand.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XSetParentCommand.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XSingleton.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XSingleton.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XSkillData.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XSkillData.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XSkillScriptGen.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XSkillScriptGen.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XSkillUnexpectedFireException.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XSkillUnexpectedFireException.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XSlashDataClip.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XSlashDataClip.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XStrickenResponse.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XStrickenResponse.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XStringDefine.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XStringDefine.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XStringFormatHelper.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XStringFormatHelper.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XStringTable.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XStringTable.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XSubTitleDataClip.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XSubTitleDataClip.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XTableAsyncLoader.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XTableAsyncLoader.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XTimerMgr.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XTimerMgr.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XUIPool.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XUIPool.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XUpdater.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XUpdater/AssetLevel.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XUpdater/AssetLevel.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XUpdater/AsyncAssemblyRequest.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XUpdater/AsyncAssemblyRequest.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XUpdater/AsyncCachedRequest.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XUpdater/AsyncCachedRequest.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XUpdater/AsyncDecompressRequest.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XUpdater/AsyncDecompressRequest.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XUpdater/AsyncExtractRequest.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XUpdater/AsyncExtractRequest.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XUpdater/AsyncLogRequest.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XUpdater/AsyncLogRequest.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XUpdater/AsyncReadRequest.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XUpdater/AsyncReadRequest.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XUpdater/AsyncVersionProcessRequest.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XUpdater/AsyncVersionProcessRequest.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XUpdater/AsyncWriteRequest.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XUpdater/AsyncWriteRequest.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XUpdater/BuildTarget.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XUpdater/BuildTarget.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XUpdater/BundleMetaRes.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XUpdater/BundleMetaRes.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XUpdater/HandleBundleDownload.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XUpdater/HandleBundleDownload.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XUpdater/HandleFetchBundle.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XUpdater/HandleFetchBundle.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XUpdater/HandleLoadAsset.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XUpdater/HandleLoadAsset.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XUpdater/HandleLoadBundle.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XUpdater/HandleLoadBundle.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XUpdater/HandlePreDecompressing.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XUpdater/HandlePreDecompressing.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XUpdater/HandleVersionDownload.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XUpdater/HandleVersionDownload.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XUpdater/HandleVersionLoaded.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XUpdater/HandleVersionLoaded.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XUpdater/ResourceType.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XUpdater/ResourceType.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XUpdater/XBundle.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XUpdater/XBundle.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XUpdater/XBundleData.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XUpdater/XBundleData.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XUpdater/XCaching.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XUpdater/XCaching.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XUpdater/XDownloader.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XUpdater/XDownloader.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XUpdater/XLaunchMode.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XUpdater/XLaunchMode.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XUpdater/XLoadingUI.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XUpdater/XLoadingUI.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XUpdater/XMetaResPackage.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XUpdater/XMetaResPackage.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XUpdater/XResPackage.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XUpdater/XResPackage.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XUpdater/XShell.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XUpdater/XShell.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XUpdater/XUpdater.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XUpdater/XUpdater.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XUpdater/XVersion.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XUpdater/XVersion.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XUpdater/XVersionData.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XUpdater/XVersionData.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XUpdater/eUPdatePhase.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XUpdater/eUPdatePhase.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XUtliPoolLib.csproj create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XUtliPoolLib.csproj.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XWarningData.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XWarningData.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XWarningType.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XWarningType.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XZeroCoolDownTimeException.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XZeroCoolDownTimeException.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XZeroDelayException.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/XZeroDelayException.cs.meta create mode 100644 Client/Assets/Scripts/XUtliPoolLib/YorozuyaTable.cs create mode 100644 Client/Assets/Scripts/XUtliPoolLib/YorozuyaTable.cs.meta (limited to 'Client/Assets/Scripts/XUtliPoolLib') diff --git a/Client/Assets/Scripts/XUtliPoolLib/AbyssPartyListTable.cs b/Client/Assets/Scripts/XUtliPoolLib/AbyssPartyListTable.cs new file mode 100644 index 00000000..ceae4f8b --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/AbyssPartyListTable.cs @@ -0,0 +1,83 @@ +using System; + +namespace XUtliPoolLib +{ + public class AbyssPartyListTable : CVSReader + { + public AbyssPartyListTable.RowData[] Table = null; + + public class RowData + { + public int AbyssPartyId; + + public int Index; + + public string Name; + + public string Icon; + + public SeqRef Cost; + + public uint SugPPT; + + public int ID; + } + + public AbyssPartyListTable.RowData GetByID(int key) + { + bool flag = this.Table == null || this.Table.Length == 0; + AbyssPartyListTable.RowData result; + if (flag) + { + result = null; + } + else + { + for (int i = 0; i < this.Table.Length; i++) + { + bool flag2 = this.Table[i].ID == key; + if (flag2) + { + return this.Table[i]; + } + } + result = null; + } + return result; + } + + protected override void ReadLine(XBinaryReader reader) + { + AbyssPartyListTable.RowData rowData = new AbyssPartyListTable.RowData(); + base.Read(reader, ref rowData.AbyssPartyId, CVSReader.intParse); + this.columnno = 0; + base.Read(reader, ref rowData.Index, CVSReader.intParse); + this.columnno = 1; + base.Read(reader, ref rowData.Name, CVSReader.stringParse); + this.columnno = 2; + base.Read(reader, ref rowData.Icon, CVSReader.stringParse); + this.columnno = 3; + rowData.Cost.Read(reader, this.m_DataHandler); + this.columnno = 4; + base.Read(reader, ref rowData.SugPPT, CVSReader.uintParse); + this.columnno = 5; + base.Read(reader, ref rowData.ID, CVSReader.intParse); + this.columnno = 7; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new AbyssPartyListTable.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/AbyssPartyListTable.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/AbyssPartyListTable.cs.meta new file mode 100644 index 00000000..9933f0c4 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/AbyssPartyListTable.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: be0174499ba972b488a8b975140450a4 +timeCreated: 1611465751 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/AbyssPartyTypeTable.cs b/Client/Assets/Scripts/XUtliPoolLib/AbyssPartyTypeTable.cs new file mode 100644 index 00000000..bc951eee --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/AbyssPartyTypeTable.cs @@ -0,0 +1,83 @@ +using System; + +namespace XUtliPoolLib +{ + public class AbyssPartyTypeTable : CVSReader + { + public AbyssPartyTypeTable.RowData[] Table = null; + + public class RowData + { + public int AbyssPartyId; + + public string Name; + + public string Icon; + + public int OpenLevel; + + public string SugLevel; + + public int PandoraID; + + public int[] TitanItemID; + } + + public AbyssPartyTypeTable.RowData GetByAbyssPartyId(int key) + { + bool flag = this.Table == null || this.Table.Length == 0; + AbyssPartyTypeTable.RowData result; + if (flag) + { + result = null; + } + else + { + for (int i = 0; i < this.Table.Length; i++) + { + bool flag2 = this.Table[i].AbyssPartyId == key; + if (flag2) + { + return this.Table[i]; + } + } + result = null; + } + return result; + } + + protected override void ReadLine(XBinaryReader reader) + { + AbyssPartyTypeTable.RowData rowData = new AbyssPartyTypeTable.RowData(); + base.Read(reader, ref rowData.AbyssPartyId, CVSReader.intParse); + this.columnno = 0; + base.Read(reader, ref rowData.Name, CVSReader.stringParse); + this.columnno = 1; + base.Read(reader, ref rowData.Icon, CVSReader.stringParse); + this.columnno = 3; + base.Read(reader, ref rowData.OpenLevel, CVSReader.intParse); + this.columnno = 4; + base.Read(reader, ref rowData.SugLevel, CVSReader.stringParse); + this.columnno = 5; + base.Read(reader, ref rowData.PandoraID, CVSReader.intParse); + this.columnno = 6; + base.ReadArray(reader, ref rowData.TitanItemID, CVSReader.intParse); + this.columnno = 7; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new AbyssPartyTypeTable.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/AbyssPartyTypeTable.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/AbyssPartyTypeTable.cs.meta new file mode 100644 index 00000000..4d022a2f --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/AbyssPartyTypeTable.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 80ce571715a34a84e807defabcf6e37b +timeCreated: 1611465693 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/AccessCallback.cs b/Client/Assets/Scripts/XUtliPoolLib/AccessCallback.cs new file mode 100644 index 00000000..741b6aea --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/AccessCallback.cs @@ -0,0 +1,6 @@ +using System; + +namespace XUtliPoolLib +{ + public delegate void AccessCallback(); +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/AccessCallback.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/AccessCallback.cs.meta new file mode 100644 index 00000000..aa8170e6 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/AccessCallback.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: bab6e355cabc6024f94c3c46a8b5fc2d +timeCreated: 1611465748 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/AchievementPointRewardTable.cs b/Client/Assets/Scripts/XUtliPoolLib/AchievementPointRewardTable.cs new file mode 100644 index 00000000..3208ed77 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/AchievementPointRewardTable.cs @@ -0,0 +1,67 @@ +using System; + +namespace XUtliPoolLib +{ + public class AchievementPointRewardTable : CVSReader + { + public AchievementPointRewardTable.RowData[] Table = null; + + public class RowData + { + public int ID; + + public int Point; + + public SeqListRef Reward; + } + + public AchievementPointRewardTable.RowData GetByID(int key) + { + bool flag = this.Table == null || this.Table.Length == 0; + AchievementPointRewardTable.RowData result; + if (flag) + { + result = null; + } + else + { + for (int i = 0; i < this.Table.Length; i++) + { + bool flag2 = this.Table[i].ID == key; + if (flag2) + { + return this.Table[i]; + } + } + result = null; + } + return result; + } + + protected override void ReadLine(XBinaryReader reader) + { + AchievementPointRewardTable.RowData rowData = new AchievementPointRewardTable.RowData(); + base.Read(reader, ref rowData.ID, CVSReader.intParse); + this.columnno = 0; + base.Read(reader, ref rowData.Point, CVSReader.intParse); + this.columnno = 1; + rowData.Reward.Read(reader, this.m_DataHandler); + this.columnno = 2; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new AchievementPointRewardTable.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/AchievementPointRewardTable.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/AchievementPointRewardTable.cs.meta new file mode 100644 index 00000000..1c8dc6a7 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/AchievementPointRewardTable.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 2a82659250e30534c92f115960713bf4 +timeCreated: 1611465303 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/AchievementV2Table.cs b/Client/Assets/Scripts/XUtliPoolLib/AchievementV2Table.cs new file mode 100644 index 00000000..08607fff --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/AchievementV2Table.cs @@ -0,0 +1,141 @@ +using System; + +namespace XUtliPoolLib +{ + public class AchievementV2Table : CVSReader + { + public AchievementV2Table.RowData[] Table = null; + + public class RowData + { + public int ID; + + public string Achievement; + + public int Type; + + public string Explanation; + + public SeqListRef Reward; + + public string ICON; + + public string DesignationName; + + public int GainShowIcon; + + public int SortID; + } + + public AchievementV2Table.RowData GetByID(int key) + { + bool flag = this.Table == null || this.Table.Length == 0; + AchievementV2Table.RowData result; + if (flag) + { + result = null; + } + else + { + result = this.BinarySearchID(key); + } + return result; + } + + private AchievementV2Table.RowData BinarySearchID(int key) + { + int num = 0; + int num2 = this.Table.Length - 1; + AchievementV2Table.RowData rowData; + AchievementV2Table.RowData rowData2; + AchievementV2Table.RowData rowData3; + for (;;) + { + rowData = this.Table[num]; + bool flag = rowData.ID == key; + if (flag) + { + break; + } + rowData2 = this.Table[num2]; + bool flag2 = rowData2.ID == key; + if (flag2) + { + goto Block_2; + } + bool flag3 = num2 - num <= 1; + if (flag3) + { + goto Block_3; + } + int num3 = num + (num2 - num) / 2; + rowData3 = this.Table[num3]; + bool flag4 = rowData3.ID.CompareTo(key) > 0; + if (flag4) + { + num2 = num3; + } + else + { + bool flag5 = rowData3.ID.CompareTo(key) < 0; + if (!flag5) + { + goto IL_B1; + } + num = num3; + } + if (num >= num2) + { + goto Block_6; + } + } + return rowData; + Block_2: + return rowData2; + Block_3: + return null; + IL_B1: + return rowData3; + Block_6: + return null; + } + + protected override void ReadLine(XBinaryReader reader) + { + AchievementV2Table.RowData rowData = new AchievementV2Table.RowData(); + base.Read(reader, ref rowData.ID, CVSReader.intParse); + this.columnno = 0; + base.Read(reader, ref rowData.Achievement, CVSReader.stringParse); + this.columnno = 1; + base.Read(reader, ref rowData.Type, CVSReader.intParse); + this.columnno = 2; + base.Read(reader, ref rowData.Explanation, CVSReader.stringParse); + this.columnno = 3; + rowData.Reward.Read(reader, this.m_DataHandler); + this.columnno = 6; + base.Read(reader, ref rowData.ICON, CVSReader.stringParse); + this.columnno = 7; + base.Read(reader, ref rowData.DesignationName, CVSReader.stringParse); + this.columnno = 8; + base.Read(reader, ref rowData.GainShowIcon, CVSReader.intParse); + this.columnno = 9; + base.Read(reader, ref rowData.SortID, CVSReader.intParse); + this.columnno = 10; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new AchievementV2Table.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/AchievementV2Table.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/AchievementV2Table.cs.meta new file mode 100644 index 00000000..2c03ce3e --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/AchievementV2Table.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 1a2c662847fe5174ea3bb1369372f667 +timeCreated: 1611465296 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/AchivementTable.cs b/Client/Assets/Scripts/XUtliPoolLib/AchivementTable.cs new file mode 100644 index 00000000..793f3fbd --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/AchivementTable.cs @@ -0,0 +1,91 @@ +using System; + +namespace XUtliPoolLib +{ + public class AchivementTable : CVSReader + { + public AchivementTable.RowData[] Table = null; + + public class RowData + { + public int AchievementID; + + public string AchievementName; + + public string AchievementIcon; + + public int AchievementLevel; + + public SeqListRef AchievementItem; + + public int AchievementParam; + + public string AchievementDescription; + + public int AchievementCategory; + + public int ShowAchivementTip; + } + + public AchivementTable.RowData GetByAchievementID(int key) + { + bool flag = this.Table == null || this.Table.Length == 0; + AchivementTable.RowData result; + if (flag) + { + result = null; + } + else + { + for (int i = 0; i < this.Table.Length; i++) + { + bool flag2 = this.Table[i].AchievementID == key; + if (flag2) + { + return this.Table[i]; + } + } + result = null; + } + return result; + } + + protected override void ReadLine(XBinaryReader reader) + { + AchivementTable.RowData rowData = new AchivementTable.RowData(); + base.Read(reader, ref rowData.AchievementID, CVSReader.intParse); + this.columnno = 0; + base.Read(reader, ref rowData.AchievementName, CVSReader.stringParse); + this.columnno = 2; + base.Read(reader, ref rowData.AchievementIcon, CVSReader.stringParse); + this.columnno = 3; + base.Read(reader, ref rowData.AchievementLevel, CVSReader.intParse); + this.columnno = 4; + rowData.AchievementItem.Read(reader, this.m_DataHandler); + this.columnno = 5; + base.Read(reader, ref rowData.AchievementParam, CVSReader.intParse); + this.columnno = 6; + base.Read(reader, ref rowData.AchievementDescription, CVSReader.stringParse); + this.columnno = 7; + base.Read(reader, ref rowData.AchievementCategory, CVSReader.intParse); + this.columnno = 8; + base.Read(reader, ref rowData.ShowAchivementTip, CVSReader.intParse); + this.columnno = 11; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new AchivementTable.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/AchivementTable.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/AchivementTable.cs.meta new file mode 100644 index 00000000..5bb0e344 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/AchivementTable.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 4f4ed1d122c32ba46938c0d6c2275894 +timeCreated: 1611465642 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/ActionAudio.cs b/Client/Assets/Scripts/XUtliPoolLib/ActionAudio.cs new file mode 100644 index 00000000..bcada614 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/ActionAudio.cs @@ -0,0 +1,90 @@ +using System; +using System.Collections.Generic; + +namespace XUtliPoolLib +{ + public class ActionAudio : CVSReader + { + public Dictionary Table = new Dictionary(); + + public class RowData + { + public string Prefab; + + public string[] Idle; + + public string[] Move; + + public string[] Jump; + + public string[] Fall; + + public string[] Charge; + + public string[] Freeze; + + public string[] Behit; + + public string[] Death; + + public string[] BehitFly; + + public string[] BehitRoll; + + public string[] BehitSuperArmor; + } + + public ActionAudio.RowData GetByPrefab(string key) + { + bool flag = this.Table.Count == 0; + ActionAudio.RowData result; + if (flag) + { + result = null; + } + else + { + ActionAudio.RowData rowData = null; + this.Table.TryGetValue(key, out rowData); + result = rowData; + } + return result; + } + + protected override void ReadLine(XBinaryReader reader) + { + ActionAudio.RowData rowData = new ActionAudio.RowData(); + base.Read(reader, ref rowData.Prefab, CVSReader.stringParse); + this.columnno = 0; + base.ReadArray(reader, ref rowData.Idle, CVSReader.stringParse); + this.columnno = 1; + base.ReadArray(reader, ref rowData.Move, CVSReader.stringParse); + this.columnno = 2; + base.ReadArray(reader, ref rowData.Jump, CVSReader.stringParse); + this.columnno = 3; + base.ReadArray(reader, ref rowData.Fall, CVSReader.stringParse); + this.columnno = 4; + base.ReadArray(reader, ref rowData.Charge, CVSReader.stringParse); + this.columnno = 6; + base.ReadArray(reader, ref rowData.Freeze, CVSReader.stringParse); + this.columnno = 7; + base.ReadArray(reader, ref rowData.Behit, CVSReader.stringParse); + this.columnno = 8; + base.ReadArray(reader, ref rowData.Death, CVSReader.stringParse); + this.columnno = 9; + base.ReadArray(reader, ref rowData.BehitFly, CVSReader.stringParse); + this.columnno = 10; + base.ReadArray(reader, ref rowData.BehitRoll, CVSReader.stringParse); + this.columnno = 11; + base.ReadArray(reader, ref rowData.BehitSuperArmor, CVSReader.stringParse); + this.columnno = 12; + this.Table[rowData.Prefab] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + this.Table.Clear(); + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/ActionAudio.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/ActionAudio.cs.meta new file mode 100644 index 00000000..95c2c9ab --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/ActionAudio.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 9450d9a8ebbe4cc48a403c861ec9fbfc +timeCreated: 1611465707 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/ActivityChestTable.cs b/Client/Assets/Scripts/XUtliPoolLib/ActivityChestTable.cs new file mode 100644 index 00000000..c4fdc9d1 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/ActivityChestTable.cs @@ -0,0 +1,44 @@ +using System; + +namespace XUtliPoolLib +{ + public class ActivityChestTable : CVSReader + { + public ActivityChestTable.RowData[] Table = null; + + public class RowData + { + public uint chest; + + public SeqRef level; + + public SeqListRef viewabledrop; + } + + protected override void ReadLine(XBinaryReader reader) + { + ActivityChestTable.RowData rowData = new ActivityChestTable.RowData(); + base.Read(reader, ref rowData.chest, CVSReader.uintParse); + this.columnno = 0; + rowData.level.Read(reader, this.m_DataHandler); + this.columnno = 1; + rowData.viewabledrop.Read(reader, this.m_DataHandler); + this.columnno = 4; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new ActivityChestTable.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/ActivityChestTable.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/ActivityChestTable.cs.meta new file mode 100644 index 00000000..fcdc3371 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/ActivityChestTable.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: ff581b2e84cb1954e8bff99996afe9d1 +timeCreated: 1611465813 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/ActivityListTable.cs b/Client/Assets/Scripts/XUtliPoolLib/ActivityListTable.cs new file mode 100644 index 00000000..7eb0f128 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/ActivityListTable.cs @@ -0,0 +1,95 @@ +using System; + +namespace XUtliPoolLib +{ + public class ActivityListTable : CVSReader + { + public ActivityListTable.RowData[] Table = null; + + public class RowData + { + public uint SysID; + + public string Tittle; + + public string[] TagNames; + + public string Icon; + + public string[] TagName; + + public bool HadShop; + + public SeqListRef DropItems; + + public string Describe; + + public uint SortIndex; + + public string AtlasPath; + } + + public ActivityListTable.RowData GetBySysID(uint key) + { + bool flag = this.Table == null || this.Table.Length == 0; + ActivityListTable.RowData result; + if (flag) + { + result = null; + } + else + { + for (int i = 0; i < this.Table.Length; i++) + { + bool flag2 = this.Table[i].SysID == key; + if (flag2) + { + return this.Table[i]; + } + } + result = null; + } + return result; + } + + protected override void ReadLine(XBinaryReader reader) + { + ActivityListTable.RowData rowData = new ActivityListTable.RowData(); + base.Read(reader, ref rowData.SysID, CVSReader.uintParse); + this.columnno = 0; + base.Read(reader, ref rowData.Tittle, CVSReader.stringParse); + this.columnno = 1; + base.ReadArray(reader, ref rowData.TagNames, CVSReader.stringParse); + this.columnno = 2; + base.Read(reader, ref rowData.Icon, CVSReader.stringParse); + this.columnno = 3; + base.ReadArray(reader, ref rowData.TagName, CVSReader.stringParse); + this.columnno = 4; + base.Read(reader, ref rowData.HadShop, CVSReader.boolParse); + this.columnno = 5; + rowData.DropItems.Read(reader, this.m_DataHandler); + this.columnno = 6; + base.Read(reader, ref rowData.Describe, CVSReader.stringParse); + this.columnno = 7; + base.Read(reader, ref rowData.SortIndex, CVSReader.uintParse); + this.columnno = 8; + base.Read(reader, ref rowData.AtlasPath, CVSReader.stringParse); + this.columnno = 9; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new ActivityListTable.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/ActivityListTable.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/ActivityListTable.cs.meta new file mode 100644 index 00000000..ce345fa8 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/ActivityListTable.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 1b65a33b269682d4abf9e952b0afe278 +timeCreated: 1611465297 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/ActivityPopInfo.cs b/Client/Assets/Scripts/XUtliPoolLib/ActivityPopInfo.cs new file mode 100644 index 00000000..3b2aaacd --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/ActivityPopInfo.cs @@ -0,0 +1,17 @@ +using System; + +namespace XUtliPoolLib +{ + public class ActivityPopInfo + { + public string activityName = ""; + + public bool isReady = false; + + public bool isClose = false; + + public int priority = 999; + + public int isNomalType = 1; + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/ActivityPopInfo.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/ActivityPopInfo.cs.meta new file mode 100644 index 00000000..3ac5bd5c --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/ActivityPopInfo.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: df9f63ebabb9b6f4880971072a861bce +timeCreated: 1611465798 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/ActivityTabInfo.cs b/Client/Assets/Scripts/XUtliPoolLib/ActivityTabInfo.cs new file mode 100644 index 00000000..03e47197 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/ActivityTabInfo.cs @@ -0,0 +1,23 @@ +using System; + +namespace XUtliPoolLib +{ + public class ActivityTabInfo + { + public string activityName = ""; + + public string tabName = ""; + + public string tabIcon = ""; + + public bool tabShow = false; + + public bool redPointShow = false; + + public string moduleName = ""; + + public int sysID = 0; + + public int sort = 999; + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/ActivityTabInfo.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/ActivityTabInfo.cs.meta new file mode 100644 index 00000000..a0147300 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/ActivityTabInfo.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 769626a317f720e478eb0f1ccd2369d9 +timeCreated: 1611465689 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/ActivityTable.cs b/Client/Assets/Scripts/XUtliPoolLib/ActivityTable.cs new file mode 100644 index 00000000..bda77526 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/ActivityTable.cs @@ -0,0 +1,91 @@ +using System; + +namespace XUtliPoolLib +{ + public class ActivityTable : CVSReader + { + public ActivityTable.RowData[] Table = null; + + public class RowData + { + public uint id; + + public uint value; + + public string name; + + public string icon; + + public string description; + + public SeqListRef item; + + public uint sortid; + + public uint random; + + public string title; + } + + public ActivityTable.RowData GetBysortid(uint key) + { + bool flag = this.Table == null || this.Table.Length == 0; + ActivityTable.RowData result; + if (flag) + { + result = null; + } + else + { + for (int i = 0; i < this.Table.Length; i++) + { + bool flag2 = this.Table[i].sortid == key; + if (flag2) + { + return this.Table[i]; + } + } + result = null; + } + return result; + } + + protected override void ReadLine(XBinaryReader reader) + { + ActivityTable.RowData rowData = new ActivityTable.RowData(); + base.Read(reader, ref rowData.id, CVSReader.uintParse); + this.columnno = 0; + base.Read(reader, ref rowData.value, CVSReader.uintParse); + this.columnno = 2; + base.Read(reader, ref rowData.name, CVSReader.stringParse); + this.columnno = 3; + base.Read(reader, ref rowData.icon, CVSReader.stringParse); + this.columnno = 4; + base.Read(reader, ref rowData.description, CVSReader.stringParse); + this.columnno = 7; + rowData.item.Read(reader, this.m_DataHandler); + this.columnno = 8; + base.Read(reader, ref rowData.sortid, CVSReader.uintParse); + this.columnno = 9; + base.Read(reader, ref rowData.random, CVSReader.uintParse); + this.columnno = 10; + base.Read(reader, ref rowData.title, CVSReader.stringParse); + this.columnno = 11; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new ActivityTable.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/ActivityTable.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/ActivityTable.cs.meta new file mode 100644 index 00000000..ba7d4867 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/ActivityTable.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 3f5f552ee8a60b04b8341d53fcc91b43 +timeCreated: 1611465634 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/AncientTask.cs b/Client/Assets/Scripts/XUtliPoolLib/AncientTask.cs new file mode 100644 index 00000000..1c8c6e46 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/AncientTask.cs @@ -0,0 +1,52 @@ +using System; + +namespace XUtliPoolLib +{ + public class AncientTask : CVSReader + { + public AncientTask.RowData[] Table = null; + + public class RowData + { + public uint ID; + + public string title; + + public string content; + + public string time; + + public SeqListRef rewards; + } + + protected override void ReadLine(XBinaryReader reader) + { + AncientTask.RowData rowData = new AncientTask.RowData(); + base.Read(reader, ref rowData.ID, CVSReader.uintParse); + this.columnno = 0; + base.Read(reader, ref rowData.title, CVSReader.stringParse); + this.columnno = 1; + base.Read(reader, ref rowData.content, CVSReader.stringParse); + this.columnno = 2; + base.Read(reader, ref rowData.time, CVSReader.stringParse); + this.columnno = 3; + rowData.rewards.Read(reader, this.m_DataHandler); + this.columnno = 4; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new AncientTask.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/AncientTask.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/AncientTask.cs.meta new file mode 100644 index 00000000..2b006872 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/AncientTask.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 6a202ffede3f68540b20c22328b21d99 +timeCreated: 1611465684 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/AncientTimesTable.cs b/Client/Assets/Scripts/XUtliPoolLib/AncientTimesTable.cs new file mode 100644 index 00000000..a938aa5c --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/AncientTimesTable.cs @@ -0,0 +1,48 @@ +using System; + +namespace XUtliPoolLib +{ + public class AncientTimesTable : CVSReader + { + public AncientTimesTable.RowData[] Table = null; + + public class RowData + { + public uint ID; + + public SeqRef nPoints; + + public SeqListRef Items; + + public string Title; + } + + protected override void ReadLine(XBinaryReader reader) + { + AncientTimesTable.RowData rowData = new AncientTimesTable.RowData(); + base.Read(reader, ref rowData.ID, CVSReader.uintParse); + this.columnno = 0; + rowData.nPoints.Read(reader, this.m_DataHandler); + this.columnno = 1; + rowData.Items.Read(reader, this.m_DataHandler); + this.columnno = 2; + base.Read(reader, ref rowData.Title, CVSReader.stringParse); + this.columnno = 3; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new AncientTimesTable.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/AncientTimesTable.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/AncientTimesTable.cs.meta new file mode 100644 index 00000000..295902ba --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/AncientTimesTable.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 2f20e09575bef884684af10a335f0e5e +timeCreated: 1611465306 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/AndroidAssetBundleLoader.cs b/Client/Assets/Scripts/XUtliPoolLib/AndroidAssetBundleLoader.cs new file mode 100644 index 00000000..76e02821 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/AndroidAssetBundleLoader.cs @@ -0,0 +1,83 @@ +using System; +using System.Collections; +using UnityEngine; + +namespace XUtliPoolLib +{ + internal class AndroidAssetBundleLoader : MobileAssetBundleLoader + { + protected override IEnumerator LoadFromPackage() + { + bool flag = this.state == LoadState.State_Complete; + if (flag) + { + this.Complete(); + } + else + { + bool flag2 = this.state != LoadState.State_Error; + if (flag2) + { + AssetBundleCreateRequest req = AssetBundle.LoadFromFileAsync(this._assetBundleSourceFile); + while (!req.isDone) + { + yield return null; + } + bool flag3 = this._bundle == null; + if (flag3) + { + this._bundle = req.assetBundle; + } + bool flag4 = this.state != LoadState.State_Complete && base.UnloadNotLoadingBundle(this._bundle); + if (flag4) + { + req = AssetBundle.LoadFromFileAsync(this._assetBundleSourceFile); + while (!req.isDone) + { + yield return null; + } + bool flag5 = this._bundle == null; + if (flag5) + { + this._bundle = req.assetBundle; + } + } + this.Complete(); + req = null; + } + } + yield break; + } + + protected override void LoadFromPackageImm() + { + bool flag = this.state == LoadState.State_Complete; + if (flag) + { + this.Complete(); + } + else + { + bool flag2 = this.state != LoadState.State_Error; + if (flag2) + { + bool flag3 = this._bundle == null; + if (flag3) + { + this._bundle = AssetBundle.LoadFromFile(this._assetBundleSourceFile); + } + bool flag4 = this.state != LoadState.State_Complete && base.UnloadNotLoadingBundle(this._bundle); + if (flag4) + { + bool flag5 = this._bundle == null; + if (flag5) + { + this._bundle = AssetBundle.LoadFromFile(this._assetBundleSourceFile); + } + } + this.Complete(); + } + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/AndroidAssetBundleLoader.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/AndroidAssetBundleLoader.cs.meta new file mode 100644 index 00000000..34130f3d --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/AndroidAssetBundleLoader.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 230f137568b42134d9f7721c6bc0a1eb +timeCreated: 1611465300 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/AnimLoadCallback.cs b/Client/Assets/Scripts/XUtliPoolLib/AnimLoadCallback.cs new file mode 100644 index 00000000..b647addc --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/AnimLoadCallback.cs @@ -0,0 +1,6 @@ +using System; + +namespace XUtliPoolLib +{ + public delegate void AnimLoadCallback(XAnimator ator); +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/AnimLoadCallback.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/AnimLoadCallback.cs.meta new file mode 100644 index 00000000..da331d25 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/AnimLoadCallback.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: ddb6327ab9c512b47a774a68d43a9e84 +timeCreated: 1611465797 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/ArgentaDaily.cs b/Client/Assets/Scripts/XUtliPoolLib/ArgentaDaily.cs new file mode 100644 index 00000000..8454ee92 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/ArgentaDaily.cs @@ -0,0 +1,71 @@ +using System; + +namespace XUtliPoolLib +{ + public class ArgentaDaily : CVSReader + { + public ArgentaDaily.RowData[] Table = null; + + public class RowData + { + public uint ID; + + public SeqListRef Reward; + + public string Description; + + public string Title; + } + + public ArgentaDaily.RowData GetByID(uint key) + { + bool flag = this.Table == null || this.Table.Length == 0; + ArgentaDaily.RowData result; + if (flag) + { + result = null; + } + else + { + for (int i = 0; i < this.Table.Length; i++) + { + bool flag2 = this.Table[i].ID == key; + if (flag2) + { + return this.Table[i]; + } + } + result = null; + } + return result; + } + + protected override void ReadLine(XBinaryReader reader) + { + ArgentaDaily.RowData rowData = new ArgentaDaily.RowData(); + base.Read(reader, ref rowData.ID, CVSReader.uintParse); + this.columnno = 0; + rowData.Reward.Read(reader, this.m_DataHandler); + this.columnno = 1; + base.Read(reader, ref rowData.Description, CVSReader.stringParse); + this.columnno = 2; + base.Read(reader, ref rowData.Title, CVSReader.stringParse); + this.columnno = 3; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new ArgentaDaily.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/ArgentaDaily.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/ArgentaDaily.cs.meta new file mode 100644 index 00000000..fd85b672 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/ArgentaDaily.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: bd25d1ce9d24553479afb4451e0e7c6c +timeCreated: 1611465750 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/ArgentaTask.cs b/Client/Assets/Scripts/XUtliPoolLib/ArgentaTask.cs new file mode 100644 index 00000000..8360b169 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/ArgentaTask.cs @@ -0,0 +1,44 @@ +using System; + +namespace XUtliPoolLib +{ + public class ArgentaTask : CVSReader + { + public ArgentaTask.RowData[] Table = null; + + public class RowData + { + public SeqRef LevelRange; + + public uint TaskID; + + public SeqListRef Reward; + } + + protected override void ReadLine(XBinaryReader reader) + { + ArgentaTask.RowData rowData = new ArgentaTask.RowData(); + rowData.LevelRange.Read(reader, this.m_DataHandler); + this.columnno = 0; + base.Read(reader, ref rowData.TaskID, CVSReader.uintParse); + this.columnno = 1; + rowData.Reward.Read(reader, this.m_DataHandler); + this.columnno = 2; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new ArgentaTask.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/ArgentaTask.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/ArgentaTask.cs.meta new file mode 100644 index 00000000..f05d5c9b --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/ArgentaTask.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 2bd5cb4014938364e98c904bad548567 +timeCreated: 1611465304 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/ArtifactComposeTable.cs b/Client/Assets/Scripts/XUtliPoolLib/ArtifactComposeTable.cs new file mode 100644 index 00000000..b3c4026c --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/ArtifactComposeTable.cs @@ -0,0 +1,44 @@ +using System; + +namespace XUtliPoolLib +{ + public class ArtifactComposeTable : CVSReader + { + public ArtifactComposeTable.RowData[] Table = null; + + public class RowData + { + public uint ArtifactLevel; + + public uint ArtifactQuality; + + public SeqListRef ArtifactNum2DropID; + } + + protected override void ReadLine(XBinaryReader reader) + { + ArtifactComposeTable.RowData rowData = new ArtifactComposeTable.RowData(); + base.Read(reader, ref rowData.ArtifactLevel, CVSReader.uintParse); + this.columnno = 0; + base.Read(reader, ref rowData.ArtifactQuality, CVSReader.uintParse); + this.columnno = 1; + rowData.ArtifactNum2DropID.Read(reader, this.m_DataHandler); + this.columnno = 2; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new ArtifactComposeTable.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/ArtifactComposeTable.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/ArtifactComposeTable.cs.meta new file mode 100644 index 00000000..ab1d0ff3 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/ArtifactComposeTable.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: ae06b47932a34f04ea0c406473488a8e +timeCreated: 1611465742 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/ArtifactEffect.cs b/Client/Assets/Scripts/XUtliPoolLib/ArtifactEffect.cs new file mode 100644 index 00000000..e508e3eb --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/ArtifactEffect.cs @@ -0,0 +1,44 @@ +using System; + +namespace XUtliPoolLib +{ + public class ArtifactEffect : CVSReader + { + public ArtifactEffect.RowData[] Table = null; + + public class RowData + { + public uint Quanlity; + + public uint AttrTyte; + + public string Path; + } + + protected override void ReadLine(XBinaryReader reader) + { + ArtifactEffect.RowData rowData = new ArtifactEffect.RowData(); + base.Read(reader, ref rowData.Quanlity, CVSReader.uintParse); + this.columnno = 0; + base.Read(reader, ref rowData.AttrTyte, CVSReader.uintParse); + this.columnno = 1; + base.Read(reader, ref rowData.Path, CVSReader.stringParse); + this.columnno = 2; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new ArtifactEffect.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/ArtifactEffect.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/ArtifactEffect.cs.meta new file mode 100644 index 00000000..09a95100 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/ArtifactEffect.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 13cf287b0e9798741b92c0f1f975ff08 +timeCreated: 1611465293 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/ArtifactListTable.cs b/Client/Assets/Scripts/XUtliPoolLib/ArtifactListTable.cs new file mode 100644 index 00000000..c5746501 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/ArtifactListTable.cs @@ -0,0 +1,127 @@ +using System; + +namespace XUtliPoolLib +{ + public class ArtifactListTable : CVSReader + { + public ArtifactListTable.RowData[] Table = null; + + public class RowData + { + public uint ArtifactID; + + public uint ArtifactPos; + + public uint ArtifactSuit; + + public SeqListRef Attributes1; + + public SeqListRef Attributes2; + + public SeqListRef Attributes3; + + public uint EffectNum; + + public string EffectDes; + + public uint AttrType; + + public uint IsCanRecast; + + public SeqListRef RecastMaterials; + + public uint IsCanFuse; + + public SeqListRef FuseMaterials; + + public SeqRef FuseSucRate; + + public uint FuseSucRateUseStone; + + public byte IsCanRefined; + + public SeqListRef RefinedMaterials; + + public uint ElementType; + } + + public ArtifactListTable.RowData GetByArtifactID(uint key) + { + bool flag = this.Table == null || this.Table.Length == 0; + ArtifactListTable.RowData result; + if (flag) + { + result = null; + } + else + { + for (int i = 0; i < this.Table.Length; i++) + { + bool flag2 = this.Table[i].ArtifactID == key; + if (flag2) + { + return this.Table[i]; + } + } + result = null; + } + return result; + } + + protected override void ReadLine(XBinaryReader reader) + { + ArtifactListTable.RowData rowData = new ArtifactListTable.RowData(); + base.Read(reader, ref rowData.ArtifactID, CVSReader.uintParse); + this.columnno = 0; + base.Read(reader, ref rowData.ArtifactPos, CVSReader.uintParse); + this.columnno = 1; + base.Read(reader, ref rowData.ArtifactSuit, CVSReader.uintParse); + this.columnno = 2; + rowData.Attributes1.Read(reader, this.m_DataHandler); + this.columnno = 3; + rowData.Attributes2.Read(reader, this.m_DataHandler); + this.columnno = 4; + rowData.Attributes3.Read(reader, this.m_DataHandler); + this.columnno = 5; + base.Read(reader, ref rowData.EffectNum, CVSReader.uintParse); + this.columnno = 7; + base.Read(reader, ref rowData.EffectDes, CVSReader.stringParse); + this.columnno = 9; + base.Read(reader, ref rowData.AttrType, CVSReader.uintParse); + this.columnno = 10; + base.Read(reader, ref rowData.IsCanRecast, CVSReader.uintParse); + this.columnno = 11; + rowData.RecastMaterials.Read(reader, this.m_DataHandler); + this.columnno = 12; + base.Read(reader, ref rowData.IsCanFuse, CVSReader.uintParse); + this.columnno = 13; + rowData.FuseMaterials.Read(reader, this.m_DataHandler); + this.columnno = 14; + rowData.FuseSucRate.Read(reader, this.m_DataHandler); + this.columnno = 15; + base.Read(reader, ref rowData.FuseSucRateUseStone, CVSReader.uintParse); + this.columnno = 16; + base.Read(reader, ref rowData.IsCanRefined, CVSReader.byteParse); + this.columnno = 20; + rowData.RefinedMaterials.Read(reader, this.m_DataHandler); + this.columnno = 21; + base.Read(reader, ref rowData.ElementType, CVSReader.uintParse); + this.columnno = 22; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new ArtifactListTable.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/ArtifactListTable.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/ArtifactListTable.cs.meta new file mode 100644 index 00000000..242bfd9e --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/ArtifactListTable.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 1c9465cd1cac8c04fa333f5f554f9ee2 +timeCreated: 1611465298 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/ArtifactSuitTable.cs b/Client/Assets/Scripts/XUtliPoolLib/ArtifactSuitTable.cs new file mode 100644 index 00000000..893078c4 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/ArtifactSuitTable.cs @@ -0,0 +1,99 @@ +using System; + +namespace XUtliPoolLib +{ + public class ArtifactSuitTable : CVSReader + { + public ArtifactSuitTable.RowData[] Table = null; + + public class RowData + { + public uint ArtifactSuitID; + + public uint Level; + + public string Name; + + public SeqListRef Effect2; + + public SeqListRef Effect3; + + public SeqListRef Effect4; + + public SeqListRef Effect5; + + public SeqListRef Effect6; + + public byte IsCreateShow; + + public uint ElementType; + + public byte SuitQuality; + } + + public ArtifactSuitTable.RowData GetByArtifactSuitID(uint key) + { + bool flag = this.Table == null || this.Table.Length == 0; + ArtifactSuitTable.RowData result; + if (flag) + { + result = null; + } + else + { + for (int i = 0; i < this.Table.Length; i++) + { + bool flag2 = this.Table[i].ArtifactSuitID == key; + if (flag2) + { + return this.Table[i]; + } + } + result = null; + } + return result; + } + + protected override void ReadLine(XBinaryReader reader) + { + ArtifactSuitTable.RowData rowData = new ArtifactSuitTable.RowData(); + base.Read(reader, ref rowData.ArtifactSuitID, CVSReader.uintParse); + this.columnno = 0; + base.Read(reader, ref rowData.Level, CVSReader.uintParse); + this.columnno = 1; + base.Read(reader, ref rowData.Name, CVSReader.stringParse); + this.columnno = 2; + rowData.Effect2.Read(reader, this.m_DataHandler); + this.columnno = 3; + rowData.Effect3.Read(reader, this.m_DataHandler); + this.columnno = 4; + rowData.Effect4.Read(reader, this.m_DataHandler); + this.columnno = 5; + rowData.Effect5.Read(reader, this.m_DataHandler); + this.columnno = 6; + rowData.Effect6.Read(reader, this.m_DataHandler); + this.columnno = 7; + base.Read(reader, ref rowData.IsCreateShow, CVSReader.byteParse); + this.columnno = 8; + base.Read(reader, ref rowData.ElementType, CVSReader.uintParse); + this.columnno = 9; + base.Read(reader, ref rowData.SuitQuality, CVSReader.byteParse); + this.columnno = 10; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new ArtifactSuitTable.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/ArtifactSuitTable.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/ArtifactSuitTable.cs.meta new file mode 100644 index 00000000..dda79b9c --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/ArtifactSuitTable.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 652b8b3d14cf7e14badeef30b55b7e08 +timeCreated: 1611465682 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/AssetBundleData.cs b/Client/Assets/Scripts/XUtliPoolLib/AssetBundleData.cs new file mode 100644 index 00000000..79f6d101 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/AssetBundleData.cs @@ -0,0 +1,19 @@ +using System; + +namespace XUtliPoolLib +{ + public class AssetBundleData + { + public uint fullName; + + public string debugName; + + public AssetBundleExportType compositeType; + + public uint[] dependencies; + + public bool isAnalyzed; + + public AssetBundleData[] dependList; + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/AssetBundleData.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/AssetBundleData.cs.meta new file mode 100644 index 00000000..216e7513 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/AssetBundleData.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: fa685d1152ed4924aaa995b0d594f5f1 +timeCreated: 1611465810 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/AssetBundleDataBinaryReader.cs b/Client/Assets/Scripts/XUtliPoolLib/AssetBundleDataBinaryReader.cs new file mode 100644 index 00000000..99f43f0a --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/AssetBundleDataBinaryReader.cs @@ -0,0 +1,43 @@ +using System; + +namespace XUtliPoolLib +{ + internal class AssetBundleDataBinaryReader : AssetBundleDataReader + { + public override void Read(XBinaryReader reader) + { + for (;;) + { + bool isEof = reader.IsEof; + if (isEof) + { + break; + } + uint num = reader.ReadUInt32(); + uint key = reader.ReadUInt32(); + byte compositeType = reader.ReadByte(); + byte b = reader.ReadByte(); + uint[] array = null; + bool flag = b > 0; + if (flag) + { + array = new uint[(int)b]; + } + bool flag2 = !this.shortName2FullName.ContainsKey(key); + if (flag2) + { + this.shortName2FullName.Add(key, num); + } + for (int i = 0; i < (int)b; i++) + { + array[i] = reader.ReadUInt32(); + } + AssetBundleData assetBundleData = new AssetBundleData(); + assetBundleData.fullName = num; + assetBundleData.dependencies = array; + assetBundleData.compositeType = (AssetBundleExportType)compositeType; + this.infoMap[num] = assetBundleData; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/AssetBundleDataBinaryReader.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/AssetBundleDataBinaryReader.cs.meta new file mode 100644 index 00000000..d1f6bf51 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/AssetBundleDataBinaryReader.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: bfc253c37ca30c64b9baec3f22997868 +timeCreated: 1611465752 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/AssetBundleDataReader.cs b/Client/Assets/Scripts/XUtliPoolLib/AssetBundleDataReader.cs new file mode 100644 index 00000000..91c20af2 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/AssetBundleDataReader.cs @@ -0,0 +1,123 @@ +using System; +using System.Collections.Generic; +using System.IO; + +namespace XUtliPoolLib +{ + public class AssetBundleDataReader + { + public Dictionary infoMap = new Dictionary(); + + protected Dictionary shortName2FullName = new Dictionary(); + + public virtual void Read(XBinaryReader reader) + { + MemoryStream stream = new MemoryStream(reader.GetBuffer()); + StreamReader streamReader = new StreamReader(stream); + char[] array = new char[6]; + streamReader.Read(array, 0, array.Length); + bool flag = array[0] != 'A' || array[1] != 'B' || array[2] != 'D' || array[3] != 'T'; + if (!flag) + { + for (;;) + { + string text = streamReader.ReadLine(); + bool flag2 = string.IsNullOrEmpty(text); + if (flag2) + { + break; + } + uint num = uint.Parse(streamReader.ReadLine().Replace(".ab", "")); + string str = streamReader.ReadLine(); + uint key = XSingleton.singleton.XHash(str); + string text2 = streamReader.ReadLine(); + int compositeType = Convert.ToInt32(streamReader.ReadLine()); + int num2 = Convert.ToInt32(streamReader.ReadLine()); + uint[] array2 = new uint[num2]; + bool flag3 = !this.shortName2FullName.ContainsKey(key); + if (flag3) + { + this.shortName2FullName.Add(key, num); + } + for (int i = 0; i < num2; i++) + { + array2[i] = uint.Parse(streamReader.ReadLine().Replace(".ab", "")); + } + streamReader.ReadLine(); + AssetBundleData assetBundleData = new AssetBundleData(); + assetBundleData.debugName = text; + assetBundleData.fullName = num; + assetBundleData.dependencies = array2; + assetBundleData.compositeType = (AssetBundleExportType)compositeType; + this.infoMap[num] = assetBundleData; + } + streamReader.Close(); + } + } + + public void Analyze() + { + foreach (KeyValuePair keyValuePair in this.infoMap) + { + this.Analyze(keyValuePair.Value); + } + } + + private void Analyze(AssetBundleData abd) + { + bool flag = !abd.isAnalyzed; + if (flag) + { + abd.isAnalyzed = true; + bool flag2 = abd.dependencies != null; + if (flag2) + { + abd.dependList = new AssetBundleData[abd.dependencies.Length]; + for (int i = 0; i < abd.dependencies.Length; i++) + { + AssetBundleData assetBundleInfo = this.GetAssetBundleInfo(abd.dependencies[i]); + abd.dependList[i] = assetBundleInfo; + this.Analyze(assetBundleInfo); + } + } + } + } + + public uint GetFullName(uint shortName) + { + uint result = 0u; + this.shortName2FullName.TryGetValue(shortName, out result); + return result; + } + + public AssetBundleData GetAssetBundleInfoByShortName(uint shortName) + { + uint fullName = this.GetFullName(shortName); + bool flag = fullName != 0u && this.infoMap.ContainsKey(fullName); + AssetBundleData result; + if (flag) + { + result = this.infoMap[fullName]; + } + else + { + result = null; + } + return result; + } + + public AssetBundleData GetAssetBundleInfo(uint fullName) + { + bool flag = fullName > 0u; + if (flag) + { + bool flag2 = this.infoMap.ContainsKey(fullName); + if (flag2) + { + return this.infoMap[fullName]; + } + } + return null; + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/AssetBundleDataReader.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/AssetBundleDataReader.cs.meta new file mode 100644 index 00000000..0685f494 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/AssetBundleDataReader.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 2a9e8309085f8814b91fcdff0f83a1cf +timeCreated: 1611465303 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/AssetBundleExportType.cs b/Client/Assets/Scripts/XUtliPoolLib/AssetBundleExportType.cs new file mode 100644 index 00000000..cad4b33f --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/AssetBundleExportType.cs @@ -0,0 +1,12 @@ +using System; + +namespace XUtliPoolLib +{ + public enum AssetBundleExportType + { + Asset = 1, + Root, + Standalone = 4, + RootAsset = 3 + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/AssetBundleExportType.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/AssetBundleExportType.cs.meta new file mode 100644 index 00000000..7412309c --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/AssetBundleExportType.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: b84ccea3e2922ff49bdec5c3e38ff3ef +timeCreated: 1611465747 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/AssetBundleInfo.cs b/Client/Assets/Scripts/XUtliPoolLib/AssetBundleInfo.cs new file mode 100644 index 00000000..7ac6f887 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/AssetBundleInfo.cs @@ -0,0 +1,341 @@ +using System; +using System.Collections.Generic; +using UnityEngine; +using XUpdater; + +namespace XUtliPoolLib +{ + public class AssetBundleInfo + { + [SerializeField] + public int refCount { get; private set; } + + public bool isUnused + { + get + { + return this._isReady && Time.time - this._readyTime > this.minLifeTime && this.refCount <= 0 && this.UpdateReference() == 0; + } + } + + public bool isReady + { + get + { + return this._isReady; + } + set + { + this._isReady = value; + } + } + + public virtual UnityEngine.Object mainObject + { + get + { + bool flag = this._mainObject == null && this._isReady; + if (flag) + { + this._mainObject = this.bundle.LoadAsset(this.bundle.GetAllAssetNames()[0]); + bool flag2 = this._mainObject != null; + if (flag2) + { + bool flag3 = this.data.compositeType == AssetBundleExportType.Root; + if (flag3) + { + bool flag4 = XSingleton.singleton.ABManager != null; + if (flag4) + { + XSingleton.singleton.ABManager.AddUnloadBundleQueue(this); + } + } + } + } + return this._mainObject; + } + } + + public AssetBundleInfo.OnUnloadedHandler onUnloaded; + + internal AssetBundle bundle; + + public uint bundleName; + + public AssetBundleData data; + + public float minLifeTime = 2f; + + private float _readyTime; + + private bool _isReady; + + private UnityEngine.Object _mainObject; + + private HashSet deps = null; + + private List depChildren = null; + + private List references = new List(); + + public delegate void OnUnloadedHandler(AssetBundleInfo abi); + + public void AddDependency(AssetBundleInfo target) + { + bool flag = target != null; + if (flag) + { + bool flag2 = this.deps == null; + if (flag2) + { + this.deps = new HashSet(); + } + bool flag3 = this.deps.Add(target); + if (flag3) + { + target.Retain(); + bool flag4 = target.depChildren == null; + if (flag4) + { + target.depChildren = new List(); + } + target.depChildren.Add(this.bundleName); + } + } + } + + public void ResetLifeTime() + { + bool isReady = this._isReady; + if (isReady) + { + this._readyTime = Time.time; + } + } + + public void Retain() + { + int refCount = this.refCount; + this.refCount = refCount + 1; + } + + public void Release() + { + int refCount = this.refCount; + this.refCount = refCount - 1; + } + + public void Retain(UnityEngine.Object owner) + { + bool flag = owner == null; + if (flag) + { + throw new Exception("Please set the user!"); + } + for (int i = 0; i < this.references.Count; i++) + { + bool flag2 = owner.Equals(this.references[i].Target); + if (flag2) + { + return; + } + } + WeakReference item = new WeakReference(owner); + this.references.Add(item); + } + + public void Release(object owner) + { + for (int i = 0; i < this.references.Count; i++) + { + bool flag = this.references[i].Target == owner; + if (flag) + { + this.references.RemoveAt(i); + break; + } + } + } + + public virtual GameObject Instantiate() + { + return this.Instantiate(true); + } + + public virtual GameObject Instantiate(bool enable) + { + bool flag = this.mainObject != null; + if (flag) + { + bool flag2 = this.mainObject is GameObject; + if (flag2) + { + GameObject gameObject = this.mainObject as GameObject; + gameObject.SetActive(enable); + GameObject gameObject2 = XCommon.Instantiate(gameObject); + gameObject2.name = gameObject.name; + this.Retain(gameObject2); + return gameObject2; + } + } + return null; + } + + public virtual GameObject Instantiate(Vector3 position, Quaternion rotation, bool enable = true) + { + bool flag = this.mainObject != null; + if (flag) + { + bool flag2 = this.mainObject is GameObject; + if (flag2) + { + GameObject gameObject = this.mainObject as GameObject; + gameObject.SetActive(enable); + GameObject gameObject2 = UnityEngine.Object.Instantiate(gameObject, position, rotation, null); + gameObject2.name = gameObject.name; + this.Retain(gameObject2); + return gameObject2; + } + } + return null; + } + + public UnityEngine.Object Require(UnityEngine.Object user) + { + this.Retain(user); + return this.mainObject; + } + + public UnityEngine.Object Require(Component c, bool autoBindGameObject) + { + bool flag = autoBindGameObject && c && c.gameObject; + UnityEngine.Object result; + if (flag) + { + result = this.Require(c.gameObject); + } + else + { + result = this.Require(c); + } + return result; + } + + private int UpdateReference() + { + for (int i = 0; i < this.references.Count; i++) + { + UnityEngine.Object @object = (UnityEngine.Object)this.references[i].Target; + bool flag = !@object; + if (flag) + { + this.references.RemoveAt(i); + i--; + } + } + return this.references.Count; + } + + public virtual void Dispose() + { + this.UnloadBundle(); + bool flag = this.deps != null; + if (flag) + { + foreach (AssetBundleInfo assetBundleInfo in this.deps) + { + bool flag2 = assetBundleInfo.depChildren != null; + if (flag2) + { + assetBundleInfo.depChildren.Remove(this.bundleName); + } + assetBundleInfo.Release(); + } + this.deps.Clear(); + } + this.references.Clear(); + bool flag3 = this.onUnloaded != null; + if (flag3) + { + this.onUnloaded(this); + } + bool flag4 = !(this._mainObject is GameObject) && !(this._mainObject is ScriptableObject) && !(this._mainObject is Material); + if (flag4) + { + Resources.UnloadAsset(this._mainObject); + } + else + { + UnityEngine.Object.Destroy(this._mainObject); + } + this._mainObject = null; + } + + public AsyncOperation LoadAsync(string name, Type t) + { + bool flag = this._mainObject == null && this._isReady; + AsyncOperation result; + if (flag) + { + result = this.bundle.LoadAssetAsync(name, t); + } + else + { + result = null; + } + return result; + } + + public void AsyncLoadFinish(UnityEngine.Object asset) + { + bool flag = this._mainObject == null && this._isReady; + if (flag) + { + this.Release(); + this._mainObject = asset; + bool flag2 = this.data.compositeType == AssetBundleExportType.Root; + if (flag2) + { + bool flag3 = XSingleton.singleton.ABManager != null; + if (flag3) + { + XSingleton.singleton.ABManager.AddUnloadBundleQueue(this); + } + } + } + } + + private T LoadAsset(string name) where T : UnityEngine.Object + { + return this.bundle.LoadAsset(name, typeof(T)) as T; + } + + public void UnloadBundle() + { + bool flag = this.bundle != null; + if (flag) + { + bool enableLog = AssetBundleManager.enableLog; + if (enableLog) + { + XSingleton.singleton.AddLog((string.Concat(new object[] + { + "Unload : ", + this.data.compositeType, + " >> ", + this.bundleName, + "(", + this.data.debugName + }) != null) ? this.data.debugName : ")", null, null, null, null, null, XDebugColor.XDebug_None); + } + this.bundle.Unload(false); + bool flag2 = XSingleton.singleton.ABManager != null; + if (flag2) + { + XSingleton.singleton.ABManager.DeleteBundleCount(); + } + } + this.bundle = null; + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/AssetBundleInfo.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/AssetBundleInfo.cs.meta new file mode 100644 index 00000000..0898b7c7 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/AssetBundleInfo.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: c6407de5f6a327c418493bc9812b8979 +timeCreated: 1611465755 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/AssetBundleLoadProgress.cs b/Client/Assets/Scripts/XUtliPoolLib/AssetBundleLoadProgress.cs new file mode 100644 index 00000000..b745c30a --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/AssetBundleLoadProgress.cs @@ -0,0 +1,15 @@ +using System; + +namespace XUtliPoolLib +{ + public class AssetBundleLoadProgress + { + public float percent; + + public int total; + + public int complete; + + public AssetBundleLoader loader; + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/AssetBundleLoadProgress.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/AssetBundleLoadProgress.cs.meta new file mode 100644 index 00000000..900e1a1f --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/AssetBundleLoadProgress.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 1b7a49bc0218b134fbc13066ecd82e77 +timeCreated: 1611465297 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/AssetBundleLoader.cs b/Client/Assets/Scripts/XUtliPoolLib/AssetBundleLoader.cs new file mode 100644 index 00000000..e9ab225c --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/AssetBundleLoader.cs @@ -0,0 +1,92 @@ +using System; +using UnityEngine; +using XUpdater; + +namespace XUtliPoolLib +{ + public abstract class AssetBundleLoader + { + public virtual bool isComplete + { + get + { + return this.state == LoadState.State_Error || this.state == LoadState.State_Complete; + } + } + + internal AssetBundleManager.LoadAssetCompleteHandler onComplete; + + public int loadHandlerID; + + public uint bundleName; + + public AssetBundleData bundleData; + + public AssetBundleInfo bundleInfo; + + public AssetBundleManager bundleManager; + + public LoadState state = LoadState.State_None; + + protected AssetBundleLoader[] depLoaders; + + public virtual void Load() + { + } + + public virtual void LoadImm() + { + } + + public virtual void LoadBundle() + { + } + + public virtual void LoadBundleImm() + { + } + + protected virtual void Complete() + { + bool flag = this.onComplete != null; + if (flag) + { + AssetBundleManager.LoadAssetCompleteHandler loadAssetCompleteHandler = this.onComplete; + this.onComplete = null; + loadAssetCompleteHandler(this.bundleInfo, this.loadHandlerID); + } + this.bundleManager.LoadComplete(this); + } + + protected virtual void Error() + { + bool flag = this.onComplete != null; + if (flag) + { + AssetBundleManager.LoadAssetCompleteHandler loadAssetCompleteHandler = this.onComplete; + this.onComplete = null; + loadAssetCompleteHandler(this.bundleInfo, this.loadHandlerID); + } + this.bundleManager.LoadError(this); + } + + protected bool UnloadNotLoadingBundle(AssetBundle bundle) + { + bool flag = bundle == null; + bool result; + if (flag) + { + int bundleCount = XSingleton.singleton.ABManager.BundleCount; + XSingleton.singleton.ABManager.UnloadNotUsedLoader(); + Resources.UnloadUnusedAssets(); + XSingleton.singleton.AddErrorLog("AssetBundle Count: ", bundleCount.ToString(), " , ", XSingleton.singleton.ABManager.BundleCount.ToString(), null, null); + result = true; + } + else + { + result = false; + } + return result; + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/AssetBundleLoader.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/AssetBundleLoader.cs.meta new file mode 100644 index 00000000..492beb37 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/AssetBundleLoader.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 6fcfc109308bebc479402a614a4dbba6 +timeCreated: 1611465687 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/AssetBundleManager.cs b/Client/Assets/Scripts/XUtliPoolLib/AssetBundleManager.cs new file mode 100644 index 00000000..5cb6537b --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/AssetBundleManager.cs @@ -0,0 +1,649 @@ +using System; +using System.Collections.Generic; +using System.IO; +using UnityEngine; + +namespace XUtliPoolLib +{ + public class AssetBundleManager : MonoBehaviour + { + public int BundleCount + { + get + { + return this._bundleCount; + } + } + + public AssetBundleDataReader depInfoReader + { + get + { + return this._depInfoReader; + } + } + + public bool isCurrentLoading + { + get + { + return this._isCurrentLoading; + } + } + + public static Version version = new Version(0, 1, 0); + + public static AssetBundleManager Instance; + + public static string NAME = "AssetBundleManager"; + + public static bool enableLog = false; + + private const int MAX_REQUEST = 100; + + private int _requestRemain = 100; + + private Queue _requestQueue = new Queue(); + + private List _currentLoadQueue = new List(); + + private HashSet _nonCompleteLoaderSet = new HashSet(); + + private HashSet _thisTimeLoaderSet = new HashSet(); + + private Dictionary _loadedAssetBundle = new Dictionary(); + + private Dictionary _loaderCache = new Dictionary(); + + private bool _isCurrentLoading; + + private Queue _requestUnloadBundleQueue = new Queue(); + + private AssetBundleLoadProgress _progress = new AssetBundleLoadProgress(); + + public AssetBundleManager.LoadProgressHandler onProgress; + + public AssetBundlePathResolver pathResolver; + + private AssetBundleDataReader _depInfoReader; + + private int _bundleCount = 0; + + private uint _defaultHash = 0u; + + public delegate void LoadAssetCompleteHandler(AssetBundleInfo info, int handlerID); + + public delegate void LoaderCompleteHandler(AssetBundleLoader info); + + public delegate void LoadProgressHandler(AssetBundleLoadProgress progress); + + public AssetBundleManager() + { + AssetBundleManager.Instance = this; + this.pathResolver = new AssetBundlePathResolver(); + this._defaultHash = XSingleton.singleton.XHashLowerRelpaceDot(0u, "Assets.Resources."); + } + + protected void Awake() + { + base.InvokeRepeating("CheckUnusedBundle", 0f, 5f); + } + + public void Init() + { + this.RemoveAll(); + this.LoadDepInfo(); + } + + public void Init(byte[] data, Action callback) + { + bool flag = data.Length > 4; + if (flag) + { + XBinaryReader xbinaryReader = XBinaryReader.Get(); + xbinaryReader.InitByte(data, 0, 0); + bool flag2 = xbinaryReader.ReadChar() == 'A' && xbinaryReader.ReadChar() == 'B' && xbinaryReader.ReadChar() == 'D'; + if (flag2) + { + bool flag3 = xbinaryReader.ReadChar() == 'T'; + if (flag3) + { + this._depInfoReader = new AssetBundleDataReader(); + } + else + { + this._depInfoReader = new AssetBundleDataBinaryReader(); + } + this._depInfoReader.Read(xbinaryReader); + } + XBinaryReader.Return(xbinaryReader, false); + } + bool flag4 = callback != null; + if (flag4) + { + callback(); + } + } + + private void LoadDepInfo() + { + string path = string.Format("{0}/{1}", this.pathResolver.BundleCacheDir, this.pathResolver.DependFileName); + bool flag = File.Exists(path); + if (flag) + { + this.Init(File.ReadAllBytes(path), null); + } + else + { + TextAsset textAsset = Resources.Load("dep"); + bool flag2 = textAsset != null; + if (flag2) + { + this.Init(textAsset.bytes, null); + Resources.UnloadAsset(textAsset); + } + else + { + XSingleton.singleton.AddErrorLog("depFile not exist!", null, null, null, null, null); + } + } + } + + private void OnDestroy() + { + this.RemoveAll(); + } + + public AssetBundleLoader Load(uint hash, string path, string suffix, string prefix = null, AssetBundleManager.LoadAssetCompleteHandler handler = null, int handlerID = -1) + { + bool flag = this.depInfoReader == null; + AssetBundleLoader result; + if (flag) + { + result = null; + } + else + { + AssetBundleLoader assetBundleLoader = this.CreateLoader(hash, path, suffix, prefix); + bool flag2 = assetBundleLoader == null; + if (flag2) + { + result = null; + } + else + { + assetBundleLoader.loadHandlerID = handlerID; + this._thisTimeLoaderSet.Add(assetBundleLoader); + bool isComplete = assetBundleLoader.isComplete; + if (isComplete) + { + bool flag3 = handler != null; + if (flag3) + { + handler(assetBundleLoader.bundleInfo, handlerID); + } + } + else + { + bool flag4 = handler != null; + if (flag4) + { + AssetBundleLoader assetBundleLoader2 = assetBundleLoader; + assetBundleLoader2.onComplete = (AssetBundleManager.LoadAssetCompleteHandler)Delegate.Combine(assetBundleLoader2.onComplete, handler); + } + this._isCurrentLoading = true; + bool flag5 = assetBundleLoader.state < LoadState.State_LoadingAsync; + if (flag5) + { + this._nonCompleteLoaderSet.Add(assetBundleLoader); + } + this.StartLoad(); + } + result = assetBundleLoader; + } + } + return result; + } + + public AssetBundleInfo LoadImm(uint hash, string path, string suffix, string prefix = null) + { + bool flag = this.depInfoReader == null; + AssetBundleInfo result; + if (flag) + { + result = null; + } + else + { + AssetBundleLoader assetBundleLoader = this.CreateLoader(hash, path, suffix, prefix); + bool flag2 = assetBundleLoader == null; + if (flag2) + { + result = null; + } + else + { + this._thisTimeLoaderSet.Add(assetBundleLoader); + bool isComplete = assetBundleLoader.isComplete; + if (isComplete) + { + result = assetBundleLoader.bundleInfo; + } + else + { + this._isCurrentLoading = true; + bool flag3 = assetBundleLoader.state < LoadState.State_Loading; + if (flag3) + { + this._nonCompleteLoaderSet.Add(assetBundleLoader); + } + this.StartLoadImm(); + result = assetBundleLoader.bundleInfo; + } + } + } + return result; + } + + public bool CheckInDep(uint hash) + { + bool flag = this.depInfoReader == null; + return !flag && this._depInfoReader.GetAssetBundleInfo(hash) != null; + } + + internal AssetBundleLoader CreateLoader(uint abFileName, string location = null, string suffix = null, string prefix = null) + { + bool flag = this._loaderCache.ContainsKey(abFileName); + AssetBundleLoader assetBundleLoader; + if (flag) + { + assetBundleLoader = this._loaderCache[abFileName]; + } + else + { + AssetBundleData assetBundleData = this._depInfoReader.GetAssetBundleInfo(abFileName); + bool flag2 = assetBundleData == null; + if (flag2) + { + bool flag3 = prefix != null; + uint num; + if (flag3) + { + num = XSingleton.singleton.XHashLowerRelpaceDot(0u, prefix); + } + else + { + num = this._defaultHash; + } + bool flag4 = location != null; + if (flag4) + { + num = XSingleton.singleton.XHashLowerRelpaceDot(num, location); + } + bool flag5 = suffix != null; + if (flag5) + { + num = XSingleton.singleton.XHashLowerRelpaceDot(num, suffix); + } + assetBundleData = this._depInfoReader.GetAssetBundleInfoByShortName(num); + } + bool flag6 = assetBundleData == null; + if (flag6) + { + return null; + } + assetBundleLoader = this.CreateLoader(); + assetBundleLoader.bundleManager = this; + assetBundleLoader.bundleData = assetBundleData; + assetBundleLoader.bundleName = assetBundleData.fullName; + this._loaderCache[abFileName] = assetBundleLoader; + } + return assetBundleLoader; + } + + protected virtual AssetBundleLoader CreateLoader() + { + RuntimePlatform platform = Application.platform; + AssetBundleLoader result; + if ((int)platform != 8) + { + if ((int)platform != 11) + { + result = new MobileAssetBundleLoader(); + } + else + { + result = new AndroidAssetBundleLoader(); + } + } + else + { + result = new IOSAssetBundleLoader(); + } + return result; + } + + private void StartLoad() + { + bool flag = this._nonCompleteLoaderSet.Count > 0; + if (flag) + { + List list = ListPool.Get(); + list.AddRange(this._nonCompleteLoaderSet); + this._nonCompleteLoaderSet.Clear(); + foreach (AssetBundleLoader item in list) + { + this._currentLoadQueue.Add(item); + } + this._progress = new AssetBundleLoadProgress(); + this._progress.total = this._currentLoadQueue.Count; + foreach (AssetBundleLoader assetBundleLoader in list) + { + assetBundleLoader.Load(); + } + ListPool.Release(list); + } + } + + private void StartLoadImm() + { + bool flag = this._nonCompleteLoaderSet.Count > 0; + if (flag) + { + bool flag2 = this._nonCompleteLoaderSet.Count == 1; + if (flag2) + { + HashSet.Enumerator enumerator = this._nonCompleteLoaderSet.GetEnumerator(); + enumerator.MoveNext(); + this._currentLoadQueue.Add(enumerator.Current); + this._nonCompleteLoaderSet.Clear(); + this._progress.percent = 0f; + this._progress.complete = 0; + this._progress.loader = null; + this._progress.total = this._currentLoadQueue.Count; + enumerator.Current.LoadImm(); + } + else + { + List list = ListPool.Get(); + list.AddRange(this._nonCompleteLoaderSet); + this._nonCompleteLoaderSet.Clear(); + foreach (AssetBundleLoader item in list) + { + this._currentLoadQueue.Add(item); + } + this._progress.percent = 0f; + this._progress.complete = 0; + this._progress.loader = null; + this._progress.total = this._currentLoadQueue.Count; + foreach (AssetBundleLoader assetBundleLoader in list) + { + assetBundleLoader.LoadImm(); + } + ListPool.Release(list); + } + } + } + + public void RemoveAll() + { + this._currentLoadQueue.Clear(); + this._requestQueue.Clear(); + foreach (KeyValuePair keyValuePair in this._loadedAssetBundle) + { + keyValuePair.Value.Dispose(); + } + this._loadedAssetBundle.Clear(); + this._loaderCache.Clear(); + this._requestUnloadBundleQueue.Clear(); + } + + public AssetBundleInfo GetBundleInfo(uint key) + { + foreach (KeyValuePair keyValuePair in this._loadedAssetBundle) + { + AssetBundleInfo value = keyValuePair.Value; + bool flag = value.bundleName == key; + if (flag) + { + return value; + } + } + return null; + } + + internal void RequestLoadBundle(AssetBundleLoader loader) + { + bool flag = this._requestRemain < 0; + if (flag) + { + this._requestRemain = 0; + } + bool flag2 = this._requestRemain == 0; + if (flag2) + { + this._requestQueue.Enqueue(loader); + } + else + { + this.LoadBundle(loader); + } + } + + internal void RequestLoadBundleImm(AssetBundleLoader loader) + { + bool flag = this._requestRemain < 0; + if (flag) + { + this._requestRemain = 0; + } + bool flag2 = this._requestRemain == 0; + if (flag2) + { + this._requestQueue.Enqueue(loader); + } + else + { + this.LoadBundleImm(loader); + } + } + + private void CheckRequestList() + { + while (this._requestRemain > 0 && this._requestQueue.Count > 0) + { + AssetBundleLoader loader = this._requestQueue.Dequeue(); + this.LoadBundle(loader); + } + } + + private void LoadBundle(AssetBundleLoader loader) + { + bool flag = !loader.isComplete; + if (flag) + { + loader.LoadBundle(); + this._requestRemain--; + } + } + + private void LoadBundleImm(AssetBundleLoader loader) + { + bool flag = !loader.isComplete; + if (flag) + { + loader.LoadBundleImm(); + this._requestRemain--; + } + } + + internal void LoadError(AssetBundleLoader loader) + { + this.LoadComplete(loader); + } + + internal void LoadComplete(AssetBundleLoader loader) + { + this._requestRemain++; + this._currentLoadQueue.Remove(loader); + bool flag = this.onProgress != null; + if (flag) + { + this._progress.loader = loader; + this._progress.complete = this._progress.total - this._currentLoadQueue.Count; + this.onProgress(this._progress); + } + bool flag2 = this._currentLoadQueue.Count == 0 && this._nonCompleteLoaderSet.Count == 0; + if (flag2) + { + this._isCurrentLoading = false; + foreach (AssetBundleLoader assetBundleLoader in this._thisTimeLoaderSet) + { + bool flag3 = assetBundleLoader.bundleInfo != null; + if (flag3) + { + assetBundleLoader.bundleInfo.ResetLifeTime(); + } + } + this._thisTimeLoaderSet.Clear(); + } + else + { + this.CheckRequestList(); + } + } + + internal AssetBundleInfo CreateBundleInfo(AssetBundleLoader loader, AssetBundleInfo abi = null, AssetBundle assetBundle = null) + { + bool flag = abi == null; + if (flag) + { + abi = new AssetBundleInfo(); + } + abi.bundleName = loader.bundleName; + abi.bundle = assetBundle; + abi.data = loader.bundleData; + this._loadedAssetBundle[abi.bundleName] = abi; + this._bundleCount++; + return abi; + } + + public void DeleteBundleCount() + { + this._bundleCount--; + } + + internal void RemoveBundleInfo(AssetBundleInfo abi) + { + abi.Dispose(); + this._loadedAssetBundle.Remove(abi.bundleName); + } + + private void CheckUnusedBundle() + { + this.UnloadUnusedBundle(false); + } + + public void UnloadUnusedBundle(bool force = false) + { + bool flag = (!this._isCurrentLoading && !XSingleton.singleton.isCurrentLoading) || force; + bool flag2 = flag; + if (flag2) + { + List list = ListPool.Get(); + list.AddRange(this._loadedAssetBundle.Keys); + int num = force ? 100000 : 20; + int num2 = 0; + bool flag3; + do + { + flag3 = false; + int num3 = 0; + while (num3 < list.Count && flag && num2 < num) + { + uint key = list[num3]; + AssetBundleInfo assetBundleInfo = this._loadedAssetBundle[key]; + bool isUnused = assetBundleInfo.isUnused; + if (isUnused) + { + flag3 = true; + num2++; + this.RemoveBundleInfo(assetBundleInfo); + list.RemoveAt(num3); + num3--; + } + num3++; + } + } + while (flag3 && flag && num2 < num); + ListPool.Release(list); + while (this._requestUnloadBundleQueue.Count > 0 && flag && num2 < num) + { + AssetBundleInfo assetBundleInfo2 = this._requestUnloadBundleQueue.Dequeue(); + bool flag4 = assetBundleInfo2 != null; + if (flag4) + { + assetBundleInfo2.UnloadBundle(); + num2++; + } + } + } + } + + public void UnloadNotUsedLoader() + { + List list = ListPool.Get(); + list.AddRange(this._loadedAssetBundle.Keys); + List list2 = ListPool.Get(); + list2.AddRange(this._nonCompleteLoaderSet); + list2.AddRange(this._currentLoadQueue); + foreach (AssetBundleLoader assetBundleLoader in list2) + { + this.RemoveLoadingLoader(assetBundleLoader.bundleName, list); + } + for (int i = 0; i < list.Count; i++) + { + AssetBundleInfo abi = this._loadedAssetBundle[list[i]]; + this.RemoveBundleInfo(abi); + list.RemoveAt(i); + i--; + } + ListPool.Release(list); + ListPool.Release(list2); + } + + private void RemoveLoadingLoader(uint hash, List list) + { + AssetBundleData assetBundleInfo = this._depInfoReader.GetAssetBundleInfo(hash); + list.Remove(assetBundleInfo.fullName); + bool flag = assetBundleInfo.dependencies != null; + if (flag) + { + for (int i = 0; i < assetBundleInfo.dependencies.Length; i++) + { + this.RemoveLoadingLoader(assetBundleInfo.dependencies[i], list); + } + } + } + + public void AddUnloadBundleQueue(AssetBundleInfo info) + { + this._requestUnloadBundleQueue.Enqueue(info); + bool flag = this._requestUnloadBundleQueue.Count > 3; + if (flag) + { + this.UnloadUnusedBundle(false); + } + } + + public void RemoveBundle(uint key) + { + AssetBundleInfo bundleInfo = this.GetBundleInfo(key); + bool flag = bundleInfo != null; + if (flag) + { + this.RemoveBundleInfo(bundleInfo); + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/AssetBundleManager.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/AssetBundleManager.cs.meta new file mode 100644 index 00000000..c98a5d45 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/AssetBundleManager.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 32f85ade3408d4c419a84ca457709217 +timeCreated: 1611465310 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/AssetBundlePathResolver.cs b/Client/Assets/Scripts/XUtliPoolLib/AssetBundlePathResolver.cs new file mode 100644 index 00000000..6235c1b4 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/AssetBundlePathResolver.cs @@ -0,0 +1,215 @@ +using System; +using System.IO; +using System.Text; +using UnityEngine; +using XUpdater; + +namespace XUtliPoolLib +{ + public class AssetBundlePathResolver + { + public virtual string BundleSaveDirName + { + get + { + return "AssetBundles"; + } + } + + public string AndroidBundleSavePath + { + get + { + return "Assets/StreamingAssets/update/Android/" + this.BundleSaveDirName; + } + } + + public string iOSBundleSavePath + { + get + { + return "Assets/StreamingAssets/update/iOS/" + this.BundleSaveDirName; + } + } + + public string DefaultBundleSavePath + { + get + { + return "Assets/StreamingAssets/update/" + this.BundleSaveDirName; + } + } + + public virtual string AndroidHashCacheSaveFile + { + get + { + return "Assets/AssetBundles/Android/cache.txt"; + } + } + + public virtual string iOSHashCacheSaveFile + { + get + { + return "Assets/AssetBundles/iOS/cache.txt"; + } + } + + public virtual string DefaultHashCacheSaveFile + { + get + { + return "Assets/AssetBundles/cache.txt"; + } + } + + public virtual string DependFileName + { + get + { + return "dep.all"; + } + } + + public virtual string BundleCacheDir + { + get + { + bool flag = this.cacheDir == null; + if (flag) + { + RuntimePlatform platform = Application.platform; + string path; + if ((int)platform != 8) + { + if ((int)platform != 11) + { + XPlatformType xplatformType = XSingleton.singleton.XPlatform.Platfrom(); + XPlatformType xplatformType2 = xplatformType; + if (xplatformType2 != XPlatformType.IOS) + { + if (xplatformType2 != XPlatformType.Android) + { + path = string.Format("{0}/update/AssetBundles", Application.streamingAssetsPath); + } + else + { + path = string.Format("{0}/update/Android/AssetBundles", Application.streamingAssetsPath); + } + } + else + { + path = string.Format("{0}/update/iOS/AssetBundles", Application.streamingAssetsPath); + } + } + else + { + path = string.Format("{0}/update/AssetBundles", Application.persistentDataPath); + } + } + else + { + path = string.Format("{0}/update/AssetBundles", Application.persistentDataPath); + } + this.cacheDir = new DirectoryInfo(path); + bool flag2 = !this.cacheDir.Exists; + if (flag2) + { + this.cacheDir.Create(); + } + } + return this.cacheDir.FullName; + } + } + + public static AssetBundlePathResolver instance; + + private string cachePath = null; + + private string cachePathWWW = null; + + private StringBuilder pathSB = new StringBuilder(); + + private DirectoryInfo cacheDir; + + public AssetBundlePathResolver() + { + AssetBundlePathResolver.instance = this; + } + + public virtual string GetEditorModePath(string abName) + { + abName = abName.Replace(".", "/"); + int num = abName.LastIndexOf("/"); + bool flag = num == -1; + string result; + if (flag) + { + result = abName; + } + else + { + string text = string.Format("{0}.{1}", abName.Substring(0, num), abName.Substring(num + 1)); + result = text; + } + return result; + } + + public virtual string GetBundleSourceFile(string path, bool forWWW = true) + { + if (forWWW) + { + bool flag = this.cachePathWWW == null; + if (flag) + { + RuntimePlatform platform = Application.platform; + if ((int)platform != 8) + { + if ((int)platform != 11) + { + this.cachePathWWW = string.Format("file://{0}/StreamingAssets/update/{1}/", Application.dataPath, this.BundleSaveDirName); + } + else + { + this.cachePathWWW = string.Format("jar:file://{0}!/assets/update/Android/{1}/", Application.dataPath, this.BundleSaveDirName); + } + } + else + { + this.cachePathWWW = string.Format("file://{0}/Raw/update/iOS/{1}/", Application.dataPath, this.BundleSaveDirName); + } + } + this.pathSB.Length = 0; + this.pathSB.Append(this.cachePathWWW); + } + else + { + bool flag2 = this.cachePath == null; + if (flag2) + { + RuntimePlatform platform2 = Application.platform; + if ((int)platform2 != 8) + { + if ((int)platform2 != 11) + { + this.cachePath = string.Format("{0}/StreamingAssets/update/{1}/", Application.dataPath, this.BundleSaveDirName); + } + else + { + this.cachePath = string.Format("{0}!assets/update/Android/{1}/", Application.dataPath, this.BundleSaveDirName); + } + } + else + { + this.cachePath = string.Format("{0}/Raw/update/iOS/{1}/", Application.dataPath, this.BundleSaveDirName); + } + } + this.pathSB.Length = 0; + this.pathSB.Append(this.cachePath); + } + this.pathSB.Append(path); + return this.pathSB.ToString(); + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/AssetBundlePathResolver.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/AssetBundlePathResolver.cs.meta new file mode 100644 index 00000000..0039a151 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/AssetBundlePathResolver.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 1af279aea4ee4604cb29f2aeaad30752 +timeCreated: 1611465297 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/AsyncXNGUILoad.cs b/Client/Assets/Scripts/XUtliPoolLib/AsyncXNGUILoad.cs new file mode 100644 index 00000000..be7b4abf --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/AsyncXNGUILoad.cs @@ -0,0 +1,15 @@ +using System; + +namespace XUtliPoolLib +{ + public sealed class AsyncXNGUILoad + { + public bool IsDone = false; + + public bool HasError = false; + + public float Ratio = 0f; + + public string abFilePath = string.Empty; + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/AsyncXNGUILoad.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/AsyncXNGUILoad.cs.meta new file mode 100644 index 00000000..57263bc8 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/AsyncXNGUILoad.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 96511363ca95fa1419b7298533fbb7cf +timeCreated: 1611465708 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/AttributeEmblem.cs b/Client/Assets/Scripts/XUtliPoolLib/AttributeEmblem.cs new file mode 100644 index 00000000..555f8e5f --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/AttributeEmblem.cs @@ -0,0 +1,48 @@ +using System; + +namespace XUtliPoolLib +{ + public class AttributeEmblem : CVSReader + { + public AttributeEmblem.RowData[] Table = null; + + public class RowData + { + public uint EmblemID; + + public byte Position; + + public byte AttrID; + + public SeqRef Range; + } + + protected override void ReadLine(XBinaryReader reader) + { + AttributeEmblem.RowData rowData = new AttributeEmblem.RowData(); + base.Read(reader, ref rowData.EmblemID, CVSReader.uintParse); + this.columnno = 0; + base.Read(reader, ref rowData.Position, CVSReader.byteParse); + this.columnno = 1; + base.Read(reader, ref rowData.AttrID, CVSReader.byteParse); + this.columnno = 2; + rowData.Range.Read(reader, this.m_DataHandler); + this.columnno = 5; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new AttributeEmblem.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/AttributeEmblem.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/AttributeEmblem.cs.meta new file mode 100644 index 00000000..59fbd890 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/AttributeEmblem.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 2b3c85f3a65e5b44ca5a5629f787e322 +timeCreated: 1611465304 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/AuctionDiscountTable.cs b/Client/Assets/Scripts/XUtliPoolLib/AuctionDiscountTable.cs new file mode 100644 index 00000000..3fe597e8 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/AuctionDiscountTable.cs @@ -0,0 +1,44 @@ +using System; + +namespace XUtliPoolLib +{ + public class AuctionDiscountTable : CVSReader + { + public AuctionDiscountTable.RowData[] Table = null; + + public class RowData + { + public uint Type; + + public uint Group; + + public float Discount; + } + + protected override void ReadLine(XBinaryReader reader) + { + AuctionDiscountTable.RowData rowData = new AuctionDiscountTable.RowData(); + base.Read(reader, ref rowData.Type, CVSReader.uintParse); + this.columnno = 0; + base.Read(reader, ref rowData.Group, CVSReader.uintParse); + this.columnno = 1; + base.Read(reader, ref rowData.Discount, CVSReader.floatParse); + this.columnno = 2; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new AuctionDiscountTable.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/AuctionDiscountTable.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/AuctionDiscountTable.cs.meta new file mode 100644 index 00000000..a8c76893 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/AuctionDiscountTable.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 3ccfa131d991ba249969bf420aa13097 +timeCreated: 1611465632 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/AuctionTypeList.cs b/Client/Assets/Scripts/XUtliPoolLib/AuctionTypeList.cs new file mode 100644 index 00000000..2735830c --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/AuctionTypeList.cs @@ -0,0 +1,44 @@ +using System; + +namespace XUtliPoolLib +{ + public class AuctionTypeList : CVSReader + { + public AuctionTypeList.RowData[] Table = null; + + public class RowData + { + public int id; + + public string name; + + public int pretype; + } + + protected override void ReadLine(XBinaryReader reader) + { + AuctionTypeList.RowData rowData = new AuctionTypeList.RowData(); + base.Read(reader, ref rowData.id, CVSReader.intParse); + this.columnno = 0; + base.Read(reader, ref rowData.name, CVSReader.stringParse); + this.columnno = 1; + base.Read(reader, ref rowData.pretype, CVSReader.intParse); + this.columnno = 2; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new AuctionTypeList.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/AuctionTypeList.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/AuctionTypeList.cs.meta new file mode 100644 index 00000000..12a9f9cd --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/AuctionTypeList.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 8a511ce8a60d0bf4c852168be963eb16 +timeCreated: 1611465699 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/AudioChannel.cs b/Client/Assets/Scripts/XUtliPoolLib/AudioChannel.cs new file mode 100644 index 00000000..42dabd6e --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/AudioChannel.cs @@ -0,0 +1,13 @@ +using System; + +namespace XUtliPoolLib +{ + public enum AudioChannel + { + Motion = 1, + Action, + Skill = 4, + Behit = 8, + SkillCombine = 16 + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/AudioChannel.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/AudioChannel.cs.meta new file mode 100644 index 00000000..e3eab335 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/AudioChannel.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: a868ef371326e0b4c93c6a35aae64fa2 +timeCreated: 1611465738 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/BackflowActivity.cs b/Client/Assets/Scripts/XUtliPoolLib/BackflowActivity.cs new file mode 100644 index 00000000..4062c421 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/BackflowActivity.cs @@ -0,0 +1,121 @@ +using System; + +namespace XUtliPoolLib +{ + public class BackflowActivity : CVSReader + { + public BackflowActivity.RowData[] Table = null; + + public class RowData + { + public uint Type; + + public uint TaskId; + + public SeqRef WorldLevel; + + public uint Point; + } + + public BackflowActivity.RowData GetByTaskId(uint key) + { + bool flag = this.Table == null || this.Table.Length == 0; + BackflowActivity.RowData result; + if (flag) + { + result = null; + } + else + { + result = this.BinarySearchTaskId(key); + } + return result; + } + + private BackflowActivity.RowData BinarySearchTaskId(uint key) + { + int num = 0; + int num2 = this.Table.Length - 1; + BackflowActivity.RowData rowData; + BackflowActivity.RowData rowData2; + BackflowActivity.RowData rowData3; + for (;;) + { + rowData = this.Table[num]; + bool flag = rowData.TaskId == key; + if (flag) + { + break; + } + rowData2 = this.Table[num2]; + bool flag2 = rowData2.TaskId == key; + if (flag2) + { + goto Block_2; + } + bool flag3 = num2 - num <= 1; + if (flag3) + { + goto Block_3; + } + int num3 = num + (num2 - num) / 2; + rowData3 = this.Table[num3]; + bool flag4 = rowData3.TaskId.CompareTo(key) > 0; + if (flag4) + { + num2 = num3; + } + else + { + bool flag5 = rowData3.TaskId.CompareTo(key) < 0; + if (!flag5) + { + goto IL_B1; + } + num = num3; + } + if (num >= num2) + { + goto Block_6; + } + } + return rowData; + Block_2: + return rowData2; + Block_3: + return null; + IL_B1: + return rowData3; + Block_6: + return null; + } + + protected override void ReadLine(XBinaryReader reader) + { + BackflowActivity.RowData rowData = new BackflowActivity.RowData(); + base.Read(reader, ref rowData.Type, CVSReader.uintParse); + this.columnno = 0; + base.Read(reader, ref rowData.TaskId, CVSReader.uintParse); + this.columnno = 1; + rowData.WorldLevel.Read(reader, this.m_DataHandler); + this.columnno = 2; + base.Read(reader, ref rowData.Point, CVSReader.uintParse); + this.columnno = 3; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new BackflowActivity.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/BackflowActivity.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/BackflowActivity.cs.meta new file mode 100644 index 00000000..5a5f895e --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/BackflowActivity.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 6cbabfadfb13aa646becf5079b3585b0 +timeCreated: 1611465685 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/BackflowShop.cs b/Client/Assets/Scripts/XUtliPoolLib/BackflowShop.cs new file mode 100644 index 00000000..92386914 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/BackflowShop.cs @@ -0,0 +1,133 @@ +using System; + +namespace XUtliPoolLib +{ + public class BackflowShop : CVSReader + { + public BackflowShop.RowData[] Table = null; + + public class RowData + { + public uint GoodID; + + public uint ItemID; + + public uint ItemCount; + + public uint CostType; + + public uint CostNum; + + public uint Discount; + + public uint Quality; + } + + public BackflowShop.RowData GetByGoodID(uint key) + { + bool flag = this.Table == null || this.Table.Length == 0; + BackflowShop.RowData result; + if (flag) + { + result = null; + } + else + { + result = this.BinarySearchGoodID(key); + } + return result; + } + + private BackflowShop.RowData BinarySearchGoodID(uint key) + { + int num = 0; + int num2 = this.Table.Length - 1; + BackflowShop.RowData rowData; + BackflowShop.RowData rowData2; + BackflowShop.RowData rowData3; + for (;;) + { + rowData = this.Table[num]; + bool flag = rowData.GoodID == key; + if (flag) + { + break; + } + rowData2 = this.Table[num2]; + bool flag2 = rowData2.GoodID == key; + if (flag2) + { + goto Block_2; + } + bool flag3 = num2 - num <= 1; + if (flag3) + { + goto Block_3; + } + int num3 = num + (num2 - num) / 2; + rowData3 = this.Table[num3]; + bool flag4 = rowData3.GoodID.CompareTo(key) > 0; + if (flag4) + { + num2 = num3; + } + else + { + bool flag5 = rowData3.GoodID.CompareTo(key) < 0; + if (!flag5) + { + goto IL_B1; + } + num = num3; + } + if (num >= num2) + { + goto Block_6; + } + } + return rowData; + Block_2: + return rowData2; + Block_3: + return null; + IL_B1: + return rowData3; + Block_6: + return null; + } + + protected override void ReadLine(XBinaryReader reader) + { + BackflowShop.RowData rowData = new BackflowShop.RowData(); + base.Read(reader, ref rowData.GoodID, CVSReader.uintParse); + this.columnno = 0; + base.Read(reader, ref rowData.ItemID, CVSReader.uintParse); + this.columnno = 1; + base.Read(reader, ref rowData.ItemCount, CVSReader.uintParse); + this.columnno = 2; + base.Read(reader, ref rowData.CostType, CVSReader.uintParse); + this.columnno = 3; + base.Read(reader, ref rowData.CostNum, CVSReader.uintParse); + this.columnno = 4; + base.Read(reader, ref rowData.Discount, CVSReader.uintParse); + this.columnno = 5; + base.Read(reader, ref rowData.Quality, CVSReader.uintParse); + this.columnno = 10; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new BackflowShop.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/BackflowShop.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/BackflowShop.cs.meta new file mode 100644 index 00000000..dd8397a7 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/BackflowShop.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: b08f6d0098e57634a83014e66a5d1ce2 +timeCreated: 1611465744 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/BagExpandItemListTable.cs b/Client/Assets/Scripts/XUtliPoolLib/BagExpandItemListTable.cs new file mode 100644 index 00000000..d655b48a --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/BagExpandItemListTable.cs @@ -0,0 +1,90 @@ +using System; + +namespace XUtliPoolLib +{ + public class BagExpandItemListTable : CVSReader + { + public BagExpandItemListTable.RowData[] Table = null; + + public class RowData + { + public uint ItemId; + + public uint Type; + + public SeqListRef NeedAndOpen; + } + + public BagExpandItemListTable.RowData GetByItemId(uint key) + { + bool flag = this.Table == null || this.Table.Length == 0; + BagExpandItemListTable.RowData result; + if (flag) + { + result = null; + } + else + { + for (int i = 0; i < this.Table.Length; i++) + { + bool flag2 = this.Table[i].ItemId == key; + if (flag2) + { + return this.Table[i]; + } + } + result = null; + } + return result; + } + + public BagExpandItemListTable.RowData GetByType(uint key) + { + bool flag = this.Table == null || this.Table.Length == 0; + BagExpandItemListTable.RowData result; + if (flag) + { + result = null; + } + else + { + for (int i = 0; i < this.Table.Length; i++) + { + bool flag2 = this.Table[i].Type == key; + if (flag2) + { + return this.Table[i]; + } + } + result = null; + } + return result; + } + + protected override void ReadLine(XBinaryReader reader) + { + BagExpandItemListTable.RowData rowData = new BagExpandItemListTable.RowData(); + base.Read(reader, ref rowData.ItemId, CVSReader.uintParse); + this.columnno = 0; + base.Read(reader, ref rowData.Type, CVSReader.uintParse); + this.columnno = 1; + rowData.NeedAndOpen.Read(reader, this.m_DataHandler); + this.columnno = 2; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new BagExpandItemListTable.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/BagExpandItemListTable.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/BagExpandItemListTable.cs.meta new file mode 100644 index 00000000..9884441c --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/BagExpandItemListTable.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: ab308b9690a2a3949a240676574ef1cf +timeCreated: 1611465741 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/BattleFieldPointReward.cs b/Client/Assets/Scripts/XUtliPoolLib/BattleFieldPointReward.cs new file mode 100644 index 00000000..a811f8aa --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/BattleFieldPointReward.cs @@ -0,0 +1,56 @@ +using System; + +namespace XUtliPoolLib +{ + public class BattleFieldPointReward : CVSReader + { + public BattleFieldPointReward.RowData[] Table = null; + + public class RowData + { + public SeqRef levelrange; + + public int point; + + public SeqListRef reward; + + public uint id; + + public uint count; + + public SeqRef pointseg; + } + + protected override void ReadLine(XBinaryReader reader) + { + BattleFieldPointReward.RowData rowData = new BattleFieldPointReward.RowData(); + rowData.levelrange.Read(reader, this.m_DataHandler); + this.columnno = 0; + base.Read(reader, ref rowData.point, CVSReader.intParse); + this.columnno = 1; + rowData.reward.Read(reader, this.m_DataHandler); + this.columnno = 2; + base.Read(reader, ref rowData.id, CVSReader.uintParse); + this.columnno = 3; + base.Read(reader, ref rowData.count, CVSReader.uintParse); + this.columnno = 4; + rowData.pointseg.Read(reader, this.m_DataHandler); + this.columnno = 5; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new BattleFieldPointReward.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/BattleFieldPointReward.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/BattleFieldPointReward.cs.meta new file mode 100644 index 00000000..ea9180c2 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/BattleFieldPointReward.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 66a77bb439e9dfa4b9e7eb195551630e +timeCreated: 1611465683 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/BeforeUnityUnLoadResource.cs b/Client/Assets/Scripts/XUtliPoolLib/BeforeUnityUnLoadResource.cs new file mode 100644 index 00000000..afedc2ac --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/BeforeUnityUnLoadResource.cs @@ -0,0 +1,6 @@ +using System; + +namespace XUtliPoolLib +{ + public delegate void BeforeUnityUnLoadResource(); +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/BeforeUnityUnLoadResource.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/BeforeUnityUnLoadResource.cs.meta new file mode 100644 index 00000000..c2e83f56 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/BeforeUnityUnLoadResource.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 733d902fdf0888a4e878403d1664c081 +timeCreated: 1611465688 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/BigMeleePointReward.cs b/Client/Assets/Scripts/XUtliPoolLib/BigMeleePointReward.cs new file mode 100644 index 00000000..16b2c105 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/BigMeleePointReward.cs @@ -0,0 +1,44 @@ +using System; + +namespace XUtliPoolLib +{ + public class BigMeleePointReward : CVSReader + { + public BigMeleePointReward.RowData[] Table = null; + + public class RowData + { + public SeqRef levelrange; + + public int point; + + public SeqListRef reward; + } + + protected override void ReadLine(XBinaryReader reader) + { + BigMeleePointReward.RowData rowData = new BigMeleePointReward.RowData(); + rowData.levelrange.Read(reader, this.m_DataHandler); + this.columnno = 0; + base.Read(reader, ref rowData.point, CVSReader.intParse); + this.columnno = 1; + rowData.reward.Read(reader, this.m_DataHandler); + this.columnno = 2; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new BigMeleePointReward.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/BigMeleePointReward.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/BigMeleePointReward.cs.meta new file mode 100644 index 00000000..478c8637 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/BigMeleePointReward.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 5bc40fbc730316840af20d3206bb77fb +timeCreated: 1611465649 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/BigMeleeRankReward.cs b/Client/Assets/Scripts/XUtliPoolLib/BigMeleeRankReward.cs new file mode 100644 index 00000000..42fb454e --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/BigMeleeRankReward.cs @@ -0,0 +1,44 @@ +using System; + +namespace XUtliPoolLib +{ + public class BigMeleeRankReward : CVSReader + { + public BigMeleeRankReward.RowData[] Table = null; + + public class RowData + { + public SeqRef levelrange; + + public SeqRef rank; + + public SeqListRef reward; + } + + protected override void ReadLine(XBinaryReader reader) + { + BigMeleeRankReward.RowData rowData = new BigMeleeRankReward.RowData(); + rowData.levelrange.Read(reader, this.m_DataHandler); + this.columnno = 0; + rowData.rank.Read(reader, this.m_DataHandler); + this.columnno = 1; + rowData.reward.Read(reader, this.m_DataHandler); + this.columnno = 2; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new BigMeleeRankReward.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/BigMeleeRankReward.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/BigMeleeRankReward.cs.meta new file mode 100644 index 00000000..c5baec73 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/BigMeleeRankReward.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 0b0e43b372f44d444aab8de3f3ecadc0 +timeCreated: 1611465287 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/BlockInfo.cs b/Client/Assets/Scripts/XUtliPoolLib/BlockInfo.cs new file mode 100644 index 00000000..10f8f38b --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/BlockInfo.cs @@ -0,0 +1,17 @@ +using System; + +namespace XUtliPoolLib +{ + public struct BlockInfo + { + public int size; + + public int count; + + public BlockInfo(int s, int c) + { + this.size = s; + this.count = c; + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/BlockInfo.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/BlockInfo.cs.meta new file mode 100644 index 00000000..6e0976e0 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/BlockInfo.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 055ad89eecb723c42a47284e738d0d3e +timeCreated: 1611465285 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/BossRushBuffTable.cs b/Client/Assets/Scripts/XUtliPoolLib/BossRushBuffTable.cs new file mode 100644 index 00000000..b6a585eb --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/BossRushBuffTable.cs @@ -0,0 +1,75 @@ +using System; + +namespace XUtliPoolLib +{ + public class BossRushBuffTable : CVSReader + { + public BossRushBuffTable.RowData[] Table = null; + + public class RowData + { + public int BossRushBuffID; + + public float RewardBuff; + + public string icon; + + public int Quality; + + public string Comment; + } + + public BossRushBuffTable.RowData GetByBossRushBuffID(int key) + { + bool flag = this.Table == null || this.Table.Length == 0; + BossRushBuffTable.RowData result; + if (flag) + { + result = null; + } + else + { + for (int i = 0; i < this.Table.Length; i++) + { + bool flag2 = this.Table[i].BossRushBuffID == key; + if (flag2) + { + return this.Table[i]; + } + } + result = null; + } + return result; + } + + protected override void ReadLine(XBinaryReader reader) + { + BossRushBuffTable.RowData rowData = new BossRushBuffTable.RowData(); + base.Read(reader, ref rowData.BossRushBuffID, CVSReader.intParse); + this.columnno = 0; + base.Read(reader, ref rowData.RewardBuff, CVSReader.floatParse); + this.columnno = 2; + base.Read(reader, ref rowData.icon, CVSReader.stringParse); + this.columnno = 4; + base.Read(reader, ref rowData.Quality, CVSReader.intParse); + this.columnno = 5; + base.Read(reader, ref rowData.Comment, CVSReader.stringParse); + this.columnno = 6; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new BossRushBuffTable.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/BossRushBuffTable.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/BossRushBuffTable.cs.meta new file mode 100644 index 00000000..1bdf907d --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/BossRushBuffTable.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 21ee68ff278b34f419a0431d7f686a52 +timeCreated: 1611465299 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/BossRushTable.cs b/Client/Assets/Scripts/XUtliPoolLib/BossRushTable.cs new file mode 100644 index 00000000..0ea011e7 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/BossRushTable.cs @@ -0,0 +1,125 @@ +using System; + +namespace XUtliPoolLib +{ + public class BossRushTable : CVSReader + { + public BossRushTable.RowData[] Table = null; + + public class RowData + { + public int bossid; + + public byte[] bossdifficult; + + public string bosstip; + + public short qniqueid; + + public SeqListRef reward; + } + + public BossRushTable.RowData GetByqniqueid(short key) + { + bool flag = this.Table == null || this.Table.Length == 0; + BossRushTable.RowData result; + if (flag) + { + result = null; + } + else + { + result = this.BinarySearchqniqueid(key); + } + return result; + } + + private BossRushTable.RowData BinarySearchqniqueid(short key) + { + int num = 0; + int num2 = this.Table.Length - 1; + BossRushTable.RowData rowData; + BossRushTable.RowData rowData2; + BossRushTable.RowData rowData3; + for (;;) + { + rowData = this.Table[num]; + bool flag = rowData.qniqueid == key; + if (flag) + { + break; + } + rowData2 = this.Table[num2]; + bool flag2 = rowData2.qniqueid == key; + if (flag2) + { + goto Block_2; + } + bool flag3 = num2 - num <= 1; + if (flag3) + { + goto Block_3; + } + int num3 = num + (num2 - num) / 2; + rowData3 = this.Table[num3]; + bool flag4 = rowData3.qniqueid.CompareTo(key) > 0; + if (flag4) + { + num2 = num3; + } + else + { + bool flag5 = rowData3.qniqueid.CompareTo(key) < 0; + if (!flag5) + { + goto IL_B1; + } + num = num3; + } + if (num >= num2) + { + goto Block_6; + } + } + return rowData; + Block_2: + return rowData2; + Block_3: + return null; + IL_B1: + return rowData3; + Block_6: + return null; + } + + protected override void ReadLine(XBinaryReader reader) + { + BossRushTable.RowData rowData = new BossRushTable.RowData(); + base.Read(reader, ref rowData.bossid, CVSReader.intParse); + this.columnno = 0; + base.ReadArray(reader, ref rowData.bossdifficult, CVSReader.byteParse); + this.columnno = 2; + base.Read(reader, ref rowData.bosstip, CVSReader.stringParse); + this.columnno = 7; + base.Read(reader, ref rowData.qniqueid, CVSReader.shortParse); + this.columnno = 10; + rowData.reward.Read(reader, this.m_DataHandler); + this.columnno = 12; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new BossRushTable.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/BossRushTable.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/BossRushTable.cs.meta new file mode 100644 index 00000000..4e3342b7 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/BossRushTable.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 124ba28273a4ce34789319c70e95d21e +timeCreated: 1611465291 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/BuffTable.cs b/Client/Assets/Scripts/XUtliPoolLib/BuffTable.cs new file mode 100644 index 00000000..733f312d --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/BuffTable.cs @@ -0,0 +1,248 @@ +using System; + +namespace XUtliPoolLib +{ + public class BuffTable : CVSReader + { + public BuffTable.RowData[] Table = null; + + public class RowData + { + public int BuffID; + + public byte BuffLevel; + + public float BuffDuration; + + public SeqListRef BuffChangeAttribute; + + public byte[] BuffState; + + public byte BuffMergeType; + + public short TargetType; + + public string BuffIcon; + + public SeqListRef BuffDOT; + + public string BuffFx; + + public string BuffDoodadFx; + + public string BuffName; + + public byte BuffTriggerCond; + + public float BuffTriggerRate; + + public string[] BuffTriggerParam; + + public SeqListRef BuffTriggerBuff; + + public float CostModify; + + public float BuffTriggerCD; + + public SeqListRef AuraAddBuffID; + + public bool BuffIsVisible; + + public string BuffEffectFx; + + public float[] AuraParams; + + public SeqListRef DamageReduce; + + public bool DontShowText; + + public short[] EffectGroup; + + public SeqListRef BuffDOTValueFromCaster; + + public SeqRef ChangeDamage; + + public byte BuffClearType; + + public byte[] ClearTypes; + + public float DamageReflection; + + public uint MobID; + + public SeqRef BuffHP; + + public byte StackMaxCount; + + public short ChangeFightGroup; + + public byte BuffTriggerCount; + + public SeqRef LifeSteal; + + public SeqListRef ReduceSkillCD; + + public int StateParam; + + public bool IsGlobalTrigger; + + public byte[] Tags; + + public string BuffSpriteFx; + + public string MiniMapIcon; + + public string BuffTriggerSkill; + + public SeqListRef ChangeSkillDamage; + + public byte[] SceneEffect; + + public SeqListRef TargetLifeAddAttack; + + public SeqRef AIEvent; + + public string[] RelevantSkills; + + public bool IsTriggerImm; + + public float[] Manipulate; + + public SeqListRef SkillsReplace; + + public SeqListRef SelfLifeAddAttack; + + public SeqListRef ChangeCastDamageByDistance; + + public short Kill; + } + + protected override void ReadLine(XBinaryReader reader) + { + BuffTable.RowData rowData = new BuffTable.RowData(); + base.Read(reader, ref rowData.BuffID, CVSReader.intParse); + this.columnno = 0; + base.Read(reader, ref rowData.BuffLevel, CVSReader.byteParse); + this.columnno = 1; + base.Read(reader, ref rowData.BuffDuration, CVSReader.floatParse); + this.columnno = 2; + rowData.BuffChangeAttribute.Read(reader, this.m_DataHandler); + this.columnno = 3; + base.ReadArray(reader, ref rowData.BuffState, CVSReader.byteParse); + this.columnno = 4; + base.Read(reader, ref rowData.BuffMergeType, CVSReader.byteParse); + this.columnno = 5; + base.Read(reader, ref rowData.TargetType, CVSReader.shortParse); + this.columnno = 6; + base.Read(reader, ref rowData.BuffIcon, CVSReader.stringParse); + this.columnno = 7; + rowData.BuffDOT.Read(reader, this.m_DataHandler); + this.columnno = 8; + base.Read(reader, ref rowData.BuffFx, CVSReader.stringParse); + this.columnno = 9; + base.Read(reader, ref rowData.BuffDoodadFx, CVSReader.stringParse); + this.columnno = 10; + base.Read(reader, ref rowData.BuffName, CVSReader.stringParse); + this.columnno = 11; + base.Read(reader, ref rowData.BuffTriggerCond, CVSReader.byteParse); + this.columnno = 12; + base.Read(reader, ref rowData.BuffTriggerRate, CVSReader.floatParse); + this.columnno = 13; + base.ReadArray(reader, ref rowData.BuffTriggerParam, CVSReader.stringParse); + this.columnno = 14; + rowData.BuffTriggerBuff.Read(reader, this.m_DataHandler); + this.columnno = 15; + base.Read(reader, ref rowData.CostModify, CVSReader.floatParse); + this.columnno = 16; + base.Read(reader, ref rowData.BuffTriggerCD, CVSReader.floatParse); + this.columnno = 18; + rowData.AuraAddBuffID.Read(reader, this.m_DataHandler); + this.columnno = 19; + base.Read(reader, ref rowData.BuffIsVisible, CVSReader.boolParse); + this.columnno = 20; + base.Read(reader, ref rowData.BuffEffectFx, CVSReader.stringParse); + this.columnno = 21; + base.ReadArray(reader, ref rowData.AuraParams, CVSReader.floatParse); + this.columnno = 22; + rowData.DamageReduce.Read(reader, this.m_DataHandler); + this.columnno = 23; + base.Read(reader, ref rowData.DontShowText, CVSReader.boolParse); + this.columnno = 24; + base.ReadArray(reader, ref rowData.EffectGroup, CVSReader.shortParse); + this.columnno = 25; + rowData.BuffDOTValueFromCaster.Read(reader, this.m_DataHandler); + this.columnno = 26; + rowData.ChangeDamage.Read(reader, this.m_DataHandler); + this.columnno = 27; + base.Read(reader, ref rowData.BuffClearType, CVSReader.byteParse); + this.columnno = 28; + base.ReadArray(reader, ref rowData.ClearTypes, CVSReader.byteParse); + this.columnno = 29; + base.Read(reader, ref rowData.DamageReflection, CVSReader.floatParse); + this.columnno = 30; + base.Read(reader, ref rowData.MobID, CVSReader.uintParse); + this.columnno = 31; + rowData.BuffHP.Read(reader, this.m_DataHandler); + this.columnno = 32; + base.Read(reader, ref rowData.StackMaxCount, CVSReader.byteParse); + this.columnno = 33; + base.Read(reader, ref rowData.ChangeFightGroup, CVSReader.shortParse); + this.columnno = 34; + base.Read(reader, ref rowData.BuffTriggerCount, CVSReader.byteParse); + this.columnno = 35; + rowData.LifeSteal.Read(reader, this.m_DataHandler); + this.columnno = 36; + rowData.ReduceSkillCD.Read(reader, this.m_DataHandler); + this.columnno = 37; + base.Read(reader, ref rowData.StateParam, CVSReader.intParse); + this.columnno = 38; + base.Read(reader, ref rowData.IsGlobalTrigger, CVSReader.boolParse); + this.columnno = 39; + base.ReadArray(reader, ref rowData.Tags, CVSReader.byteParse); + this.columnno = 40; + base.Read(reader, ref rowData.BuffSpriteFx, CVSReader.stringParse); + this.columnno = 41; + base.Read(reader, ref rowData.MiniMapIcon, CVSReader.stringParse); + this.columnno = 42; + base.Read(reader, ref rowData.BuffTriggerSkill, CVSReader.stringParse); + this.columnno = 43; + rowData.ChangeSkillDamage.Read(reader, this.m_DataHandler); + this.columnno = 44; + base.ReadArray(reader, ref rowData.SceneEffect, CVSReader.byteParse); + this.columnno = 45; + rowData.TargetLifeAddAttack.Read(reader, this.m_DataHandler); + this.columnno = 46; + rowData.AIEvent.Read(reader, this.m_DataHandler); + this.columnno = 47; + base.ReadArray(reader, ref rowData.RelevantSkills, CVSReader.stringParse); + this.columnno = 48; + base.Read(reader, ref rowData.IsTriggerImm, CVSReader.boolParse); + this.columnno = 49; + base.ReadArray(reader, ref rowData.Manipulate, CVSReader.floatParse); + this.columnno = 50; + rowData.SkillsReplace.Read(reader, this.m_DataHandler); + this.columnno = 51; + rowData.SelfLifeAddAttack.Read(reader, this.m_DataHandler); + this.columnno = 52; + rowData.ChangeCastDamageByDistance.Read(reader, this.m_DataHandler); + this.columnno = 53; + base.Read(reader, ref rowData.Kill, CVSReader.shortParse); + this.columnno = 54; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new BuffTable.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/BuffTable.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/BuffTable.cs.meta new file mode 100644 index 00000000..8db189ce --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/BuffTable.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 3e3c52a97ad7da845bf22a12479596ff +timeCreated: 1611465633 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/BufferBlock.cs b/Client/Assets/Scripts/XUtliPoolLib/BufferBlock.cs new file mode 100644 index 00000000..68ac700a --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/BufferBlock.cs @@ -0,0 +1,17 @@ +using System; + +namespace XUtliPoolLib +{ + public struct BufferBlock + { + public int offset; + + public int size; + + public int capacity; + + public int blockIndex; + + public bool inUse; + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/BufferBlock.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/BufferBlock.cs.meta new file mode 100644 index 00000000..e1eadb98 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/BufferBlock.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 115d8f1d7d985ff41b908e9f34835b0f +timeCreated: 1611465291 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/BufferPoolMgr.cs b/Client/Assets/Scripts/XUtliPoolLib/BufferPoolMgr.cs new file mode 100644 index 00000000..b97e7f3c --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/BufferPoolMgr.cs @@ -0,0 +1,63 @@ +using System; + +namespace XUtliPoolLib +{ + public class BufferPoolMgr : XSingleton + { + private SmallBufferPool m_UIntSmallBufferPool = new SmallBufferPool(); + + private SmallBufferPool m_ObjSmallBufferPool = new SmallBufferPool(); + + public static int TotalCount = 0; + + public static int AllocSize = 0; + + public BlockInfo[] uintBlockInit = new BlockInfo[] + { + new BlockInfo(4, 512), + new BlockInfo(8, 512), + new BlockInfo(16, 512), + new BlockInfo(32, 512), + new BlockInfo(64, 512), + new BlockInfo(256, 128), + new BlockInfo(512, 128) + }; + + public BlockInfo[] objBlockInit = new BlockInfo[] + { + new BlockInfo(8, 512), + new BlockInfo(16, 512), + new BlockInfo(32, 512), + new BlockInfo(64, 512), + new BlockInfo(256, 128), + new BlockInfo(512, 128) + }; + + public override bool Init() + { + this.m_UIntSmallBufferPool.Init(this.uintBlockInit, 4); + this.m_ObjSmallBufferPool.Init(this.objBlockInit, 4); + return true; + } + + public void GetSmallBuffer(ref SmallBuffer sb, int size, int initSize = 0) + { + this.m_UIntSmallBufferPool.GetBlock(ref sb, size, 0); + } + + public void ReturnSmallBuffer(ref SmallBuffer sb) + { + this.m_UIntSmallBufferPool.ReturnBlock(ref sb); + } + + public void GetSmallBuffer(ref SmallBuffer sb, int size, int initSize = 0) + { + this.m_ObjSmallBufferPool.GetBlock(ref sb, size, 0); + } + + public void ReturnSmallBuffer(ref SmallBuffer sb) + { + this.m_ObjSmallBufferPool.ReturnBlock(ref sb); + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/BufferPoolMgr.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/BufferPoolMgr.cs.meta new file mode 100644 index 00000000..ca861cd8 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/BufferPoolMgr.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: be2fd01d85787fd419c413b580dd0768 +timeCreated: 1611465751 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/BuyDragonCoin.cs b/Client/Assets/Scripts/XUtliPoolLib/BuyDragonCoin.cs new file mode 100644 index 00000000..d4dbbbd0 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/BuyDragonCoin.cs @@ -0,0 +1,40 @@ +using System; + +namespace XUtliPoolLib +{ + public class BuyDragonCoin : CVSReader + { + public BuyDragonCoin.RowData[] Table = null; + + public class RowData + { + public long DragonCoin; + + public int[] DiamondCost; + } + + protected override void ReadLine(XBinaryReader reader) + { + BuyDragonCoin.RowData rowData = new BuyDragonCoin.RowData(); + base.Read(reader, ref rowData.DragonCoin, CVSReader.longParse); + this.columnno = 1; + base.ReadArray(reader, ref rowData.DiamondCost, CVSReader.intParse); + this.columnno = 2; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new BuyDragonCoin.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/BuyDragonCoin.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/BuyDragonCoin.cs.meta new file mode 100644 index 00000000..e38fdfdc --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/BuyDragonCoin.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: e9d7d40bf1cf5c94ca75513232bc8668 +timeCreated: 1611465803 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/BuyFatigueTable.cs b/Client/Assets/Scripts/XUtliPoolLib/BuyFatigueTable.cs new file mode 100644 index 00000000..dfe1091a --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/BuyFatigueTable.cs @@ -0,0 +1,48 @@ +using System; + +namespace XUtliPoolLib +{ + public class BuyFatigueTable : CVSReader + { + public BuyFatigueTable.RowData[] Table = null; + + public class RowData + { + public int FatigueID; + + public int Value; + + public int[] DragonCoinCost; + + public int[] DiamondCost; + } + + protected override void ReadLine(XBinaryReader reader) + { + BuyFatigueTable.RowData rowData = new BuyFatigueTable.RowData(); + base.Read(reader, ref rowData.FatigueID, CVSReader.intParse); + this.columnno = 0; + base.Read(reader, ref rowData.Value, CVSReader.intParse); + this.columnno = 1; + base.ReadArray(reader, ref rowData.DragonCoinCost, CVSReader.intParse); + this.columnno = 2; + base.ReadArray(reader, ref rowData.DiamondCost, CVSReader.intParse); + this.columnno = 3; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new BuyFatigueTable.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/BuyFatigueTable.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/BuyFatigueTable.cs.meta new file mode 100644 index 00000000..7b87c552 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/BuyFatigueTable.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 31abe1f0b7d47f247adfe41e852d0d54 +timeCreated: 1611465309 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/BuyGoldTable.cs b/Client/Assets/Scripts/XUtliPoolLib/BuyGoldTable.cs new file mode 100644 index 00000000..24214058 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/BuyGoldTable.cs @@ -0,0 +1,44 @@ +using System; + +namespace XUtliPoolLib +{ + public class BuyGoldTable : CVSReader + { + public BuyGoldTable.RowData[] Table = null; + + public class RowData + { + public long Gold; + + public int[] DragonCoinCost; + + public int[] DiamondCost; + } + + protected override void ReadLine(XBinaryReader reader) + { + BuyGoldTable.RowData rowData = new BuyGoldTable.RowData(); + base.Read(reader, ref rowData.Gold, CVSReader.longParse); + this.columnno = 1; + base.ReadArray(reader, ref rowData.DragonCoinCost, CVSReader.intParse); + this.columnno = 2; + base.ReadArray(reader, ref rowData.DiamondCost, CVSReader.intParse); + this.columnno = 3; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new BuyGoldTable.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/BuyGoldTable.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/BuyGoldTable.cs.meta new file mode 100644 index 00000000..ab56df03 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/BuyGoldTable.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 704fe6e233305e641946b139af764969 +timeCreated: 1611465687 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/CVSReader.cs b/Client/Assets/Scripts/XUtliPoolLib/CVSReader.cs new file mode 100644 index 00000000..573afd35 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/CVSReader.cs @@ -0,0 +1,389 @@ +using System; +using System.IO; + +namespace XUtliPoolLib +{ + public abstract class CVSReader + { + public string error + { + get + { + return " line: " + this.lineno.ToString() + " column: " + this.columnno.ToString(); + } + } + + protected static CVSReader.FloatParse floatParse = new CVSReader.FloatParse(); + + protected static CVSReader.DoubleParse doubleParse = new CVSReader.DoubleParse(); + + protected static CVSReader.UIntParse uintParse = new CVSReader.UIntParse(); + + protected static CVSReader.IntParse intParse = new CVSReader.IntParse(); + + protected static CVSReader.LongParse longParse = new CVSReader.LongParse(); + + protected static CVSReader.StringParse stringParse = new CVSReader.StringParse(); + + protected static CVSReader.BoolParse boolParse = new CVSReader.BoolParse(); + + protected static CVSReader.ByteParse byteParse = new CVSReader.ByteParse(); + + protected static CVSReader.ShortParse shortParse = new CVSReader.ShortParse(); + + public int lineno = -1; + + public int columnno = -1; + + protected DataHandler m_DataHandler = null; + + public abstract class ValueParse + { + public abstract T[] GetBuffer(DataHandler dh); + + public abstract void Read(XBinaryReader stream, ref T t, CVSReader reader); + } + + public sealed class UIntParse : CVSReader.ValueParse + { + public override uint[] GetBuffer(DataHandler dh) + { + return dh.uintBuffer; + } + + public override void Read(XBinaryReader stream, ref uint t, CVSReader reader) + { + t = stream.ReadUInt32(); + } + } + + public sealed class IntParse : CVSReader.ValueParse + { + public override int[] GetBuffer(DataHandler dh) + { + return dh.intBuffer; + } + + public override void Read(XBinaryReader stream, ref int t, CVSReader reader) + { + t = stream.ReadInt32(); + } + } + + public sealed class LongParse : CVSReader.ValueParse + { + public override long[] GetBuffer(DataHandler dh) + { + return dh.longBuffer; + } + + public override void Read(XBinaryReader stream, ref long t, CVSReader reader) + { + t = stream.ReadInt64(); + } + } + + public sealed class FloatParse : CVSReader.ValueParse + { + public override float[] GetBuffer(DataHandler dh) + { + return dh.floatBuffer; + } + + public override void Read(XBinaryReader stream, ref float t, CVSReader reader) + { + t = stream.ReadSingle(); + } + } + + public sealed class DoubleParse : CVSReader.ValueParse + { + public override double[] GetBuffer(DataHandler dh) + { + return dh.doubleBuffer; + } + + public override void Read(XBinaryReader stream, ref double t, CVSReader reader) + { + t = stream.ReadDouble(); + } + } + + public sealed class StringParse : CVSReader.ValueParse + { + public override string[] GetBuffer(DataHandler dh) + { + return dh.stringBuffer; + } + + public override void Read(XBinaryReader stream, ref string t, CVSReader reader) + { + bool flag = reader.m_DataHandler != null; + if (flag) + { + t = reader.m_DataHandler.ReadString(stream); + } + else + { + t = string.Intern(stream.ReadString(-1)); + } + } + } + + public sealed class BoolParse : CVSReader.ValueParse + { + public override bool[] GetBuffer(DataHandler dh) + { + return null; + } + + public override void Read(XBinaryReader stream, ref bool t, CVSReader reader) + { + t = stream.ReadBoolean(); + } + } + + public sealed class ByteParse : CVSReader.ValueParse + { + public override byte[] GetBuffer(DataHandler dh) + { + return null; + } + + public override void Read(XBinaryReader stream, ref byte t, CVSReader reader) + { + t = stream.ReadByte(); + } + } + + public sealed class ShortParse : CVSReader.ValueParse + { + public short[] buffer = null; + + public override short[] GetBuffer(DataHandler dh) + { + return null; + } + + public override void Read(XBinaryReader stream, ref short t, CVSReader reader) + { + t = stream.ReadInt16(); + } + } + + public delegate int RowDataCompare(Trowdata rowData, Ttype key); + + public static void Init() + { + SeqRef.parser = CVSReader.stringParse; + SeqRef.parser = CVSReader.intParse; + SeqRef.parser = CVSReader.uintParse; + SeqRef.parser = CVSReader.longParse; + SeqRef.parser = CVSReader.floatParse; + SeqRef.parser = CVSReader.doubleParse; + SeqListRef.parser = CVSReader.stringParse; + SeqListRef.parser = CVSReader.intParse; + SeqListRef.parser = CVSReader.uintParse; + SeqListRef.parser = CVSReader.longParse; + SeqListRef.parser = CVSReader.floatParse; + SeqListRef.parser = CVSReader.doubleParse; + } + + public CVSReader() + { + this.lineno = 1; + } + + public bool ReadFile(XBinaryReader reader) + { + this.lineno = 0; + this.columnno = -1; + int num = reader.ReadInt32(); + int num2 = reader.ReadInt32(); + this.OnClear(num2); + this.m_DataHandler = new DataHandler(); + this.m_DataHandler.Init(reader); + byte b = reader.ReadByte(); + for (int i = 0; i < (int)b; i++) + { + byte b2 = reader.ReadByte(); + byte b3 = reader.ReadByte(); + } + for (int j = 0; j < num2; j++) + { + int num3 = reader.ReadInt32(); + int position = reader.GetPosition(); + this.ReadLine(reader); + int position2 = reader.GetPosition(); + int num4 = position2 - position; + bool flag = num3 > num4; + if (flag) + { + reader.Seek(num3 - num4, SeekOrigin.Current); + } + else + { + bool flag2 = num3 < num4; + if (flag2) + { + XSingleton.singleton.AddErrorLog2("read table error:{0} line:{1} column:{2}", new object[] + { + base.GetType().Name, + this.lineno + 1, + this.columnno + }); + break; + } + } + this.lineno++; + bool flag3 = this.columnno > 0; + if (flag3) + { + break; + } + } + int position3 = reader.GetPosition(); + bool flag4 = position3 != num; + if (flag4) + { + XSingleton.singleton.AddErrorLog2("read table error:{0} size:{1} read size:{2}", new object[] + { + base.GetType().Name, + num, + position3 + }); + } + this.m_DataHandler.UnInit(false); + return this.columnno == -1; + } + + public void Clear() + { + this.OnClear(0); + } + + protected bool Read(XBinaryReader stream, ref T v, CVSReader.ValueParse parse) + { + parse.Read(stream, ref v, this); + return true; + } + + protected bool ReadArray(XBinaryReader stream, ref T[] v, CVSReader.ValueParse parse) + { + byte b = stream.ReadByte(); + bool flag = b > 0; + if (flag) + { + v = new T[(int)b]; + for (byte b2 = 0; b2 < b; b2 += 1) + { + parse.Read(stream, ref v[(int)b2], this); + } + } + else + { + v = null; + } + return true; + } + + protected abstract void OnClear(int lineCount); + + protected virtual void ReadLine(XBinaryReader reader) + { + } + + public static void GetRowDataListByField(Trowdata[] table, Ttype field, out int startIndex, out int endIndex, CVSReader.RowDataCompare comp) where Ttype : IComparable + { + startIndex = -1; + endIndex = -1; + int num = 0; + int num2 = table.Length - 1; + int num3 = -1; + int num4; + for (;;) + { + Trowdata rowData = table[num]; + bool flag = comp(rowData, field) == 0; + if (flag) + { + break; + } + Trowdata rowData2 = table[num2]; + bool flag2 = comp(rowData2, field) == 0; + if (flag2) + { + goto Block_2; + } + bool flag3 = num2 - num <= 1; + if (flag3) + { + goto Block_3; + } + num4 = num + (num2 - num) / 2; + Trowdata rowData3 = table[num4]; + bool flag4 = comp(rowData3, field) < 0; + if (flag4) + { + num2 = num4; + } + else + { + bool flag5 = comp(rowData3, field) > 0; + if (!flag5) + { + goto IL_AE; + } + num = num4; + } + if (num >= num2) + { + goto IL_C2; + } + } + num3 = num; + goto IL_C2; + Block_2: + num3 = num2; + Block_3: + goto IL_C2; + IL_AE: + num3 = num4; + IL_C2: + bool flag6 = num3 >= 0; + if (flag6) + { + startIndex = num3; + endIndex = num3; + bool flag7 = num3 > 0; + if (flag7) + { + for (int i = num3 - 1; i >= 0; i--) + { + Trowdata rowData4 = table[i]; + bool flag8 = comp(rowData4, field) != 0; + if (flag8) + { + break; + } + startIndex = i; + } + } + bool flag9 = num3 < table.Length - 1; + if (flag9) + { + for (int j = num3 + 1; j < table.Length; j++) + { + Trowdata rowData5 = table[j]; + bool flag10 = comp(rowData5, field) != 0; + if (flag10) + { + break; + } + endIndex = j; + } + } + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/CVSReader.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/CVSReader.cs.meta new file mode 100644 index 00000000..1f5f1966 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/CVSReader.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 1dd17887debe9b140a9b7d3add1fecbb +timeCreated: 1611465298 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/CallMonsterData.cs b/Client/Assets/Scripts/XUtliPoolLib/CallMonsterData.cs new file mode 100644 index 00000000..a8dac571 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/CallMonsterData.cs @@ -0,0 +1,42 @@ +using System; +using UnityEngine; + +namespace XUtliPoolLib +{ + public class CallMonsterData + { + public float mAIArgDist; + + public float mAIArgAngle; + + public int mAIArgMonsterId; + + public int mAIArgCopyMonsterId; + + public int mAIArgMaxMonsterNum; + + public float mAIArgLifeTime; + + public float mAIArgDelayTime; + + public Vector3 mAIArgPos; + + public int mAIArgBornType; + + public Vector3 mAIArgPos1; + + public Vector3 mAIArgPos2; + + public Vector3 mAIArgPos3; + + public Vector3 mAIArgPos4; + + public Vector3 mAIArgFinalPos; + + public bool mAIArgForcePlace; + + public float mAIArgDeltaArg; + + public float mAIArgHPPercent; + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/CallMonsterData.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/CallMonsterData.cs.meta new file mode 100644 index 00000000..b0ce1288 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/CallMonsterData.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: fe0991ec11f0a4a4f9e74abac5f5566d +timeCreated: 1611465812 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/CameraMotionSpace.cs b/Client/Assets/Scripts/XUtliPoolLib/CameraMotionSpace.cs new file mode 100644 index 00000000..5e7dccec --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/CameraMotionSpace.cs @@ -0,0 +1,11 @@ +using System; + +namespace XUtliPoolLib +{ + public enum CameraMotionSpace + { + World, + Self, + Camera + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/CameraMotionSpace.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/CameraMotionSpace.cs.meta new file mode 100644 index 00000000..4c617b17 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/CameraMotionSpace.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 77912e5df25efec42afa1dee460e23a0 +timeCreated: 1611465691 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/CameraMotionType.cs b/Client/Assets/Scripts/XUtliPoolLib/CameraMotionType.cs new file mode 100644 index 00000000..a5438346 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/CameraMotionType.cs @@ -0,0 +1,10 @@ +using System; + +namespace XUtliPoolLib +{ + public enum CameraMotionType + { + AnchorBased, + CameraBased + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/CameraMotionType.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/CameraMotionType.cs.meta new file mode 100644 index 00000000..c095d8b4 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/CameraMotionType.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: c48a4ede85e4b3c48bb3938091fdde0c +timeCreated: 1611465755 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/CampDuelPointReward.cs b/Client/Assets/Scripts/XUtliPoolLib/CampDuelPointReward.cs new file mode 100644 index 00000000..769d1f65 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/CampDuelPointReward.cs @@ -0,0 +1,52 @@ +using System; + +namespace XUtliPoolLib +{ + public class CampDuelPointReward : CVSReader + { + public CampDuelPointReward.RowData[] Table = null; + + public class RowData + { + public int CampID; + + public int Point; + + public SeqListRef Reward; + + public SeqRef EXReward; + + public string Icon; + } + + protected override void ReadLine(XBinaryReader reader) + { + CampDuelPointReward.RowData rowData = new CampDuelPointReward.RowData(); + base.Read(reader, ref rowData.CampID, CVSReader.intParse); + this.columnno = 0; + base.Read(reader, ref rowData.Point, CVSReader.intParse); + this.columnno = 1; + rowData.Reward.Read(reader, this.m_DataHandler); + this.columnno = 2; + rowData.EXReward.Read(reader, this.m_DataHandler); + this.columnno = 3; + base.Read(reader, ref rowData.Icon, CVSReader.stringParse); + this.columnno = 4; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new CampDuelPointReward.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/CampDuelPointReward.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/CampDuelPointReward.cs.meta new file mode 100644 index 00000000..40e21353 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/CampDuelPointReward.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: aee6d1fdc6a6f094295e7492609b335f +timeCreated: 1611465742 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/CampDuelRankReward.cs b/Client/Assets/Scripts/XUtliPoolLib/CampDuelRankReward.cs new file mode 100644 index 00000000..12d5ea3b --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/CampDuelRankReward.cs @@ -0,0 +1,48 @@ +using System; + +namespace XUtliPoolLib +{ + public class CampDuelRankReward : CVSReader + { + public CampDuelRankReward.RowData[] Table = null; + + public class RowData + { + public SeqRef Rank; + + public SeqListRef Reward; + + public bool IsWin; + + public int CampID; + } + + protected override void ReadLine(XBinaryReader reader) + { + CampDuelRankReward.RowData rowData = new CampDuelRankReward.RowData(); + rowData.Rank.Read(reader, this.m_DataHandler); + this.columnno = 0; + rowData.Reward.Read(reader, this.m_DataHandler); + this.columnno = 1; + base.Read(reader, ref rowData.IsWin, CVSReader.boolParse); + this.columnno = 2; + base.Read(reader, ref rowData.CampID, CVSReader.intParse); + this.columnno = 3; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new CampDuelRankReward.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/CampDuelRankReward.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/CampDuelRankReward.cs.meta new file mode 100644 index 00000000..8302a1ae --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/CampDuelRankReward.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 773af8eb290d2664693982b290c20e89 +timeCreated: 1611465690 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/CanExecuteHandler.cs b/Client/Assets/Scripts/XUtliPoolLib/CanExecuteHandler.cs new file mode 100644 index 00000000..7f36d04f --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/CanExecuteHandler.cs @@ -0,0 +1,6 @@ +using System; + +namespace XUtliPoolLib +{ + public delegate bool CanExecuteHandler(XGameObject gameObject, XEngineCommand command); +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/CanExecuteHandler.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/CanExecuteHandler.cs.meta new file mode 100644 index 00000000..ee00fb4a --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/CanExecuteHandler.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 7bcddf7c10de0b446a96382b8f949c32 +timeCreated: 1611465692 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/CardRewardTable.cs b/Client/Assets/Scripts/XUtliPoolLib/CardRewardTable.cs new file mode 100644 index 00000000..28952d78 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/CardRewardTable.cs @@ -0,0 +1,48 @@ +using System; + +namespace XUtliPoolLib +{ + public class CardRewardTable : CVSReader + { + public CardRewardTable.RowData[] Table = null; + + public class RowData + { + public SeqListRef reward; + + public uint point; + + public SeqListRef matchreward; + + public SeqListRef jokerreward; + } + + protected override void ReadLine(XBinaryReader reader) + { + CardRewardTable.RowData rowData = new CardRewardTable.RowData(); + rowData.reward.Read(reader, this.m_DataHandler); + this.columnno = 1; + base.Read(reader, ref rowData.point, CVSReader.uintParse); + this.columnno = 4; + rowData.matchreward.Read(reader, this.m_DataHandler); + this.columnno = 5; + rowData.jokerreward.Read(reader, this.m_DataHandler); + this.columnno = 6; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new CardRewardTable.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/CardRewardTable.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/CardRewardTable.cs.meta new file mode 100644 index 00000000..0630bd88 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/CardRewardTable.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 7523f8c9e786fd7489ce3a6f9451f0c0 +timeCreated: 1611465689 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/CardStoreTable.cs b/Client/Assets/Scripts/XUtliPoolLib/CardStoreTable.cs new file mode 100644 index 00000000..5b96c0c2 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/CardStoreTable.cs @@ -0,0 +1,36 @@ +using System; + +namespace XUtliPoolLib +{ + public class CardStoreTable : CVSReader + { + public CardStoreTable.RowData[] Table = null; + + public class RowData + { + public string words; + } + + protected override void ReadLine(XBinaryReader reader) + { + CardStoreTable.RowData rowData = new CardStoreTable.RowData(); + base.Read(reader, ref rowData.words, CVSReader.stringParse); + this.columnno = 2; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new CardStoreTable.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/CardStoreTable.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/CardStoreTable.cs.meta new file mode 100644 index 00000000..1a332478 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/CardStoreTable.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 23515a6fc0fc6cb489392818c8b4a802 +timeCreated: 1611465300 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/CardsFireProperty.cs b/Client/Assets/Scripts/XUtliPoolLib/CardsFireProperty.cs new file mode 100644 index 00000000..f2e506e7 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/CardsFireProperty.cs @@ -0,0 +1,48 @@ +using System; + +namespace XUtliPoolLib +{ + public class CardsFireProperty : CVSReader + { + public CardsFireProperty.RowData[] Table = null; + + public class RowData + { + public uint GroupId; + + public uint FireCounts; + + public SeqListRef Promote; + + public uint BreakLevel; + } + + protected override void ReadLine(XBinaryReader reader) + { + CardsFireProperty.RowData rowData = new CardsFireProperty.RowData(); + base.Read(reader, ref rowData.GroupId, CVSReader.uintParse); + this.columnno = 0; + base.Read(reader, ref rowData.FireCounts, CVSReader.uintParse); + this.columnno = 1; + rowData.Promote.Read(reader, this.m_DataHandler); + this.columnno = 2; + base.Read(reader, ref rowData.BreakLevel, CVSReader.uintParse); + this.columnno = 3; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new CardsFireProperty.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/CardsFireProperty.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/CardsFireProperty.cs.meta new file mode 100644 index 00000000..63c7d65c --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/CardsFireProperty.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 4320424c68eb0a74aacb5d68243fb0e5 +timeCreated: 1611465636 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/CardsGroup.cs b/Client/Assets/Scripts/XUtliPoolLib/CardsGroup.cs new file mode 100644 index 00000000..0550c82a --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/CardsGroup.cs @@ -0,0 +1,129 @@ +using System; + +namespace XUtliPoolLib +{ + public class CardsGroup : CVSReader + { + public CardsGroup.RowData[] Table = null; + + public class RowData + { + public uint GroupId; + + public uint TeamId; + + public string TeamName; + + public SeqListRef FireProperty_1; + + public SeqListRef FireProperty_2; + + public SeqListRef StarFireCondition; + } + + public CardsGroup.RowData GetByTeamId(uint key) + { + bool flag = this.Table == null || this.Table.Length == 0; + CardsGroup.RowData result; + if (flag) + { + result = null; + } + else + { + result = this.BinarySearchTeamId(key); + } + return result; + } + + private CardsGroup.RowData BinarySearchTeamId(uint key) + { + int num = 0; + int num2 = this.Table.Length - 1; + CardsGroup.RowData rowData; + CardsGroup.RowData rowData2; + CardsGroup.RowData rowData3; + for (;;) + { + rowData = this.Table[num]; + bool flag = rowData.TeamId == key; + if (flag) + { + break; + } + rowData2 = this.Table[num2]; + bool flag2 = rowData2.TeamId == key; + if (flag2) + { + goto Block_2; + } + bool flag3 = num2 - num <= 1; + if (flag3) + { + goto Block_3; + } + int num3 = num + (num2 - num) / 2; + rowData3 = this.Table[num3]; + bool flag4 = rowData3.TeamId.CompareTo(key) > 0; + if (flag4) + { + num2 = num3; + } + else + { + bool flag5 = rowData3.TeamId.CompareTo(key) < 0; + if (!flag5) + { + goto IL_B1; + } + num = num3; + } + if (num >= num2) + { + goto Block_6; + } + } + return rowData; + Block_2: + return rowData2; + Block_3: + return null; + IL_B1: + return rowData3; + Block_6: + return null; + } + + protected override void ReadLine(XBinaryReader reader) + { + CardsGroup.RowData rowData = new CardsGroup.RowData(); + base.Read(reader, ref rowData.GroupId, CVSReader.uintParse); + this.columnno = 0; + base.Read(reader, ref rowData.TeamId, CVSReader.uintParse); + this.columnno = 1; + base.Read(reader, ref rowData.TeamName, CVSReader.stringParse); + this.columnno = 2; + rowData.FireProperty_1.Read(reader, this.m_DataHandler); + this.columnno = 3; + rowData.FireProperty_2.Read(reader, this.m_DataHandler); + this.columnno = 4; + rowData.StarFireCondition.Read(reader, this.m_DataHandler); + this.columnno = 5; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new CardsGroup.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/CardsGroup.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/CardsGroup.cs.meta new file mode 100644 index 00000000..68102d77 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/CardsGroup.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: e4f51c169219382468b31c2b7da7ee11 +timeCreated: 1611465801 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/CardsGroupList.cs b/Client/Assets/Scripts/XUtliPoolLib/CardsGroupList.cs new file mode 100644 index 00000000..f43d7cb4 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/CardsGroupList.cs @@ -0,0 +1,87 @@ +using System; + +namespace XUtliPoolLib +{ + public class CardsGroupList : CVSReader + { + public CardsGroupList.RowData[] Table = null; + + public class RowData + { + public uint GroupId; + + public uint ShowLevel; + + public uint OpenLevel; + + public string ShowUp; + + public string Detail; + + public string GroupName; + + public uint MapID; + + public uint[] BreakLevel; + } + + public CardsGroupList.RowData GetByGroupId(uint key) + { + bool flag = this.Table == null || this.Table.Length == 0; + CardsGroupList.RowData result; + if (flag) + { + result = null; + } + else + { + for (int i = 0; i < this.Table.Length; i++) + { + bool flag2 = this.Table[i].GroupId == key; + if (flag2) + { + return this.Table[i]; + } + } + result = null; + } + return result; + } + + protected override void ReadLine(XBinaryReader reader) + { + CardsGroupList.RowData rowData = new CardsGroupList.RowData(); + base.Read(reader, ref rowData.GroupId, CVSReader.uintParse); + this.columnno = 0; + base.Read(reader, ref rowData.ShowLevel, CVSReader.uintParse); + this.columnno = 1; + base.Read(reader, ref rowData.OpenLevel, CVSReader.uintParse); + this.columnno = 2; + base.Read(reader, ref rowData.ShowUp, CVSReader.stringParse); + this.columnno = 3; + base.Read(reader, ref rowData.Detail, CVSReader.stringParse); + this.columnno = 4; + base.Read(reader, ref rowData.GroupName, CVSReader.stringParse); + this.columnno = 5; + base.Read(reader, ref rowData.MapID, CVSReader.uintParse); + this.columnno = 6; + base.ReadArray(reader, ref rowData.BreakLevel, CVSReader.uintParse); + this.columnno = 7; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new CardsGroupList.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/CardsGroupList.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/CardsGroupList.cs.meta new file mode 100644 index 00000000..309d503d --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/CardsGroupList.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 496f0cc5e0ed2f946acfdd9e834b26b6 +timeCreated: 1611465639 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/CardsList.cs b/Client/Assets/Scripts/XUtliPoolLib/CardsList.cs new file mode 100644 index 00000000..e6f4d9f2 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/CardsList.cs @@ -0,0 +1,129 @@ +using System; + +namespace XUtliPoolLib +{ + public class CardsList : CVSReader + { + public CardsList.RowData[] Table = null; + + public class RowData + { + public uint CardId; + + public string CardName; + + public uint GroupId; + + public string Description; + + public uint Avatar; + + public uint MapID; + } + + public CardsList.RowData GetByCardId(uint key) + { + bool flag = this.Table == null || this.Table.Length == 0; + CardsList.RowData result; + if (flag) + { + result = null; + } + else + { + result = this.BinarySearchCardId(key); + } + return result; + } + + private CardsList.RowData BinarySearchCardId(uint key) + { + int num = 0; + int num2 = this.Table.Length - 1; + CardsList.RowData rowData; + CardsList.RowData rowData2; + CardsList.RowData rowData3; + for (;;) + { + rowData = this.Table[num]; + bool flag = rowData.CardId == key; + if (flag) + { + break; + } + rowData2 = this.Table[num2]; + bool flag2 = rowData2.CardId == key; + if (flag2) + { + goto Block_2; + } + bool flag3 = num2 - num <= 1; + if (flag3) + { + goto Block_3; + } + int num3 = num + (num2 - num) / 2; + rowData3 = this.Table[num3]; + bool flag4 = rowData3.CardId.CompareTo(key) > 0; + if (flag4) + { + num2 = num3; + } + else + { + bool flag5 = rowData3.CardId.CompareTo(key) < 0; + if (!flag5) + { + goto IL_B1; + } + num = num3; + } + if (num >= num2) + { + goto Block_6; + } + } + return rowData; + Block_2: + return rowData2; + Block_3: + return null; + IL_B1: + return rowData3; + Block_6: + return null; + } + + protected override void ReadLine(XBinaryReader reader) + { + CardsList.RowData rowData = new CardsList.RowData(); + base.Read(reader, ref rowData.CardId, CVSReader.uintParse); + this.columnno = 0; + base.Read(reader, ref rowData.CardName, CVSReader.stringParse); + this.columnno = 1; + base.Read(reader, ref rowData.GroupId, CVSReader.uintParse); + this.columnno = 2; + base.Read(reader, ref rowData.Description, CVSReader.stringParse); + this.columnno = 3; + base.Read(reader, ref rowData.Avatar, CVSReader.uintParse); + this.columnno = 4; + base.Read(reader, ref rowData.MapID, CVSReader.uintParse); + this.columnno = 5; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new CardsList.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/CardsList.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/CardsList.cs.meta new file mode 100644 index 00000000..776fb657 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/CardsList.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 1da51e3c03f35f94ba1066490ae24ad4 +timeCreated: 1611465298 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/Career.cs b/Client/Assets/Scripts/XUtliPoolLib/Career.cs new file mode 100644 index 00000000..af809e1b --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/Career.cs @@ -0,0 +1,44 @@ +using System; + +namespace XUtliPoolLib +{ + public class Career : CVSReader + { + public Career.RowData[] Table = null; + + public class RowData + { + public int SortId; + + public string TabName; + + public int ID; + } + + protected override void ReadLine(XBinaryReader reader) + { + Career.RowData rowData = new Career.RowData(); + base.Read(reader, ref rowData.SortId, CVSReader.intParse); + this.columnno = 0; + base.Read(reader, ref rowData.TabName, CVSReader.stringParse); + this.columnno = 1; + base.Read(reader, ref rowData.ID, CVSReader.intParse); + this.columnno = 2; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new Career.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/Career.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/Career.cs.meta new file mode 100644 index 00000000..ffc41564 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/Career.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: fb67705c52f7af4449272cf7e50d201a +timeCreated: 1611465811 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/CharacterAttributesList.cs b/Client/Assets/Scripts/XUtliPoolLib/CharacterAttributesList.cs new file mode 100644 index 00000000..669dd3c4 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/CharacterAttributesList.cs @@ -0,0 +1,40 @@ +using System; + +namespace XUtliPoolLib +{ + public class CharacterAttributesList : CVSReader + { + public CharacterAttributesList.RowData[] Table = null; + + public class RowData + { + public uint AttributeID; + + public string Section; + } + + protected override void ReadLine(XBinaryReader reader) + { + CharacterAttributesList.RowData rowData = new CharacterAttributesList.RowData(); + base.Read(reader, ref rowData.AttributeID, CVSReader.uintParse); + this.columnno = 0; + base.Read(reader, ref rowData.Section, CVSReader.stringParse); + this.columnno = 1; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new CharacterAttributesList.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/CharacterAttributesList.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/CharacterAttributesList.cs.meta new file mode 100644 index 00000000..551fbc94 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/CharacterAttributesList.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: a14a4edf60adb5a47913c7a243518a2c +timeCreated: 1611465735 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/CharacterCommonInfo.cs b/Client/Assets/Scripts/XUtliPoolLib/CharacterCommonInfo.cs new file mode 100644 index 00000000..ebf09ac5 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/CharacterCommonInfo.cs @@ -0,0 +1,40 @@ +using System; + +namespace XUtliPoolLib +{ + public class CharacterCommonInfo : CVSReader + { + public CharacterCommonInfo.RowData[] Table = null; + + public class RowData + { + public string ShowText; + + public uint Type; + } + + protected override void ReadLine(XBinaryReader reader) + { + CharacterCommonInfo.RowData rowData = new CharacterCommonInfo.RowData(); + base.Read(reader, ref rowData.ShowText, CVSReader.stringParse); + this.columnno = 0; + base.Read(reader, ref rowData.Type, CVSReader.uintParse); + this.columnno = 1; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new CharacterCommonInfo.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/CharacterCommonInfo.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/CharacterCommonInfo.cs.meta new file mode 100644 index 00000000..c77dd39e --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/CharacterCommonInfo.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: a879cb3b1532289499236fc00b0a69ca +timeCreated: 1611465738 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/ChatApollo.cs b/Client/Assets/Scripts/XUtliPoolLib/ChatApollo.cs new file mode 100644 index 00000000..75ba5a48 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/ChatApollo.cs @@ -0,0 +1,60 @@ +using System; + +namespace XUtliPoolLib +{ + public class ChatApollo : CVSReader + { + public ChatApollo.RowData[] Table = null; + + public class RowData + { + public int speak; + + public int music; + + public int click; + + public string note; + + public int opens; + + public int openm; + + public string note2; + } + + protected override void ReadLine(XBinaryReader reader) + { + ChatApollo.RowData rowData = new ChatApollo.RowData(); + base.Read(reader, ref rowData.speak, CVSReader.intParse); + this.columnno = 1; + base.Read(reader, ref rowData.music, CVSReader.intParse); + this.columnno = 2; + base.Read(reader, ref rowData.click, CVSReader.intParse); + this.columnno = 3; + base.Read(reader, ref rowData.note, CVSReader.stringParse); + this.columnno = 4; + base.Read(reader, ref rowData.opens, CVSReader.intParse); + this.columnno = 5; + base.Read(reader, ref rowData.openm, CVSReader.intParse); + this.columnno = 6; + base.Read(reader, ref rowData.note2, CVSReader.stringParse); + this.columnno = 7; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new ChatApollo.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/ChatApollo.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/ChatApollo.cs.meta new file mode 100644 index 00000000..20656a95 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/ChatApollo.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: eaf2428600cd79e479d1b74b1a7f1060 +timeCreated: 1611465804 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/ChatOpen.cs b/Client/Assets/Scripts/XUtliPoolLib/ChatOpen.cs new file mode 100644 index 00000000..d186b1a3 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/ChatOpen.cs @@ -0,0 +1,92 @@ +using System; + +namespace XUtliPoolLib +{ + public class ChatOpen : CVSReader + { + public ChatOpen.RowData[] Table = null; + + public class RowData + { + public uint id; + + public int[] opens; + + public uint friends; + + public int posX; + + public int posY; + + public float alpha; + + public int pivot; + + public float scale; + + public int fade; + + public int real; + + public int radioX; + + public int radioY; + + public int battle; + + public uint sceneid; + + public int max; + } + + protected override void ReadLine(XBinaryReader reader) + { + ChatOpen.RowData rowData = new ChatOpen.RowData(); + base.Read(reader, ref rowData.id, CVSReader.uintParse); + this.columnno = 0; + base.ReadArray(reader, ref rowData.opens, CVSReader.intParse); + this.columnno = 2; + base.Read(reader, ref rowData.friends, CVSReader.uintParse); + this.columnno = 3; + base.Read(reader, ref rowData.posX, CVSReader.intParse); + this.columnno = 4; + base.Read(reader, ref rowData.posY, CVSReader.intParse); + this.columnno = 5; + base.Read(reader, ref rowData.alpha, CVSReader.floatParse); + this.columnno = 6; + base.Read(reader, ref rowData.pivot, CVSReader.intParse); + this.columnno = 7; + base.Read(reader, ref rowData.scale, CVSReader.floatParse); + this.columnno = 8; + base.Read(reader, ref rowData.fade, CVSReader.intParse); + this.columnno = 9; + base.Read(reader, ref rowData.real, CVSReader.intParse); + this.columnno = 10; + base.Read(reader, ref rowData.radioX, CVSReader.intParse); + this.columnno = 11; + base.Read(reader, ref rowData.radioY, CVSReader.intParse); + this.columnno = 12; + base.Read(reader, ref rowData.battle, CVSReader.intParse); + this.columnno = 13; + base.Read(reader, ref rowData.sceneid, CVSReader.uintParse); + this.columnno = 14; + base.Read(reader, ref rowData.max, CVSReader.intParse); + this.columnno = 15; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new ChatOpen.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/ChatOpen.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/ChatOpen.cs.meta new file mode 100644 index 00000000..552f0b05 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/ChatOpen.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 72073c3dc48a9c44687488a02b2da283 +timeCreated: 1611465688 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/ChatTable.cs b/Client/Assets/Scripts/XUtliPoolLib/ChatTable.cs new file mode 100644 index 00000000..74c4252a --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/ChatTable.cs @@ -0,0 +1,79 @@ +using System; + +namespace XUtliPoolLib +{ + public class ChatTable : CVSReader + { + public ChatTable.RowData[] Table = null; + + public class RowData + { + public uint id; + + public uint level; + + public uint length; + + public string sprName; + + public string miniSpr; + + public string name; + } + + public ChatTable.RowData GetByid(uint key) + { + bool flag = this.Table == null || this.Table.Length == 0; + ChatTable.RowData result; + if (flag) + { + result = null; + } + else + { + for (int i = 0; i < this.Table.Length; i++) + { + bool flag2 = this.Table[i].id == key; + if (flag2) + { + return this.Table[i]; + } + } + result = null; + } + return result; + } + + protected override void ReadLine(XBinaryReader reader) + { + ChatTable.RowData rowData = new ChatTable.RowData(); + base.Read(reader, ref rowData.id, CVSReader.uintParse); + this.columnno = 0; + base.Read(reader, ref rowData.level, CVSReader.uintParse); + this.columnno = 2; + base.Read(reader, ref rowData.length, CVSReader.uintParse); + this.columnno = 5; + base.Read(reader, ref rowData.sprName, CVSReader.stringParse); + this.columnno = 6; + base.Read(reader, ref rowData.miniSpr, CVSReader.stringParse); + this.columnno = 7; + base.Read(reader, ref rowData.name, CVSReader.stringParse); + this.columnno = 8; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new ChatTable.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/ChatTable.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/ChatTable.cs.meta new file mode 100644 index 00000000..43f4037a --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/ChatTable.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: c821756cff24d9341913054abbf742c9 +timeCreated: 1611465756 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/ChestList.cs b/Client/Assets/Scripts/XUtliPoolLib/ChestList.cs new file mode 100644 index 00000000..59bef873 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/ChestList.cs @@ -0,0 +1,48 @@ +using System; + +namespace XUtliPoolLib +{ + public class ChestList : CVSReader + { + public ChestList.RowData[] Table = null; + + public class RowData + { + public int ItemID; + + public uint[] DropID; + + public int Profession; + + public bool MultiOpen; + } + + protected override void ReadLine(XBinaryReader reader) + { + ChestList.RowData rowData = new ChestList.RowData(); + base.Read(reader, ref rowData.ItemID, CVSReader.intParse); + this.columnno = 0; + base.ReadArray(reader, ref rowData.DropID, CVSReader.uintParse); + this.columnno = 1; + base.Read(reader, ref rowData.Profession, CVSReader.intParse); + this.columnno = 5; + base.Read(reader, ref rowData.MultiOpen, CVSReader.boolParse); + this.columnno = 6; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new ChestList.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/ChestList.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/ChestList.cs.meta new file mode 100644 index 00000000..8f3a8472 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/ChestList.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 9bc98515c111c0e4890a0b68b36ad2d6 +timeCreated: 1611465710 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/ChickenDinnerRankReward.cs b/Client/Assets/Scripts/XUtliPoolLib/ChickenDinnerRankReward.cs new file mode 100644 index 00000000..d7a2d24a --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/ChickenDinnerRankReward.cs @@ -0,0 +1,40 @@ +using System; + +namespace XUtliPoolLib +{ + public class ChickenDinnerRankReward : CVSReader + { + public ChickenDinnerRankReward.RowData[] Table = null; + + public class RowData + { + public SeqRef rank; + + public SeqListRef reward; + } + + protected override void ReadLine(XBinaryReader reader) + { + ChickenDinnerRankReward.RowData rowData = new ChickenDinnerRankReward.RowData(); + rowData.rank.Read(reader, this.m_DataHandler); + this.columnno = 0; + rowData.reward.Read(reader, this.m_DataHandler); + this.columnno = 1; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new ChickenDinnerRankReward.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/ChickenDinnerRankReward.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/ChickenDinnerRankReward.cs.meta new file mode 100644 index 00000000..88687051 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/ChickenDinnerRankReward.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 2ee14cccf2bb8a645b5faf8fa485f7ac +timeCreated: 1611465305 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/CombatParamTable.cs b/Client/Assets/Scripts/XUtliPoolLib/CombatParamTable.cs new file mode 100644 index 00000000..b3b7a6e9 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/CombatParamTable.cs @@ -0,0 +1,80 @@ +using System; + +namespace XUtliPoolLib +{ + public class CombatParamTable : CVSReader + { + public CombatParamTable.RowData[] Table = null; + + public class RowData + { + public int CriticalBase; + + public int CritResistBase; + + public int ParalyzeBase; + + public int ParaResistBase; + + public int StunBase; + + public int StunResistBase; + + public int CritDamageBase; + + public int FinalDamageBase; + + public int PhysicalDef; + + public int MagicDef; + + public int ElementAtk; + + public int ElementDef; + } + + protected override void ReadLine(XBinaryReader reader) + { + CombatParamTable.RowData rowData = new CombatParamTable.RowData(); + base.Read(reader, ref rowData.CriticalBase, CVSReader.intParse); + this.columnno = 1; + base.Read(reader, ref rowData.CritResistBase, CVSReader.intParse); + this.columnno = 2; + base.Read(reader, ref rowData.ParalyzeBase, CVSReader.intParse); + this.columnno = 3; + base.Read(reader, ref rowData.ParaResistBase, CVSReader.intParse); + this.columnno = 4; + base.Read(reader, ref rowData.StunBase, CVSReader.intParse); + this.columnno = 5; + base.Read(reader, ref rowData.StunResistBase, CVSReader.intParse); + this.columnno = 6; + base.Read(reader, ref rowData.CritDamageBase, CVSReader.intParse); + this.columnno = 7; + base.Read(reader, ref rowData.FinalDamageBase, CVSReader.intParse); + this.columnno = 8; + base.Read(reader, ref rowData.PhysicalDef, CVSReader.intParse); + this.columnno = 9; + base.Read(reader, ref rowData.MagicDef, CVSReader.intParse); + this.columnno = 10; + base.Read(reader, ref rowData.ElementAtk, CVSReader.intParse); + this.columnno = 11; + base.Read(reader, ref rowData.ElementDef, CVSReader.intParse); + this.columnno = 12; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new CombatParamTable.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/CombatParamTable.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/CombatParamTable.cs.meta new file mode 100644 index 00000000..4435af0d --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/CombatParamTable.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 833a2c832d23831498ffb8b6aa4bf304 +timeCreated: 1611465695 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/CommandCallback.cs b/Client/Assets/Scripts/XUtliPoolLib/CommandCallback.cs new file mode 100644 index 00000000..6c99bc74 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/CommandCallback.cs @@ -0,0 +1,6 @@ +using System; + +namespace XUtliPoolLib +{ + public delegate void CommandCallback(XGameObject gameObject, object obj, int commandID); +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/CommandCallback.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/CommandCallback.cs.meta new file mode 100644 index 00000000..aefcd4b4 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/CommandCallback.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 128d60830484446459c3046f57283bcc +timeCreated: 1611465292 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/CommonObjectPool.cs b/Client/Assets/Scripts/XUtliPoolLib/CommonObjectPool.cs new file mode 100644 index 00000000..6ba319f3 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/CommonObjectPool.cs @@ -0,0 +1,24 @@ +using System; + +namespace XUtliPoolLib +{ + public class CommonObjectPool where T : new() + { + private static readonly ObjectPool s_Pool = new ObjectPool(new ObjectPool.CreateObj(CommonObjectPool.Create), null, null); + + public static object Create() + { + return Activator.CreateInstance(); + } + + public static T Get() + { + return (T)((object)CommonObjectPool.s_Pool.Get()); + } + + public static void Release(T toRelease) + { + CommonObjectPool.s_Pool.Release(toRelease); + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/CommonObjectPool.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/CommonObjectPool.cs.meta new file mode 100644 index 00000000..70aec26e --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/CommonObjectPool.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 934a7c817cc87504c94e5168692873af +timeCreated: 1611465706 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/CompeteDragonRankRewardTable.cs b/Client/Assets/Scripts/XUtliPoolLib/CompeteDragonRankRewardTable.cs new file mode 100644 index 00000000..c116b268 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/CompeteDragonRankRewardTable.cs @@ -0,0 +1,44 @@ +using System; + +namespace XUtliPoolLib +{ + public class CompeteDragonRankRewardTable : CVSReader + { + public CompeteDragonRankRewardTable.RowData[] Table = null; + + public class RowData + { + public uint rank; + + public uint desigation; + + public SeqListRef reward; + } + + protected override void ReadLine(XBinaryReader reader) + { + CompeteDragonRankRewardTable.RowData rowData = new CompeteDragonRankRewardTable.RowData(); + base.Read(reader, ref rowData.rank, CVSReader.uintParse); + this.columnno = 0; + base.Read(reader, ref rowData.desigation, CVSReader.uintParse); + this.columnno = 1; + rowData.reward.Read(reader, this.m_DataHandler); + this.columnno = 2; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new CompeteDragonRankRewardTable.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/CompeteDragonRankRewardTable.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/CompeteDragonRankRewardTable.cs.meta new file mode 100644 index 00000000..8a228733 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/CompeteDragonRankRewardTable.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: a7877a9d439a47c4fb9d2b483768c636 +timeCreated: 1611465737 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/CookingFoodInfo.cs b/Client/Assets/Scripts/XUtliPoolLib/CookingFoodInfo.cs new file mode 100644 index 00000000..85f8bcc1 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/CookingFoodInfo.cs @@ -0,0 +1,95 @@ +using System; + +namespace XUtliPoolLib +{ + public class CookingFoodInfo : CVSReader + { + public CookingFoodInfo.RowData[] Table = null; + + public class RowData + { + public uint FoodID; + + public string FoodName; + + public string Desc; + + public uint AddExp; + + public SeqListRef Ingredients; + + public uint Duration; + + public uint Frequency; + + public uint Level; + + public uint CookBookID; + + public uint[] Profession; + } + + public CookingFoodInfo.RowData GetByFoodID(uint key) + { + bool flag = this.Table == null || this.Table.Length == 0; + CookingFoodInfo.RowData result; + if (flag) + { + result = null; + } + else + { + for (int i = 0; i < this.Table.Length; i++) + { + bool flag2 = this.Table[i].FoodID == key; + if (flag2) + { + return this.Table[i]; + } + } + result = null; + } + return result; + } + + protected override void ReadLine(XBinaryReader reader) + { + CookingFoodInfo.RowData rowData = new CookingFoodInfo.RowData(); + base.Read(reader, ref rowData.FoodID, CVSReader.uintParse); + this.columnno = 0; + base.Read(reader, ref rowData.FoodName, CVSReader.stringParse); + this.columnno = 1; + base.Read(reader, ref rowData.Desc, CVSReader.stringParse); + this.columnno = 2; + base.Read(reader, ref rowData.AddExp, CVSReader.uintParse); + this.columnno = 3; + rowData.Ingredients.Read(reader, this.m_DataHandler); + this.columnno = 4; + base.Read(reader, ref rowData.Duration, CVSReader.uintParse); + this.columnno = 6; + base.Read(reader, ref rowData.Frequency, CVSReader.uintParse); + this.columnno = 7; + base.Read(reader, ref rowData.Level, CVSReader.uintParse); + this.columnno = 8; + base.Read(reader, ref rowData.CookBookID, CVSReader.uintParse); + this.columnno = 9; + base.ReadArray(reader, ref rowData.Profession, CVSReader.uintParse); + this.columnno = 11; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new CookingFoodInfo.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/CookingFoodInfo.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/CookingFoodInfo.cs.meta new file mode 100644 index 00000000..509031ad --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/CookingFoodInfo.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 5e8a37d7454977a489e9a3439dc1d671 +timeCreated: 1611465650 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/CookingLevel.cs b/Client/Assets/Scripts/XUtliPoolLib/CookingLevel.cs new file mode 100644 index 00000000..e1476670 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/CookingLevel.cs @@ -0,0 +1,40 @@ +using System; + +namespace XUtliPoolLib +{ + public class CookingLevel : CVSReader + { + public CookingLevel.RowData[] Table = null; + + public class RowData + { + public uint CookLevel; + + public uint Experiences; + } + + protected override void ReadLine(XBinaryReader reader) + { + CookingLevel.RowData rowData = new CookingLevel.RowData(); + base.Read(reader, ref rowData.CookLevel, CVSReader.uintParse); + this.columnno = 0; + base.Read(reader, ref rowData.Experiences, CVSReader.uintParse); + this.columnno = 1; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new CookingLevel.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/CookingLevel.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/CookingLevel.cs.meta new file mode 100644 index 00000000..d9f1b6e8 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/CookingLevel.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: b770e393ca2982a479369ec9154d421d +timeCreated: 1611465747 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/CrossGvgReward.cs b/Client/Assets/Scripts/XUtliPoolLib/CrossGvgReward.cs new file mode 100644 index 00000000..e1182d48 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/CrossGvgReward.cs @@ -0,0 +1,52 @@ +using System; + +namespace XUtliPoolLib +{ + public class CrossGvgReward : CVSReader + { + public CrossGvgReward.RowData[] Table = null; + + public class RowData + { + public uint Type; + + public SeqRef Rank; + + public uint MemberRewardMail; + + public uint GuildExp; + + public uint GuildPrestige; + } + + protected override void ReadLine(XBinaryReader reader) + { + CrossGvgReward.RowData rowData = new CrossGvgReward.RowData(); + base.Read(reader, ref rowData.Type, CVSReader.uintParse); + this.columnno = 0; + rowData.Rank.Read(reader, this.m_DataHandler); + this.columnno = 1; + base.Read(reader, ref rowData.MemberRewardMail, CVSReader.uintParse); + this.columnno = 2; + base.Read(reader, ref rowData.GuildExp, CVSReader.uintParse); + this.columnno = 3; + base.Read(reader, ref rowData.GuildPrestige, CVSReader.uintParse); + this.columnno = 4; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new CrossGvgReward.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/CrossGvgReward.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/CrossGvgReward.cs.meta new file mode 100644 index 00000000..b7eaef1d --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/CrossGvgReward.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 4c45688d1bc71984680c357b2bb417a6 +timeCreated: 1611465641 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/CustomBattleSystemTable.cs b/Client/Assets/Scripts/XUtliPoolLib/CustomBattleSystemTable.cs new file mode 100644 index 00000000..3efca82a --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/CustomBattleSystemTable.cs @@ -0,0 +1,91 @@ +using System; + +namespace XUtliPoolLib +{ + public class CustomBattleSystemTable : CVSReader + { + public CustomBattleSystemTable.RowData[] Table = null; + + public class RowData + { + public uint id; + + public uint type; + + public SeqRef end; + + public SeqRef ticket; + + public uint levellimit; + + public string desc; + + public string TitleSpriteName; + + public string IconSpritePath; + + public int ExpID; + } + + public CustomBattleSystemTable.RowData GetByid(uint key) + { + bool flag = this.Table == null || this.Table.Length == 0; + CustomBattleSystemTable.RowData result; + if (flag) + { + result = null; + } + else + { + for (int i = 0; i < this.Table.Length; i++) + { + bool flag2 = this.Table[i].id == key; + if (flag2) + { + return this.Table[i]; + } + } + result = null; + } + return result; + } + + protected override void ReadLine(XBinaryReader reader) + { + CustomBattleSystemTable.RowData rowData = new CustomBattleSystemTable.RowData(); + base.Read(reader, ref rowData.id, CVSReader.uintParse); + this.columnno = 0; + base.Read(reader, ref rowData.type, CVSReader.uintParse); + this.columnno = 1; + rowData.end.Read(reader, this.m_DataHandler); + this.columnno = 2; + rowData.ticket.Read(reader, this.m_DataHandler); + this.columnno = 3; + base.Read(reader, ref rowData.levellimit, CVSReader.uintParse); + this.columnno = 4; + base.Read(reader, ref rowData.desc, CVSReader.stringParse); + this.columnno = 5; + base.Read(reader, ref rowData.TitleSpriteName, CVSReader.stringParse); + this.columnno = 6; + base.Read(reader, ref rowData.IconSpritePath, CVSReader.stringParse); + this.columnno = 7; + base.Read(reader, ref rowData.ExpID, CVSReader.intParse); + this.columnno = 8; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new CustomBattleSystemTable.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/CustomBattleSystemTable.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/CustomBattleSystemTable.cs.meta new file mode 100644 index 00000000..486f6a06 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/CustomBattleSystemTable.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: beafbd5bd8d3e5e4b80ea22d913892bf +timeCreated: 1611465752 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/CustomBattleTable.cs b/Client/Assets/Scripts/XUtliPoolLib/CustomBattleTable.cs new file mode 100644 index 00000000..86033988 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/CustomBattleTable.cs @@ -0,0 +1,95 @@ +using System; + +namespace XUtliPoolLib +{ + public class CustomBattleTable : CVSReader + { + public CustomBattleTable.RowData[] Table = null; + + public class RowData + { + public uint id; + + public uint type; + + public SeqListRef create; + + public uint joincount; + + public uint readytimepan; + + public uint[] timespan; + + public uint levellimit; + + public string desc; + + public string BoxSpriteName; + + public int ExpID; + } + + public CustomBattleTable.RowData GetByid(uint key) + { + bool flag = this.Table == null || this.Table.Length == 0; + CustomBattleTable.RowData result; + if (flag) + { + result = null; + } + else + { + for (int i = 0; i < this.Table.Length; i++) + { + bool flag2 = this.Table[i].id == key; + if (flag2) + { + return this.Table[i]; + } + } + result = null; + } + return result; + } + + protected override void ReadLine(XBinaryReader reader) + { + CustomBattleTable.RowData rowData = new CustomBattleTable.RowData(); + base.Read(reader, ref rowData.id, CVSReader.uintParse); + this.columnno = 0; + base.Read(reader, ref rowData.type, CVSReader.uintParse); + this.columnno = 1; + rowData.create.Read(reader, this.m_DataHandler); + this.columnno = 2; + base.Read(reader, ref rowData.joincount, CVSReader.uintParse); + this.columnno = 3; + base.Read(reader, ref rowData.readytimepan, CVSReader.uintParse); + this.columnno = 4; + base.ReadArray(reader, ref rowData.timespan, CVSReader.uintParse); + this.columnno = 5; + base.Read(reader, ref rowData.levellimit, CVSReader.uintParse); + this.columnno = 6; + base.Read(reader, ref rowData.desc, CVSReader.stringParse); + this.columnno = 7; + base.Read(reader, ref rowData.BoxSpriteName, CVSReader.stringParse); + this.columnno = 10; + base.Read(reader, ref rowData.ExpID, CVSReader.intParse); + this.columnno = 11; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new CustomBattleTable.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/CustomBattleTable.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/CustomBattleTable.cs.meta new file mode 100644 index 00000000..5bbe46e3 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/CustomBattleTable.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 56d405d600677a04aa880896d4c91aa5 +timeCreated: 1611465645 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/CustomBattleTypeTable.cs b/Client/Assets/Scripts/XUtliPoolLib/CustomBattleTypeTable.cs new file mode 100644 index 00000000..3b10961b --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/CustomBattleTypeTable.cs @@ -0,0 +1,75 @@ +using System; + +namespace XUtliPoolLib +{ + public class CustomBattleTypeTable : CVSReader + { + public CustomBattleTypeTable.RowData[] Table = null; + + public class RowData + { + public int type; + + public string name; + + public string show; + + public bool notopen; + + public bool gmcreate; + } + + public CustomBattleTypeTable.RowData GetBytype(int key) + { + bool flag = this.Table == null || this.Table.Length == 0; + CustomBattleTypeTable.RowData result; + if (flag) + { + result = null; + } + else + { + for (int i = 0; i < this.Table.Length; i++) + { + bool flag2 = this.Table[i].type == key; + if (flag2) + { + return this.Table[i]; + } + } + result = null; + } + return result; + } + + protected override void ReadLine(XBinaryReader reader) + { + CustomBattleTypeTable.RowData rowData = new CustomBattleTypeTable.RowData(); + base.Read(reader, ref rowData.type, CVSReader.intParse); + this.columnno = 0; + base.Read(reader, ref rowData.name, CVSReader.stringParse); + this.columnno = 1; + base.Read(reader, ref rowData.show, CVSReader.stringParse); + this.columnno = 2; + base.Read(reader, ref rowData.notopen, CVSReader.boolParse); + this.columnno = 3; + base.Read(reader, ref rowData.gmcreate, CVSReader.boolParse); + this.columnno = 4; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new CustomBattleTypeTable.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/CustomBattleTypeTable.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/CustomBattleTypeTable.cs.meta new file mode 100644 index 00000000..a9582c93 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/CustomBattleTypeTable.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 77f804f34771ff243a8e00629f333de0 +timeCreated: 1611465691 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/CustomRewardTable.cs b/Client/Assets/Scripts/XUtliPoolLib/CustomRewardTable.cs new file mode 100644 index 00000000..93293507 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/CustomRewardTable.cs @@ -0,0 +1,48 @@ +using System; + +namespace XUtliPoolLib +{ + public class CustomRewardTable : CVSReader + { + public CustomRewardTable.RowData[] Table = null; + + public class RowData + { + public uint id; + + public SeqRef rank; + + public SeqListRef rewardshow; + + public SeqRef boxquickopen; + } + + protected override void ReadLine(XBinaryReader reader) + { + CustomRewardTable.RowData rowData = new CustomRewardTable.RowData(); + base.Read(reader, ref rowData.id, CVSReader.uintParse); + this.columnno = 0; + rowData.rank.Read(reader, this.m_DataHandler); + this.columnno = 1; + rowData.rewardshow.Read(reader, this.m_DataHandler); + this.columnno = 2; + rowData.boxquickopen.Read(reader, this.m_DataHandler); + this.columnno = 5; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new CustomRewardTable.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/CustomRewardTable.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/CustomRewardTable.cs.meta new file mode 100644 index 00000000..6040b802 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/CustomRewardTable.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: b4b8d42929f8a714fa6223267b153be4 +timeCreated: 1611465745 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/CustomSystemRewardTable.cs b/Client/Assets/Scripts/XUtliPoolLib/CustomSystemRewardTable.cs new file mode 100644 index 00000000..7302e057 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/CustomSystemRewardTable.cs @@ -0,0 +1,48 @@ +using System; + +namespace XUtliPoolLib +{ + public class CustomSystemRewardTable : CVSReader + { + public CustomSystemRewardTable.RowData[] Table = null; + + public class RowData + { + public uint id; + + public uint wincounts; + + public SeqListRef rewardshow; + + public SeqRef boxquickopen; + } + + protected override void ReadLine(XBinaryReader reader) + { + CustomSystemRewardTable.RowData rowData = new CustomSystemRewardTable.RowData(); + base.Read(reader, ref rowData.id, CVSReader.uintParse); + this.columnno = 0; + base.Read(reader, ref rowData.wincounts, CVSReader.uintParse); + this.columnno = 1; + rowData.rewardshow.Read(reader, this.m_DataHandler); + this.columnno = 2; + rowData.boxquickopen.Read(reader, this.m_DataHandler); + this.columnno = 5; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new CustomSystemRewardTable.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/CustomSystemRewardTable.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/CustomSystemRewardTable.cs.meta new file mode 100644 index 00000000..8c5a4ace --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/CustomSystemRewardTable.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 76f0631e24c2066458918ceebfe9ff3e +timeCreated: 1611465690 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/DailyTask.cs b/Client/Assets/Scripts/XUtliPoolLib/DailyTask.cs new file mode 100644 index 00000000..3520d5cf --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/DailyTask.cs @@ -0,0 +1,153 @@ +using System; + +namespace XUtliPoolLib +{ + public class DailyTask : CVSReader + { + public DailyTask.RowData[] Table = null; + + public class RowData + { + public uint taskID; + + public uint taskquality; + + public uint tasktype; + + public uint[] conditionId; + + public string taskdescription; + + public uint conditionNum; + + public uint NPCID; + + public SeqListRef BQ; + + public uint category; + + public uint score; + + public string TaskIcon; + + public string AtlasName; + } + + public DailyTask.RowData GetBytaskID(uint key) + { + bool flag = this.Table == null || this.Table.Length == 0; + DailyTask.RowData result; + if (flag) + { + result = null; + } + else + { + result = this.BinarySearchtaskID(key); + } + return result; + } + + private DailyTask.RowData BinarySearchtaskID(uint key) + { + int num = 0; + int num2 = this.Table.Length - 1; + DailyTask.RowData rowData; + DailyTask.RowData rowData2; + DailyTask.RowData rowData3; + for (;;) + { + rowData = this.Table[num]; + bool flag = rowData.taskID == key; + if (flag) + { + break; + } + rowData2 = this.Table[num2]; + bool flag2 = rowData2.taskID == key; + if (flag2) + { + goto Block_2; + } + bool flag3 = num2 - num <= 1; + if (flag3) + { + goto Block_3; + } + int num3 = num + (num2 - num) / 2; + rowData3 = this.Table[num3]; + bool flag4 = rowData3.taskID.CompareTo(key) > 0; + if (flag4) + { + num2 = num3; + } + else + { + bool flag5 = rowData3.taskID.CompareTo(key) < 0; + if (!flag5) + { + goto IL_B1; + } + num = num3; + } + if (num >= num2) + { + goto Block_6; + } + } + return rowData; + Block_2: + return rowData2; + Block_3: + return null; + IL_B1: + return rowData3; + Block_6: + return null; + } + + protected override void ReadLine(XBinaryReader reader) + { + DailyTask.RowData rowData = new DailyTask.RowData(); + base.Read(reader, ref rowData.taskID, CVSReader.uintParse); + this.columnno = 0; + base.Read(reader, ref rowData.taskquality, CVSReader.uintParse); + this.columnno = 2; + base.Read(reader, ref rowData.tasktype, CVSReader.uintParse); + this.columnno = 3; + base.ReadArray(reader, ref rowData.conditionId, CVSReader.uintParse); + this.columnno = 4; + base.Read(reader, ref rowData.taskdescription, CVSReader.stringParse); + this.columnno = 5; + base.Read(reader, ref rowData.conditionNum, CVSReader.uintParse); + this.columnno = 6; + base.Read(reader, ref rowData.NPCID, CVSReader.uintParse); + this.columnno = 7; + rowData.BQ.Read(reader, this.m_DataHandler); + this.columnno = 8; + base.Read(reader, ref rowData.category, CVSReader.uintParse); + this.columnno = 10; + base.Read(reader, ref rowData.score, CVSReader.uintParse); + this.columnno = 11; + base.Read(reader, ref rowData.TaskIcon, CVSReader.stringParse); + this.columnno = 12; + base.Read(reader, ref rowData.AtlasName, CVSReader.stringParse); + this.columnno = 13; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new DailyTask.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/DailyTask.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/DailyTask.cs.meta new file mode 100644 index 00000000..fc5a582a --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/DailyTask.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 7c05403848115ba48944acd8d64787b1 +timeCreated: 1611465693 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/DailyTaskLuck.cs b/Client/Assets/Scripts/XUtliPoolLib/DailyTaskLuck.cs new file mode 100644 index 00000000..32060a1b --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/DailyTaskLuck.cs @@ -0,0 +1,52 @@ +using System; + +namespace XUtliPoolLib +{ + public class DailyTaskLuck : CVSReader + { + public DailyTaskLuck.RowData[] Table = null; + + public class RowData + { + public uint id; + + public string name; + + public SeqListRef prob; + + public uint getProb; + + public uint backflowProb; + } + + protected override void ReadLine(XBinaryReader reader) + { + DailyTaskLuck.RowData rowData = new DailyTaskLuck.RowData(); + base.Read(reader, ref rowData.id, CVSReader.uintParse); + this.columnno = 0; + base.Read(reader, ref rowData.name, CVSReader.stringParse); + this.columnno = 1; + rowData.prob.Read(reader, this.m_DataHandler); + this.columnno = 2; + base.Read(reader, ref rowData.getProb, CVSReader.uintParse); + this.columnno = 3; + base.Read(reader, ref rowData.backflowProb, CVSReader.uintParse); + this.columnno = 4; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new DailyTaskLuck.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/DailyTaskLuck.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/DailyTaskLuck.cs.meta new file mode 100644 index 00000000..e9abd064 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/DailyTaskLuck.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 3ab3426fb2e26054e8a9c0740b5b3fe4 +timeCreated: 1611465631 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/DailyTaskReward.cs b/Client/Assets/Scripts/XUtliPoolLib/DailyTaskReward.cs new file mode 100644 index 00000000..8bd48d27 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/DailyTaskReward.cs @@ -0,0 +1,96 @@ +using System; + +namespace XUtliPoolLib +{ + public class DailyTaskReward : CVSReader + { + public DailyTaskReward.RowData[] Table = null; + + public class RowData + { + public SeqRef level; + + public uint tasktype; + + public uint taskquality; + + public SeqListRef taskreward; + + public SeqListRef extrareward_s; + + public uint category; + + public uint score; + + public SeqListRef reward_s; + + public SeqListRef reward_a; + + public SeqListRef reward_b; + + public SeqListRef reward_c; + + public SeqListRef reward_d; + + public SeqListRef extrareward_a; + + public SeqListRef extrareward_b; + + public SeqListRef extrareward_c; + + public SeqListRef extrareward_d; + } + + protected override void ReadLine(XBinaryReader reader) + { + DailyTaskReward.RowData rowData = new DailyTaskReward.RowData(); + rowData.level.Read(reader, this.m_DataHandler); + this.columnno = 0; + base.Read(reader, ref rowData.tasktype, CVSReader.uintParse); + this.columnno = 1; + base.Read(reader, ref rowData.taskquality, CVSReader.uintParse); + this.columnno = 2; + rowData.taskreward.Read(reader, this.m_DataHandler); + this.columnno = 3; + rowData.extrareward_s.Read(reader, this.m_DataHandler); + this.columnno = 5; + base.Read(reader, ref rowData.category, CVSReader.uintParse); + this.columnno = 6; + base.Read(reader, ref rowData.score, CVSReader.uintParse); + this.columnno = 7; + rowData.reward_s.Read(reader, this.m_DataHandler); + this.columnno = 8; + rowData.reward_a.Read(reader, this.m_DataHandler); + this.columnno = 9; + rowData.reward_b.Read(reader, this.m_DataHandler); + this.columnno = 10; + rowData.reward_c.Read(reader, this.m_DataHandler); + this.columnno = 11; + rowData.reward_d.Read(reader, this.m_DataHandler); + this.columnno = 12; + rowData.extrareward_a.Read(reader, this.m_DataHandler); + this.columnno = 13; + rowData.extrareward_b.Read(reader, this.m_DataHandler); + this.columnno = 14; + rowData.extrareward_c.Read(reader, this.m_DataHandler); + this.columnno = 15; + rowData.extrareward_d.Read(reader, this.m_DataHandler); + this.columnno = 16; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new DailyTaskReward.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/DailyTaskReward.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/DailyTaskReward.cs.meta new file mode 100644 index 00000000..edbcfe77 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/DailyTaskReward.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: decb589e8443c9d47aecbb915e0ffab0 +timeCreated: 1611465797 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/DanceConfig.cs b/Client/Assets/Scripts/XUtliPoolLib/DanceConfig.cs new file mode 100644 index 00000000..72be957a --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/DanceConfig.cs @@ -0,0 +1,173 @@ +using System; + +namespace XUtliPoolLib +{ + public class DanceConfig : CVSReader + { + public DanceConfig.RowData[] Table = null; + + public class RowData + { + public uint MotionID; + + public string MotionName; + + public int PresentID; + + public string Motion; + + public string Music; + + public int LoopCount; + + public string EffectPath; + + public float EffectTime; + + public int Type; + + public string HallBtnIcon; + + public bool LoverMotion; + + public SeqListRef Condition; + + public string[] ConditionDesc; + + public string[] GoText; + + public int[] GoSystemID; + + public uint MotionType; + + public string IconAtlas; + } + + public DanceConfig.RowData GetByMotionID(uint key) + { + bool flag = this.Table == null || this.Table.Length == 0; + DanceConfig.RowData result; + if (flag) + { + result = null; + } + else + { + result = this.BinarySearchMotionID(key); + } + return result; + } + + private DanceConfig.RowData BinarySearchMotionID(uint key) + { + int num = 0; + int num2 = this.Table.Length - 1; + DanceConfig.RowData rowData; + DanceConfig.RowData rowData2; + DanceConfig.RowData rowData3; + for (;;) + { + rowData = this.Table[num]; + bool flag = rowData.MotionID == key; + if (flag) + { + break; + } + rowData2 = this.Table[num2]; + bool flag2 = rowData2.MotionID == key; + if (flag2) + { + goto Block_2; + } + bool flag3 = num2 - num <= 1; + if (flag3) + { + goto Block_3; + } + int num3 = num + (num2 - num) / 2; + rowData3 = this.Table[num3]; + bool flag4 = rowData3.MotionID.CompareTo(key) > 0; + if (flag4) + { + num2 = num3; + } + else + { + bool flag5 = rowData3.MotionID.CompareTo(key) < 0; + if (!flag5) + { + goto IL_B1; + } + num = num3; + } + if (num >= num2) + { + goto Block_6; + } + } + return rowData; + Block_2: + return rowData2; + Block_3: + return null; + IL_B1: + return rowData3; + Block_6: + return null; + } + + protected override void ReadLine(XBinaryReader reader) + { + DanceConfig.RowData rowData = new DanceConfig.RowData(); + base.Read(reader, ref rowData.MotionID, CVSReader.uintParse); + this.columnno = 0; + base.Read(reader, ref rowData.MotionName, CVSReader.stringParse); + this.columnno = 1; + base.Read(reader, ref rowData.PresentID, CVSReader.intParse); + this.columnno = 2; + base.Read(reader, ref rowData.Motion, CVSReader.stringParse); + this.columnno = 3; + base.Read(reader, ref rowData.Music, CVSReader.stringParse); + this.columnno = 4; + base.Read(reader, ref rowData.LoopCount, CVSReader.intParse); + this.columnno = 5; + base.Read(reader, ref rowData.EffectPath, CVSReader.stringParse); + this.columnno = 6; + base.Read(reader, ref rowData.EffectTime, CVSReader.floatParse); + this.columnno = 7; + base.Read(reader, ref rowData.Type, CVSReader.intParse); + this.columnno = 8; + base.Read(reader, ref rowData.HallBtnIcon, CVSReader.stringParse); + this.columnno = 9; + base.Read(reader, ref rowData.LoverMotion, CVSReader.boolParse); + this.columnno = 10; + rowData.Condition.Read(reader, this.m_DataHandler); + this.columnno = 11; + base.ReadArray(reader, ref rowData.ConditionDesc, CVSReader.stringParse); + this.columnno = 12; + base.ReadArray(reader, ref rowData.GoText, CVSReader.stringParse); + this.columnno = 13; + base.ReadArray(reader, ref rowData.GoSystemID, CVSReader.intParse); + this.columnno = 14; + base.Read(reader, ref rowData.MotionType, CVSReader.uintParse); + this.columnno = 15; + base.Read(reader, ref rowData.IconAtlas, CVSReader.stringParse); + this.columnno = 16; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new DanceConfig.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/DanceConfig.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/DanceConfig.cs.meta new file mode 100644 index 00000000..cf6e559e --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/DanceConfig.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 79c5acef141dd014dab9328812b55f35 +timeCreated: 1611465692 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/DargonReward.cs b/Client/Assets/Scripts/XUtliPoolLib/DargonReward.cs new file mode 100644 index 00000000..fe2d4fec --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/DargonReward.cs @@ -0,0 +1,60 @@ +using System; + +namespace XUtliPoolLib +{ + public class DargonReward : CVSReader + { + public DargonReward.RowData[] Table = null; + + public class RowData + { + public int ID; + + public string Achievement; + + public string Explanation; + + public SeqListRef Reward; + + public string ICON; + + public string DesignationName; + + public int SortID; + } + + protected override void ReadLine(XBinaryReader reader) + { + DargonReward.RowData rowData = new DargonReward.RowData(); + base.Read(reader, ref rowData.ID, CVSReader.intParse); + this.columnno = 0; + base.Read(reader, ref rowData.Achievement, CVSReader.stringParse); + this.columnno = 1; + base.Read(reader, ref rowData.Explanation, CVSReader.stringParse); + this.columnno = 2; + rowData.Reward.Read(reader, this.m_DataHandler); + this.columnno = 4; + base.Read(reader, ref rowData.ICON, CVSReader.stringParse); + this.columnno = 5; + base.Read(reader, ref rowData.DesignationName, CVSReader.stringParse); + this.columnno = 6; + base.Read(reader, ref rowData.SortID, CVSReader.intParse); + this.columnno = 7; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new DargonReward.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/DargonReward.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/DargonReward.cs.meta new file mode 100644 index 00000000..7d088327 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/DargonReward.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: e0e731c66c712e44a91ae917ffde83df +timeCreated: 1611465799 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/DataHandler.cs b/Client/Assets/Scripts/XUtliPoolLib/DataHandler.cs new file mode 100644 index 00000000..59db9e41 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/DataHandler.cs @@ -0,0 +1,265 @@ +using System; +using System.IO; + +namespace XUtliPoolLib +{ + public class DataHandler + { + private bool m_hasStringSeq = false; + + public string[] stringBuffer = null; + + public int[] intBuffer; + + public uint[] uintBuffer; + + public long[] longBuffer; + + public float[] floatBuffer; + + public double[] doubleBuffer; + + public ushort[] indexBuffer; + + public static string[] defaultStringBuffer = new string[4]; + + public static int[] defaultIntBuffer = new int[4]; + + public static uint[] defaultUIntBuffer = new uint[4]; + + public static long[] defaultLongBuffer = new long[4]; + + public static float[] defaultFloatBuffer = new float[4]; + + public static double[] defaultDoubleBuffe = new double[4]; + + public void Init(XBinaryReader br) + { + this.m_hasStringSeq = br.ReadBoolean(); + ushort num = br.ReadUInt16(); + bool flag = num > 0; + if (flag) + { + this.stringBuffer = new string[(int)num]; + for (int i = 0; i < (int)num; i++) + { + this.stringBuffer[i] = br.ReadString(-1); + } + } + else + { + this.stringBuffer = DataHandler.defaultStringBuffer; + } + ushort num2 = br.ReadUInt16(); + bool flag2 = num2 > 0; + if (flag2) + { + this.intBuffer = new int[(int)num2]; + for (int j = 0; j < (int)num2; j++) + { + this.intBuffer[j] = br.ReadInt32(); + } + } + else + { + this.intBuffer = DataHandler.defaultIntBuffer; + } + ushort num3 = br.ReadUInt16(); + bool flag3 = num3 > 0; + if (flag3) + { + this.uintBuffer = new uint[(int)num3]; + for (int k = 0; k < (int)num3; k++) + { + this.uintBuffer[k] = br.ReadUInt32(); + } + } + else + { + this.uintBuffer = DataHandler.defaultUIntBuffer; + } + ushort num4 = br.ReadUInt16(); + bool flag4 = num4 > 0; + if (flag4) + { + this.longBuffer = new long[(int)num4]; + for (int l = 0; l < (int)num4; l++) + { + this.longBuffer[l] = br.ReadInt64(); + } + } + else + { + this.longBuffer = DataHandler.defaultLongBuffer; + } + ushort num5 = br.ReadUInt16(); + bool flag5 = num5 > 0; + if (flag5) + { + this.floatBuffer = new float[(int)num5]; + for (int m = 0; m < (int)num5; m++) + { + this.floatBuffer[m] = br.ReadSingle(); + } + } + else + { + this.floatBuffer = DataHandler.defaultFloatBuffer; + } + ushort num6 = br.ReadUInt16(); + bool flag6 = num6 > 0; + if (flag6) + { + this.doubleBuffer = new double[(int)num6]; + for (int n = 0; n < (int)num6; n++) + { + this.doubleBuffer[n] = br.ReadDouble(); + } + } + else + { + this.doubleBuffer = DataHandler.defaultDoubleBuffe; + } + ushort num7 = br.ReadUInt16(); + bool flag7 = num7 > 0; + if (flag7) + { + this.indexBuffer = new ushort[(int)num7]; + for (int num8 = 0; num8 < (int)num7; num8++) + { + this.indexBuffer[num8] = br.ReadUInt16(); + } + } + } + + public void Init(BinaryReader br) + { + this.m_hasStringSeq = br.ReadBoolean(); + ushort num = br.ReadUInt16(); + bool flag = num > 0; + if (flag) + { + this.stringBuffer = new string[(int)num]; + for (int i = 0; i < (int)num; i++) + { + this.stringBuffer[i] = br.ReadString(); + } + } + ushort num2 = br.ReadUInt16(); + bool flag2 = num2 > 0; + if (flag2) + { + this.intBuffer = new int[(int)num2]; + for (int j = 0; j < (int)num2; j++) + { + this.intBuffer[j] = br.ReadInt32(); + } + } + ushort num3 = br.ReadUInt16(); + bool flag3 = num3 > 0; + if (flag3) + { + this.uintBuffer = new uint[(int)num3]; + for (int k = 0; k < (int)num3; k++) + { + this.uintBuffer[k] = br.ReadUInt32(); + } + } + ushort num4 = br.ReadUInt16(); + bool flag4 = num4 > 0; + if (flag4) + { + this.longBuffer = new long[(int)num4]; + for (int l = 0; l < (int)num4; l++) + { + this.longBuffer[l] = br.ReadInt64(); + } + } + ushort num5 = br.ReadUInt16(); + bool flag5 = num5 > 0; + if (flag5) + { + this.floatBuffer = new float[(int)num5]; + for (int m = 0; m < (int)num5; m++) + { + this.floatBuffer[m] = br.ReadSingle(); + } + } + ushort num6 = br.ReadUInt16(); + bool flag6 = num6 > 0; + if (flag6) + { + this.doubleBuffer = new double[(int)num6]; + for (int n = 0; n < (int)num6; n++) + { + this.doubleBuffer[n] = br.ReadDouble(); + } + } + ushort num7 = br.ReadUInt16(); + bool flag7 = num7 > 0; + if (flag7) + { + this.indexBuffer = new ushort[(int)num7]; + for (int num8 = 0; num8 < (int)num7; num8++) + { + this.indexBuffer[num8] = br.ReadUInt16(); + } + } + } + + public void UnInit(bool forceClean = false) + { + bool flag = !this.m_hasStringSeq; + if (flag) + { + this.stringBuffer = null; + } + if (forceClean) + { + this.stringBuffer = null; + this.intBuffer = null; + this.uintBuffer = null; + this.longBuffer = null; + this.floatBuffer = null; + this.doubleBuffer = null; + this.indexBuffer = null; + } + } + + public string ReadString(XBinaryReader br) + { + ushort num = br.ReadUInt16(); + bool flag = this.stringBuffer != null; + if (flag) + { + bool flag2 = num >= 0 && (int)num < this.stringBuffer.Length; + if (flag2) + { + return this.stringBuffer[(int)num]; + } + } + return string.Empty; + } + + public string ReadString(BinaryReader br) + { + int num = (int)br.ReadUInt16(); + bool flag = this.stringBuffer != null; + if (flag) + { + bool flag2 = num >= 0 && num < this.stringBuffer.Length; + if (flag2) + { + return this.stringBuffer[num]; + } + } + return string.Empty; + } + + public T ReadValue(CVSReader.ValueParse parser, byte allSameMask, ushort startOffset, int index, int key) + { + T[] buffer = parser.GetBuffer(this); + return (allSameMask == 1) ? buffer[(int)startOffset + key] : buffer[(int)this.indexBuffer[(int)startOffset + index] + key]; + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/DataHandler.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/DataHandler.cs.meta new file mode 100644 index 00000000..f2e187b7 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/DataHandler.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 80b44c6dcf820974a83a4c5059f0b26f +timeCreated: 1611465693 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/DeJson.meta b/Client/Assets/Scripts/XUtliPoolLib/DeJson.meta new file mode 100644 index 00000000..5ca44c86 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/DeJson.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 25cbdccef1582e34ebbfe48cfd2a3c44 +folderAsset: yes +timeCreated: 1611465282 +licenseType: Free +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/DeJson/Deserializer.cs b/Client/Assets/Scripts/XUtliPoolLib/DeJson/Deserializer.cs new file mode 100644 index 00000000..d51e375f --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/DeJson/Deserializer.cs @@ -0,0 +1,318 @@ +using System; +using System.Collections.Generic; +using System.Reflection; +using MiniJSON; + +namespace DeJson +{ + public class Deserializer + { + private Dictionary m_creators; + + public abstract class CustomCreator + { + public abstract object Create(Dictionary src, Dictionary parentSrc); + + public abstract Type TypeToCreate(); + } + + public Deserializer() + { + this.m_creators = new Dictionary(); + } + + public T Deserialize(string json) + { + object o = Json.Deserialize(json); + return this.Deserialize(o); + } + + public T Deserialize(object o) + { + return (T)((object)this.ConvertToType(o, typeof(T), null)); + } + + public void RegisterCreator(Deserializer.CustomCreator creator) + { + Type key = creator.TypeToCreate(); + this.m_creators[key] = creator; + } + + private object DeserializeO(Type destType, Dictionary src, Dictionary parentSrc) + { + object obj = null; + bool flag = destType == typeof(Dictionary); + object result; + if (flag) + { + result = src; + } + else + { + Deserializer.CustomCreator customCreator; + bool flag2 = this.m_creators.TryGetValue(destType, out customCreator); + if (flag2) + { + obj = customCreator.Create(src, parentSrc); + } + bool flag3 = obj == null; + if (flag3) + { + object obj2; + bool flag4 = src.TryGetValue("$dotNetType", out obj2); + if (flag4) + { + destType = Type.GetType((string)obj2); + } + obj = Activator.CreateInstance(destType); + } + this.DeserializeIt(obj, src); + result = obj; + } + return result; + } + + private void DeserializeIt(object dest, Dictionary src) + { + Type type = dest.GetType(); + FieldInfo[] fields = type.GetFields(); + this.DeserializeClassFields(dest, fields, src); + } + + private void DeserializeClassFields(object dest, FieldInfo[] fields, Dictionary src) + { + foreach (FieldInfo fieldInfo in fields) + { + bool isStatic = fieldInfo.IsStatic; + if (!isStatic) + { + object value; + bool flag = src.TryGetValue(fieldInfo.Name, out value); + if (flag) + { + this.DeserializeField(dest, fieldInfo, value, src); + } + } + } + } + + private void DeserializeField(object dest, FieldInfo info, object value, Dictionary src) + { + Type fieldType = info.FieldType; + object obj = this.ConvertToType(value, fieldType, src); + bool flag = fieldType.IsAssignableFrom(obj.GetType()); + if (flag) + { + info.SetValue(dest, obj); + } + } + + private object ConvertToType(object value, Type type, Dictionary src) + { + bool isArray = type.IsArray; + object result; + if (isArray) + { + result = this.ConvertToArray(value, type, src); + } + else + { + bool isGenericType = type.IsGenericType; + if (isGenericType) + { + result = this.ConvertToList(value, type, src); + } + else + { + bool flag = type == typeof(string); + if (flag) + { + result = Convert.ToString(value); + } + else + { + bool flag2 = type == typeof(byte); + if (flag2) + { + result = Convert.ToByte(value); + } + else + { + bool flag3 = type == typeof(sbyte); + if (flag3) + { + result = Convert.ToSByte(value); + } + else + { + bool flag4 = type == typeof(short); + if (flag4) + { + result = Convert.ToInt16(value); + } + else + { + bool flag5 = type == typeof(ushort); + if (flag5) + { + result = Convert.ToUInt16(value); + } + else + { + bool flag6 = type == typeof(int); + if (flag6) + { + result = Convert.ToInt32(value); + } + else + { + bool flag7 = type == typeof(uint); + if (flag7) + { + result = Convert.ToUInt32(value); + } + else + { + bool flag8 = type == typeof(long); + if (flag8) + { + result = Convert.ToInt64(value); + } + else + { + bool flag9 = type == typeof(ulong); + if (flag9) + { + result = Convert.ToUInt64(value); + } + else + { + bool flag10 = type == typeof(char); + if (flag10) + { + result = Convert.ToChar(value); + } + else + { + bool flag11 = type == typeof(double); + if (flag11) + { + result = Convert.ToDouble(value); + } + else + { + bool flag12 = type == typeof(float); + if (flag12) + { + result = Convert.ToSingle(value); + } + else + { + bool flag13 = type == typeof(int); + if (flag13) + { + result = Convert.ToInt32(value); + } + else + { + bool flag14 = type == typeof(float); + if (flag14) + { + result = Convert.ToSingle(value); + } + else + { + bool flag15 = type == typeof(double); + if (flag15) + { + result = Convert.ToDouble(value); + } + else + { + bool flag16 = type == typeof(bool); + if (flag16) + { + result = Convert.ToBoolean(value); + } + else + { + bool flag17 = type == typeof(bool); + if (flag17) + { + result = Convert.ToBoolean(value); + } + else + { + bool isValueType = type.IsValueType; + if (isValueType) + { + result = this.DeserializeO(type, (Dictionary)value, src); + } + else + { + bool isClass = type.IsClass; + if (isClass) + { + result = this.DeserializeO(type, (Dictionary)value, src); + } + else + { + result = value; + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + return result; + } + + private object ConvertToArray(object value, Type type, Dictionary src) + { + List list = (List)value; + int count = list.Count; + Type elementType = type.GetElementType(); + Array array = Array.CreateInstance(elementType, count); + int num = 0; + foreach (object value2 in list) + { + object value3 = this.ConvertToType(value2, elementType, src); + array.SetValue(value3, num); + num++; + } + return array; + } + + private object ConvertToList(object value, Type type, Dictionary src) + { + object obj = Activator.CreateInstance(type); + MethodInfo method = type.GetMethod("Add"); + List list = (List)value; + Type returnType = type.GetMethod("Find").ReturnType; + foreach (object value2 in list) + { + object obj2 = this.ConvertToType(value2, returnType, src); + method.Invoke(obj, new object[] + { + obj2 + }); + } + return obj; + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/DeJson/Deserializer.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/DeJson/Deserializer.cs.meta new file mode 100644 index 00000000..f0743a55 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/DeJson/Deserializer.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: a7c295911059ac440a342c3b4aa2355d +timeCreated: 1611465738 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/DeJson/Serializer.cs b/Client/Assets/Scripts/XUtliPoolLib/DeJson/Serializer.cs new file mode 100644 index 00000000..9f807611 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/DeJson/Serializer.cs @@ -0,0 +1,426 @@ +using System; +using System.Collections; +using System.Globalization; +using System.Reflection; +using System.Text; + +namespace DeJson +{ + public class Serializer + { + private StringBuilder m_builder; + + private bool m_includeTypeInfoForDerivedTypes; + + private bool m_prettyPrint; + + private string m_prefix; + + public static string Serialize(object obj, bool includeTypeInfoForDerivedTypes = false, bool prettyPrint = false) + { + Serializer serializer = new Serializer(includeTypeInfoForDerivedTypes, prettyPrint); + serializer.SerializeValue(obj); + return serializer.GetJson(); + } + + private Serializer(bool includeTypeInfoForDerivedTypes, bool prettyPrint) + { + this.m_builder = new StringBuilder(); + this.m_includeTypeInfoForDerivedTypes = includeTypeInfoForDerivedTypes; + this.m_prettyPrint = prettyPrint; + this.m_prefix = ""; + } + + private string GetJson() + { + return this.m_builder.ToString(); + } + + private void Indent() + { + bool prettyPrint = this.m_prettyPrint; + if (prettyPrint) + { + this.m_prefix += " "; + } + } + + private void Outdent() + { + bool prettyPrint = this.m_prettyPrint; + if (prettyPrint) + { + this.m_prefix = this.m_prefix.Substring(2); + } + } + + private void AddIndent() + { + bool prettyPrint = this.m_prettyPrint; + if (prettyPrint) + { + this.m_builder.Append(this.m_prefix); + } + } + + private void AddLine() + { + bool prettyPrint = this.m_prettyPrint; + if (prettyPrint) + { + this.m_builder.Append("\n"); + } + } + + private void AddSpace() + { + bool prettyPrint = this.m_prettyPrint; + if (prettyPrint) + { + this.m_builder.Append(" "); + } + } + + private void SerializeValue(object obj) + { + bool flag = obj == null; + if (flag) + { + this.m_builder.Append("undefined"); + } + else + { + Type type = obj.GetType(); + bool isArray = type.IsArray; + if (isArray) + { + this.SerializeArray(obj); + } + else + { + bool flag2 = type == typeof(string); + if (flag2) + { + this.SerializeString(obj as string); + } + else + { + bool flag3 = type == typeof(char); + if (flag3) + { + this.SerializeString(obj.ToString()); + } + else + { + bool flag4 = type == typeof(bool); + if (flag4) + { + this.m_builder.Append(((bool)obj) ? "true" : "false"); + } + else + { + bool flag5 = type == typeof(bool); + if (flag5) + { + this.m_builder.Append(((bool)obj) ? "true" : "false"); + this.m_builder.Append(Convert.ChangeType(obj, typeof(string))); + } + else + { + bool flag6 = type == typeof(int); + if (flag6) + { + this.m_builder.Append(obj); + } + else + { + bool flag7 = type == typeof(byte); + if (flag7) + { + this.m_builder.Append(obj); + } + else + { + bool flag8 = type == typeof(sbyte); + if (flag8) + { + this.m_builder.Append(obj); + } + else + { + bool flag9 = type == typeof(short); + if (flag9) + { + this.m_builder.Append(obj); + } + else + { + bool flag10 = type == typeof(ushort); + if (flag10) + { + this.m_builder.Append(obj); + } + else + { + bool flag11 = type == typeof(int); + if (flag11) + { + this.m_builder.Append(obj); + } + else + { + bool flag12 = type == typeof(uint); + if (flag12) + { + this.m_builder.Append(obj); + } + else + { + bool flag13 = type == typeof(long); + if (flag13) + { + this.m_builder.Append(obj); + } + else + { + bool flag14 = type == typeof(ulong); + if (flag14) + { + this.m_builder.Append(obj); + } + else + { + bool flag15 = type == typeof(float); + if (flag15) + { + this.m_builder.Append(((float)obj).ToString("R", CultureInfo.InvariantCulture)); + } + else + { + bool flag16 = type == typeof(double); + if (flag16) + { + this.m_builder.Append(((double)obj).ToString("R", CultureInfo.InvariantCulture)); + } + else + { + bool flag17 = type == typeof(float); + if (flag17) + { + this.m_builder.Append(((float)obj).ToString("R", CultureInfo.InvariantCulture)); + } + else + { + bool flag18 = type == typeof(double); + if (flag18) + { + this.m_builder.Append(((double)obj).ToString("R", CultureInfo.InvariantCulture)); + } + else + { + bool isValueType = type.IsValueType; + if (isValueType) + { + this.SerializeObject(obj); + } + else + { + bool isClass = type.IsClass; + if (!isClass) + { + throw new InvalidOperationException("unsupport type: " + type.Name); + } + this.SerializeObject(obj); + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + + private void SerializeArray(object obj) + { + this.m_builder.Append("["); + this.AddLine(); + this.Indent(); + Array array = obj as Array; + bool flag = true; + foreach (object obj2 in array) + { + bool flag2 = !flag; + if (flag2) + { + this.m_builder.Append(","); + this.AddLine(); + } + this.AddIndent(); + this.SerializeValue(obj2); + flag = false; + } + this.AddLine(); + this.Outdent(); + this.AddIndent(); + this.m_builder.Append("]"); + } + + private void SerializeDictionary(IDictionary obj) + { + bool flag = true; + foreach (object obj2 in obj.Keys) + { + bool flag2 = !flag; + if (flag2) + { + this.m_builder.Append(','); + this.AddLine(); + } + this.AddIndent(); + this.SerializeString(obj2.ToString()); + this.m_builder.Append(':'); + this.AddSpace(); + this.SerializeValue(obj[obj2]); + flag = false; + } + } + + private void SerializeObject(object obj) + { + this.m_builder.Append("{"); + this.AddLine(); + this.Indent(); + bool flag = true; + bool includeTypeInfoForDerivedTypes = this.m_includeTypeInfoForDerivedTypes; + if (includeTypeInfoForDerivedTypes) + { + Type type = obj.GetType(); + Type baseType = type.BaseType; + bool flag2 = baseType != null && baseType != typeof(object); + if (flag2) + { + this.AddIndent(); + this.SerializeString("$dotNetType"); + this.m_builder.Append(":"); + this.AddSpace(); + this.SerializeString(type.FullName); + } + } + IDictionary obj2; + bool flag3 = (obj2 = (obj as IDictionary)) != null; + if (flag3) + { + this.SerializeDictionary(obj2); + } + else + { + FieldInfo[] fields = obj.GetType().GetFields(); + foreach (FieldInfo fieldInfo in fields) + { + bool isStatic = fieldInfo.IsStatic; + if (!isStatic) + { + object value = fieldInfo.GetValue(obj); + bool flag4 = value != null; + if (flag4) + { + bool flag5 = !flag; + if (flag5) + { + this.m_builder.Append(","); + this.AddLine(); + } + this.AddIndent(); + this.SerializeString(fieldInfo.Name); + this.m_builder.Append(":"); + this.AddSpace(); + this.SerializeValue(value); + flag = false; + } + } + } + } + this.AddLine(); + this.Outdent(); + this.AddIndent(); + this.m_builder.Append("}"); + } + + private void SerializeString(string str) + { + this.m_builder.Append('"'); + char[] array = str.ToCharArray(); + char[] array2 = array; + int i = 0; + while (i < array2.Length) + { + char c = array2[i]; + char c2 = c; + switch (c2) + { + case '\b': + this.m_builder.Append("\\b"); + break; + case '\t': + this.m_builder.Append("\\t"); + break; + case '\n': + this.m_builder.Append("\\n"); + break; + case '\v': + goto IL_F2; + case '\f': + this.m_builder.Append("\\f"); + break; + case '\r': + this.m_builder.Append("\\r"); + break; + default: + if (c2 != '"') + { + if (c2 != '\\') + { + goto IL_F2; + } + this.m_builder.Append("\\\\"); + } + else + { + this.m_builder.Append("\\\""); + } + break; + } + IL_150: + i++; + continue; + IL_F2: + int num = Convert.ToInt32(c); + bool flag = num >= 32 && num <= 126; + if (flag) + { + this.m_builder.Append(c); + } + else + { + this.m_builder.Append("\\u"); + this.m_builder.Append(num.ToString("x4")); + } + goto IL_150; + } + this.m_builder.Append('"'); + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/DeJson/Serializer.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/DeJson/Serializer.cs.meta new file mode 100644 index 00000000..7198cf9d --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/DeJson/Serializer.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 22c7aad9d168e1144ac7c2f16f522d47 +timeCreated: 1611465299 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/DebugHandler.cs b/Client/Assets/Scripts/XUtliPoolLib/DebugHandler.cs new file mode 100644 index 00000000..9e54feda --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/DebugHandler.cs @@ -0,0 +1,6 @@ +using System; + +namespace XUtliPoolLib +{ + public delegate void DebugHandler(XGameObject gameObject, XEngineCommand command, string str, int id); +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/DebugHandler.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/DebugHandler.cs.meta new file mode 100644 index 00000000..a3b7320f --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/DebugHandler.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 0b0335df94f1d964c85c0a9f567c8ec0 +timeCreated: 1611465287 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/DefaultEquip.cs b/Client/Assets/Scripts/XUtliPoolLib/DefaultEquip.cs new file mode 100644 index 00000000..89de29ae --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/DefaultEquip.cs @@ -0,0 +1,185 @@ +using System; + +namespace XUtliPoolLib +{ + public class DefaultEquip : CVSReader + { + public DefaultEquip.RowData[] Table = null; + + public class RowData + { + public int ProfID; + + public string Helmet; + + public string Face; + + public string Body; + + public string Leg; + + public string Boots; + + public string Glove; + + public string Weapon; + + public string[] WeaponPoint; + + public string WingPoint; + + public string SecondWeapon; + + public string Wing; + + public string Tail; + + public string Decal; + + public string Hair; + + public string TailPoint; + + public string FishingPoint; + + public string[] SideWeaponPoint; + + public string RootPoint; + + public byte id; + } + + public DefaultEquip.RowData GetByProfID(int key) + { + bool flag = this.Table == null || this.Table.Length == 0; + DefaultEquip.RowData result; + if (flag) + { + result = null; + } + else + { + result = this.BinarySearchProfID(key); + } + return result; + } + + private DefaultEquip.RowData BinarySearchProfID(int key) + { + int num = 0; + int num2 = this.Table.Length - 1; + DefaultEquip.RowData rowData; + DefaultEquip.RowData rowData2; + DefaultEquip.RowData rowData3; + for (;;) + { + rowData = this.Table[num]; + bool flag = rowData.ProfID == key; + if (flag) + { + break; + } + rowData2 = this.Table[num2]; + bool flag2 = rowData2.ProfID == key; + if (flag2) + { + goto Block_2; + } + bool flag3 = num2 - num <= 1; + if (flag3) + { + goto Block_3; + } + int num3 = num + (num2 - num) / 2; + rowData3 = this.Table[num3]; + bool flag4 = rowData3.ProfID.CompareTo(key) > 0; + if (flag4) + { + num2 = num3; + } + else + { + bool flag5 = rowData3.ProfID.CompareTo(key) < 0; + if (!flag5) + { + goto IL_B1; + } + num = num3; + } + if (num >= num2) + { + goto Block_6; + } + } + return rowData; + Block_2: + return rowData2; + Block_3: + return null; + IL_B1: + return rowData3; + Block_6: + return null; + } + + protected override void ReadLine(XBinaryReader reader) + { + DefaultEquip.RowData rowData = new DefaultEquip.RowData(); + base.Read(reader, ref rowData.ProfID, CVSReader.intParse); + this.columnno = 0; + base.Read(reader, ref rowData.Helmet, CVSReader.stringParse); + this.columnno = 1; + base.Read(reader, ref rowData.Face, CVSReader.stringParse); + this.columnno = 2; + base.Read(reader, ref rowData.Body, CVSReader.stringParse); + this.columnno = 3; + base.Read(reader, ref rowData.Leg, CVSReader.stringParse); + this.columnno = 4; + base.Read(reader, ref rowData.Boots, CVSReader.stringParse); + this.columnno = 5; + base.Read(reader, ref rowData.Glove, CVSReader.stringParse); + this.columnno = 6; + base.Read(reader, ref rowData.Weapon, CVSReader.stringParse); + this.columnno = 7; + base.ReadArray(reader, ref rowData.WeaponPoint, CVSReader.stringParse); + this.columnno = 8; + base.Read(reader, ref rowData.WingPoint, CVSReader.stringParse); + this.columnno = 9; + base.Read(reader, ref rowData.SecondWeapon, CVSReader.stringParse); + this.columnno = 10; + base.Read(reader, ref rowData.Wing, CVSReader.stringParse); + this.columnno = 11; + base.Read(reader, ref rowData.Tail, CVSReader.stringParse); + this.columnno = 12; + base.Read(reader, ref rowData.Decal, CVSReader.stringParse); + this.columnno = 13; + base.Read(reader, ref rowData.Hair, CVSReader.stringParse); + this.columnno = 14; + base.Read(reader, ref rowData.TailPoint, CVSReader.stringParse); + this.columnno = 15; + base.Read(reader, ref rowData.FishingPoint, CVSReader.stringParse); + this.columnno = 16; + base.ReadArray(reader, ref rowData.SideWeaponPoint, CVSReader.stringParse); + this.columnno = 17; + base.Read(reader, ref rowData.RootPoint, CVSReader.stringParse); + this.columnno = 18; + base.Read(reader, ref rowData.id, CVSReader.byteParse); + this.columnno = 19; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new DefaultEquip.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/DefaultEquip.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/DefaultEquip.cs.meta new file mode 100644 index 00000000..ade2f5a9 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/DefaultEquip.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: d91078a0f77cee84aa21b03e33061411 +timeCreated: 1611465765 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/DelLuaError.cs b/Client/Assets/Scripts/XUtliPoolLib/DelLuaError.cs new file mode 100644 index 00000000..5be8fd3e --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/DelLuaError.cs @@ -0,0 +1,6 @@ +using System; + +namespace XUtliPoolLib +{ + public delegate void DelLuaError(int errorCode); +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/DelLuaError.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/DelLuaError.cs.meta new file mode 100644 index 00000000..ee9d7379 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/DelLuaError.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 4ae0fb27b298cef47a8c4dac5eecf113 +timeCreated: 1611465640 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/DelLuaRespond.cs b/Client/Assets/Scripts/XUtliPoolLib/DelLuaRespond.cs new file mode 100644 index 00000000..3510072d --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/DelLuaRespond.cs @@ -0,0 +1,6 @@ +using System; + +namespace XUtliPoolLib +{ + public delegate void DelLuaRespond(byte[] resBuff, int length); +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/DelLuaRespond.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/DelLuaRespond.cs.meta new file mode 100644 index 00000000..3328e9a0 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/DelLuaRespond.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: f5ef4020807dcae4e94d5a81372e31d1 +timeCreated: 1611465809 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/DelegateHandler.cs b/Client/Assets/Scripts/XUtliPoolLib/DelegateHandler.cs new file mode 100644 index 00000000..0c9fc002 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/DelegateHandler.cs @@ -0,0 +1,6 @@ +using System; + +namespace XUtliPoolLib +{ + public delegate void DelegateHandler(ILoopItemObject item, LoopItemData data); +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/DelegateHandler.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/DelegateHandler.cs.meta new file mode 100644 index 00000000..1aa31b96 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/DelegateHandler.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: ddabd3c05b2dd71469f793cc9622cece +timeCreated: 1611465797 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/DesignationTable.cs b/Client/Assets/Scripts/XUtliPoolLib/DesignationTable.cs new file mode 100644 index 00000000..a8672713 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/DesignationTable.cs @@ -0,0 +1,173 @@ +using System; + +namespace XUtliPoolLib +{ + public class DesignationTable : CVSReader + { + public DesignationTable.RowData[] Table = null; + + public class RowData + { + public int ID; + + public string Designation; + + public int Type; + + public string Explanation; + + public int CompleteType; + + public int[] CompleteValue; + + public int Pragmaticality; + + public string Effect; + + public SeqListRef Attribute; + + public string Color; + + public int GainShowIcon; + + public int SortID; + + public SeqRef Level; + + public bool ShowInChat; + + public int Channel; + + public string Atlas; + + public bool Special; + } + + public DesignationTable.RowData GetByID(int key) + { + bool flag = this.Table == null || this.Table.Length == 0; + DesignationTable.RowData result; + if (flag) + { + result = null; + } + else + { + result = this.BinarySearchID(key); + } + return result; + } + + private DesignationTable.RowData BinarySearchID(int key) + { + int num = 0; + int num2 = this.Table.Length - 1; + DesignationTable.RowData rowData; + DesignationTable.RowData rowData2; + DesignationTable.RowData rowData3; + for (;;) + { + rowData = this.Table[num]; + bool flag = rowData.ID == key; + if (flag) + { + break; + } + rowData2 = this.Table[num2]; + bool flag2 = rowData2.ID == key; + if (flag2) + { + goto Block_2; + } + bool flag3 = num2 - num <= 1; + if (flag3) + { + goto Block_3; + } + int num3 = num + (num2 - num) / 2; + rowData3 = this.Table[num3]; + bool flag4 = rowData3.ID.CompareTo(key) > 0; + if (flag4) + { + num2 = num3; + } + else + { + bool flag5 = rowData3.ID.CompareTo(key) < 0; + if (!flag5) + { + goto IL_B1; + } + num = num3; + } + if (num >= num2) + { + goto Block_6; + } + } + return rowData; + Block_2: + return rowData2; + Block_3: + return null; + IL_B1: + return rowData3; + Block_6: + return null; + } + + protected override void ReadLine(XBinaryReader reader) + { + DesignationTable.RowData rowData = new DesignationTable.RowData(); + base.Read(reader, ref rowData.ID, CVSReader.intParse); + this.columnno = 0; + base.Read(reader, ref rowData.Designation, CVSReader.stringParse); + this.columnno = 1; + base.Read(reader, ref rowData.Type, CVSReader.intParse); + this.columnno = 2; + base.Read(reader, ref rowData.Explanation, CVSReader.stringParse); + this.columnno = 3; + base.Read(reader, ref rowData.CompleteType, CVSReader.intParse); + this.columnno = 4; + base.ReadArray(reader, ref rowData.CompleteValue, CVSReader.intParse); + this.columnno = 5; + base.Read(reader, ref rowData.Pragmaticality, CVSReader.intParse); + this.columnno = 6; + base.Read(reader, ref rowData.Effect, CVSReader.stringParse); + this.columnno = 7; + rowData.Attribute.Read(reader, this.m_DataHandler); + this.columnno = 8; + base.Read(reader, ref rowData.Color, CVSReader.stringParse); + this.columnno = 9; + base.Read(reader, ref rowData.GainShowIcon, CVSReader.intParse); + this.columnno = 10; + base.Read(reader, ref rowData.SortID, CVSReader.intParse); + this.columnno = 11; + rowData.Level.Read(reader, this.m_DataHandler); + this.columnno = 12; + base.Read(reader, ref rowData.ShowInChat, CVSReader.boolParse); + this.columnno = 13; + base.Read(reader, ref rowData.Channel, CVSReader.intParse); + this.columnno = 14; + base.Read(reader, ref rowData.Atlas, CVSReader.stringParse); + this.columnno = 15; + base.Read(reader, ref rowData.Special, CVSReader.boolParse); + this.columnno = 16; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new DesignationTable.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/DesignationTable.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/DesignationTable.cs.meta new file mode 100644 index 00000000..3a96362e --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/DesignationTable.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: ce62bcc003303a042af3b846ef9a2efa +timeCreated: 1611465759 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/DetectEnemyInRangeArg.cs b/Client/Assets/Scripts/XUtliPoolLib/DetectEnemyInRangeArg.cs new file mode 100644 index 00000000..9976295e --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/DetectEnemyInRangeArg.cs @@ -0,0 +1,23 @@ +using System; + +namespace XUtliPoolLib +{ + public struct DetectEnemyInRangeArg + { + public int mAIArgRangeType; + + public float mAIArgRadius; + + public float mAIArgAngle; + + public float mAIArgLength; + + public float mAIArgWidth; + + public float mAIArgOffsetLength; + + public int mAIArgMonsterType; + + public int mAIArgFightGroupType; + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/DetectEnemyInRangeArg.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/DetectEnemyInRangeArg.cs.meta new file mode 100644 index 00000000..0ab4d4be --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/DetectEnemyInRangeArg.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 10c517cde1b41ed49a3aa68906acc693 +timeCreated: 1611465291 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/DictionaryPool.cs b/Client/Assets/Scripts/XUtliPoolLib/DictionaryPool.cs new file mode 100644 index 00000000..b5d01cd5 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/DictionaryPool.cs @@ -0,0 +1,31 @@ +using System; +using System.Collections.Generic; + +namespace XUtliPoolLib +{ + public class DictionaryPool + { + private static readonly ObjectPool> s_Pool = new ObjectPool>(new ObjectPool>.CreateObj(DictionaryPool.Create), delegate(Dictionary l) + { + l.Clear(); + }, delegate(Dictionary l) + { + l.Clear(); + }); + + public static Dictionary Create() + { + return new Dictionary(); + } + + public static Dictionary Get() + { + return DictionaryPool.s_Pool.Get(); + } + + public static void Release(Dictionary toRelease) + { + DictionaryPool.s_Pool.Release(toRelease); + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/DictionaryPool.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/DictionaryPool.cs.meta new file mode 100644 index 00000000..723e2648 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/DictionaryPool.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 89643f0c663917f48a989d5452c5408f +timeCreated: 1611465699 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/DoubleActivity.cs b/Client/Assets/Scripts/XUtliPoolLib/DoubleActivity.cs new file mode 100644 index 00000000..3f185e3d --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/DoubleActivity.cs @@ -0,0 +1,79 @@ +using System; + +namespace XUtliPoolLib +{ + public class DoubleActivity : CVSReader + { + public DoubleActivity.RowData[] Table = null; + + public class RowData + { + public uint SystemId; + + public uint[] WeekOpenDays; + + public uint[] TimeSpan; + + public uint DropMultiple; + + public uint DropItems; + + public uint LimitTimes; + } + + public DoubleActivity.RowData GetBySystemId(uint key) + { + bool flag = this.Table == null || this.Table.Length == 0; + DoubleActivity.RowData result; + if (flag) + { + result = null; + } + else + { + for (int i = 0; i < this.Table.Length; i++) + { + bool flag2 = this.Table[i].SystemId == key; + if (flag2) + { + return this.Table[i]; + } + } + result = null; + } + return result; + } + + protected override void ReadLine(XBinaryReader reader) + { + DoubleActivity.RowData rowData = new DoubleActivity.RowData(); + base.Read(reader, ref rowData.SystemId, CVSReader.uintParse); + this.columnno = 0; + base.ReadArray(reader, ref rowData.WeekOpenDays, CVSReader.uintParse); + this.columnno = 1; + base.ReadArray(reader, ref rowData.TimeSpan, CVSReader.uintParse); + this.columnno = 2; + base.Read(reader, ref rowData.DropMultiple, CVSReader.uintParse); + this.columnno = 3; + base.Read(reader, ref rowData.DropItems, CVSReader.uintParse); + this.columnno = 4; + base.Read(reader, ref rowData.LimitTimes, CVSReader.uintParse); + this.columnno = 5; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new DoubleActivity.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/DoubleActivity.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/DoubleActivity.cs.meta new file mode 100644 index 00000000..1af5ed73 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/DoubleActivity.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: f63897f564c0e7d4c80102164b7abbc7 +timeCreated: 1611465809 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/DragonExpList.cs b/Client/Assets/Scripts/XUtliPoolLib/DragonExpList.cs new file mode 100644 index 00000000..e4520684 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/DragonExpList.cs @@ -0,0 +1,103 @@ +using System; + +namespace XUtliPoolLib +{ + public class DragonExpList : CVSReader + { + public DragonExpList.RowData[] Table = null; + + public class RowData + { + public uint SceneID; + + public string Description; + + public SeqListRef WinReward; + + public string ResName; + + public string BuffIcon; + + public string BuffDes; + + public uint BossID; + + public uint SealLevel; + + public SeqRef ChapterID; + + public string WinHit; + + public float LimitPos; + + public float[] SnapPos; + } + + public DragonExpList.RowData GetBySceneID(uint key) + { + bool flag = this.Table == null || this.Table.Length == 0; + DragonExpList.RowData result; + if (flag) + { + result = null; + } + else + { + for (int i = 0; i < this.Table.Length; i++) + { + bool flag2 = this.Table[i].SceneID == key; + if (flag2) + { + return this.Table[i]; + } + } + result = null; + } + return result; + } + + protected override void ReadLine(XBinaryReader reader) + { + DragonExpList.RowData rowData = new DragonExpList.RowData(); + base.Read(reader, ref rowData.SceneID, CVSReader.uintParse); + this.columnno = 0; + base.Read(reader, ref rowData.Description, CVSReader.stringParse); + this.columnno = 1; + rowData.WinReward.Read(reader, this.m_DataHandler); + this.columnno = 3; + base.Read(reader, ref rowData.ResName, CVSReader.stringParse); + this.columnno = 4; + base.Read(reader, ref rowData.BuffIcon, CVSReader.stringParse); + this.columnno = 6; + base.Read(reader, ref rowData.BuffDes, CVSReader.stringParse); + this.columnno = 7; + base.Read(reader, ref rowData.BossID, CVSReader.uintParse); + this.columnno = 8; + base.Read(reader, ref rowData.SealLevel, CVSReader.uintParse); + this.columnno = 9; + rowData.ChapterID.Read(reader, this.m_DataHandler); + this.columnno = 11; + base.Read(reader, ref rowData.WinHit, CVSReader.stringParse); + this.columnno = 12; + base.Read(reader, ref rowData.LimitPos, CVSReader.floatParse); + this.columnno = 13; + base.ReadArray(reader, ref rowData.SnapPos, CVSReader.floatParse); + this.columnno = 14; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new DragonExpList.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/DragonExpList.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/DragonExpList.cs.meta new file mode 100644 index 00000000..8744a0aa --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/DragonExpList.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 13c252d4385692e499b93806929bdc8a +timeCreated: 1611465293 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/DragonGuildAchieveTable.cs b/Client/Assets/Scripts/XUtliPoolLib/DragonGuildAchieveTable.cs new file mode 100644 index 00000000..ccc49309 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/DragonGuildAchieveTable.cs @@ -0,0 +1,103 @@ +using System; + +namespace XUtliPoolLib +{ + public class DragonGuildAchieveTable : CVSReader + { + public DragonGuildAchieveTable.RowData[] Table = null; + + public class RowData + { + public uint ID; + + public uint Type; + + public string name; + + public string description; + + public string icon; + + public uint SceneID; + + public uint count; + + public uint guildExp; + + public uint[] dropID; + + public SeqListRef viewabledrop; + + public uint chestCount; + + public uint value; + } + + public DragonGuildAchieveTable.RowData GetByID(uint key) + { + bool flag = this.Table == null || this.Table.Length == 0; + DragonGuildAchieveTable.RowData result; + if (flag) + { + result = null; + } + else + { + for (int i = 0; i < this.Table.Length; i++) + { + bool flag2 = this.Table[i].ID == key; + if (flag2) + { + return this.Table[i]; + } + } + result = null; + } + return result; + } + + protected override void ReadLine(XBinaryReader reader) + { + DragonGuildAchieveTable.RowData rowData = new DragonGuildAchieveTable.RowData(); + base.Read(reader, ref rowData.ID, CVSReader.uintParse); + this.columnno = 0; + base.Read(reader, ref rowData.Type, CVSReader.uintParse); + this.columnno = 1; + base.Read(reader, ref rowData.name, CVSReader.stringParse); + this.columnno = 2; + base.Read(reader, ref rowData.description, CVSReader.stringParse); + this.columnno = 3; + base.Read(reader, ref rowData.icon, CVSReader.stringParse); + this.columnno = 4; + base.Read(reader, ref rowData.SceneID, CVSReader.uintParse); + this.columnno = 5; + base.Read(reader, ref rowData.count, CVSReader.uintParse); + this.columnno = 6; + base.Read(reader, ref rowData.guildExp, CVSReader.uintParse); + this.columnno = 7; + base.ReadArray(reader, ref rowData.dropID, CVSReader.uintParse); + this.columnno = 8; + rowData.viewabledrop.Read(reader, this.m_DataHandler); + this.columnno = 9; + base.Read(reader, ref rowData.chestCount, CVSReader.uintParse); + this.columnno = 10; + base.Read(reader, ref rowData.value, CVSReader.uintParse); + this.columnno = 11; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new DragonGuildAchieveTable.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/DragonGuildAchieveTable.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/DragonGuildAchieveTable.cs.meta new file mode 100644 index 00000000..405d3cda --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/DragonGuildAchieveTable.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 4be8a5c23ee2af74a877e5c631442506 +timeCreated: 1611465641 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/DragonGuildConfigTable.cs b/Client/Assets/Scripts/XUtliPoolLib/DragonGuildConfigTable.cs new file mode 100644 index 00000000..9eba1f98 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/DragonGuildConfigTable.cs @@ -0,0 +1,75 @@ +using System; + +namespace XUtliPoolLib +{ + public class DragonGuildConfigTable : CVSReader + { + public DragonGuildConfigTable.RowData[] Table = null; + + public class RowData + { + public uint DragonGuildLevel; + + public uint DragonGuildExpNeed; + + public uint DragonGuildNumber; + + public uint PresidentNum; + + public uint VicePresidentNum; + } + + public DragonGuildConfigTable.RowData GetByDragonGuildLevel(uint key) + { + bool flag = this.Table == null || this.Table.Length == 0; + DragonGuildConfigTable.RowData result; + if (flag) + { + result = null; + } + else + { + for (int i = 0; i < this.Table.Length; i++) + { + bool flag2 = this.Table[i].DragonGuildLevel == key; + if (flag2) + { + return this.Table[i]; + } + } + result = null; + } + return result; + } + + protected override void ReadLine(XBinaryReader reader) + { + DragonGuildConfigTable.RowData rowData = new DragonGuildConfigTable.RowData(); + base.Read(reader, ref rowData.DragonGuildLevel, CVSReader.uintParse); + this.columnno = 0; + base.Read(reader, ref rowData.DragonGuildExpNeed, CVSReader.uintParse); + this.columnno = 1; + base.Read(reader, ref rowData.DragonGuildNumber, CVSReader.uintParse); + this.columnno = 2; + base.Read(reader, ref rowData.PresidentNum, CVSReader.uintParse); + this.columnno = 3; + base.Read(reader, ref rowData.VicePresidentNum, CVSReader.uintParse); + this.columnno = 4; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new DragonGuildConfigTable.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/DragonGuildConfigTable.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/DragonGuildConfigTable.cs.meta new file mode 100644 index 00000000..9c146e06 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/DragonGuildConfigTable.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 87e074712a82fff41be09513575e761b +timeCreated: 1611465697 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/DragonGuildIntroduce.cs b/Client/Assets/Scripts/XUtliPoolLib/DragonGuildIntroduce.cs new file mode 100644 index 00000000..2b944a2e --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/DragonGuildIntroduce.cs @@ -0,0 +1,71 @@ +using System; + +namespace XUtliPoolLib +{ + public class DragonGuildIntroduce : CVSReader + { + public DragonGuildIntroduce.RowData[] Table = null; + + public class RowData + { + public string HelpName; + + public string Logo; + + public string Title; + + public string Desc; + } + + public DragonGuildIntroduce.RowData GetByHelpName(string key) + { + bool flag = this.Table == null || this.Table.Length == 0; + DragonGuildIntroduce.RowData result; + if (flag) + { + result = null; + } + else + { + for (int i = 0; i < this.Table.Length; i++) + { + bool flag2 = this.Table[i].HelpName == key; + if (flag2) + { + return this.Table[i]; + } + } + result = null; + } + return result; + } + + protected override void ReadLine(XBinaryReader reader) + { + DragonGuildIntroduce.RowData rowData = new DragonGuildIntroduce.RowData(); + base.Read(reader, ref rowData.HelpName, CVSReader.stringParse); + this.columnno = 0; + base.Read(reader, ref rowData.Logo, CVSReader.stringParse); + this.columnno = 1; + base.Read(reader, ref rowData.Title, CVSReader.stringParse); + this.columnno = 2; + base.Read(reader, ref rowData.Desc, CVSReader.stringParse); + this.columnno = 3; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new DragonGuildIntroduce.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/DragonGuildIntroduce.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/DragonGuildIntroduce.cs.meta new file mode 100644 index 00000000..750c91a4 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/DragonGuildIntroduce.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 35d022b0f4ced27449b0b9d4f4159200 +timeCreated: 1611465631 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/DragonGuildLivenessTable.cs b/Client/Assets/Scripts/XUtliPoolLib/DragonGuildLivenessTable.cs new file mode 100644 index 00000000..8711b7c0 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/DragonGuildLivenessTable.cs @@ -0,0 +1,52 @@ +using System; + +namespace XUtliPoolLib +{ + public class DragonGuildLivenessTable : CVSReader + { + public DragonGuildLivenessTable.RowData[] Table = null; + + public class RowData + { + public uint liveness; + + public SeqRef level; + + public SeqListRef viewabledrop; + + public uint index; + + public string boxPic; + } + + protected override void ReadLine(XBinaryReader reader) + { + DragonGuildLivenessTable.RowData rowData = new DragonGuildLivenessTable.RowData(); + base.Read(reader, ref rowData.liveness, CVSReader.uintParse); + this.columnno = 0; + rowData.level.Read(reader, this.m_DataHandler); + this.columnno = 1; + rowData.viewabledrop.Read(reader, this.m_DataHandler); + this.columnno = 4; + base.Read(reader, ref rowData.index, CVSReader.uintParse); + this.columnno = 5; + base.Read(reader, ref rowData.boxPic, CVSReader.stringParse); + this.columnno = 6; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new DragonGuildLivenessTable.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/DragonGuildLivenessTable.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/DragonGuildLivenessTable.cs.meta new file mode 100644 index 00000000..9d7359ae --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/DragonGuildLivenessTable.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 916b831e5c3ecc14a9e95d8c1bab1d92 +timeCreated: 1611465705 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/DragonGuildPermissionTable.cs b/Client/Assets/Scripts/XUtliPoolLib/DragonGuildPermissionTable.cs new file mode 100644 index 00000000..8a3ac0f5 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/DragonGuildPermissionTable.cs @@ -0,0 +1,48 @@ +using System; + +namespace XUtliPoolLib +{ + public class DragonGuildPermissionTable : CVSReader + { + public DragonGuildPermissionTable.RowData[] Table = null; + + public class RowData + { + public string DragonGuildID; + + public int DGPOS_LEADER; + + public int DGPOS_VIVELEADER; + + public int DGPOS_MEMBER; + } + + protected override void ReadLine(XBinaryReader reader) + { + DragonGuildPermissionTable.RowData rowData = new DragonGuildPermissionTable.RowData(); + base.Read(reader, ref rowData.DragonGuildID, CVSReader.stringParse); + this.columnno = 0; + base.Read(reader, ref rowData.DGPOS_LEADER, CVSReader.intParse); + this.columnno = 1; + base.Read(reader, ref rowData.DGPOS_VIVELEADER, CVSReader.intParse); + this.columnno = 2; + base.Read(reader, ref rowData.DGPOS_MEMBER, CVSReader.intParse); + this.columnno = 3; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new DragonGuildPermissionTable.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/DragonGuildPermissionTable.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/DragonGuildPermissionTable.cs.meta new file mode 100644 index 00000000..4aaa5876 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/DragonGuildPermissionTable.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 109974283d9849b4fb69f5c0647a3749 +timeCreated: 1611465290 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/DragonGuildTable.cs b/Client/Assets/Scripts/XUtliPoolLib/DragonGuildTable.cs new file mode 100644 index 00000000..60f14932 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/DragonGuildTable.cs @@ -0,0 +1,63 @@ +using System; + +namespace XUtliPoolLib +{ + public class DragonGuildTable : CVSReader + { + public DragonGuildTable.RowData[] Table = null; + + public class RowData + { + public uint level; + + public SeqRef buf; + } + + public DragonGuildTable.RowData GetBylevel(uint key) + { + bool flag = this.Table == null || this.Table.Length == 0; + DragonGuildTable.RowData result; + if (flag) + { + result = null; + } + else + { + for (int i = 0; i < this.Table.Length; i++) + { + bool flag2 = this.Table[i].level == key; + if (flag2) + { + return this.Table[i]; + } + } + result = null; + } + return result; + } + + protected override void ReadLine(XBinaryReader reader) + { + DragonGuildTable.RowData rowData = new DragonGuildTable.RowData(); + base.Read(reader, ref rowData.level, CVSReader.uintParse); + this.columnno = 0; + rowData.buf.Read(reader, this.m_DataHandler); + this.columnno = 1; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new DragonGuildTable.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/DragonGuildTable.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/DragonGuildTable.cs.meta new file mode 100644 index 00000000..5c6ef350 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/DragonGuildTable.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 0bdf4633b256d394f9e74bd1e770f603 +timeCreated: 1611465288 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/DragonGuildTaskTable.cs b/Client/Assets/Scripts/XUtliPoolLib/DragonGuildTaskTable.cs new file mode 100644 index 00000000..ba1e26a6 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/DragonGuildTaskTable.cs @@ -0,0 +1,99 @@ +using System; + +namespace XUtliPoolLib +{ + public class DragonGuildTaskTable : CVSReader + { + public DragonGuildTaskTable.RowData[] Table = null; + + public class RowData + { + public uint taskID; + + public uint taskType; + + public string name; + + public uint SceneID; + + public string icon; + + public SeqRef worldlevel; + + public uint count; + + public uint guildExp; + + public SeqListRef viewabledrop; + + public uint[] dropID; + + public uint value; + } + + public DragonGuildTaskTable.RowData GetBytaskID(uint key) + { + bool flag = this.Table == null || this.Table.Length == 0; + DragonGuildTaskTable.RowData result; + if (flag) + { + result = null; + } + else + { + for (int i = 0; i < this.Table.Length; i++) + { + bool flag2 = this.Table[i].taskID == key; + if (flag2) + { + return this.Table[i]; + } + } + result = null; + } + return result; + } + + protected override void ReadLine(XBinaryReader reader) + { + DragonGuildTaskTable.RowData rowData = new DragonGuildTaskTable.RowData(); + base.Read(reader, ref rowData.taskID, CVSReader.uintParse); + this.columnno = 0; + base.Read(reader, ref rowData.taskType, CVSReader.uintParse); + this.columnno = 1; + base.Read(reader, ref rowData.name, CVSReader.stringParse); + this.columnno = 2; + base.Read(reader, ref rowData.SceneID, CVSReader.uintParse); + this.columnno = 3; + base.Read(reader, ref rowData.icon, CVSReader.stringParse); + this.columnno = 4; + rowData.worldlevel.Read(reader, this.m_DataHandler); + this.columnno = 5; + base.Read(reader, ref rowData.count, CVSReader.uintParse); + this.columnno = 6; + base.Read(reader, ref rowData.guildExp, CVSReader.uintParse); + this.columnno = 7; + rowData.viewabledrop.Read(reader, this.m_DataHandler); + this.columnno = 8; + base.ReadArray(reader, ref rowData.dropID, CVSReader.uintParse); + this.columnno = 9; + base.Read(reader, ref rowData.value, CVSReader.uintParse); + this.columnno = 10; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new DragonGuildTaskTable.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/DragonGuildTaskTable.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/DragonGuildTaskTable.cs.meta new file mode 100644 index 00000000..cad4dfed --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/DragonGuildTaskTable.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 8d11547e104e9ef49acc71c699d7ce65 +timeCreated: 1611465701 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/DragonNestTable.cs b/Client/Assets/Scripts/XUtliPoolLib/DragonNestTable.cs new file mode 100644 index 00000000..a60873e6 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/DragonNestTable.cs @@ -0,0 +1,120 @@ +using System; + +namespace XUtliPoolLib +{ + public class DragonNestTable : CVSReader + { + public DragonNestTable.RowData[] Table = null; + + public class RowData + { + public uint DragonNestID; + + public uint DragonNestType; + + public uint DragonNestDifficulty; + + public uint DragonNestWave; + + public int DragonNestPosX; + + public int DragonNestPosY; + + public string DragonNestIcon; + + public string SuggestAttr; + + public SeqListRef WeakInfo; + + public string[] WeakTip1; + + public string[] WeakTip2; + + public string WeakNotPassTip1; + + public string WeakNotPassTip2; + + public int[] WeakPercent; + + public uint[] WeakCombat; + + public SeqListRef WeakInfoEx; + + public string[] WeakTip1EX; + + public string[] WeakTip2EX; + + public int[] WeakPercentEX; + + public uint[] WeakCombatEX; + + public string DragonNestAtlas; + + public int MaxDragonDropLevel; + } + + protected override void ReadLine(XBinaryReader reader) + { + DragonNestTable.RowData rowData = new DragonNestTable.RowData(); + base.Read(reader, ref rowData.DragonNestID, CVSReader.uintParse); + this.columnno = 0; + base.Read(reader, ref rowData.DragonNestType, CVSReader.uintParse); + this.columnno = 1; + base.Read(reader, ref rowData.DragonNestDifficulty, CVSReader.uintParse); + this.columnno = 2; + base.Read(reader, ref rowData.DragonNestWave, CVSReader.uintParse); + this.columnno = 3; + base.Read(reader, ref rowData.DragonNestPosX, CVSReader.intParse); + this.columnno = 4; + base.Read(reader, ref rowData.DragonNestPosY, CVSReader.intParse); + this.columnno = 5; + base.Read(reader, ref rowData.DragonNestIcon, CVSReader.stringParse); + this.columnno = 6; + base.Read(reader, ref rowData.SuggestAttr, CVSReader.stringParse); + this.columnno = 7; + rowData.WeakInfo.Read(reader, this.m_DataHandler); + this.columnno = 8; + base.ReadArray(reader, ref rowData.WeakTip1, CVSReader.stringParse); + this.columnno = 9; + base.ReadArray(reader, ref rowData.WeakTip2, CVSReader.stringParse); + this.columnno = 10; + base.Read(reader, ref rowData.WeakNotPassTip1, CVSReader.stringParse); + this.columnno = 11; + base.Read(reader, ref rowData.WeakNotPassTip2, CVSReader.stringParse); + this.columnno = 12; + base.ReadArray(reader, ref rowData.WeakPercent, CVSReader.intParse); + this.columnno = 13; + base.ReadArray(reader, ref rowData.WeakCombat, CVSReader.uintParse); + this.columnno = 14; + rowData.WeakInfoEx.Read(reader, this.m_DataHandler); + this.columnno = 15; + base.ReadArray(reader, ref rowData.WeakTip1EX, CVSReader.stringParse); + this.columnno = 16; + base.ReadArray(reader, ref rowData.WeakTip2EX, CVSReader.stringParse); + this.columnno = 17; + base.ReadArray(reader, ref rowData.WeakPercentEX, CVSReader.intParse); + this.columnno = 18; + base.ReadArray(reader, ref rowData.WeakCombatEX, CVSReader.uintParse); + this.columnno = 19; + base.Read(reader, ref rowData.DragonNestAtlas, CVSReader.stringParse); + this.columnno = 20; + base.Read(reader, ref rowData.MaxDragonDropLevel, CVSReader.intParse); + this.columnno = 21; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new DragonNestTable.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/DragonNestTable.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/DragonNestTable.cs.meta new file mode 100644 index 00000000..447da330 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/DragonNestTable.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 6f79920077fd77347890352d77a99ac0 +timeCreated: 1611465687 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/DragonNestType.cs b/Client/Assets/Scripts/XUtliPoolLib/DragonNestType.cs new file mode 100644 index 00000000..8a5b1a3e --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/DragonNestType.cs @@ -0,0 +1,48 @@ +using System; + +namespace XUtliPoolLib +{ + public class DragonNestType : CVSReader + { + public DragonNestType.RowData[] Table = null; + + public class RowData + { + public uint DragonNestType; + + public string TypeName; + + public string TypeBg; + + public string TypeIcon; + } + + protected override void ReadLine(XBinaryReader reader) + { + DragonNestType.RowData rowData = new DragonNestType.RowData(); + base.Read(reader, ref rowData.DragonNestType, CVSReader.uintParse); + this.columnno = 0; + base.Read(reader, ref rowData.TypeName, CVSReader.stringParse); + this.columnno = 1; + base.Read(reader, ref rowData.TypeBg, CVSReader.stringParse); + this.columnno = 2; + base.Read(reader, ref rowData.TypeIcon, CVSReader.stringParse); + this.columnno = 3; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new DragonNestType.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/DragonNestType.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/DragonNestType.cs.meta new file mode 100644 index 00000000..66944191 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/DragonNestType.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: b62df7850dd9f3f43b43fa3c77c8167d +timeCreated: 1611465746 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/DropList.cs b/Client/Assets/Scripts/XUtliPoolLib/DropList.cs new file mode 100644 index 00000000..472b5589 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/DropList.cs @@ -0,0 +1,48 @@ +using System; + +namespace XUtliPoolLib +{ + public class DropList : CVSReader + { + public DropList.RowData[] Table = null; + + public class RowData + { + public int DropID; + + public int ItemID; + + public int ItemCount; + + public bool ItemBind; + } + + protected override void ReadLine(XBinaryReader reader) + { + DropList.RowData rowData = new DropList.RowData(); + base.Read(reader, ref rowData.DropID, CVSReader.intParse); + this.columnno = 0; + base.Read(reader, ref rowData.ItemID, CVSReader.intParse); + this.columnno = 1; + base.Read(reader, ref rowData.ItemCount, CVSReader.intParse); + this.columnno = 2; + base.Read(reader, ref rowData.ItemBind, CVSReader.boolParse); + this.columnno = 6; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new DropList.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/DropList.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/DropList.cs.meta new file mode 100644 index 00000000..c3c2ec7b --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/DropList.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: fd3a8cb5272767c4d80b4fda8f69fdbb +timeCreated: 1611465812 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/EAsyncLoadState.cs b/Client/Assets/Scripts/XUtliPoolLib/EAsyncLoadState.cs new file mode 100644 index 00000000..617f6be6 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/EAsyncLoadState.cs @@ -0,0 +1,12 @@ +using System; + +namespace XUtliPoolLib +{ + public enum EAsyncLoadState + { + EFree, + EPreLoading, + ELoading, + EInstance + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/EAsyncLoadState.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/EAsyncLoadState.cs.meta new file mode 100644 index 00000000..46cae68c --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/EAsyncLoadState.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 2b9247438f20a1244831c1107a5c3eb3 +timeCreated: 1611465304 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/EClassType.cs b/Client/Assets/Scripts/XUtliPoolLib/EClassType.cs new file mode 100644 index 00000000..8f185a94 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/EClassType.cs @@ -0,0 +1,9 @@ +using System; + +namespace XUtliPoolLib +{ + public enum EClassType + { + ERuntimeFMOD + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/EClassType.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/EClassType.cs.meta new file mode 100644 index 00000000..ba5ba042 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/EClassType.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 8f7afb99bbf797348beaea78979ac517 +timeCreated: 1611465703 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/EComponentType.cs b/Client/Assets/Scripts/XUtliPoolLib/EComponentType.cs new file mode 100644 index 00000000..8571987c --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/EComponentType.cs @@ -0,0 +1,12 @@ +using System; + +namespace XUtliPoolLib +{ + public enum EComponentType + { + EXBehaviorTree, + EUIDummy, + EXFmod, + ENum + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/EComponentType.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/EComponentType.cs.meta new file mode 100644 index 00000000..01b98b79 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/EComponentType.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 868cd217c9351e340ad51d8aef1fb68a +timeCreated: 1611465696 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/ECreateHideType.cs b/Client/Assets/Scripts/XUtliPoolLib/ECreateHideType.cs new file mode 100644 index 00000000..93661250 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/ECreateHideType.cs @@ -0,0 +1,12 @@ +using System; + +namespace XUtliPoolLib +{ + public enum ECreateHideType + { + NotHide, + DisableObject, + DisableAnim, + DisableParticleRenderer + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/ECreateHideType.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/ECreateHideType.cs.meta new file mode 100644 index 00000000..b90d5f3a --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/ECreateHideType.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: cb02c92c7c02e7e4e8efd380eb336a41 +timeCreated: 1611465758 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/EDelayProcessType.cs b/Client/Assets/Scripts/XUtliPoolLib/EDelayProcessType.cs new file mode 100644 index 00000000..14a0bd3c --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/EDelayProcessType.cs @@ -0,0 +1,10 @@ +using System; + +namespace XUtliPoolLib +{ + public enum EDelayProcessType + { + EUpdate, + EFinish + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/EDelayProcessType.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/EDelayProcessType.cs.meta new file mode 100644 index 00000000..08a5ef9a --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/EDelayProcessType.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 91fc2d0f60d1a654b913b21617c0f98b +timeCreated: 1611465706 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/EPartType.cs b/Client/Assets/Scripts/XUtliPoolLib/EPartType.cs new file mode 100644 index 00000000..2741c91a --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/EPartType.cs @@ -0,0 +1,26 @@ +using System; + +namespace XUtliPoolLib +{ + public enum EPartType + { + ECombinePartStart, + EFace = 0, + EHair, + EUpperBody, + ELowerBody, + EGloves, + EBoots, + ESecondaryWeapon, + EHeadgear, + ECombinePartEnd, + EMainWeapon = 8, + EWeaponEnd, + EWings = 9, + ETail, + ESprite, + EMountEnd, + EDecal = 12, + ENum + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/EPartType.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/EPartType.cs.meta new file mode 100644 index 00000000..80ef9591 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/EPartType.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 0c8d72d85977b7f4aa95695698afb430 +timeCreated: 1611465288 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/EffectDesTable.cs b/Client/Assets/Scripts/XUtliPoolLib/EffectDesTable.cs new file mode 100644 index 00000000..cbbe6376 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/EffectDesTable.cs @@ -0,0 +1,79 @@ +using System; + +namespace XUtliPoolLib +{ + public class EffectDesTable : CVSReader + { + public EffectDesTable.RowData[] Table = null; + + public class RowData + { + public uint EffectID; + + public string EffectDes; + + public float[] ParamCoefficient; + + public string[] ColorDes; + + public byte BaseProf; + + public uint EffectType; + } + + public EffectDesTable.RowData GetByEffectID(uint key) + { + bool flag = this.Table == null || this.Table.Length == 0; + EffectDesTable.RowData result; + if (flag) + { + result = null; + } + else + { + for (int i = 0; i < this.Table.Length; i++) + { + bool flag2 = this.Table[i].EffectID == key; + if (flag2) + { + return this.Table[i]; + } + } + result = null; + } + return result; + } + + protected override void ReadLine(XBinaryReader reader) + { + EffectDesTable.RowData rowData = new EffectDesTable.RowData(); + base.Read(reader, ref rowData.EffectID, CVSReader.uintParse); + this.columnno = 0; + base.Read(reader, ref rowData.EffectDes, CVSReader.stringParse); + this.columnno = 1; + base.ReadArray(reader, ref rowData.ParamCoefficient, CVSReader.floatParse); + this.columnno = 2; + base.ReadArray(reader, ref rowData.ColorDes, CVSReader.stringParse); + this.columnno = 3; + base.Read(reader, ref rowData.BaseProf, CVSReader.byteParse); + this.columnno = 4; + base.Read(reader, ref rowData.EffectType, CVSReader.uintParse); + this.columnno = 5; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new EffectDesTable.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/EffectDesTable.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/EffectDesTable.cs.meta new file mode 100644 index 00000000..411f7628 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/EffectDesTable.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: c130747742704074ebcdddfa836015b9 +timeCreated: 1611465753 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/EffectTable.cs b/Client/Assets/Scripts/XUtliPoolLib/EffectTable.cs new file mode 100644 index 00000000..939b6150 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/EffectTable.cs @@ -0,0 +1,68 @@ +using System; + +namespace XUtliPoolLib +{ + public class EffectTable : CVSReader + { + public EffectTable.RowData[] Table = null; + + public class RowData + { + public uint EffectID; + + public uint BuffID; + + public uint TemplateBuffID; + + public uint SkillScript; + + public SeqListRef EffectParams; + + public SeqListRef ConstantParams; + + public byte SortID; + + public byte CompareSortID; + + public SeqListRef CompareParams; + } + + protected override void ReadLine(XBinaryReader reader) + { + EffectTable.RowData rowData = new EffectTable.RowData(); + base.Read(reader, ref rowData.EffectID, CVSReader.uintParse); + this.columnno = 0; + base.Read(reader, ref rowData.BuffID, CVSReader.uintParse); + this.columnno = 1; + base.Read(reader, ref rowData.TemplateBuffID, CVSReader.uintParse); + this.columnno = 2; + base.Read(reader, ref rowData.SkillScript, CVSReader.uintParse); + this.columnno = 3; + rowData.EffectParams.Read(reader, this.m_DataHandler); + this.columnno = 4; + rowData.ConstantParams.Read(reader, this.m_DataHandler); + this.columnno = 5; + base.Read(reader, ref rowData.SortID, CVSReader.byteParse); + this.columnno = 6; + base.Read(reader, ref rowData.CompareSortID, CVSReader.byteParse); + this.columnno = 7; + rowData.CompareParams.Read(reader, this.m_DataHandler); + this.columnno = 8; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new EffectTable.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/EffectTable.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/EffectTable.cs.meta new file mode 100644 index 00000000..43785ff5 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/EffectTable.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: b12a89ac4e2718d49af726c65df771be +timeCreated: 1611465744 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/EmblemBasic.cs b/Client/Assets/Scripts/XUtliPoolLib/EmblemBasic.cs new file mode 100644 index 00000000..7460557d --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/EmblemBasic.cs @@ -0,0 +1,129 @@ +using System; + +namespace XUtliPoolLib +{ + public class EmblemBasic : CVSReader + { + public EmblemBasic.RowData[] Table = null; + + public class RowData + { + public uint EmblemID; + + public short EmblemType; + + public short DragonCoinCost; + + public SeqListRef SmeltNeedItem; + + public uint SmeltNeedMoney; + + public byte ReturnSmeltStoneRate; + } + + public EmblemBasic.RowData GetByEmblemID(uint key) + { + bool flag = this.Table == null || this.Table.Length == 0; + EmblemBasic.RowData result; + if (flag) + { + result = null; + } + else + { + result = this.BinarySearchEmblemID(key); + } + return result; + } + + private EmblemBasic.RowData BinarySearchEmblemID(uint key) + { + int num = 0; + int num2 = this.Table.Length - 1; + EmblemBasic.RowData rowData; + EmblemBasic.RowData rowData2; + EmblemBasic.RowData rowData3; + for (;;) + { + rowData = this.Table[num]; + bool flag = rowData.EmblemID == key; + if (flag) + { + break; + } + rowData2 = this.Table[num2]; + bool flag2 = rowData2.EmblemID == key; + if (flag2) + { + goto Block_2; + } + bool flag3 = num2 - num <= 1; + if (flag3) + { + goto Block_3; + } + int num3 = num + (num2 - num) / 2; + rowData3 = this.Table[num3]; + bool flag4 = rowData3.EmblemID.CompareTo(key) > 0; + if (flag4) + { + num2 = num3; + } + else + { + bool flag5 = rowData3.EmblemID.CompareTo(key) < 0; + if (!flag5) + { + goto IL_B1; + } + num = num3; + } + if (num >= num2) + { + goto Block_6; + } + } + return rowData; + Block_2: + return rowData2; + Block_3: + return null; + IL_B1: + return rowData3; + Block_6: + return null; + } + + protected override void ReadLine(XBinaryReader reader) + { + EmblemBasic.RowData rowData = new EmblemBasic.RowData(); + base.Read(reader, ref rowData.EmblemID, CVSReader.uintParse); + this.columnno = 0; + base.Read(reader, ref rowData.EmblemType, CVSReader.shortParse); + this.columnno = 3; + base.Read(reader, ref rowData.DragonCoinCost, CVSReader.shortParse); + this.columnno = 4; + rowData.SmeltNeedItem.Read(reader, this.m_DataHandler); + this.columnno = 6; + base.Read(reader, ref rowData.SmeltNeedMoney, CVSReader.uintParse); + this.columnno = 7; + base.Read(reader, ref rowData.ReturnSmeltStoneRate, CVSReader.byteParse); + this.columnno = 8; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new EmblemBasic.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/EmblemBasic.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/EmblemBasic.cs.meta new file mode 100644 index 00000000..cd2abe98 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/EmblemBasic.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 3ecd73d74ba058a4b867ee6fe5fcc6b1 +timeCreated: 1611465633 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/EnchantEquip.cs b/Client/Assets/Scripts/XUtliPoolLib/EnchantEquip.cs new file mode 100644 index 00000000..9779b56c --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/EnchantEquip.cs @@ -0,0 +1,83 @@ +using System; + +namespace XUtliPoolLib +{ + public class EnchantEquip : CVSReader + { + public EnchantEquip.RowData[] Table = null; + + public class RowData + { + public uint EnchantID; + + public uint[] Pos; + + public SeqListRef Attribute; + + public SeqListRef Cost; + + public uint Num; + + public uint VisiblePos; + + public uint EnchantLevel; + } + + public EnchantEquip.RowData GetByEnchantID(uint key) + { + bool flag = this.Table == null || this.Table.Length == 0; + EnchantEquip.RowData result; + if (flag) + { + result = null; + } + else + { + for (int i = 0; i < this.Table.Length; i++) + { + bool flag2 = this.Table[i].EnchantID == key; + if (flag2) + { + return this.Table[i]; + } + } + result = null; + } + return result; + } + + protected override void ReadLine(XBinaryReader reader) + { + EnchantEquip.RowData rowData = new EnchantEquip.RowData(); + base.Read(reader, ref rowData.EnchantID, CVSReader.uintParse); + this.columnno = 0; + base.ReadArray(reader, ref rowData.Pos, CVSReader.uintParse); + this.columnno = 1; + rowData.Attribute.Read(reader, this.m_DataHandler); + this.columnno = 2; + rowData.Cost.Read(reader, this.m_DataHandler); + this.columnno = 3; + base.Read(reader, ref rowData.Num, CVSReader.uintParse); + this.columnno = 4; + base.Read(reader, ref rowData.VisiblePos, CVSReader.uintParse); + this.columnno = 5; + base.Read(reader, ref rowData.EnchantLevel, CVSReader.uintParse); + this.columnno = 6; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new EnchantEquip.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/EnchantEquip.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/EnchantEquip.cs.meta new file mode 100644 index 00000000..4669bb44 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/EnchantEquip.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: c75c24530bb878940b8684f65616a5f5 +timeCreated: 1611465756 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/EnhanceFxTable.cs b/Client/Assets/Scripts/XUtliPoolLib/EnhanceFxTable.cs new file mode 100644 index 00000000..12273688 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/EnhanceFxTable.cs @@ -0,0 +1,48 @@ +using System; + +namespace XUtliPoolLib +{ + public class EnhanceFxTable : CVSReader + { + public EnhanceFxTable.RowData[] Table = null; + + public class RowData + { + public uint EnhanceLevel; + + public string[] MainWeaponFx; + + public uint ProfID; + + public string Tips; + } + + protected override void ReadLine(XBinaryReader reader) + { + EnhanceFxTable.RowData rowData = new EnhanceFxTable.RowData(); + base.Read(reader, ref rowData.EnhanceLevel, CVSReader.uintParse); + this.columnno = 0; + base.ReadArray(reader, ref rowData.MainWeaponFx, CVSReader.stringParse); + this.columnno = 1; + base.Read(reader, ref rowData.ProfID, CVSReader.uintParse); + this.columnno = 2; + base.Read(reader, ref rowData.Tips, CVSReader.stringParse); + this.columnno = 4; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new EnhanceFxTable.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/EnhanceFxTable.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/EnhanceFxTable.cs.meta new file mode 100644 index 00000000..51561f7a --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/EnhanceFxTable.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: c04b870ff4bfdc548ac0e50197795b29 +timeCreated: 1611465753 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/EnhanceMaster.cs b/Client/Assets/Scripts/XUtliPoolLib/EnhanceMaster.cs new file mode 100644 index 00000000..ffd3d947 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/EnhanceMaster.cs @@ -0,0 +1,44 @@ +using System; + +namespace XUtliPoolLib +{ + public class EnhanceMaster : CVSReader + { + public EnhanceMaster.RowData[] Table = null; + + public class RowData + { + public short ProfessionId; + + public short TotalEnhanceLevel; + + public SeqListRef Attribute; + } + + protected override void ReadLine(XBinaryReader reader) + { + EnhanceMaster.RowData rowData = new EnhanceMaster.RowData(); + base.Read(reader, ref rowData.ProfessionId, CVSReader.shortParse); + this.columnno = 0; + base.Read(reader, ref rowData.TotalEnhanceLevel, CVSReader.shortParse); + this.columnno = 1; + rowData.Attribute.Read(reader, this.m_DataHandler); + this.columnno = 2; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new EnhanceMaster.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/EnhanceMaster.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/EnhanceMaster.cs.meta new file mode 100644 index 00000000..08bb14f5 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/EnhanceMaster.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 976bd4b596445404b9235a05cc5339de +timeCreated: 1611465709 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/EnhanceTable.cs b/Client/Assets/Scripts/XUtliPoolLib/EnhanceTable.cs new file mode 100644 index 00000000..1acb02a0 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/EnhanceTable.cs @@ -0,0 +1,56 @@ +using System; + +namespace XUtliPoolLib +{ + public class EnhanceTable : CVSReader + { + public EnhanceTable.RowData[] Table = null; + + public class RowData + { + public uint EquipPos; + + public uint EnhanceLevel; + + public SeqListRef NeedItem; + + public uint SuccessRate; + + public uint UpRate; + + public uint IsNeedBreak; + } + + protected override void ReadLine(XBinaryReader reader) + { + EnhanceTable.RowData rowData = new EnhanceTable.RowData(); + base.Read(reader, ref rowData.EquipPos, CVSReader.uintParse); + this.columnno = 0; + base.Read(reader, ref rowData.EnhanceLevel, CVSReader.uintParse); + this.columnno = 1; + rowData.NeedItem.Read(reader, this.m_DataHandler); + this.columnno = 2; + base.Read(reader, ref rowData.SuccessRate, CVSReader.uintParse); + this.columnno = 3; + base.Read(reader, ref rowData.UpRate, CVSReader.uintParse); + this.columnno = 4; + base.Read(reader, ref rowData.IsNeedBreak, CVSReader.uintParse); + this.columnno = 5; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new EnhanceTable.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/EnhanceTable.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/EnhanceTable.cs.meta new file mode 100644 index 00000000..c148dd85 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/EnhanceTable.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: d014809c5476b324d95997e68879fcba +timeCreated: 1611465760 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/EquipFusionExpTable.cs b/Client/Assets/Scripts/XUtliPoolLib/EquipFusionExpTable.cs new file mode 100644 index 00000000..b3eb613d --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/EquipFusionExpTable.cs @@ -0,0 +1,67 @@ +using System; + +namespace XUtliPoolLib +{ + public class EquipFusionExpTable : CVSReader + { + public EquipFusionExpTable.RowData[] Table = null; + + public class RowData + { + public uint CoreItemId; + + public SeqListRef AssistItemId; + + public uint AddExp; + } + + public EquipFusionExpTable.RowData GetByCoreItemId(uint key) + { + bool flag = this.Table == null || this.Table.Length == 0; + EquipFusionExpTable.RowData result; + if (flag) + { + result = null; + } + else + { + for (int i = 0; i < this.Table.Length; i++) + { + bool flag2 = this.Table[i].CoreItemId == key; + if (flag2) + { + return this.Table[i]; + } + } + result = null; + } + return result; + } + + protected override void ReadLine(XBinaryReader reader) + { + EquipFusionExpTable.RowData rowData = new EquipFusionExpTable.RowData(); + base.Read(reader, ref rowData.CoreItemId, CVSReader.uintParse); + this.columnno = 0; + rowData.AssistItemId.Read(reader, this.m_DataHandler); + this.columnno = 1; + base.Read(reader, ref rowData.AddExp, CVSReader.uintParse); + this.columnno = 2; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new EquipFusionExpTable.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/EquipFusionExpTable.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/EquipFusionExpTable.cs.meta new file mode 100644 index 00000000..c87ea65d --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/EquipFusionExpTable.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: d3fc5167dbbd18044ae2caeefa2de6e5 +timeCreated: 1611465762 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/EquipFusionTable.cs b/Client/Assets/Scripts/XUtliPoolLib/EquipFusionTable.cs new file mode 100644 index 00000000..9f7db5df --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/EquipFusionTable.cs @@ -0,0 +1,68 @@ +using System; + +namespace XUtliPoolLib +{ + public class EquipFusionTable : CVSReader + { + public EquipFusionTable.RowData[] Table = null; + + public class RowData + { + public uint Profession; + + public byte Slot; + + public byte EquipType; + + public byte BreakNum; + + public uint LevelNum; + + public uint NeedExpPerLevel; + + public SeqListRef LevelAddAttr; + + public SeqListRef BreakAddAttr; + + public SeqListRef BreakNeedMaterial; + } + + protected override void ReadLine(XBinaryReader reader) + { + EquipFusionTable.RowData rowData = new EquipFusionTable.RowData(); + base.Read(reader, ref rowData.Profession, CVSReader.uintParse); + this.columnno = 0; + base.Read(reader, ref rowData.Slot, CVSReader.byteParse); + this.columnno = 1; + base.Read(reader, ref rowData.EquipType, CVSReader.byteParse); + this.columnno = 2; + base.Read(reader, ref rowData.BreakNum, CVSReader.byteParse); + this.columnno = 3; + base.Read(reader, ref rowData.LevelNum, CVSReader.uintParse); + this.columnno = 4; + base.Read(reader, ref rowData.NeedExpPerLevel, CVSReader.uintParse); + this.columnno = 5; + rowData.LevelAddAttr.Read(reader, this.m_DataHandler); + this.columnno = 6; + rowData.BreakAddAttr.Read(reader, this.m_DataHandler); + this.columnno = 7; + rowData.BreakNeedMaterial.Read(reader, this.m_DataHandler); + this.columnno = 8; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new EquipFusionTable.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/EquipFusionTable.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/EquipFusionTable.cs.meta new file mode 100644 index 00000000..ec7e63f3 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/EquipFusionTable.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: ca72db0fc75fda24a8a3743cf798523a +timeCreated: 1611465757 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/EquipList.cs b/Client/Assets/Scripts/XUtliPoolLib/EquipList.cs new file mode 100644 index 00000000..ef1c98ba --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/EquipList.cs @@ -0,0 +1,189 @@ +using System; + +namespace XUtliPoolLib +{ + public class EquipList : CVSReader + { + public EquipList.RowData[] Table = null; + + public class RowData + { + public int ItemID; + + public byte EquipPos; + + public SeqListRef Attributes; + + public SeqListRef SmeltNeedItem; + + public uint SmeltNeedMoney; + + public SeqListRef ForgeNeedItem; + + public SeqRef ForgeSpecialItem; + + public byte ForgeLowRate; + + public byte ForgeHighRate; + + public SeqListRef ForgeNeedItemAfter; + + public SeqRef ForgeSpecialItemAfter; + + public byte ForgeLowRateAfter; + + public byte ForgeHighRateAfter; + + public bool IsCanSmelt; + + public byte ReturnSmeltStoneRate; + + public byte CanForge; + + public SeqListRef UpgradeNeedMaterials; + + public uint UpgadeTargetID; + + public uint[] FuseCoreItems; + + public byte FuseCanBreakNum; + + public byte EquipType; + } + + public EquipList.RowData GetByItemID(int key) + { + bool flag = this.Table == null || this.Table.Length == 0; + EquipList.RowData result; + if (flag) + { + result = null; + } + else + { + result = this.BinarySearchItemID(key); + } + return result; + } + + private EquipList.RowData BinarySearchItemID(int key) + { + int num = 0; + int num2 = this.Table.Length - 1; + EquipList.RowData rowData; + EquipList.RowData rowData2; + EquipList.RowData rowData3; + for (;;) + { + rowData = this.Table[num]; + bool flag = rowData.ItemID == key; + if (flag) + { + break; + } + rowData2 = this.Table[num2]; + bool flag2 = rowData2.ItemID == key; + if (flag2) + { + goto Block_2; + } + bool flag3 = num2 - num <= 1; + if (flag3) + { + goto Block_3; + } + int num3 = num + (num2 - num) / 2; + rowData3 = this.Table[num3]; + bool flag4 = rowData3.ItemID.CompareTo(key) > 0; + if (flag4) + { + num2 = num3; + } + else + { + bool flag5 = rowData3.ItemID.CompareTo(key) < 0; + if (!flag5) + { + goto IL_B1; + } + num = num3; + } + if (num >= num2) + { + goto Block_6; + } + } + return rowData; + Block_2: + return rowData2; + Block_3: + return null; + IL_B1: + return rowData3; + Block_6: + return null; + } + + protected override void ReadLine(XBinaryReader reader) + { + EquipList.RowData rowData = new EquipList.RowData(); + base.Read(reader, ref rowData.ItemID, CVSReader.intParse); + this.columnno = 0; + base.Read(reader, ref rowData.EquipPos, CVSReader.byteParse); + this.columnno = 1; + rowData.Attributes.Read(reader, this.m_DataHandler); + this.columnno = 2; + rowData.SmeltNeedItem.Read(reader, this.m_DataHandler); + this.columnno = 6; + base.Read(reader, ref rowData.SmeltNeedMoney, CVSReader.uintParse); + this.columnno = 7; + rowData.ForgeNeedItem.Read(reader, this.m_DataHandler); + this.columnno = 8; + rowData.ForgeSpecialItem.Read(reader, this.m_DataHandler); + this.columnno = 9; + base.Read(reader, ref rowData.ForgeLowRate, CVSReader.byteParse); + this.columnno = 10; + base.Read(reader, ref rowData.ForgeHighRate, CVSReader.byteParse); + this.columnno = 11; + rowData.ForgeNeedItemAfter.Read(reader, this.m_DataHandler); + this.columnno = 12; + rowData.ForgeSpecialItemAfter.Read(reader, this.m_DataHandler); + this.columnno = 13; + base.Read(reader, ref rowData.ForgeLowRateAfter, CVSReader.byteParse); + this.columnno = 14; + base.Read(reader, ref rowData.ForgeHighRateAfter, CVSReader.byteParse); + this.columnno = 15; + base.Read(reader, ref rowData.IsCanSmelt, CVSReader.boolParse); + this.columnno = 16; + base.Read(reader, ref rowData.ReturnSmeltStoneRate, CVSReader.byteParse); + this.columnno = 17; + base.Read(reader, ref rowData.CanForge, CVSReader.byteParse); + this.columnno = 18; + rowData.UpgradeNeedMaterials.Read(reader, this.m_DataHandler); + this.columnno = 19; + base.Read(reader, ref rowData.UpgadeTargetID, CVSReader.uintParse); + this.columnno = 20; + base.ReadArray(reader, ref rowData.FuseCoreItems, CVSReader.uintParse); + this.columnno = 21; + base.Read(reader, ref rowData.FuseCanBreakNum, CVSReader.byteParse); + this.columnno = 22; + base.Read(reader, ref rowData.EquipType, CVSReader.byteParse); + this.columnno = 23; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new EquipList.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/EquipList.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/EquipList.cs.meta new file mode 100644 index 00000000..037d8683 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/EquipList.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: c60b942f6c2a459479b20cdf771897d4 +timeCreated: 1611465755 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/EquipSuitTable.cs b/Client/Assets/Scripts/XUtliPoolLib/EquipSuitTable.cs new file mode 100644 index 00000000..ab98f524 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/EquipSuitTable.cs @@ -0,0 +1,177 @@ +using System; + +namespace XUtliPoolLib +{ + public class EquipSuitTable : CVSReader + { + public EquipSuitTable.RowData[] Table = null; + + public class RowData + { + public int SuitID; + + public string SuitName; + + public int SuitQuality; + + public int[] EquipID; + + public SeqRef Effect1; + + public SeqRef Effect2; + + public SeqRef Effect3; + + public SeqRef Effect4; + + public SeqRef Effect5; + + public SeqRef Effect6; + + public SeqRef Effect7; + + public SeqRef Effect8; + + public SeqRef Effect9; + + public SeqRef Effect10; + + public int ProfID; + + public int Level; + + public bool IsCreateShow; + + public uint SuitNum; + } + + public EquipSuitTable.RowData GetBySuitID(int key) + { + bool flag = this.Table == null || this.Table.Length == 0; + EquipSuitTable.RowData result; + if (flag) + { + result = null; + } + else + { + result = this.BinarySearchSuitID(key); + } + return result; + } + + private EquipSuitTable.RowData BinarySearchSuitID(int key) + { + int num = 0; + int num2 = this.Table.Length - 1; + EquipSuitTable.RowData rowData; + EquipSuitTable.RowData rowData2; + EquipSuitTable.RowData rowData3; + for (;;) + { + rowData = this.Table[num]; + bool flag = rowData.SuitID == key; + if (flag) + { + break; + } + rowData2 = this.Table[num2]; + bool flag2 = rowData2.SuitID == key; + if (flag2) + { + goto Block_2; + } + bool flag3 = num2 - num <= 1; + if (flag3) + { + goto Block_3; + } + int num3 = num + (num2 - num) / 2; + rowData3 = this.Table[num3]; + bool flag4 = rowData3.SuitID.CompareTo(key) > 0; + if (flag4) + { + num2 = num3; + } + else + { + bool flag5 = rowData3.SuitID.CompareTo(key) < 0; + if (!flag5) + { + goto IL_B1; + } + num = num3; + } + if (num >= num2) + { + goto Block_6; + } + } + return rowData; + Block_2: + return rowData2; + Block_3: + return null; + IL_B1: + return rowData3; + Block_6: + return null; + } + + protected override void ReadLine(XBinaryReader reader) + { + EquipSuitTable.RowData rowData = new EquipSuitTable.RowData(); + base.Read(reader, ref rowData.SuitID, CVSReader.intParse); + this.columnno = 0; + base.Read(reader, ref rowData.SuitName, CVSReader.stringParse); + this.columnno = 1; + base.Read(reader, ref rowData.SuitQuality, CVSReader.intParse); + this.columnno = 2; + base.ReadArray(reader, ref rowData.EquipID, CVSReader.intParse); + this.columnno = 3; + rowData.Effect1.Read(reader, this.m_DataHandler); + this.columnno = 4; + rowData.Effect2.Read(reader, this.m_DataHandler); + this.columnno = 5; + rowData.Effect3.Read(reader, this.m_DataHandler); + this.columnno = 6; + rowData.Effect4.Read(reader, this.m_DataHandler); + this.columnno = 7; + rowData.Effect5.Read(reader, this.m_DataHandler); + this.columnno = 8; + rowData.Effect6.Read(reader, this.m_DataHandler); + this.columnno = 9; + rowData.Effect7.Read(reader, this.m_DataHandler); + this.columnno = 10; + rowData.Effect8.Read(reader, this.m_DataHandler); + this.columnno = 11; + rowData.Effect9.Read(reader, this.m_DataHandler); + this.columnno = 12; + rowData.Effect10.Read(reader, this.m_DataHandler); + this.columnno = 13; + base.Read(reader, ref rowData.ProfID, CVSReader.intParse); + this.columnno = 14; + base.Read(reader, ref rowData.Level, CVSReader.intParse); + this.columnno = 15; + base.Read(reader, ref rowData.IsCreateShow, CVSReader.boolParse); + this.columnno = 16; + base.Read(reader, ref rowData.SuitNum, CVSReader.uintParse); + this.columnno = 17; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new EquipSuitTable.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/EquipSuitTable.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/EquipSuitTable.cs.meta new file mode 100644 index 00000000..19ac40b7 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/EquipSuitTable.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 1f6380b3d4eb1d643b3d7ec33bbe75d7 +timeCreated: 1611465299 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/ExecuteCommandHandler.cs b/Client/Assets/Scripts/XUtliPoolLib/ExecuteCommandHandler.cs new file mode 100644 index 00000000..59aa6bbc --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/ExecuteCommandHandler.cs @@ -0,0 +1,6 @@ +using System; + +namespace XUtliPoolLib +{ + public delegate void ExecuteCommandHandler(XGameObject gameObject, XEngineCommand command); +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/ExecuteCommandHandler.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/ExecuteCommandHandler.cs.meta new file mode 100644 index 00000000..5e957fe8 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/ExecuteCommandHandler.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 8c9240928330b644e970b1f317908471 +timeCreated: 1611465701 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/ExpBackTable.cs b/Client/Assets/Scripts/XUtliPoolLib/ExpBackTable.cs new file mode 100644 index 00000000..98f00633 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/ExpBackTable.cs @@ -0,0 +1,75 @@ +using System; + +namespace XUtliPoolLib +{ + public class ExpBackTable : CVSReader + { + public ExpBackTable.RowData[] Table = null; + + public class RowData + { + public int type; + + public int count; + + public int exp; + + public int freeExpParam; + + public int moneyCostParam; + } + + public ExpBackTable.RowData GetBytype(int key) + { + bool flag = this.Table == null || this.Table.Length == 0; + ExpBackTable.RowData result; + if (flag) + { + result = null; + } + else + { + for (int i = 0; i < this.Table.Length; i++) + { + bool flag2 = this.Table[i].type == key; + if (flag2) + { + return this.Table[i]; + } + } + result = null; + } + return result; + } + + protected override void ReadLine(XBinaryReader reader) + { + ExpBackTable.RowData rowData = new ExpBackTable.RowData(); + base.Read(reader, ref rowData.type, CVSReader.intParse); + this.columnno = 0; + base.Read(reader, ref rowData.count, CVSReader.intParse); + this.columnno = 1; + base.Read(reader, ref rowData.exp, CVSReader.intParse); + this.columnno = 2; + base.Read(reader, ref rowData.freeExpParam, CVSReader.intParse); + this.columnno = 3; + base.Read(reader, ref rowData.moneyCostParam, CVSReader.intParse); + this.columnno = 4; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new ExpBackTable.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/ExpBackTable.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/ExpBackTable.cs.meta new file mode 100644 index 00000000..3adffafa --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/ExpBackTable.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 4800e01d62188a64e84e247ccd425c5f +timeCreated: 1611465638 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/ExpeditionTable.cs b/Client/Assets/Scripts/XUtliPoolLib/ExpeditionTable.cs new file mode 100644 index 00000000..0722658b --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/ExpeditionTable.cs @@ -0,0 +1,209 @@ +using System; + +namespace XUtliPoolLib +{ + public class ExpeditionTable : CVSReader + { + public ExpeditionTable.RowData[] Table = null; + + public class RowData + { + public int DNExpeditionID; + + public string DNExpeditionName; + + public uint[] ViewableDropList; + + public int RequiredLevel; + + public int PlayerNumber; + + public uint[] RandomSceneIDs; + + public int GuildLevel; + + public int Type; + + public int PlayerLeastNumber; + + public int Category; + + public uint DisplayLevel; + + public uint DisplayPPT; + + public int fastmatch; + + public int FMARobotTime; + + public SeqListRef CostItem; + + public uint LevelSealType; + + public int CanHelp; + + public int AutoSelectPriority; + + public SeqListRef CostType; + + public int CostCountType; + + public SeqRef ServerOpenTime; + + public int SortID; + + public SeqRef UseTicket; + + public SeqRef Stars; + + public bool isCrossServerInvite; + + public bool ShowPPT; + } + + public ExpeditionTable.RowData GetByDNExpeditionID(int key) + { + bool flag = this.Table == null || this.Table.Length == 0; + ExpeditionTable.RowData result; + if (flag) + { + result = null; + } + else + { + result = this.BinarySearchDNExpeditionID(key); + } + return result; + } + + private ExpeditionTable.RowData BinarySearchDNExpeditionID(int key) + { + int num = 0; + int num2 = this.Table.Length - 1; + ExpeditionTable.RowData rowData; + ExpeditionTable.RowData rowData2; + ExpeditionTable.RowData rowData3; + for (;;) + { + rowData = this.Table[num]; + bool flag = rowData.DNExpeditionID == key; + if (flag) + { + break; + } + rowData2 = this.Table[num2]; + bool flag2 = rowData2.DNExpeditionID == key; + if (flag2) + { + goto Block_2; + } + bool flag3 = num2 - num <= 1; + if (flag3) + { + goto Block_3; + } + int num3 = num + (num2 - num) / 2; + rowData3 = this.Table[num3]; + bool flag4 = rowData3.DNExpeditionID.CompareTo(key) > 0; + if (flag4) + { + num2 = num3; + } + else + { + bool flag5 = rowData3.DNExpeditionID.CompareTo(key) < 0; + if (!flag5) + { + goto IL_B1; + } + num = num3; + } + if (num >= num2) + { + goto Block_6; + } + } + return rowData; + Block_2: + return rowData2; + Block_3: + return null; + IL_B1: + return rowData3; + Block_6: + return null; + } + + protected override void ReadLine(XBinaryReader reader) + { + ExpeditionTable.RowData rowData = new ExpeditionTable.RowData(); + base.Read(reader, ref rowData.DNExpeditionID, CVSReader.intParse); + this.columnno = 0; + base.Read(reader, ref rowData.DNExpeditionName, CVSReader.stringParse); + this.columnno = 1; + base.ReadArray(reader, ref rowData.ViewableDropList, CVSReader.uintParse); + this.columnno = 2; + base.Read(reader, ref rowData.RequiredLevel, CVSReader.intParse); + this.columnno = 3; + base.Read(reader, ref rowData.PlayerNumber, CVSReader.intParse); + this.columnno = 4; + base.ReadArray(reader, ref rowData.RandomSceneIDs, CVSReader.uintParse); + this.columnno = 5; + base.Read(reader, ref rowData.GuildLevel, CVSReader.intParse); + this.columnno = 6; + base.Read(reader, ref rowData.Type, CVSReader.intParse); + this.columnno = 7; + base.Read(reader, ref rowData.PlayerLeastNumber, CVSReader.intParse); + this.columnno = 9; + base.Read(reader, ref rowData.Category, CVSReader.intParse); + this.columnno = 10; + base.Read(reader, ref rowData.DisplayLevel, CVSReader.uintParse); + this.columnno = 12; + base.Read(reader, ref rowData.DisplayPPT, CVSReader.uintParse); + this.columnno = 13; + base.Read(reader, ref rowData.fastmatch, CVSReader.intParse); + this.columnno = 15; + base.Read(reader, ref rowData.FMARobotTime, CVSReader.intParse); + this.columnno = 16; + rowData.CostItem.Read(reader, this.m_DataHandler); + this.columnno = 17; + base.Read(reader, ref rowData.LevelSealType, CVSReader.uintParse); + this.columnno = 18; + base.Read(reader, ref rowData.CanHelp, CVSReader.intParse); + this.columnno = 19; + base.Read(reader, ref rowData.AutoSelectPriority, CVSReader.intParse); + this.columnno = 21; + rowData.CostType.Read(reader, this.m_DataHandler); + this.columnno = 23; + base.Read(reader, ref rowData.CostCountType, CVSReader.intParse); + this.columnno = 24; + rowData.ServerOpenTime.Read(reader, this.m_DataHandler); + this.columnno = 27; + base.Read(reader, ref rowData.SortID, CVSReader.intParse); + this.columnno = 29; + rowData.UseTicket.Read(reader, this.m_DataHandler); + this.columnno = 30; + rowData.Stars.Read(reader, this.m_DataHandler); + this.columnno = 31; + base.Read(reader, ref rowData.isCrossServerInvite, CVSReader.boolParse); + this.columnno = 32; + base.Read(reader, ref rowData.ShowPPT, CVSReader.boolParse); + this.columnno = 38; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new ExpeditionTable.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/ExpeditionTable.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/ExpeditionTable.cs.meta new file mode 100644 index 00000000..4409fa07 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/ExpeditionTable.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: f9ce989febb4d3b4483b1311e5e3abee +timeCreated: 1611465810 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/FashionCharm.cs b/Client/Assets/Scripts/XUtliPoolLib/FashionCharm.cs new file mode 100644 index 00000000..1b3d37b0 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/FashionCharm.cs @@ -0,0 +1,95 @@ +using System; + +namespace XUtliPoolLib +{ + public class FashionCharm : CVSReader + { + public FashionCharm.RowData[] Table = null; + + public class RowData + { + public uint SuitID; + + public SeqListRef Effect1; + + public SeqListRef Effect2; + + public SeqListRef Effect3; + + public SeqListRef Effect4; + + public SeqListRef Effect5; + + public SeqListRef Effect6; + + public SeqListRef Effect7; + + public uint Level; + + public uint[] SuitParam; + } + + public FashionCharm.RowData GetBySuitID(uint key) + { + bool flag = this.Table == null || this.Table.Length == 0; + FashionCharm.RowData result; + if (flag) + { + result = null; + } + else + { + for (int i = 0; i < this.Table.Length; i++) + { + bool flag2 = this.Table[i].SuitID == key; + if (flag2) + { + return this.Table[i]; + } + } + result = null; + } + return result; + } + + protected override void ReadLine(XBinaryReader reader) + { + FashionCharm.RowData rowData = new FashionCharm.RowData(); + base.Read(reader, ref rowData.SuitID, CVSReader.uintParse); + this.columnno = 0; + rowData.Effect1.Read(reader, this.m_DataHandler); + this.columnno = 1; + rowData.Effect2.Read(reader, this.m_DataHandler); + this.columnno = 2; + rowData.Effect3.Read(reader, this.m_DataHandler); + this.columnno = 3; + rowData.Effect4.Read(reader, this.m_DataHandler); + this.columnno = 4; + rowData.Effect5.Read(reader, this.m_DataHandler); + this.columnno = 5; + rowData.Effect6.Read(reader, this.m_DataHandler); + this.columnno = 6; + rowData.Effect7.Read(reader, this.m_DataHandler); + this.columnno = 7; + base.Read(reader, ref rowData.Level, CVSReader.uintParse); + this.columnno = 8; + base.ReadArray(reader, ref rowData.SuitParam, CVSReader.uintParse); + this.columnno = 9; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new FashionCharm.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/FashionCharm.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/FashionCharm.cs.meta new file mode 100644 index 00000000..990b25f4 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/FashionCharm.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: a0ccfc9057e0ef04681156bba1f62514 +timeCreated: 1611465712 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/FashionComposeSet.cs b/Client/Assets/Scripts/XUtliPoolLib/FashionComposeSet.cs new file mode 100644 index 00000000..0e883653 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/FashionComposeSet.cs @@ -0,0 +1,48 @@ +using System; + +namespace XUtliPoolLib +{ + public class FashionComposeSet : CVSReader + { + public FashionComposeSet.RowData[] Table = null; + + public class RowData + { + public uint Type; + + public uint LevelSeal; + + public SeqRef Time; + + public SeqRef FashionSet; + } + + protected override void ReadLine(XBinaryReader reader) + { + FashionComposeSet.RowData rowData = new FashionComposeSet.RowData(); + base.Read(reader, ref rowData.Type, CVSReader.uintParse); + this.columnno = 0; + base.Read(reader, ref rowData.LevelSeal, CVSReader.uintParse); + this.columnno = 1; + rowData.Time.Read(reader, this.m_DataHandler); + this.columnno = 2; + rowData.FashionSet.Read(reader, this.m_DataHandler); + this.columnno = 3; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new FashionComposeSet.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/FashionComposeSet.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/FashionComposeSet.cs.meta new file mode 100644 index 00000000..7b94e1db --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/FashionComposeSet.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 1817ad2b688254142924d6e60c096590 +timeCreated: 1611465295 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/FashionComposeTable.cs b/Client/Assets/Scripts/XUtliPoolLib/FashionComposeTable.cs new file mode 100644 index 00000000..70124bb7 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/FashionComposeTable.cs @@ -0,0 +1,44 @@ +using System; + +namespace XUtliPoolLib +{ + public class FashionComposeTable : CVSReader + { + public FashionComposeTable.RowData[] Table = null; + + public class RowData + { + public int FashionID; + + public int FashionLevel; + + public SeqListRef Attributes; + } + + protected override void ReadLine(XBinaryReader reader) + { + FashionComposeTable.RowData rowData = new FashionComposeTable.RowData(); + base.Read(reader, ref rowData.FashionID, CVSReader.intParse); + this.columnno = 0; + base.Read(reader, ref rowData.FashionLevel, CVSReader.intParse); + this.columnno = 1; + rowData.Attributes.Read(reader, this.m_DataHandler); + this.columnno = 6; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new FashionComposeTable.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/FashionComposeTable.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/FashionComposeTable.cs.meta new file mode 100644 index 00000000..0ab1db10 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/FashionComposeTable.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: d63450fafc3616b44aa6a6279d8c5f64 +timeCreated: 1611465763 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/FashionEffectTable.cs b/Client/Assets/Scripts/XUtliPoolLib/FashionEffectTable.cs new file mode 100644 index 00000000..615b5763 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/FashionEffectTable.cs @@ -0,0 +1,64 @@ +using System; + +namespace XUtliPoolLib +{ + public class FashionEffectTable : CVSReader + { + public FashionEffectTable.RowData[] Table = null; + + public class RowData + { + public uint Quality; + + public SeqListRef Effect2; + + public SeqListRef Effect3; + + public SeqListRef Effect4; + + public SeqListRef Effect5; + + public SeqListRef Effect6; + + public SeqListRef Effect7; + + public bool IsThreeSuit; + } + + protected override void ReadLine(XBinaryReader reader) + { + FashionEffectTable.RowData rowData = new FashionEffectTable.RowData(); + base.Read(reader, ref rowData.Quality, CVSReader.uintParse); + this.columnno = 0; + rowData.Effect2.Read(reader, this.m_DataHandler); + this.columnno = 1; + rowData.Effect3.Read(reader, this.m_DataHandler); + this.columnno = 2; + rowData.Effect4.Read(reader, this.m_DataHandler); + this.columnno = 3; + rowData.Effect5.Read(reader, this.m_DataHandler); + this.columnno = 4; + rowData.Effect6.Read(reader, this.m_DataHandler); + this.columnno = 5; + rowData.Effect7.Read(reader, this.m_DataHandler); + this.columnno = 6; + base.Read(reader, ref rowData.IsThreeSuit, CVSReader.boolParse); + this.columnno = 7; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new FashionEffectTable.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/FashionEffectTable.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/FashionEffectTable.cs.meta new file mode 100644 index 00000000..9fd1ad32 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/FashionEffectTable.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: be8694cfb151a88439ccfe7387b8ff70 +timeCreated: 1611465751 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/FashionEnhanceFx.cs b/Client/Assets/Scripts/XUtliPoolLib/FashionEnhanceFx.cs new file mode 100644 index 00000000..e6665189 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/FashionEnhanceFx.cs @@ -0,0 +1,91 @@ +using System; + +namespace XUtliPoolLib +{ + public class FashionEnhanceFx : CVSReader + { + public FashionEnhanceFx.RowData[] Table = null; + + public class RowData + { + public int ItemID; + + public string[] Fx1; + + public string[] Fx2; + + public string[] Fx3; + + public string[] Fx4; + + public string[] Fx5; + + public string[] Fx6; + + public string[] Fx7; + + public string[] Fx8; + } + + public FashionEnhanceFx.RowData GetByItemID(int key) + { + bool flag = this.Table == null || this.Table.Length == 0; + FashionEnhanceFx.RowData result; + if (flag) + { + result = null; + } + else + { + for (int i = 0; i < this.Table.Length; i++) + { + bool flag2 = this.Table[i].ItemID == key; + if (flag2) + { + return this.Table[i]; + } + } + result = null; + } + return result; + } + + protected override void ReadLine(XBinaryReader reader) + { + FashionEnhanceFx.RowData rowData = new FashionEnhanceFx.RowData(); + base.Read(reader, ref rowData.ItemID, CVSReader.intParse); + this.columnno = 0; + base.ReadArray(reader, ref rowData.Fx1, CVSReader.stringParse); + this.columnno = 1; + base.ReadArray(reader, ref rowData.Fx2, CVSReader.stringParse); + this.columnno = 2; + base.ReadArray(reader, ref rowData.Fx3, CVSReader.stringParse); + this.columnno = 3; + base.ReadArray(reader, ref rowData.Fx4, CVSReader.stringParse); + this.columnno = 4; + base.ReadArray(reader, ref rowData.Fx5, CVSReader.stringParse); + this.columnno = 5; + base.ReadArray(reader, ref rowData.Fx6, CVSReader.stringParse); + this.columnno = 6; + base.ReadArray(reader, ref rowData.Fx7, CVSReader.stringParse); + this.columnno = 7; + base.ReadArray(reader, ref rowData.Fx8, CVSReader.stringParse); + this.columnno = 8; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new FashionEnhanceFx.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/FashionEnhanceFx.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/FashionEnhanceFx.cs.meta new file mode 100644 index 00000000..086856fe --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/FashionEnhanceFx.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 603b7f0502c0ada46b5c20061507dbd0 +timeCreated: 1611465650 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/FashionHair.cs b/Client/Assets/Scripts/XUtliPoolLib/FashionHair.cs new file mode 100644 index 00000000..37a6ce44 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/FashionHair.cs @@ -0,0 +1,71 @@ +using System; + +namespace XUtliPoolLib +{ + public class FashionHair : CVSReader + { + public FashionHair.RowData[] Table = null; + + public class RowData + { + public uint HairID; + + public uint DefaultColorID; + + public uint[] UnLookColorID; + + public SeqListRef Cost; + } + + public FashionHair.RowData GetByHairID(uint key) + { + bool flag = this.Table == null || this.Table.Length == 0; + FashionHair.RowData result; + if (flag) + { + result = null; + } + else + { + for (int i = 0; i < this.Table.Length; i++) + { + bool flag2 = this.Table[i].HairID == key; + if (flag2) + { + return this.Table[i]; + } + } + result = null; + } + return result; + } + + protected override void ReadLine(XBinaryReader reader) + { + FashionHair.RowData rowData = new FashionHair.RowData(); + base.Read(reader, ref rowData.HairID, CVSReader.uintParse); + this.columnno = 0; + base.Read(reader, ref rowData.DefaultColorID, CVSReader.uintParse); + this.columnno = 2; + base.ReadArray(reader, ref rowData.UnLookColorID, CVSReader.uintParse); + this.columnno = 3; + rowData.Cost.Read(reader, this.m_DataHandler); + this.columnno = 4; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new FashionHair.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/FashionHair.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/FashionHair.cs.meta new file mode 100644 index 00000000..20cc3ded --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/FashionHair.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: adc30273b830c164080f5b09805da705 +timeCreated: 1611465741 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/FashionList.cs b/Client/Assets/Scripts/XUtliPoolLib/FashionList.cs new file mode 100644 index 00000000..44f24fc0 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/FashionList.cs @@ -0,0 +1,153 @@ +using System; + +namespace XUtliPoolLib +{ + public class FashionList : CVSReader + { + public FashionList.RowData[] Table = null; + + public class RowData + { + public int ItemID; + + public byte EquipPos; + + public string ModelPrefabWarrior; + + public int PresentID; + + public string ModelPrefabSorcer; + + public string ModelPrefabArcher; + + public short[] ReplaceID; + + public string ModelPrefabCleric; + + public string ModelPrefab5; + + public string ModelPrefab6; + + public string ModelPrefab7; + + public string SuitName; + } + + public FashionList.RowData GetByItemID(int key) + { + bool flag = this.Table == null || this.Table.Length == 0; + FashionList.RowData result; + if (flag) + { + result = null; + } + else + { + result = this.BinarySearchItemID(key); + } + return result; + } + + private FashionList.RowData BinarySearchItemID(int key) + { + int num = 0; + int num2 = this.Table.Length - 1; + FashionList.RowData rowData; + FashionList.RowData rowData2; + FashionList.RowData rowData3; + for (;;) + { + rowData = this.Table[num]; + bool flag = rowData.ItemID == key; + if (flag) + { + break; + } + rowData2 = this.Table[num2]; + bool flag2 = rowData2.ItemID == key; + if (flag2) + { + goto Block_2; + } + bool flag3 = num2 - num <= 1; + if (flag3) + { + goto Block_3; + } + int num3 = num + (num2 - num) / 2; + rowData3 = this.Table[num3]; + bool flag4 = rowData3.ItemID.CompareTo(key) > 0; + if (flag4) + { + num2 = num3; + } + else + { + bool flag5 = rowData3.ItemID.CompareTo(key) < 0; + if (!flag5) + { + goto IL_B1; + } + num = num3; + } + if (num >= num2) + { + goto Block_6; + } + } + return rowData; + Block_2: + return rowData2; + Block_3: + return null; + IL_B1: + return rowData3; + Block_6: + return null; + } + + protected override void ReadLine(XBinaryReader reader) + { + FashionList.RowData rowData = new FashionList.RowData(); + base.Read(reader, ref rowData.ItemID, CVSReader.intParse); + this.columnno = 0; + base.Read(reader, ref rowData.EquipPos, CVSReader.byteParse); + this.columnno = 1; + base.Read(reader, ref rowData.ModelPrefabWarrior, CVSReader.stringParse); + this.columnno = 2; + base.Read(reader, ref rowData.PresentID, CVSReader.intParse); + this.columnno = 3; + base.Read(reader, ref rowData.ModelPrefabSorcer, CVSReader.stringParse); + this.columnno = 4; + base.Read(reader, ref rowData.ModelPrefabArcher, CVSReader.stringParse); + this.columnno = 5; + base.ReadArray(reader, ref rowData.ReplaceID, CVSReader.shortParse); + this.columnno = 6; + base.Read(reader, ref rowData.ModelPrefabCleric, CVSReader.stringParse); + this.columnno = 7; + base.Read(reader, ref rowData.ModelPrefab5, CVSReader.stringParse); + this.columnno = 8; + base.Read(reader, ref rowData.ModelPrefab6, CVSReader.stringParse); + this.columnno = 9; + base.Read(reader, ref rowData.ModelPrefab7, CVSReader.stringParse); + this.columnno = 10; + base.Read(reader, ref rowData.SuitName, CVSReader.stringParse); + this.columnno = 14; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new FashionList.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/FashionList.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/FashionList.cs.meta new file mode 100644 index 00000000..54552734 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/FashionList.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 22ccdff383a75ca45bd829c160a42318 +timeCreated: 1611465300 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/FashionSuitSpecialEffects.cs b/Client/Assets/Scripts/XUtliPoolLib/FashionSuitSpecialEffects.cs new file mode 100644 index 00000000..57ecc5c2 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/FashionSuitSpecialEffects.cs @@ -0,0 +1,157 @@ +using System; + +namespace XUtliPoolLib +{ + public class FashionSuitSpecialEffects : CVSReader + { + public FashionSuitSpecialEffects.RowData[] Table = null; + + public class RowData + { + public uint suitid; + + public uint specialeffectsid; + + public string Fx1; + + public string Fx2; + + public string Fx3; + + public string Fx4; + + public string Fx5; + + public string Fx6; + + public string Fx7; + + public string Fx8; + + public string Name; + + public string Icon; + + public uint[] FashionList; + } + + public FashionSuitSpecialEffects.RowData GetBysuitid(uint key) + { + bool flag = this.Table == null || this.Table.Length == 0; + FashionSuitSpecialEffects.RowData result; + if (flag) + { + result = null; + } + else + { + result = this.BinarySearchsuitid(key); + } + return result; + } + + private FashionSuitSpecialEffects.RowData BinarySearchsuitid(uint key) + { + int num = 0; + int num2 = this.Table.Length - 1; + FashionSuitSpecialEffects.RowData rowData; + FashionSuitSpecialEffects.RowData rowData2; + FashionSuitSpecialEffects.RowData rowData3; + for (;;) + { + rowData = this.Table[num]; + bool flag = rowData.suitid == key; + if (flag) + { + break; + } + rowData2 = this.Table[num2]; + bool flag2 = rowData2.suitid == key; + if (flag2) + { + goto Block_2; + } + bool flag3 = num2 - num <= 1; + if (flag3) + { + goto Block_3; + } + int num3 = num + (num2 - num) / 2; + rowData3 = this.Table[num3]; + bool flag4 = rowData3.suitid.CompareTo(key) > 0; + if (flag4) + { + num2 = num3; + } + else + { + bool flag5 = rowData3.suitid.CompareTo(key) < 0; + if (!flag5) + { + goto IL_B1; + } + num = num3; + } + if (num >= num2) + { + goto Block_6; + } + } + return rowData; + Block_2: + return rowData2; + Block_3: + return null; + IL_B1: + return rowData3; + Block_6: + return null; + } + + protected override void ReadLine(XBinaryReader reader) + { + FashionSuitSpecialEffects.RowData rowData = new FashionSuitSpecialEffects.RowData(); + base.Read(reader, ref rowData.suitid, CVSReader.uintParse); + this.columnno = 0; + base.Read(reader, ref rowData.specialeffectsid, CVSReader.uintParse); + this.columnno = 1; + base.Read(reader, ref rowData.Fx1, CVSReader.stringParse); + this.columnno = 2; + base.Read(reader, ref rowData.Fx2, CVSReader.stringParse); + this.columnno = 3; + base.Read(reader, ref rowData.Fx3, CVSReader.stringParse); + this.columnno = 4; + base.Read(reader, ref rowData.Fx4, CVSReader.stringParse); + this.columnno = 5; + base.Read(reader, ref rowData.Fx5, CVSReader.stringParse); + this.columnno = 6; + base.Read(reader, ref rowData.Fx6, CVSReader.stringParse); + this.columnno = 7; + base.Read(reader, ref rowData.Fx7, CVSReader.stringParse); + this.columnno = 8; + base.Read(reader, ref rowData.Fx8, CVSReader.stringParse); + this.columnno = 9; + base.Read(reader, ref rowData.Name, CVSReader.stringParse); + this.columnno = 10; + base.Read(reader, ref rowData.Icon, CVSReader.stringParse); + this.columnno = 11; + base.ReadArray(reader, ref rowData.FashionList, CVSReader.uintParse); + this.columnno = 12; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new FashionSuitSpecialEffects.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/FashionSuitSpecialEffects.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/FashionSuitSpecialEffects.cs.meta new file mode 100644 index 00000000..a045f007 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/FashionSuitSpecialEffects.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 8d94a591f407c9849a8384067a105a1b +timeCreated: 1611465702 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/FashionSuitTable.cs b/Client/Assets/Scripts/XUtliPoolLib/FashionSuitTable.cs new file mode 100644 index 00000000..a18022cf --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/FashionSuitTable.cs @@ -0,0 +1,127 @@ +using System; + +namespace XUtliPoolLib +{ + public class FashionSuitTable : CVSReader + { + public FashionSuitTable.RowData[] Table = null; + + public class RowData + { + public int SuitID; + + public string SuitName; + + public int SuitQuality; + + public uint[] FashionID; + + public SeqListRef Effect2; + + public SeqListRef Effect3; + + public SeqListRef Effect4; + + public SeqListRef Effect5; + + public SeqListRef Effect6; + + public SeqListRef Effect7; + + public SeqListRef All1; + + public SeqListRef All2; + + public SeqListRef All3; + + public SeqListRef All4; + + public bool NoSale; + + public int ShowLevel; + + public int OverAll; + + public int CraftedItemQuality; + } + + public FashionSuitTable.RowData GetBySuitID(int key) + { + bool flag = this.Table == null || this.Table.Length == 0; + FashionSuitTable.RowData result; + if (flag) + { + result = null; + } + else + { + for (int i = 0; i < this.Table.Length; i++) + { + bool flag2 = this.Table[i].SuitID == key; + if (flag2) + { + return this.Table[i]; + } + } + result = null; + } + return result; + } + + protected override void ReadLine(XBinaryReader reader) + { + FashionSuitTable.RowData rowData = new FashionSuitTable.RowData(); + base.Read(reader, ref rowData.SuitID, CVSReader.intParse); + this.columnno = 0; + base.Read(reader, ref rowData.SuitName, CVSReader.stringParse); + this.columnno = 1; + base.Read(reader, ref rowData.SuitQuality, CVSReader.intParse); + this.columnno = 2; + base.ReadArray(reader, ref rowData.FashionID, CVSReader.uintParse); + this.columnno = 4; + rowData.Effect2.Read(reader, this.m_DataHandler); + this.columnno = 5; + rowData.Effect3.Read(reader, this.m_DataHandler); + this.columnno = 6; + rowData.Effect4.Read(reader, this.m_DataHandler); + this.columnno = 7; + rowData.Effect5.Read(reader, this.m_DataHandler); + this.columnno = 8; + rowData.Effect6.Read(reader, this.m_DataHandler); + this.columnno = 9; + rowData.Effect7.Read(reader, this.m_DataHandler); + this.columnno = 10; + rowData.All1.Read(reader, this.m_DataHandler); + this.columnno = 11; + rowData.All2.Read(reader, this.m_DataHandler); + this.columnno = 12; + rowData.All3.Read(reader, this.m_DataHandler); + this.columnno = 13; + rowData.All4.Read(reader, this.m_DataHandler); + this.columnno = 14; + base.Read(reader, ref rowData.NoSale, CVSReader.boolParse); + this.columnno = 21; + base.Read(reader, ref rowData.ShowLevel, CVSReader.intParse); + this.columnno = 22; + base.Read(reader, ref rowData.OverAll, CVSReader.intParse); + this.columnno = 23; + base.Read(reader, ref rowData.CraftedItemQuality, CVSReader.intParse); + this.columnno = 24; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new FashionSuitTable.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/FashionSuitTable.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/FashionSuitTable.cs.meta new file mode 100644 index 00000000..44c45396 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/FashionSuitTable.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 354895a3b5493a94e95cb3abb22e46c4 +timeCreated: 1611465631 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/FashionSynthesis.cs b/Client/Assets/Scripts/XUtliPoolLib/FashionSynthesis.cs new file mode 100644 index 00000000..e3f85bf9 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/FashionSynthesis.cs @@ -0,0 +1,52 @@ +using System; + +namespace XUtliPoolLib +{ + public class FashionSynthesis : CVSReader + { + public FashionSynthesis.RowData[] Table = null; + + public class RowData + { + public uint FashionID; + + public uint SuccessRate; + + public SeqListRef ReturnItems; + + public uint SuitID; + + public uint FashinSynthesisAddSucessRate; + } + + protected override void ReadLine(XBinaryReader reader) + { + FashionSynthesis.RowData rowData = new FashionSynthesis.RowData(); + base.Read(reader, ref rowData.FashionID, CVSReader.uintParse); + this.columnno = 0; + base.Read(reader, ref rowData.SuccessRate, CVSReader.uintParse); + this.columnno = 1; + rowData.ReturnItems.Read(reader, this.m_DataHandler); + this.columnno = 2; + base.Read(reader, ref rowData.SuitID, CVSReader.uintParse); + this.columnno = 3; + base.Read(reader, ref rowData.FashinSynthesisAddSucessRate, CVSReader.uintParse); + this.columnno = 4; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new FashionSynthesis.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/FashionSynthesis.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/FashionSynthesis.cs.meta new file mode 100644 index 00000000..5e6f24d8 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/FashionSynthesis.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 904bc63d5380c9746b23fea4425da032 +timeCreated: 1611465704 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/FestScene.cs b/Client/Assets/Scripts/XUtliPoolLib/FestScene.cs new file mode 100644 index 00000000..bdd14376 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/FestScene.cs @@ -0,0 +1,67 @@ +using System; + +namespace XUtliPoolLib +{ + public class FestScene : CVSReader + { + public FestScene.RowData[] Table = null; + + public class RowData + { + public uint id; + + public string PicPath; + + public uint[] RewardList; + } + + public FestScene.RowData GetByid(uint key) + { + bool flag = this.Table == null || this.Table.Length == 0; + FestScene.RowData result; + if (flag) + { + result = null; + } + else + { + for (int i = 0; i < this.Table.Length; i++) + { + bool flag2 = this.Table[i].id == key; + if (flag2) + { + return this.Table[i]; + } + } + result = null; + } + return result; + } + + protected override void ReadLine(XBinaryReader reader) + { + FestScene.RowData rowData = new FestScene.RowData(); + base.Read(reader, ref rowData.id, CVSReader.uintParse); + this.columnno = 0; + base.Read(reader, ref rowData.PicPath, CVSReader.stringParse); + this.columnno = 4; + base.ReadArray(reader, ref rowData.RewardList, CVSReader.uintParse); + this.columnno = 5; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new FestScene.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/FestScene.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/FestScene.cs.meta new file mode 100644 index 00000000..e490de0f --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/FestScene.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 0a40d25ac19b70e42849cb2be8f2dae4 +timeCreated: 1611465287 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/FestivityLovePersonReward.cs b/Client/Assets/Scripts/XUtliPoolLib/FestivityLovePersonReward.cs new file mode 100644 index 00000000..a0a88713 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/FestivityLovePersonReward.cs @@ -0,0 +1,40 @@ +using System; + +namespace XUtliPoolLib +{ + public class FestivityLovePersonReward : CVSReader + { + public FestivityLovePersonReward.RowData[] Table = null; + + public class RowData + { + public uint LoveScore; + + public SeqListRef LoveReward; + } + + protected override void ReadLine(XBinaryReader reader) + { + FestivityLovePersonReward.RowData rowData = new FestivityLovePersonReward.RowData(); + base.Read(reader, ref rowData.LoveScore, CVSReader.uintParse); + this.columnno = 0; + rowData.LoveReward.Read(reader, this.m_DataHandler); + this.columnno = 1; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new FestivityLovePersonReward.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/FestivityLovePersonReward.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/FestivityLovePersonReward.cs.meta new file mode 100644 index 00000000..e27a779c --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/FestivityLovePersonReward.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 0d20b9c6e43ca1b49816134ff0ea7c2d +timeCreated: 1611465289 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/FestivityLoveRankReward.cs b/Client/Assets/Scripts/XUtliPoolLib/FestivityLoveRankReward.cs new file mode 100644 index 00000000..63871619 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/FestivityLoveRankReward.cs @@ -0,0 +1,48 @@ +using System; + +namespace XUtliPoolLib +{ + public class FestivityLoveRankReward : CVSReader + { + public FestivityLoveRankReward.RowData[] Table = null; + + public class RowData + { + public SeqRef LoveRank; + + public SeqListRef RankReward; + + public uint DesignationId; + + public string DesignationIcon; + } + + protected override void ReadLine(XBinaryReader reader) + { + FestivityLoveRankReward.RowData rowData = new FestivityLoveRankReward.RowData(); + rowData.LoveRank.Read(reader, this.m_DataHandler); + this.columnno = 0; + rowData.RankReward.Read(reader, this.m_DataHandler); + this.columnno = 1; + base.Read(reader, ref rowData.DesignationId, CVSReader.uintParse); + this.columnno = 2; + base.Read(reader, ref rowData.DesignationIcon, CVSReader.stringParse); + this.columnno = 3; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new FestivityLoveRankReward.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/FestivityLoveRankReward.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/FestivityLoveRankReward.cs.meta new file mode 100644 index 00000000..aa1ff215 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/FestivityLoveRankReward.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: e173815ce1eae6540a75417a0463bfa2 +timeCreated: 1611465800 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/FestivityLoveTable.cs b/Client/Assets/Scripts/XUtliPoolLib/FestivityLoveTable.cs new file mode 100644 index 00000000..c77b84ab --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/FestivityLoveTable.cs @@ -0,0 +1,44 @@ +using System; + +namespace XUtliPoolLib +{ + public class FestivityLoveTable : CVSReader + { + public FestivityLoveTable.RowData[] Table = null; + + public class RowData + { + public uint LoveScore; + + public SeqListRef LoveGift; + + public string GiftIcon; + } + + protected override void ReadLine(XBinaryReader reader) + { + FestivityLoveTable.RowData rowData = new FestivityLoveTable.RowData(); + base.Read(reader, ref rowData.LoveScore, CVSReader.uintParse); + this.columnno = 0; + rowData.LoveGift.Read(reader, this.m_DataHandler); + this.columnno = 1; + base.Read(reader, ref rowData.GiftIcon, CVSReader.stringParse); + this.columnno = 2; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new FestivityLoveTable.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/FestivityLoveTable.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/FestivityLoveTable.cs.meta new file mode 100644 index 00000000..f4a14d67 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/FestivityLoveTable.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 9095fec77ea7a744b8bad6d934dd4097 +timeCreated: 1611465704 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/FightDesignation.cs b/Client/Assets/Scripts/XUtliPoolLib/FightDesignation.cs new file mode 100644 index 00000000..e10bc86f --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/FightDesignation.cs @@ -0,0 +1,48 @@ +using System; + +namespace XUtliPoolLib +{ + public class FightDesignation : CVSReader + { + public FightDesignation.RowData[] Table = null; + + public class RowData + { + public uint ID; + + public string Designation; + + public string Effect; + + public string Color; + } + + protected override void ReadLine(XBinaryReader reader) + { + FightDesignation.RowData rowData = new FightDesignation.RowData(); + base.Read(reader, ref rowData.ID, CVSReader.uintParse); + this.columnno = 0; + base.Read(reader, ref rowData.Designation, CVSReader.stringParse); + this.columnno = 1; + base.Read(reader, ref rowData.Effect, CVSReader.stringParse); + this.columnno = 3; + base.Read(reader, ref rowData.Color, CVSReader.stringParse); + this.columnno = 4; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new FightDesignation.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/FightDesignation.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/FightDesignation.cs.meta new file mode 100644 index 00000000..6f85d990 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/FightDesignation.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: ef6876d3a5817884bb6e5d32c5c240d3 +timeCreated: 1611465806 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/FightGroupTable.cs b/Client/Assets/Scripts/XUtliPoolLib/FightGroupTable.cs new file mode 100644 index 00000000..543cb9af --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/FightGroupTable.cs @@ -0,0 +1,64 @@ +using System; + +namespace XUtliPoolLib +{ + public class FightGroupTable : CVSReader + { + public FightGroupTable.RowData[] Table = null; + + public class RowData + { + public string group; + + public string enemy; + + public string role; + + public string neutral; + + public string hostility; + + public string enemygod; + + public string rolegod; + + public string other; + } + + protected override void ReadLine(XBinaryReader reader) + { + FightGroupTable.RowData rowData = new FightGroupTable.RowData(); + base.Read(reader, ref rowData.group, CVSReader.stringParse); + this.columnno = 0; + base.Read(reader, ref rowData.enemy, CVSReader.stringParse); + this.columnno = 1; + base.Read(reader, ref rowData.role, CVSReader.stringParse); + this.columnno = 2; + base.Read(reader, ref rowData.neutral, CVSReader.stringParse); + this.columnno = 3; + base.Read(reader, ref rowData.hostility, CVSReader.stringParse); + this.columnno = 4; + base.Read(reader, ref rowData.enemygod, CVSReader.stringParse); + this.columnno = 5; + base.Read(reader, ref rowData.rolegod, CVSReader.stringParse); + this.columnno = 6; + base.Read(reader, ref rowData.other, CVSReader.stringParse); + this.columnno = 7; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new FightGroupTable.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/FightGroupTable.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/FightGroupTable.cs.meta new file mode 100644 index 00000000..a0f782d6 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/FightGroupTable.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 6cfa6a4061417844faa4a4bebc3f908a +timeCreated: 1611465685 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/FilterSkillArg.cs b/Client/Assets/Scripts/XUtliPoolLib/FilterSkillArg.cs new file mode 100644 index 00000000..b652c825 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/FilterSkillArg.cs @@ -0,0 +1,32 @@ +using System; +using UnityEngine; + +namespace XUtliPoolLib +{ + public class FilterSkillArg + { + public Transform mAIArgTarget; + + public bool mAIArgUseMP; + + public bool mAIArgUseName; + + public bool mAIArgUseHP; + + public bool mAIArgUseCoolDown; + + public bool mAIArgUseAttackField; + + public bool mAIArgUseCombo; + + public bool mAIArgUseInstall = false; + + public int mAIArgSkillType; + + public string mAIArgSkillName; + + public bool mAIArgDetectAllPlayInAttackField; + + public int mAIArgMaxSkillNum; + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/FilterSkillArg.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/FilterSkillArg.cs.meta new file mode 100644 index 00000000..fccd68a9 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/FilterSkillArg.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 4fcb3fb8fb8f77846ab6d6e9d0478d73 +timeCreated: 1611465642 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/FirstPassReward.cs b/Client/Assets/Scripts/XUtliPoolLib/FirstPassReward.cs new file mode 100644 index 00000000..482a5100 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/FirstPassReward.cs @@ -0,0 +1,44 @@ +using System; + +namespace XUtliPoolLib +{ + public class FirstPassReward : CVSReader + { + public FirstPassReward.RowData[] Table = null; + + public class RowData + { + public int ID; + + public SeqRef Rank; + + public SeqListRef Reward; + } + + protected override void ReadLine(XBinaryReader reader) + { + FirstPassReward.RowData rowData = new FirstPassReward.RowData(); + base.Read(reader, ref rowData.ID, CVSReader.intParse); + this.columnno = 0; + rowData.Rank.Read(reader, this.m_DataHandler); + this.columnno = 1; + rowData.Reward.Read(reader, this.m_DataHandler); + this.columnno = 2; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new FirstPassReward.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/FirstPassReward.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/FirstPassReward.cs.meta new file mode 100644 index 00000000..d5496cfb --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/FirstPassReward.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: f27fcaff45f63464bab9bfb3e2d1415d +timeCreated: 1611465808 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/FirstPassTable.cs b/Client/Assets/Scripts/XUtliPoolLib/FirstPassTable.cs new file mode 100644 index 00000000..4adb299f --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/FirstPassTable.cs @@ -0,0 +1,91 @@ +using System; + +namespace XUtliPoolLib +{ + public class FirstPassTable : CVSReader + { + public FirstPassTable.RowData[] Table = null; + + public class RowData + { + public int ID; + + public int[] SceneID; + + public int RewardID; + + public SeqListRef CommendReward; + + public int SystemId; + + public string Des; + + public string BgTexName; + + public uint NestType; + + public string RankTittle; + } + + public FirstPassTable.RowData GetByID(int key) + { + bool flag = this.Table == null || this.Table.Length == 0; + FirstPassTable.RowData result; + if (flag) + { + result = null; + } + else + { + for (int i = 0; i < this.Table.Length; i++) + { + bool flag2 = this.Table[i].ID == key; + if (flag2) + { + return this.Table[i]; + } + } + result = null; + } + return result; + } + + protected override void ReadLine(XBinaryReader reader) + { + FirstPassTable.RowData rowData = new FirstPassTable.RowData(); + base.Read(reader, ref rowData.ID, CVSReader.intParse); + this.columnno = 0; + base.ReadArray(reader, ref rowData.SceneID, CVSReader.intParse); + this.columnno = 1; + base.Read(reader, ref rowData.RewardID, CVSReader.intParse); + this.columnno = 2; + rowData.CommendReward.Read(reader, this.m_DataHandler); + this.columnno = 3; + base.Read(reader, ref rowData.SystemId, CVSReader.intParse); + this.columnno = 4; + base.Read(reader, ref rowData.Des, CVSReader.stringParse); + this.columnno = 5; + base.Read(reader, ref rowData.BgTexName, CVSReader.stringParse); + this.columnno = 6; + base.Read(reader, ref rowData.NestType, CVSReader.uintParse); + this.columnno = 8; + base.Read(reader, ref rowData.RankTittle, CVSReader.stringParse); + this.columnno = 9; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new FirstPassTable.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/FirstPassTable.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/FirstPassTable.cs.meta new file mode 100644 index 00000000..1f248bd6 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/FirstPassTable.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: a1402e9960c349e41935f4b96302fae6 +timeCreated: 1611465712 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/FishInfo.cs b/Client/Assets/Scripts/XUtliPoolLib/FishInfo.cs new file mode 100644 index 00000000..418601e2 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/FishInfo.cs @@ -0,0 +1,67 @@ +using System; + +namespace XUtliPoolLib +{ + public class FishInfo : CVSReader + { + public FishInfo.RowData[] Table = null; + + public class RowData + { + public uint FishID; + + public int quality; + + public bool ShowInLevel; + } + + public FishInfo.RowData GetByFishID(uint key) + { + bool flag = this.Table == null || this.Table.Length == 0; + FishInfo.RowData result; + if (flag) + { + result = null; + } + else + { + for (int i = 0; i < this.Table.Length; i++) + { + bool flag2 = this.Table[i].FishID == key; + if (flag2) + { + return this.Table[i]; + } + } + result = null; + } + return result; + } + + protected override void ReadLine(XBinaryReader reader) + { + FishInfo.RowData rowData = new FishInfo.RowData(); + base.Read(reader, ref rowData.FishID, CVSReader.uintParse); + this.columnno = 0; + base.Read(reader, ref rowData.quality, CVSReader.intParse); + this.columnno = 2; + base.Read(reader, ref rowData.ShowInLevel, CVSReader.boolParse); + this.columnno = 4; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new FishInfo.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/FishInfo.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/FishInfo.cs.meta new file mode 100644 index 00000000..11b2602f --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/FishInfo.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: e149bb967aedf61449e50dbdce9b63b9 +timeCreated: 1611465799 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/FloatCurve.cs b/Client/Assets/Scripts/XUtliPoolLib/FloatCurve.cs new file mode 100644 index 00000000..8e970cf2 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/FloatCurve.cs @@ -0,0 +1,83 @@ +using System; + +namespace XUtliPoolLib +{ + public class FloatCurve : IXCurve + { + public int length + { + get + { + return (this.value == null) ? 0 : this.value.Length; + } + } + + public static float frameTime = 0.0333333351f; + + public uint namehash; + + public short maxValue; + + public short landValue; + + public short[] value = null; + + public float Evaluate(float time) + { + bool flag = this.value == null; + float result; + if (flag) + { + result = 0f; + } + else + { + float num = time / FloatCurve.frameTime; + int num2 = (int)Math.Ceiling((double)num); + int num3 = (int)Math.Floor((double)num); + bool flag2 = num2 >= this.value.Length; + if (flag2) + { + num2 = this.value.Length - 1; + } + bool flag3 = num3 >= this.value.Length; + if (flag3) + { + num3 = this.value.Length - 1; + } + result = (float)this.value[num3] * 0.01f + (float)(this.value[num2] - this.value[num3]) * 0.01f / FloatCurve.frameTime * (time - (float)num3 * FloatCurve.frameTime); + } + return result; + } + + public float GetValue(int index) + { + bool flag = this.value == null; + float result; + if (flag) + { + result = 0f; + } + else + { + result = (float)this.value[index] * 0.01f; + } + return result; + } + + public float GetTime(int index) + { + return (float)index * FloatCurve.frameTime; + } + + public float GetMaxValue() + { + return (float)this.maxValue * 0.01f; + } + + public float GetLandValue() + { + return (float)this.landValue * 0.01f; + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/FloatCurve.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/FloatCurve.cs.meta new file mode 100644 index 00000000..288a8f62 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/FloatCurve.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: d20bfc2654701a246a267f48861bf5b4 +timeCreated: 1611465761 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/FlowerRain.cs b/Client/Assets/Scripts/XUtliPoolLib/FlowerRain.cs new file mode 100644 index 00000000..52448010 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/FlowerRain.cs @@ -0,0 +1,48 @@ +using System; + +namespace XUtliPoolLib +{ + public class FlowerRain : CVSReader + { + public FlowerRain.RowData[] Table = null; + + public class RowData + { + public int FlowerID; + + public int Count; + + public string EffectPath; + + public int PlayTime; + } + + protected override void ReadLine(XBinaryReader reader) + { + FlowerRain.RowData rowData = new FlowerRain.RowData(); + base.Read(reader, ref rowData.FlowerID, CVSReader.intParse); + this.columnno = 0; + base.Read(reader, ref rowData.Count, CVSReader.intParse); + this.columnno = 1; + base.Read(reader, ref rowData.EffectPath, CVSReader.stringParse); + this.columnno = 2; + base.Read(reader, ref rowData.PlayTime, CVSReader.intParse); + this.columnno = 3; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new FlowerRain.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/FlowerRain.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/FlowerRain.cs.meta new file mode 100644 index 00000000..dd378312 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/FlowerRain.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 2348074f7cce26040adedfd16da96292 +timeCreated: 1611465300 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/FlowerRankRewardTable.cs b/Client/Assets/Scripts/XUtliPoolLib/FlowerRankRewardTable.cs new file mode 100644 index 00000000..854d0fa3 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/FlowerRankRewardTable.cs @@ -0,0 +1,52 @@ +using System; + +namespace XUtliPoolLib +{ + public class FlowerRankRewardTable : CVSReader + { + public FlowerRankRewardTable.RowData[] Table = null; + + public class RowData + { + public SeqRef rank; + + public SeqListRef reward; + + public uint yesterday; + + public uint history; + + public SeqListRef activity; + } + + protected override void ReadLine(XBinaryReader reader) + { + FlowerRankRewardTable.RowData rowData = new FlowerRankRewardTable.RowData(); + rowData.rank.Read(reader, this.m_DataHandler); + this.columnno = 0; + rowData.reward.Read(reader, this.m_DataHandler); + this.columnno = 1; + base.Read(reader, ref rowData.yesterday, CVSReader.uintParse); + this.columnno = 2; + base.Read(reader, ref rowData.history, CVSReader.uintParse); + this.columnno = 3; + rowData.activity.Read(reader, this.m_DataHandler); + this.columnno = 6; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new FlowerRankRewardTable.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/FlowerRankRewardTable.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/FlowerRankRewardTable.cs.meta new file mode 100644 index 00000000..ac36bfc4 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/FlowerRankRewardTable.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 0ac50ab64f94d854da02cc7166b07f18 +timeCreated: 1611465287 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/FlowerSendNoticeTable.cs b/Client/Assets/Scripts/XUtliPoolLib/FlowerSendNoticeTable.cs new file mode 100644 index 00000000..1d73dc53 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/FlowerSendNoticeTable.cs @@ -0,0 +1,44 @@ +using System; + +namespace XUtliPoolLib +{ + public class FlowerSendNoticeTable : CVSReader + { + public FlowerSendNoticeTable.RowData[] Table = null; + + public class RowData + { + public int ItemID; + + public int Num; + + public string ThanksWords; + } + + protected override void ReadLine(XBinaryReader reader) + { + FlowerSendNoticeTable.RowData rowData = new FlowerSendNoticeTable.RowData(); + base.Read(reader, ref rowData.ItemID, CVSReader.intParse); + this.columnno = 0; + base.Read(reader, ref rowData.Num, CVSReader.intParse); + this.columnno = 1; + base.Read(reader, ref rowData.ThanksWords, CVSReader.stringParse); + this.columnno = 3; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new FlowerSendNoticeTable.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/FlowerSendNoticeTable.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/FlowerSendNoticeTable.cs.meta new file mode 100644 index 00000000..3bca0e5a --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/FlowerSendNoticeTable.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 05571665168d8644797bc9dea352f2d8 +timeCreated: 1611465285 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/FlowerWeekRankReward.cs b/Client/Assets/Scripts/XUtliPoolLib/FlowerWeekRankReward.cs new file mode 100644 index 00000000..db1cdfad --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/FlowerWeekRankReward.cs @@ -0,0 +1,40 @@ +using System; + +namespace XUtliPoolLib +{ + public class FlowerWeekRankReward : CVSReader + { + public FlowerWeekRankReward.RowData[] Table = null; + + public class RowData + { + public SeqRef Rank; + + public SeqListRef Reward; + } + + protected override void ReadLine(XBinaryReader reader) + { + FlowerWeekRankReward.RowData rowData = new FlowerWeekRankReward.RowData(); + rowData.Rank.Read(reader, this.m_DataHandler); + this.columnno = 0; + rowData.Reward.Read(reader, this.m_DataHandler); + this.columnno = 1; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new FlowerWeekRankReward.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/FlowerWeekRankReward.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/FlowerWeekRankReward.cs.meta new file mode 100644 index 00000000..80bf5c77 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/FlowerWeekRankReward.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 081f2e08b767c894da2e99642a26e363 +timeCreated: 1611465286 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/ForbidWord.cs b/Client/Assets/Scripts/XUtliPoolLib/ForbidWord.cs new file mode 100644 index 00000000..c6473934 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/ForbidWord.cs @@ -0,0 +1,36 @@ +using System; + +namespace XUtliPoolLib +{ + public class ForbidWord : CVSReader + { + public ForbidWord.RowData[] Table = null; + + public class RowData + { + public string forbidword; + } + + protected override void ReadLine(XBinaryReader reader) + { + ForbidWord.RowData rowData = new ForbidWord.RowData(); + base.Read(reader, ref rowData.forbidword, CVSReader.stringParse); + this.columnno = 0; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new ForbidWord.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/ForbidWord.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/ForbidWord.cs.meta new file mode 100644 index 00000000..9daddc7d --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/ForbidWord.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 532a2a6b51dd11b429e0aa388ec76d6f +timeCreated: 1611465644 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/ForgeAttributes.cs b/Client/Assets/Scripts/XUtliPoolLib/ForgeAttributes.cs new file mode 100644 index 00000000..ebac5878 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/ForgeAttributes.cs @@ -0,0 +1,56 @@ +using System; + +namespace XUtliPoolLib +{ + public class ForgeAttributes : CVSReader + { + public ForgeAttributes.RowData[] Table = null; + + public class RowData + { + public uint EquipID; + + public byte Slot; + + public byte AttrID; + + public byte Prob; + + public SeqRef Range; + + public byte CanSmelt; + } + + protected override void ReadLine(XBinaryReader reader) + { + ForgeAttributes.RowData rowData = new ForgeAttributes.RowData(); + base.Read(reader, ref rowData.EquipID, CVSReader.uintParse); + this.columnno = 0; + base.Read(reader, ref rowData.Slot, CVSReader.byteParse); + this.columnno = 1; + base.Read(reader, ref rowData.AttrID, CVSReader.byteParse); + this.columnno = 2; + base.Read(reader, ref rowData.Prob, CVSReader.byteParse); + this.columnno = 3; + rowData.Range.Read(reader, this.m_DataHandler); + this.columnno = 5; + base.Read(reader, ref rowData.CanSmelt, CVSReader.byteParse); + this.columnno = 10; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new ForgeAttributes.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/ForgeAttributes.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/ForgeAttributes.cs.meta new file mode 100644 index 00000000..7ab93a9a --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/ForgeAttributes.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 31691ded470c92043b4f3dc743e211d2 +timeCreated: 1611465308 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/FpGoToLevelUp.cs b/Client/Assets/Scripts/XUtliPoolLib/FpGoToLevelUp.cs new file mode 100644 index 00000000..2cea090b --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/FpGoToLevelUp.cs @@ -0,0 +1,60 @@ +using System; + +namespace XUtliPoolLib +{ + public class FpGoToLevelUp : CVSReader + { + public FpGoToLevelUp.RowData[] Table = null; + + public class RowData + { + public uint Id; + + public string Name; + + public uint SystemId; + + public string Tips; + + public string IconName; + + public uint StarNum; + + public uint IsRecommond; + } + + protected override void ReadLine(XBinaryReader reader) + { + FpGoToLevelUp.RowData rowData = new FpGoToLevelUp.RowData(); + base.Read(reader, ref rowData.Id, CVSReader.uintParse); + this.columnno = 0; + base.Read(reader, ref rowData.Name, CVSReader.stringParse); + this.columnno = 1; + base.Read(reader, ref rowData.SystemId, CVSReader.uintParse); + this.columnno = 2; + base.Read(reader, ref rowData.Tips, CVSReader.stringParse); + this.columnno = 3; + base.Read(reader, ref rowData.IconName, CVSReader.stringParse); + this.columnno = 4; + base.Read(reader, ref rowData.StarNum, CVSReader.uintParse); + this.columnno = 5; + base.Read(reader, ref rowData.IsRecommond, CVSReader.uintParse); + this.columnno = 6; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new FpGoToLevelUp.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/FpGoToLevelUp.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/FpGoToLevelUp.cs.meta new file mode 100644 index 00000000..f1209b1e --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/FpGoToLevelUp.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 73e06620ce5e0ae49aafaf9fbfc7c147 +timeCreated: 1611465688 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/FpStrengthNew.cs b/Client/Assets/Scripts/XUtliPoolLib/FpStrengthNew.cs new file mode 100644 index 00000000..6bc8d84a --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/FpStrengthNew.cs @@ -0,0 +1,83 @@ +using System; + +namespace XUtliPoolLib +{ + public class FpStrengthNew : CVSReader + { + public FpStrengthNew.RowData[] Table = null; + + public class RowData + { + public int BQID; + + public int Bqtype; + + public int BQSystem; + + public string BQTips; + + public string BQImageID; + + public int ShowLevel; + + public int StarNum; + } + + public FpStrengthNew.RowData GetByBQID(int key) + { + bool flag = this.Table == null || this.Table.Length == 0; + FpStrengthNew.RowData result; + if (flag) + { + result = null; + } + else + { + for (int i = 0; i < this.Table.Length; i++) + { + bool flag2 = this.Table[i].BQID == key; + if (flag2) + { + return this.Table[i]; + } + } + result = null; + } + return result; + } + + protected override void ReadLine(XBinaryReader reader) + { + FpStrengthNew.RowData rowData = new FpStrengthNew.RowData(); + base.Read(reader, ref rowData.BQID, CVSReader.intParse); + this.columnno = 0; + base.Read(reader, ref rowData.Bqtype, CVSReader.intParse); + this.columnno = 1; + base.Read(reader, ref rowData.BQSystem, CVSReader.intParse); + this.columnno = 2; + base.Read(reader, ref rowData.BQTips, CVSReader.stringParse); + this.columnno = 3; + base.Read(reader, ref rowData.BQImageID, CVSReader.stringParse); + this.columnno = 4; + base.Read(reader, ref rowData.ShowLevel, CVSReader.intParse); + this.columnno = 6; + base.Read(reader, ref rowData.StarNum, CVSReader.intParse); + this.columnno = 7; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new FpStrengthNew.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/FpStrengthNew.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/FpStrengthNew.cs.meta new file mode 100644 index 00000000..d91368db --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/FpStrengthNew.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 3edb3af26e52e444bb2966278ec4bce0 +timeCreated: 1611465633 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/FpStrengthenTable.cs b/Client/Assets/Scripts/XUtliPoolLib/FpStrengthenTable.cs new file mode 100644 index 00000000..ee21b33a --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/FpStrengthenTable.cs @@ -0,0 +1,133 @@ +using System; + +namespace XUtliPoolLib +{ + public class FpStrengthenTable : CVSReader + { + public FpStrengthenTable.RowData[] Table = null; + + public class RowData + { + public int BQID; + + public int Bqtype; + + public int BQSystem; + + public string BQTips; + + public string BQImageID; + + public string BQName; + + public int ShowLevel; + } + + public FpStrengthenTable.RowData GetByBQID(int key) + { + bool flag = this.Table == null || this.Table.Length == 0; + FpStrengthenTable.RowData result; + if (flag) + { + result = null; + } + else + { + result = this.BinarySearchBQID(key); + } + return result; + } + + private FpStrengthenTable.RowData BinarySearchBQID(int key) + { + int num = 0; + int num2 = this.Table.Length - 1; + FpStrengthenTable.RowData rowData; + FpStrengthenTable.RowData rowData2; + FpStrengthenTable.RowData rowData3; + for (;;) + { + rowData = this.Table[num]; + bool flag = rowData.BQID == key; + if (flag) + { + break; + } + rowData2 = this.Table[num2]; + bool flag2 = rowData2.BQID == key; + if (flag2) + { + goto Block_2; + } + bool flag3 = num2 - num <= 1; + if (flag3) + { + goto Block_3; + } + int num3 = num + (num2 - num) / 2; + rowData3 = this.Table[num3]; + bool flag4 = rowData3.BQID.CompareTo(key) > 0; + if (flag4) + { + num2 = num3; + } + else + { + bool flag5 = rowData3.BQID.CompareTo(key) < 0; + if (!flag5) + { + goto IL_B1; + } + num = num3; + } + if (num >= num2) + { + goto Block_6; + } + } + return rowData; + Block_2: + return rowData2; + Block_3: + return null; + IL_B1: + return rowData3; + Block_6: + return null; + } + + protected override void ReadLine(XBinaryReader reader) + { + FpStrengthenTable.RowData rowData = new FpStrengthenTable.RowData(); + base.Read(reader, ref rowData.BQID, CVSReader.intParse); + this.columnno = 0; + base.Read(reader, ref rowData.Bqtype, CVSReader.intParse); + this.columnno = 1; + base.Read(reader, ref rowData.BQSystem, CVSReader.intParse); + this.columnno = 2; + base.Read(reader, ref rowData.BQTips, CVSReader.stringParse); + this.columnno = 3; + base.Read(reader, ref rowData.BQImageID, CVSReader.stringParse); + this.columnno = 4; + base.Read(reader, ref rowData.BQName, CVSReader.stringParse); + this.columnno = 5; + base.Read(reader, ref rowData.ShowLevel, CVSReader.intParse); + this.columnno = 6; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new FpStrengthenTable.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/FpStrengthenTable.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/FpStrengthenTable.cs.meta new file mode 100644 index 00000000..99f39128 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/FpStrengthenTable.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 124380c4f214e0141bca5a07f0cb5e0e +timeCreated: 1611465291 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/FriendInfo.cs b/Client/Assets/Scripts/XUtliPoolLib/FriendInfo.cs new file mode 100644 index 00000000..dfc7683e --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/FriendInfo.cs @@ -0,0 +1,30 @@ +using System; + +namespace XUtliPoolLib +{ + public class FriendInfo + { + public int apiId; + + public FriendInfo.Data[] data; + + public struct Data + { + public string nickName; + + public string openId; + + public string gender; + + public string pictureSmall; + + public string pictureMiddle; + + public string pictureLarge; + + public string provice; + + public string city; + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/FriendInfo.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/FriendInfo.cs.meta new file mode 100644 index 00000000..c952d26e --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/FriendInfo.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: d68c2f58389282448844afdf4f3865ee +timeCreated: 1611465763 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/FriendSysConfigTable.cs b/Client/Assets/Scripts/XUtliPoolLib/FriendSysConfigTable.cs new file mode 100644 index 00000000..140ee56e --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/FriendSysConfigTable.cs @@ -0,0 +1,87 @@ +using System; + +namespace XUtliPoolLib +{ + public class FriendSysConfigTable : CVSReader + { + public FriendSysConfigTable.RowData[] Table = null; + + public class RowData + { + public int TabID; + + public bool IsOpen; + + public string TabName; + + public string Icon; + + public string NumLabel; + + public string RButtonLabel; + + public string LButtonLabel; + + public int NumLimit; + } + + public FriendSysConfigTable.RowData GetByTabID(int key) + { + bool flag = this.Table == null || this.Table.Length == 0; + FriendSysConfigTable.RowData result; + if (flag) + { + result = null; + } + else + { + for (int i = 0; i < this.Table.Length; i++) + { + bool flag2 = this.Table[i].TabID == key; + if (flag2) + { + return this.Table[i]; + } + } + result = null; + } + return result; + } + + protected override void ReadLine(XBinaryReader reader) + { + FriendSysConfigTable.RowData rowData = new FriendSysConfigTable.RowData(); + base.Read(reader, ref rowData.TabID, CVSReader.intParse); + this.columnno = 0; + base.Read(reader, ref rowData.IsOpen, CVSReader.boolParse); + this.columnno = 1; + base.Read(reader, ref rowData.TabName, CVSReader.stringParse); + this.columnno = 2; + base.Read(reader, ref rowData.Icon, CVSReader.stringParse); + this.columnno = 3; + base.Read(reader, ref rowData.NumLabel, CVSReader.stringParse); + this.columnno = 4; + base.Read(reader, ref rowData.RButtonLabel, CVSReader.stringParse); + this.columnno = 5; + base.Read(reader, ref rowData.LButtonLabel, CVSReader.stringParse); + this.columnno = 6; + base.Read(reader, ref rowData.NumLimit, CVSReader.intParse); + this.columnno = 7; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new FriendSysConfigTable.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/FriendSysConfigTable.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/FriendSysConfigTable.cs.meta new file mode 100644 index 00000000..f7ad7a35 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/FriendSysConfigTable.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 0d30468b636290d4a8f76345cefc30ba +timeCreated: 1611465289 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/FriendTable.cs b/Client/Assets/Scripts/XUtliPoolLib/FriendTable.cs new file mode 100644 index 00000000..de670b99 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/FriendTable.cs @@ -0,0 +1,71 @@ +using System; + +namespace XUtliPoolLib +{ + public class FriendTable : CVSReader + { + public FriendTable.RowData[] Table = null; + + public class RowData + { + public uint level; + + public string teamname; + + public SeqRef buf; + + public uint dropid; + } + + public FriendTable.RowData GetBylevel(uint key) + { + bool flag = this.Table == null || this.Table.Length == 0; + FriendTable.RowData result; + if (flag) + { + result = null; + } + else + { + for (int i = 0; i < this.Table.Length; i++) + { + bool flag2 = this.Table[i].level == key; + if (flag2) + { + return this.Table[i]; + } + } + result = null; + } + return result; + } + + protected override void ReadLine(XBinaryReader reader) + { + FriendTable.RowData rowData = new FriendTable.RowData(); + base.Read(reader, ref rowData.level, CVSReader.uintParse); + this.columnno = 0; + base.Read(reader, ref rowData.teamname, CVSReader.stringParse); + this.columnno = 2; + rowData.buf.Read(reader, this.m_DataHandler); + this.columnno = 6; + base.Read(reader, ref rowData.dropid, CVSReader.uintParse); + this.columnno = 7; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new FriendTable.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/FriendTable.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/FriendTable.cs.meta new file mode 100644 index 00000000..20e24a44 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/FriendTable.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 6e18f981d2153b8418cb38ba2b6d389f +timeCreated: 1611465686 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/FxLoadCallback.cs b/Client/Assets/Scripts/XUtliPoolLib/FxLoadCallback.cs new file mode 100644 index 00000000..eb0b9cfb --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/FxLoadCallback.cs @@ -0,0 +1,6 @@ +using System; + +namespace XUtliPoolLib +{ + public delegate void FxLoadCallback(XFx fx); +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/FxLoadCallback.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/FxLoadCallback.cs.meta new file mode 100644 index 00000000..7131f8eb --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/FxLoadCallback.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 0ffa12c9d7990ff459459302924a1a6f +timeCreated: 1611465290 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/GameCommunityTable.cs b/Client/Assets/Scripts/XUtliPoolLib/GameCommunityTable.cs new file mode 100644 index 00000000..2cc486d1 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/GameCommunityTable.cs @@ -0,0 +1,60 @@ +using System; + +namespace XUtliPoolLib +{ + public class GameCommunityTable : CVSReader + { + public GameCommunityTable.RowData[] Table = null; + + public class RowData + { + public int ID; + + public string ButtonName; + + public bool QQ; + + public bool WX; + + public int OpenLevel; + + public int SysID; + + public bool YK; + } + + protected override void ReadLine(XBinaryReader reader) + { + GameCommunityTable.RowData rowData = new GameCommunityTable.RowData(); + base.Read(reader, ref rowData.ID, CVSReader.intParse); + this.columnno = 0; + base.Read(reader, ref rowData.ButtonName, CVSReader.stringParse); + this.columnno = 1; + base.Read(reader, ref rowData.QQ, CVSReader.boolParse); + this.columnno = 2; + base.Read(reader, ref rowData.WX, CVSReader.boolParse); + this.columnno = 3; + base.Read(reader, ref rowData.OpenLevel, CVSReader.intParse); + this.columnno = 4; + base.Read(reader, ref rowData.SysID, CVSReader.intParse); + this.columnno = 5; + base.Read(reader, ref rowData.YK, CVSReader.boolParse); + this.columnno = 6; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new GameCommunityTable.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/GameCommunityTable.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/GameCommunityTable.cs.meta new file mode 100644 index 00000000..9eae82da --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/GameCommunityTable.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: e87b7f43d7264eb438bacba28be96d72 +timeCreated: 1611465803 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/GardenBanquetCfg.cs b/Client/Assets/Scripts/XUtliPoolLib/GardenBanquetCfg.cs new file mode 100644 index 00000000..234d0a0f --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/GardenBanquetCfg.cs @@ -0,0 +1,107 @@ +using System; + +namespace XUtliPoolLib +{ + public class GardenBanquetCfg : CVSReader + { + public GardenBanquetCfg.RowData[] Table = null; + + public class RowData + { + public uint BanquetID; + + public SeqListRef Stuffs; + + public SeqListRef BanquetAwards; + + public string BanquetName; + + public uint VoiceOver1Duration; + + public uint VoiceOver2Duration; + + public uint VoiceOver3Duration; + + public uint VoiceOver4Duration; + + public string VoiceOver1; + + public string VoiceOver2; + + public string VoiceOver3; + + public string VoiceOver4; + + public string Desc; + } + + public GardenBanquetCfg.RowData GetByBanquetID(uint key) + { + bool flag = this.Table == null || this.Table.Length == 0; + GardenBanquetCfg.RowData result; + if (flag) + { + result = null; + } + else + { + for (int i = 0; i < this.Table.Length; i++) + { + bool flag2 = this.Table[i].BanquetID == key; + if (flag2) + { + return this.Table[i]; + } + } + result = null; + } + return result; + } + + protected override void ReadLine(XBinaryReader reader) + { + GardenBanquetCfg.RowData rowData = new GardenBanquetCfg.RowData(); + base.Read(reader, ref rowData.BanquetID, CVSReader.uintParse); + this.columnno = 0; + rowData.Stuffs.Read(reader, this.m_DataHandler); + this.columnno = 1; + rowData.BanquetAwards.Read(reader, this.m_DataHandler); + this.columnno = 3; + base.Read(reader, ref rowData.BanquetName, CVSReader.stringParse); + this.columnno = 4; + base.Read(reader, ref rowData.VoiceOver1Duration, CVSReader.uintParse); + this.columnno = 5; + base.Read(reader, ref rowData.VoiceOver2Duration, CVSReader.uintParse); + this.columnno = 6; + base.Read(reader, ref rowData.VoiceOver3Duration, CVSReader.uintParse); + this.columnno = 7; + base.Read(reader, ref rowData.VoiceOver4Duration, CVSReader.uintParse); + this.columnno = 8; + base.Read(reader, ref rowData.VoiceOver1, CVSReader.stringParse); + this.columnno = 9; + base.Read(reader, ref rowData.VoiceOver2, CVSReader.stringParse); + this.columnno = 10; + base.Read(reader, ref rowData.VoiceOver3, CVSReader.stringParse); + this.columnno = 11; + base.Read(reader, ref rowData.VoiceOver4, CVSReader.stringParse); + this.columnno = 12; + base.Read(reader, ref rowData.Desc, CVSReader.stringParse); + this.columnno = 13; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new GardenBanquetCfg.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/GardenBanquetCfg.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/GardenBanquetCfg.cs.meta new file mode 100644 index 00000000..5b1732f9 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/GardenBanquetCfg.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 549ed641d5fc09344931e64766b766ea +timeCreated: 1611465645 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/GardenFishConfig.cs b/Client/Assets/Scripts/XUtliPoolLib/GardenFishConfig.cs new file mode 100644 index 00000000..f99be547 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/GardenFishConfig.cs @@ -0,0 +1,71 @@ +using System; + +namespace XUtliPoolLib +{ + public class GardenFishConfig : CVSReader + { + public GardenFishConfig.RowData[] Table = null; + + public class RowData + { + public uint FishLeve; + + public uint Experience; + + public SeqListRef FishWeight; + + public uint SuccessRate; + } + + public GardenFishConfig.RowData GetByFishLeve(uint key) + { + bool flag = this.Table == null || this.Table.Length == 0; + GardenFishConfig.RowData result; + if (flag) + { + result = null; + } + else + { + for (int i = 0; i < this.Table.Length; i++) + { + bool flag2 = this.Table[i].FishLeve == key; + if (flag2) + { + return this.Table[i]; + } + } + result = null; + } + return result; + } + + protected override void ReadLine(XBinaryReader reader) + { + GardenFishConfig.RowData rowData = new GardenFishConfig.RowData(); + base.Read(reader, ref rowData.FishLeve, CVSReader.uintParse); + this.columnno = 0; + base.Read(reader, ref rowData.Experience, CVSReader.uintParse); + this.columnno = 1; + rowData.FishWeight.Read(reader, this.m_DataHandler); + this.columnno = 2; + base.Read(reader, ref rowData.SuccessRate, CVSReader.uintParse); + this.columnno = 3; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new GardenFishConfig.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/GardenFishConfig.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/GardenFishConfig.cs.meta new file mode 100644 index 00000000..2ebb77a9 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/GardenFishConfig.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: f0301a5284e366a4bb5c4d16dbdfe361 +timeCreated: 1611465806 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/GlobalTable.cs b/Client/Assets/Scripts/XUtliPoolLib/GlobalTable.cs new file mode 100644 index 00000000..58d56090 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/GlobalTable.cs @@ -0,0 +1,34 @@ +using System; +using System.Collections.Generic; + +namespace XUtliPoolLib +{ + public class GlobalTable : CVSReader + { + public Dictionary Table = new Dictionary(); + + public class RowData + { + public string Name; + + public string Value; + } + + protected override void ReadLine(XBinaryReader reader) + { + uint key = 0u; + string value = ""; + base.Read(reader, ref key, CVSReader.uintParse); + this.columnno = 0; + base.Read(reader, ref value, CVSReader.stringParse); + this.columnno = 1; + this.Table[key] = value; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + this.Table.Clear(); + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/GlobalTable.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/GlobalTable.cs.meta new file mode 100644 index 00000000..ffe4f472 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/GlobalTable.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: a70ab3838ca980c49b4f96decc9d20fa +timeCreated: 1611465736 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/GoalAwards.cs b/Client/Assets/Scripts/XUtliPoolLib/GoalAwards.cs new file mode 100644 index 00000000..dab93696 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/GoalAwards.cs @@ -0,0 +1,76 @@ +using System; + +namespace XUtliPoolLib +{ + public class GoalAwards : CVSReader + { + public GoalAwards.RowData[] Table = null; + + public class RowData + { + public uint GoalAwardsID; + + public uint AwardsIndex; + + public uint GKID; + + public double AwardsValue; + + public SeqListRef Awards; + + public uint TitleID; + + public uint Type; + + public string Description; + + public string Explanation; + + public uint ShowLevel; + + public uint ShowType; + } + + protected override void ReadLine(XBinaryReader reader) + { + GoalAwards.RowData rowData = new GoalAwards.RowData(); + base.Read(reader, ref rowData.GoalAwardsID, CVSReader.uintParse); + this.columnno = 0; + base.Read(reader, ref rowData.AwardsIndex, CVSReader.uintParse); + this.columnno = 1; + base.Read(reader, ref rowData.GKID, CVSReader.uintParse); + this.columnno = 2; + base.Read(reader, ref rowData.AwardsValue, CVSReader.doubleParse); + this.columnno = 3; + rowData.Awards.Read(reader, this.m_DataHandler); + this.columnno = 4; + base.Read(reader, ref rowData.TitleID, CVSReader.uintParse); + this.columnno = 5; + base.Read(reader, ref rowData.Type, CVSReader.uintParse); + this.columnno = 6; + base.Read(reader, ref rowData.Description, CVSReader.stringParse); + this.columnno = 7; + base.Read(reader, ref rowData.Explanation, CVSReader.stringParse); + this.columnno = 8; + base.Read(reader, ref rowData.ShowLevel, CVSReader.uintParse); + this.columnno = 9; + base.Read(reader, ref rowData.ShowType, CVSReader.uintParse); + this.columnno = 10; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new GoalAwards.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/GoalAwards.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/GoalAwards.cs.meta new file mode 100644 index 00000000..dcce44a1 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/GoalAwards.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 3e804289b4cd5144e83df9744abe3cc5 +timeCreated: 1611465633 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/GroupStageType.cs b/Client/Assets/Scripts/XUtliPoolLib/GroupStageType.cs new file mode 100644 index 00000000..ea137bf9 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/GroupStageType.cs @@ -0,0 +1,71 @@ +using System; + +namespace XUtliPoolLib +{ + public class GroupStageType : CVSReader + { + public GroupStageType.RowData[] Table = null; + + public class RowData + { + public uint StageID; + + public string StageName; + + public uint StagePerent; + + public int Stage2Expedition; + } + + public GroupStageType.RowData GetByStageID(uint key) + { + bool flag = this.Table == null || this.Table.Length == 0; + GroupStageType.RowData result; + if (flag) + { + result = null; + } + else + { + for (int i = 0; i < this.Table.Length; i++) + { + bool flag2 = this.Table[i].StageID == key; + if (flag2) + { + return this.Table[i]; + } + } + result = null; + } + return result; + } + + protected override void ReadLine(XBinaryReader reader) + { + GroupStageType.RowData rowData = new GroupStageType.RowData(); + base.Read(reader, ref rowData.StageID, CVSReader.uintParse); + this.columnno = 0; + base.Read(reader, ref rowData.StageName, CVSReader.stringParse); + this.columnno = 1; + base.Read(reader, ref rowData.StagePerent, CVSReader.uintParse); + this.columnno = 2; + base.Read(reader, ref rowData.Stage2Expedition, CVSReader.intParse); + this.columnno = 3; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new GroupStageType.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/GroupStageType.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/GroupStageType.cs.meta new file mode 100644 index 00000000..e3391050 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/GroupStageType.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: aa6b3604b518ce3439495cd620f3ebe7 +timeCreated: 1611465740 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/GuildAuctReward.cs b/Client/Assets/Scripts/XUtliPoolLib/GuildAuctReward.cs new file mode 100644 index 00000000..d9f5cf38 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/GuildAuctReward.cs @@ -0,0 +1,117 @@ +using System; + +namespace XUtliPoolLib +{ + public class GuildAuctReward : CVSReader + { + public GuildAuctReward.RowData[] Table = null; + + public class RowData + { + public short ID; + + public byte ActType; + + public uint[] RewardShow; + } + + public GuildAuctReward.RowData GetByID(short key) + { + bool flag = this.Table == null || this.Table.Length == 0; + GuildAuctReward.RowData result; + if (flag) + { + result = null; + } + else + { + result = this.BinarySearchID(key); + } + return result; + } + + private GuildAuctReward.RowData BinarySearchID(short key) + { + int num = 0; + int num2 = this.Table.Length - 1; + GuildAuctReward.RowData rowData; + GuildAuctReward.RowData rowData2; + GuildAuctReward.RowData rowData3; + for (;;) + { + rowData = this.Table[num]; + bool flag = rowData.ID == key; + if (flag) + { + break; + } + rowData2 = this.Table[num2]; + bool flag2 = rowData2.ID == key; + if (flag2) + { + goto Block_2; + } + bool flag3 = num2 - num <= 1; + if (flag3) + { + goto Block_3; + } + int num3 = num + (num2 - num) / 2; + rowData3 = this.Table[num3]; + bool flag4 = rowData3.ID.CompareTo(key) > 0; + if (flag4) + { + num2 = num3; + } + else + { + bool flag5 = rowData3.ID.CompareTo(key) < 0; + if (!flag5) + { + goto IL_B1; + } + num = num3; + } + if (num >= num2) + { + goto Block_6; + } + } + return rowData; + Block_2: + return rowData2; + Block_3: + return null; + IL_B1: + return rowData3; + Block_6: + return null; + } + + protected override void ReadLine(XBinaryReader reader) + { + GuildAuctReward.RowData rowData = new GuildAuctReward.RowData(); + base.Read(reader, ref rowData.ID, CVSReader.shortParse); + this.columnno = 0; + base.Read(reader, ref rowData.ActType, CVSReader.byteParse); + this.columnno = 2; + base.ReadArray(reader, ref rowData.RewardShow, CVSReader.uintParse); + this.columnno = 7; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new GuildAuctReward.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/GuildAuctReward.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/GuildAuctReward.cs.meta new file mode 100644 index 00000000..de448b20 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/GuildAuctReward.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: cd56abbdacc305749b0e317dbd42ce1e +timeCreated: 1611465759 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/GuildBonusTable.cs b/Client/Assets/Scripts/XUtliPoolLib/GuildBonusTable.cs new file mode 100644 index 00000000..80b698dd --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/GuildBonusTable.cs @@ -0,0 +1,71 @@ +using System; + +namespace XUtliPoolLib +{ + public class GuildBonusTable : CVSReader + { + public GuildBonusTable.RowData[] Table = null; + + public class RowData + { + public uint GuildBonusID; + + public string GuildBonusName; + + public string GuildBonusDesc; + + public SeqRef GuildBonusReward; + } + + public GuildBonusTable.RowData GetByGuildBonusID(uint key) + { + bool flag = this.Table == null || this.Table.Length == 0; + GuildBonusTable.RowData result; + if (flag) + { + result = null; + } + else + { + for (int i = 0; i < this.Table.Length; i++) + { + bool flag2 = this.Table[i].GuildBonusID == key; + if (flag2) + { + return this.Table[i]; + } + } + result = null; + } + return result; + } + + protected override void ReadLine(XBinaryReader reader) + { + GuildBonusTable.RowData rowData = new GuildBonusTable.RowData(); + base.Read(reader, ref rowData.GuildBonusID, CVSReader.uintParse); + this.columnno = 0; + base.Read(reader, ref rowData.GuildBonusName, CVSReader.stringParse); + this.columnno = 2; + base.Read(reader, ref rowData.GuildBonusDesc, CVSReader.stringParse); + this.columnno = 3; + rowData.GuildBonusReward.Read(reader, this.m_DataHandler); + this.columnno = 7; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new GuildBonusTable.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/GuildBonusTable.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/GuildBonusTable.cs.meta new file mode 100644 index 00000000..fd0693a2 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/GuildBonusTable.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 2f0490b2fdc31594eb463e648b768a85 +timeCreated: 1611465306 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/GuildBossConfigTable.cs b/Client/Assets/Scripts/XUtliPoolLib/GuildBossConfigTable.cs new file mode 100644 index 00000000..70b3d618 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/GuildBossConfigTable.cs @@ -0,0 +1,137 @@ +using System; + +namespace XUtliPoolLib +{ + public class GuildBossConfigTable : CVSReader + { + public GuildBossConfigTable.RowData[] Table = null; + + public class RowData + { + public uint BossID; + + public uint EnemyID; + + public float LifePercent; + + public string BossName; + + public SeqListRef FirsttKillReward; + + public SeqListRef JoinReward; + + public SeqListRef KillReward; + + public string WinCutScene; + } + + public GuildBossConfigTable.RowData GetByBossID(uint key) + { + bool flag = this.Table == null || this.Table.Length == 0; + GuildBossConfigTable.RowData result; + if (flag) + { + result = null; + } + else + { + result = this.BinarySearchBossID(key); + } + return result; + } + + private GuildBossConfigTable.RowData BinarySearchBossID(uint key) + { + int num = 0; + int num2 = this.Table.Length - 1; + GuildBossConfigTable.RowData rowData; + GuildBossConfigTable.RowData rowData2; + GuildBossConfigTable.RowData rowData3; + for (;;) + { + rowData = this.Table[num]; + bool flag = rowData.BossID == key; + if (flag) + { + break; + } + rowData2 = this.Table[num2]; + bool flag2 = rowData2.BossID == key; + if (flag2) + { + goto Block_2; + } + bool flag3 = num2 - num <= 1; + if (flag3) + { + goto Block_3; + } + int num3 = num + (num2 - num) / 2; + rowData3 = this.Table[num3]; + bool flag4 = rowData3.BossID.CompareTo(key) > 0; + if (flag4) + { + num2 = num3; + } + else + { + bool flag5 = rowData3.BossID.CompareTo(key) < 0; + if (!flag5) + { + goto IL_B1; + } + num = num3; + } + if (num >= num2) + { + goto Block_6; + } + } + return rowData; + Block_2: + return rowData2; + Block_3: + return null; + IL_B1: + return rowData3; + Block_6: + return null; + } + + protected override void ReadLine(XBinaryReader reader) + { + GuildBossConfigTable.RowData rowData = new GuildBossConfigTable.RowData(); + base.Read(reader, ref rowData.BossID, CVSReader.uintParse); + this.columnno = 0; + base.Read(reader, ref rowData.EnemyID, CVSReader.uintParse); + this.columnno = 2; + base.Read(reader, ref rowData.LifePercent, CVSReader.floatParse); + this.columnno = 4; + base.Read(reader, ref rowData.BossName, CVSReader.stringParse); + this.columnno = 5; + rowData.FirsttKillReward.Read(reader, this.m_DataHandler); + this.columnno = 6; + rowData.JoinReward.Read(reader, this.m_DataHandler); + this.columnno = 8; + rowData.KillReward.Read(reader, this.m_DataHandler); + this.columnno = 9; + base.Read(reader, ref rowData.WinCutScene, CVSReader.stringParse); + this.columnno = 10; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new GuildBossConfigTable.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/GuildBossConfigTable.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/GuildBossConfigTable.cs.meta new file mode 100644 index 00000000..05a69f89 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/GuildBossConfigTable.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: a9c0b618d958aad4d92e463948ba3263 +timeCreated: 1611465739 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/GuildBossRewardTable.cs b/Client/Assets/Scripts/XUtliPoolLib/GuildBossRewardTable.cs new file mode 100644 index 00000000..b65d1fbd --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/GuildBossRewardTable.cs @@ -0,0 +1,113 @@ +using System; + +namespace XUtliPoolLib +{ + public class GuildBossRewardTable : CVSReader + { + public GuildBossRewardTable.RowData[] Table = null; + + public class RowData + { + public uint rank; + + public SeqListRef guildexp; + } + + public GuildBossRewardTable.RowData GetByrank(uint key) + { + bool flag = this.Table == null || this.Table.Length == 0; + GuildBossRewardTable.RowData result; + if (flag) + { + result = null; + } + else + { + result = this.BinarySearchrank(key); + } + return result; + } + + private GuildBossRewardTable.RowData BinarySearchrank(uint key) + { + int num = 0; + int num2 = this.Table.Length - 1; + GuildBossRewardTable.RowData rowData; + GuildBossRewardTable.RowData rowData2; + GuildBossRewardTable.RowData rowData3; + for (;;) + { + rowData = this.Table[num]; + bool flag = rowData.rank == key; + if (flag) + { + break; + } + rowData2 = this.Table[num2]; + bool flag2 = rowData2.rank == key; + if (flag2) + { + goto Block_2; + } + bool flag3 = num2 - num <= 1; + if (flag3) + { + goto Block_3; + } + int num3 = num + (num2 - num) / 2; + rowData3 = this.Table[num3]; + bool flag4 = rowData3.rank.CompareTo(key) > 0; + if (flag4) + { + num2 = num3; + } + else + { + bool flag5 = rowData3.rank.CompareTo(key) < 0; + if (!flag5) + { + goto IL_B1; + } + num = num3; + } + if (num >= num2) + { + goto Block_6; + } + } + return rowData; + Block_2: + return rowData2; + Block_3: + return null; + IL_B1: + return rowData3; + Block_6: + return null; + } + + protected override void ReadLine(XBinaryReader reader) + { + GuildBossRewardTable.RowData rowData = new GuildBossRewardTable.RowData(); + base.Read(reader, ref rowData.rank, CVSReader.uintParse); + this.columnno = 0; + rowData.guildexp.Read(reader, this.m_DataHandler); + this.columnno = 4; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new GuildBossRewardTable.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/GuildBossRewardTable.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/GuildBossRewardTable.cs.meta new file mode 100644 index 00000000..696c813a --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/GuildBossRewardTable.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 7e49014750dbf2a47b2b4f6916191872 +timeCreated: 1611465693 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/GuildBossRoleRewardTable.cs b/Client/Assets/Scripts/XUtliPoolLib/GuildBossRoleRewardTable.cs new file mode 100644 index 00000000..baecfda3 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/GuildBossRoleRewardTable.cs @@ -0,0 +1,40 @@ +using System; + +namespace XUtliPoolLib +{ + public class GuildBossRoleRewardTable : CVSReader + { + public GuildBossRoleRewardTable.RowData[] Table = null; + + public class RowData + { + public uint BossID; + + public SeqListRef prestige; + } + + protected override void ReadLine(XBinaryReader reader) + { + GuildBossRoleRewardTable.RowData rowData = new GuildBossRoleRewardTable.RowData(); + base.Read(reader, ref rowData.BossID, CVSReader.uintParse); + this.columnno = 0; + rowData.prestige.Read(reader, this.m_DataHandler); + this.columnno = 3; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new GuildBossRoleRewardTable.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/GuildBossRoleRewardTable.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/GuildBossRoleRewardTable.cs.meta new file mode 100644 index 00000000..b6d6483e --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/GuildBossRoleRewardTable.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 9d8d7bf5e5159694f839a120391d9fa9 +timeCreated: 1611465711 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/GuildBuffTable.cs b/Client/Assets/Scripts/XUtliPoolLib/GuildBuffTable.cs new file mode 100644 index 00000000..27998fbb --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/GuildBuffTable.cs @@ -0,0 +1,40 @@ +using System; + +namespace XUtliPoolLib +{ + public class GuildBuffTable : CVSReader + { + public GuildBuffTable.RowData[] Table = null; + + public class RowData + { + public uint id; + + public uint itemid; + } + + protected override void ReadLine(XBinaryReader reader) + { + GuildBuffTable.RowData rowData = new GuildBuffTable.RowData(); + base.Read(reader, ref rowData.id, CVSReader.uintParse); + this.columnno = 0; + base.Read(reader, ref rowData.itemid, CVSReader.uintParse); + this.columnno = 6; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new GuildBuffTable.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/GuildBuffTable.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/GuildBuffTable.cs.meta new file mode 100644 index 00000000..a64af0a3 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/GuildBuffTable.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: d55651dac607d6e4ebfe0c2115773eab +timeCreated: 1611465763 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/GuildCamp.cs b/Client/Assets/Scripts/XUtliPoolLib/GuildCamp.cs new file mode 100644 index 00000000..dd3155bc --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/GuildCamp.cs @@ -0,0 +1,56 @@ +using System; + +namespace XUtliPoolLib +{ + public class GuildCamp : CVSReader + { + public GuildCamp.RowData[] Table = null; + + public class RowData + { + public int ID; + + public string Name; + + public string Description; + + public string Condition; + + public int Type; + + public string RankDes; + } + + protected override void ReadLine(XBinaryReader reader) + { + GuildCamp.RowData rowData = new GuildCamp.RowData(); + base.Read(reader, ref rowData.ID, CVSReader.intParse); + this.columnno = 0; + base.Read(reader, ref rowData.Name, CVSReader.stringParse); + this.columnno = 1; + base.Read(reader, ref rowData.Description, CVSReader.stringParse); + this.columnno = 3; + base.Read(reader, ref rowData.Condition, CVSReader.stringParse); + this.columnno = 4; + base.Read(reader, ref rowData.Type, CVSReader.intParse); + this.columnno = 5; + base.Read(reader, ref rowData.RankDes, CVSReader.stringParse); + this.columnno = 6; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new GuildCamp.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/GuildCamp.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/GuildCamp.cs.meta new file mode 100644 index 00000000..3da97090 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/GuildCamp.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: aa28a7df27f12ca459cb8a1af1501e9b +timeCreated: 1611465740 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/GuildCampPartyReward.cs b/Client/Assets/Scripts/XUtliPoolLib/GuildCampPartyReward.cs new file mode 100644 index 00000000..e04e489a --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/GuildCampPartyReward.cs @@ -0,0 +1,44 @@ +using System; + +namespace XUtliPoolLib +{ + public class GuildCampPartyReward : CVSReader + { + public GuildCampPartyReward.RowData[] Table = null; + + public class RowData + { + public uint ID; + + public SeqListRef Items; + + public SeqListRef Reward; + } + + protected override void ReadLine(XBinaryReader reader) + { + GuildCampPartyReward.RowData rowData = new GuildCampPartyReward.RowData(); + base.Read(reader, ref rowData.ID, CVSReader.uintParse); + this.columnno = 0; + rowData.Items.Read(reader, this.m_DataHandler); + this.columnno = 1; + rowData.Reward.Read(reader, this.m_DataHandler); + this.columnno = 2; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new GuildCampPartyReward.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/GuildCampPartyReward.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/GuildCampPartyReward.cs.meta new file mode 100644 index 00000000..a5880bf6 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/GuildCampPartyReward.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 2d39b709a7cf88646bc61fc9bfdb088b +timeCreated: 1611465305 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/GuildCampRank.cs b/Client/Assets/Scripts/XUtliPoolLib/GuildCampRank.cs new file mode 100644 index 00000000..13f1f9a8 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/GuildCampRank.cs @@ -0,0 +1,44 @@ +using System; + +namespace XUtliPoolLib +{ + public class GuildCampRank : CVSReader + { + public GuildCampRank.RowData[] Table = null; + + public class RowData + { + public int ID; + + public int Rank; + + public SeqListRef Reward; + } + + protected override void ReadLine(XBinaryReader reader) + { + GuildCampRank.RowData rowData = new GuildCampRank.RowData(); + base.Read(reader, ref rowData.ID, CVSReader.intParse); + this.columnno = 0; + base.Read(reader, ref rowData.Rank, CVSReader.intParse); + this.columnno = 1; + rowData.Reward.Read(reader, this.m_DataHandler); + this.columnno = 2; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new GuildCampRank.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/GuildCampRank.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/GuildCampRank.cs.meta new file mode 100644 index 00000000..dd6df4f3 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/GuildCampRank.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 680e01bdda65ea64a8eeaaf4e01872c5 +timeCreated: 1611465683 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/GuildCheckinBoxTable.cs b/Client/Assets/Scripts/XUtliPoolLib/GuildCheckinBoxTable.cs new file mode 100644 index 00000000..75579b66 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/GuildCheckinBoxTable.cs @@ -0,0 +1,63 @@ +using System; + +namespace XUtliPoolLib +{ + public class GuildCheckinBoxTable : CVSReader + { + public GuildCheckinBoxTable.RowData[] Table = null; + + public class RowData + { + public uint process; + + public SeqListRef viewabledrop; + } + + public GuildCheckinBoxTable.RowData GetByprocess(uint key) + { + bool flag = this.Table == null || this.Table.Length == 0; + GuildCheckinBoxTable.RowData result; + if (flag) + { + result = null; + } + else + { + for (int i = 0; i < this.Table.Length; i++) + { + bool flag2 = this.Table[i].process == key; + if (flag2) + { + return this.Table[i]; + } + } + result = null; + } + return result; + } + + protected override void ReadLine(XBinaryReader reader) + { + GuildCheckinBoxTable.RowData rowData = new GuildCheckinBoxTable.RowData(); + base.Read(reader, ref rowData.process, CVSReader.uintParse); + this.columnno = 0; + rowData.viewabledrop.Read(reader, this.m_DataHandler); + this.columnno = 2; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new GuildCheckinBoxTable.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/GuildCheckinBoxTable.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/GuildCheckinBoxTable.cs.meta new file mode 100644 index 00000000..7dcf07f6 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/GuildCheckinBoxTable.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 5868af70a1a3eee43a03634d373ecc60 +timeCreated: 1611465646 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/GuildCheckinTable.cs b/Client/Assets/Scripts/XUtliPoolLib/GuildCheckinTable.cs new file mode 100644 index 00000000..da6f0d50 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/GuildCheckinTable.cs @@ -0,0 +1,71 @@ +using System; + +namespace XUtliPoolLib +{ + public class GuildCheckinTable : CVSReader + { + public GuildCheckinTable.RowData[] Table = null; + + public class RowData + { + public uint type; + + public SeqRef consume; + + public SeqRef reward; + + public uint process; + } + + public GuildCheckinTable.RowData GetBytype(uint key) + { + bool flag = this.Table == null || this.Table.Length == 0; + GuildCheckinTable.RowData result; + if (flag) + { + result = null; + } + else + { + for (int i = 0; i < this.Table.Length; i++) + { + bool flag2 = this.Table[i].type == key; + if (flag2) + { + return this.Table[i]; + } + } + result = null; + } + return result; + } + + protected override void ReadLine(XBinaryReader reader) + { + GuildCheckinTable.RowData rowData = new GuildCheckinTable.RowData(); + base.Read(reader, ref rowData.type, CVSReader.uintParse); + this.columnno = 0; + rowData.consume.Read(reader, this.m_DataHandler); + this.columnno = 1; + rowData.reward.Read(reader, this.m_DataHandler); + this.columnno = 2; + base.Read(reader, ref rowData.process, CVSReader.uintParse); + this.columnno = 3; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new GuildCheckinTable.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/GuildCheckinTable.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/GuildCheckinTable.cs.meta new file mode 100644 index 00000000..178beb11 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/GuildCheckinTable.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 53827afb0ecbabf47a4642fcb032040a +timeCreated: 1611465644 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/GuildConfigTable.cs b/Client/Assets/Scripts/XUtliPoolLib/GuildConfigTable.cs new file mode 100644 index 00000000..3eac2e83 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/GuildConfigTable.cs @@ -0,0 +1,147 @@ +using System; + +namespace XUtliPoolLib +{ + public class GuildConfigTable : CVSReader + { + public GuildConfigTable.RowData[] Table = null; + + public class RowData + { + public int GuildLevel; + + public uint GuildExpNeed; + + public int PokerTimes; + + public int GuildSign; + + public int GuildWelfare; + + public int GuildStore; + + public int GuildSkill; + + public uint GuildDragon; + + public int GuildActivity; + + public uint StudySkillTimes; + + public int GuildArena; + + public int GuildChallenge; + + public int GuildJokerMatch; + + public int GuildSalay; + + public int GuildMine; + + public int GuildTerritory; + + public uint JZSchoolRoleMax; + + public uint JZSchoolTotalMax; + + public uint JZHallRoleMax; + + public uint JZHallTotalmax; + + public uint JZSalaryOpen; + + public uint JZSaleOpen; + + public int CrossGVG; + } + + public GuildConfigTable.RowData GetByGuildLevel(int key) + { + bool flag = this.Table == null || this.Table.Length == 0; + GuildConfigTable.RowData result; + if (flag) + { + result = null; + } + else + { + for (int i = 0; i < this.Table.Length; i++) + { + bool flag2 = this.Table[i].GuildLevel == key; + if (flag2) + { + return this.Table[i]; + } + } + result = null; + } + return result; + } + + protected override void ReadLine(XBinaryReader reader) + { + GuildConfigTable.RowData rowData = new GuildConfigTable.RowData(); + base.Read(reader, ref rowData.GuildLevel, CVSReader.intParse); + this.columnno = 0; + base.Read(reader, ref rowData.GuildExpNeed, CVSReader.uintParse); + this.columnno = 1; + base.Read(reader, ref rowData.PokerTimes, CVSReader.intParse); + this.columnno = 3; + base.Read(reader, ref rowData.GuildSign, CVSReader.intParse); + this.columnno = 5; + base.Read(reader, ref rowData.GuildWelfare, CVSReader.intParse); + this.columnno = 6; + base.Read(reader, ref rowData.GuildStore, CVSReader.intParse); + this.columnno = 7; + base.Read(reader, ref rowData.GuildSkill, CVSReader.intParse); + this.columnno = 8; + base.Read(reader, ref rowData.GuildDragon, CVSReader.uintParse); + this.columnno = 13; + base.Read(reader, ref rowData.GuildActivity, CVSReader.intParse); + this.columnno = 15; + base.Read(reader, ref rowData.StudySkillTimes, CVSReader.uintParse); + this.columnno = 21; + base.Read(reader, ref rowData.GuildArena, CVSReader.intParse); + this.columnno = 23; + base.Read(reader, ref rowData.GuildChallenge, CVSReader.intParse); + this.columnno = 26; + base.Read(reader, ref rowData.GuildJokerMatch, CVSReader.intParse); + this.columnno = 27; + base.Read(reader, ref rowData.GuildSalay, CVSReader.intParse); + this.columnno = 28; + base.Read(reader, ref rowData.GuildMine, CVSReader.intParse); + this.columnno = 29; + base.Read(reader, ref rowData.GuildTerritory, CVSReader.intParse); + this.columnno = 30; + base.Read(reader, ref rowData.JZSchoolRoleMax, CVSReader.uintParse); + this.columnno = 31; + base.Read(reader, ref rowData.JZSchoolTotalMax, CVSReader.uintParse); + this.columnno = 32; + base.Read(reader, ref rowData.JZHallRoleMax, CVSReader.uintParse); + this.columnno = 33; + base.Read(reader, ref rowData.JZHallTotalmax, CVSReader.uintParse); + this.columnno = 34; + base.Read(reader, ref rowData.JZSalaryOpen, CVSReader.uintParse); + this.columnno = 35; + base.Read(reader, ref rowData.JZSaleOpen, CVSReader.uintParse); + this.columnno = 36; + base.Read(reader, ref rowData.CrossGVG, CVSReader.intParse); + this.columnno = 37; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new GuildConfigTable.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/GuildConfigTable.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/GuildConfigTable.cs.meta new file mode 100644 index 00000000..cfce9c4c --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/GuildConfigTable.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 06d1bf824bc9e2b4d9ae1d2b015b8598 +timeCreated: 1611465286 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/GuildHall.cs b/Client/Assets/Scripts/XUtliPoolLib/GuildHall.cs new file mode 100644 index 00000000..d2a3cd68 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/GuildHall.cs @@ -0,0 +1,72 @@ +using System; + +namespace XUtliPoolLib +{ + public class GuildHall : CVSReader + { + public GuildHall.RowData[] Table = null; + + public class RowData + { + public uint skillid; + + public string name; + + public uint level; + + public uint updateneed; + + public uint dailyneed; + + public uint glevel; + + public SeqRef buffid; + + public string icon; + + public string atlas; + + public string currentLevelDescription; + } + + protected override void ReadLine(XBinaryReader reader) + { + GuildHall.RowData rowData = new GuildHall.RowData(); + base.Read(reader, ref rowData.skillid, CVSReader.uintParse); + this.columnno = 0; + base.Read(reader, ref rowData.name, CVSReader.stringParse); + this.columnno = 1; + base.Read(reader, ref rowData.level, CVSReader.uintParse); + this.columnno = 2; + base.Read(reader, ref rowData.updateneed, CVSReader.uintParse); + this.columnno = 3; + base.Read(reader, ref rowData.dailyneed, CVSReader.uintParse); + this.columnno = 4; + base.Read(reader, ref rowData.glevel, CVSReader.uintParse); + this.columnno = 5; + rowData.buffid.Read(reader, this.m_DataHandler); + this.columnno = 6; + base.Read(reader, ref rowData.icon, CVSReader.stringParse); + this.columnno = 7; + base.Read(reader, ref rowData.atlas, CVSReader.stringParse); + this.columnno = 8; + base.Read(reader, ref rowData.currentLevelDescription, CVSReader.stringParse); + this.columnno = 9; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new GuildHall.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/GuildHall.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/GuildHall.cs.meta new file mode 100644 index 00000000..9ce3622a --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/GuildHall.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 31c13602821b7ab4ca3e99e8202a0dfa +timeCreated: 1611465309 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/GuildMineralBattle.cs b/Client/Assets/Scripts/XUtliPoolLib/GuildMineralBattle.cs new file mode 100644 index 00000000..43cb895e --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/GuildMineralBattle.cs @@ -0,0 +1,121 @@ +using System; + +namespace XUtliPoolLib +{ + public class GuildMineralBattle : CVSReader + { + public GuildMineralBattle.RowData[] Table = null; + + public class RowData + { + public uint ID; + + public uint Mineralcounts; + + public int DifficultLevel; + + public uint BossID; + } + + public GuildMineralBattle.RowData GetByID(uint key) + { + bool flag = this.Table == null || this.Table.Length == 0; + GuildMineralBattle.RowData result; + if (flag) + { + result = null; + } + else + { + result = this.BinarySearchID(key); + } + return result; + } + + private GuildMineralBattle.RowData BinarySearchID(uint key) + { + int num = 0; + int num2 = this.Table.Length - 1; + GuildMineralBattle.RowData rowData; + GuildMineralBattle.RowData rowData2; + GuildMineralBattle.RowData rowData3; + for (;;) + { + rowData = this.Table[num]; + bool flag = rowData.ID == key; + if (flag) + { + break; + } + rowData2 = this.Table[num2]; + bool flag2 = rowData2.ID == key; + if (flag2) + { + goto Block_2; + } + bool flag3 = num2 - num <= 1; + if (flag3) + { + goto Block_3; + } + int num3 = num + (num2 - num) / 2; + rowData3 = this.Table[num3]; + bool flag4 = rowData3.ID.CompareTo(key) > 0; + if (flag4) + { + num2 = num3; + } + else + { + bool flag5 = rowData3.ID.CompareTo(key) < 0; + if (!flag5) + { + goto IL_B1; + } + num = num3; + } + if (num >= num2) + { + goto Block_6; + } + } + return rowData; + Block_2: + return rowData2; + Block_3: + return null; + IL_B1: + return rowData3; + Block_6: + return null; + } + + protected override void ReadLine(XBinaryReader reader) + { + GuildMineralBattle.RowData rowData = new GuildMineralBattle.RowData(); + base.Read(reader, ref rowData.ID, CVSReader.uintParse); + this.columnno = 0; + base.Read(reader, ref rowData.Mineralcounts, CVSReader.uintParse); + this.columnno = 3; + base.Read(reader, ref rowData.DifficultLevel, CVSReader.intParse); + this.columnno = 4; + base.Read(reader, ref rowData.BossID, CVSReader.uintParse); + this.columnno = 5; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new GuildMineralBattle.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/GuildMineralBattle.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/GuildMineralBattle.cs.meta new file mode 100644 index 00000000..6c48dd05 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/GuildMineralBattle.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 6c6a56c0882ed8042845dea5300c3abc +timeCreated: 1611465684 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/GuildMineralBattleReward.cs b/Client/Assets/Scripts/XUtliPoolLib/GuildMineralBattleReward.cs new file mode 100644 index 00000000..ca1f05fd --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/GuildMineralBattleReward.cs @@ -0,0 +1,67 @@ +using System; + +namespace XUtliPoolLib +{ + public class GuildMineralBattleReward : CVSReader + { + public GuildMineralBattleReward.RowData[] Table = null; + + public class RowData + { + public uint Rank; + + public SeqListRef RewardShow; + + public uint LevelSeal; + } + + public GuildMineralBattleReward.RowData GetByRank(uint key) + { + bool flag = this.Table == null || this.Table.Length == 0; + GuildMineralBattleReward.RowData result; + if (flag) + { + result = null; + } + else + { + for (int i = 0; i < this.Table.Length; i++) + { + bool flag2 = this.Table[i].Rank == key; + if (flag2) + { + return this.Table[i]; + } + } + result = null; + } + return result; + } + + protected override void ReadLine(XBinaryReader reader) + { + GuildMineralBattleReward.RowData rowData = new GuildMineralBattleReward.RowData(); + base.Read(reader, ref rowData.Rank, CVSReader.uintParse); + this.columnno = 0; + rowData.RewardShow.Read(reader, this.m_DataHandler); + this.columnno = 6; + base.Read(reader, ref rowData.LevelSeal, CVSReader.uintParse); + this.columnno = 7; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new GuildMineralBattleReward.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/GuildMineralBattleReward.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/GuildMineralBattleReward.cs.meta new file mode 100644 index 00000000..4f85c102 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/GuildMineralBattleReward.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 2e1b4c1b60924a547b3e7bb35c5ed826 +timeCreated: 1611465305 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/GuildMineralBufflist.cs b/Client/Assets/Scripts/XUtliPoolLib/GuildMineralBufflist.cs new file mode 100644 index 00000000..0097bdd1 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/GuildMineralBufflist.cs @@ -0,0 +1,71 @@ +using System; + +namespace XUtliPoolLib +{ + public class GuildMineralBufflist : CVSReader + { + public GuildMineralBufflist.RowData[] Table = null; + + public class RowData + { + public uint BuffID; + + public string ratestring; + + public string icon; + + public uint Quality; + } + + public GuildMineralBufflist.RowData GetByBuffID(uint key) + { + bool flag = this.Table == null || this.Table.Length == 0; + GuildMineralBufflist.RowData result; + if (flag) + { + result = null; + } + else + { + for (int i = 0; i < this.Table.Length; i++) + { + bool flag2 = this.Table[i].BuffID == key; + if (flag2) + { + return this.Table[i]; + } + } + result = null; + } + return result; + } + + protected override void ReadLine(XBinaryReader reader) + { + GuildMineralBufflist.RowData rowData = new GuildMineralBufflist.RowData(); + base.Read(reader, ref rowData.BuffID, CVSReader.uintParse); + this.columnno = 0; + base.Read(reader, ref rowData.ratestring, CVSReader.stringParse); + this.columnno = 3; + base.Read(reader, ref rowData.icon, CVSReader.stringParse); + this.columnno = 5; + base.Read(reader, ref rowData.Quality, CVSReader.uintParse); + this.columnno = 6; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new GuildMineralBufflist.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/GuildMineralBufflist.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/GuildMineralBufflist.cs.meta new file mode 100644 index 00000000..6218c858 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/GuildMineralBufflist.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 315fb49862b07a9439bd8fcd5944d69c +timeCreated: 1611465308 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/GuildMineralStorage.cs b/Client/Assets/Scripts/XUtliPoolLib/GuildMineralStorage.cs new file mode 100644 index 00000000..3588493f --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/GuildMineralStorage.cs @@ -0,0 +1,56 @@ +using System; + +namespace XUtliPoolLib +{ + public class GuildMineralStorage : CVSReader + { + public GuildMineralStorage.RowData[] Table = null; + + public class RowData + { + public uint ID; + + public uint itemid; + + public string effect; + + public uint self; + + public string bufficon; + + public string buffdescribe; + } + + protected override void ReadLine(XBinaryReader reader) + { + GuildMineralStorage.RowData rowData = new GuildMineralStorage.RowData(); + base.Read(reader, ref rowData.ID, CVSReader.uintParse); + this.columnno = 0; + base.Read(reader, ref rowData.itemid, CVSReader.uintParse); + this.columnno = 1; + base.Read(reader, ref rowData.effect, CVSReader.stringParse); + this.columnno = 2; + base.Read(reader, ref rowData.self, CVSReader.uintParse); + this.columnno = 3; + base.Read(reader, ref rowData.bufficon, CVSReader.stringParse); + this.columnno = 4; + base.Read(reader, ref rowData.buffdescribe, CVSReader.stringParse); + this.columnno = 5; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new GuildMineralStorage.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/GuildMineralStorage.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/GuildMineralStorage.cs.meta new file mode 100644 index 00000000..74178e9e --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/GuildMineralStorage.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: bda198b1f3f53d8469c5d78f2676ffdc +timeCreated: 1611465750 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/GuildPermissionTable.cs b/Client/Assets/Scripts/XUtliPoolLib/GuildPermissionTable.cs new file mode 100644 index 00000000..431c2002 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/GuildPermissionTable.cs @@ -0,0 +1,56 @@ +using System; + +namespace XUtliPoolLib +{ + public class GuildPermissionTable : CVSReader + { + public GuildPermissionTable.RowData[] Table = null; + + public class RowData + { + public string GuildID; + + public int GPOS_LEADER; + + public int GPOS_VICELEADER; + + public int GPOS_OFFICER; + + public int GPOS_ELITEMEMBER; + + public int GPOS_MEMBER; + } + + protected override void ReadLine(XBinaryReader reader) + { + GuildPermissionTable.RowData rowData = new GuildPermissionTable.RowData(); + base.Read(reader, ref rowData.GuildID, CVSReader.stringParse); + this.columnno = 0; + base.Read(reader, ref rowData.GPOS_LEADER, CVSReader.intParse); + this.columnno = 1; + base.Read(reader, ref rowData.GPOS_VICELEADER, CVSReader.intParse); + this.columnno = 2; + base.Read(reader, ref rowData.GPOS_OFFICER, CVSReader.intParse); + this.columnno = 3; + base.Read(reader, ref rowData.GPOS_ELITEMEMBER, CVSReader.intParse); + this.columnno = 4; + base.Read(reader, ref rowData.GPOS_MEMBER, CVSReader.intParse); + this.columnno = 5; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new GuildPermissionTable.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/GuildPermissionTable.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/GuildPermissionTable.cs.meta new file mode 100644 index 00000000..63383236 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/GuildPermissionTable.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 2d423045a02b84e45a085b225113413b +timeCreated: 1611465305 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/GuildPkRankReward.cs b/Client/Assets/Scripts/XUtliPoolLib/GuildPkRankReward.cs new file mode 100644 index 00000000..329b85f1 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/GuildPkRankReward.cs @@ -0,0 +1,63 @@ +using System; + +namespace XUtliPoolLib +{ + public class GuildPkRankReward : CVSReader + { + public GuildPkRankReward.RowData[] Table = null; + + public class RowData + { + public uint rank; + + public SeqListRef reward; + } + + public GuildPkRankReward.RowData GetByrank(uint key) + { + bool flag = this.Table == null || this.Table.Length == 0; + GuildPkRankReward.RowData result; + if (flag) + { + result = null; + } + else + { + for (int i = 0; i < this.Table.Length; i++) + { + bool flag2 = this.Table[i].rank == key; + if (flag2) + { + return this.Table[i]; + } + } + result = null; + } + return result; + } + + protected override void ReadLine(XBinaryReader reader) + { + GuildPkRankReward.RowData rowData = new GuildPkRankReward.RowData(); + base.Read(reader, ref rowData.rank, CVSReader.uintParse); + this.columnno = 0; + rowData.reward.Read(reader, this.m_DataHandler); + this.columnno = 1; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new GuildPkRankReward.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/GuildPkRankReward.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/GuildPkRankReward.cs.meta new file mode 100644 index 00000000..eec209ed --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/GuildPkRankReward.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 00818c60b4daa0648aa2f35a9a28f0f5 +timeCreated: 1611465284 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/GuildRankRewardTable.cs b/Client/Assets/Scripts/XUtliPoolLib/GuildRankRewardTable.cs new file mode 100644 index 00000000..32a2d3ea --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/GuildRankRewardTable.cs @@ -0,0 +1,48 @@ +using System; + +namespace XUtliPoolLib +{ + public class GuildRankRewardTable : CVSReader + { + public GuildRankRewardTable.RowData[] Table = null; + + public class RowData + { + public SeqRef Rank; + + public SeqListRef LeaderReward; + + public SeqListRef OfficerRreward; + + public SeqListRef MemberReward; + } + + protected override void ReadLine(XBinaryReader reader) + { + GuildRankRewardTable.RowData rowData = new GuildRankRewardTable.RowData(); + rowData.Rank.Read(reader, this.m_DataHandler); + this.columnno = 0; + rowData.LeaderReward.Read(reader, this.m_DataHandler); + this.columnno = 1; + rowData.OfficerRreward.Read(reader, this.m_DataHandler); + this.columnno = 2; + rowData.MemberReward.Read(reader, this.m_DataHandler); + this.columnno = 3; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new GuildRankRewardTable.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/GuildRankRewardTable.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/GuildRankRewardTable.cs.meta new file mode 100644 index 00000000..83fb7852 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/GuildRankRewardTable.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 8e3be3b9fe41dba499279ed48fd3f05e +timeCreated: 1611465702 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/GuildRelaxGameList.cs b/Client/Assets/Scripts/XUtliPoolLib/GuildRelaxGameList.cs new file mode 100644 index 00000000..6ec75617 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/GuildRelaxGameList.cs @@ -0,0 +1,67 @@ +using System; + +namespace XUtliPoolLib +{ + public class GuildRelaxGameList : CVSReader + { + public GuildRelaxGameList.RowData[] Table = null; + + public class RowData + { + public string GameBg; + + public string GameName; + + public int ModuleID; + } + + public GuildRelaxGameList.RowData GetByModuleID(int key) + { + bool flag = this.Table == null || this.Table.Length == 0; + GuildRelaxGameList.RowData result; + if (flag) + { + result = null; + } + else + { + for (int i = 0; i < this.Table.Length; i++) + { + bool flag2 = this.Table[i].ModuleID == key; + if (flag2) + { + return this.Table[i]; + } + } + result = null; + } + return result; + } + + protected override void ReadLine(XBinaryReader reader) + { + GuildRelaxGameList.RowData rowData = new GuildRelaxGameList.RowData(); + base.Read(reader, ref rowData.GameBg, CVSReader.stringParse); + this.columnno = 0; + base.Read(reader, ref rowData.GameName, CVSReader.stringParse); + this.columnno = 2; + base.Read(reader, ref rowData.ModuleID, CVSReader.intParse); + this.columnno = 3; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new GuildRelaxGameList.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/GuildRelaxGameList.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/GuildRelaxGameList.cs.meta new file mode 100644 index 00000000..bee70a02 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/GuildRelaxGameList.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 1d45b8481cb427c4a9733d6ef8258e8f +timeCreated: 1611465298 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/GuildSalaryDesc.cs b/Client/Assets/Scripts/XUtliPoolLib/GuildSalaryDesc.cs new file mode 100644 index 00000000..876d403a --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/GuildSalaryDesc.cs @@ -0,0 +1,48 @@ +using System; + +namespace XUtliPoolLib +{ + public class GuildSalaryDesc : CVSReader + { + public GuildSalaryDesc.RowData[] Table = null; + + public class RowData + { + public int Type; + + public string Desc; + + public int Go; + + public string GoLabel; + } + + protected override void ReadLine(XBinaryReader reader) + { + GuildSalaryDesc.RowData rowData = new GuildSalaryDesc.RowData(); + base.Read(reader, ref rowData.Type, CVSReader.intParse); + this.columnno = 0; + base.Read(reader, ref rowData.Desc, CVSReader.stringParse); + this.columnno = 1; + base.Read(reader, ref rowData.Go, CVSReader.intParse); + this.columnno = 2; + base.Read(reader, ref rowData.GoLabel, CVSReader.stringParse); + this.columnno = 3; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new GuildSalaryDesc.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/GuildSalaryDesc.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/GuildSalaryDesc.cs.meta new file mode 100644 index 00000000..8e58507e --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/GuildSalaryDesc.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 13ce325890f76794aac7d12ea5c78ad6 +timeCreated: 1611465293 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/GuildSalaryTable.cs b/Client/Assets/Scripts/XUtliPoolLib/GuildSalaryTable.cs new file mode 100644 index 00000000..5234f1f6 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/GuildSalaryTable.cs @@ -0,0 +1,179 @@ +using System; + +namespace XUtliPoolLib +{ + public class GuildSalaryTable : CVSReader + { + public GuildSalaryTable.RowData[] Table = null; + + public class RowData + { + public uint GuildLevel; + + public uint[] GuildReview; + + public SeqListRef NumberTransformation; + + public SeqListRef PrestigeTransformation; + + public SeqListRef ActiveTransformation; + + public SeqListRef EXPTransformation; + + public SeqListRef SSalary1; + + public SeqListRef SSalary2; + + public SeqListRef SSalary3; + + public SeqListRef SSalary4; + + public SeqListRef SSalary5; + + public SeqListRef ASalary1; + + public SeqListRef ASalary2; + + public SeqListRef ASalary3; + + public SeqListRef ASalary4; + + public SeqListRef ASalary5; + + public SeqListRef BSalary1; + + public SeqListRef BSalary2; + + public SeqListRef BSalary3; + + public SeqListRef BSalary4; + + public SeqListRef BSalary5; + + public SeqListRef CSalary1; + + public SeqListRef CSalary2; + + public SeqListRef CSalary3; + + public SeqListRef CSalary4; + + public SeqListRef CSalary5; + + public SeqListRef DSalary1; + + public SeqListRef DSalary2; + + public SeqListRef DSalary3; + + public SeqListRef DSalary4; + + public SeqListRef DSalary5; + } + + public GuildSalaryTable.RowData GetByGuildLevel(uint key) + { + bool flag = this.Table == null || this.Table.Length == 0; + GuildSalaryTable.RowData result; + if (flag) + { + result = null; + } + else + { + for (int i = 0; i < this.Table.Length; i++) + { + bool flag2 = this.Table[i].GuildLevel == key; + if (flag2) + { + return this.Table[i]; + } + } + result = null; + } + return result; + } + + protected override void ReadLine(XBinaryReader reader) + { + GuildSalaryTable.RowData rowData = new GuildSalaryTable.RowData(); + base.Read(reader, ref rowData.GuildLevel, CVSReader.uintParse); + this.columnno = 0; + base.ReadArray(reader, ref rowData.GuildReview, CVSReader.uintParse); + this.columnno = 1; + rowData.NumberTransformation.Read(reader, this.m_DataHandler); + this.columnno = 3; + rowData.PrestigeTransformation.Read(reader, this.m_DataHandler); + this.columnno = 4; + rowData.ActiveTransformation.Read(reader, this.m_DataHandler); + this.columnno = 5; + rowData.EXPTransformation.Read(reader, this.m_DataHandler); + this.columnno = 6; + rowData.SSalary1.Read(reader, this.m_DataHandler); + this.columnno = 7; + rowData.SSalary2.Read(reader, this.m_DataHandler); + this.columnno = 8; + rowData.SSalary3.Read(reader, this.m_DataHandler); + this.columnno = 9; + rowData.SSalary4.Read(reader, this.m_DataHandler); + this.columnno = 10; + rowData.SSalary5.Read(reader, this.m_DataHandler); + this.columnno = 11; + rowData.ASalary1.Read(reader, this.m_DataHandler); + this.columnno = 12; + rowData.ASalary2.Read(reader, this.m_DataHandler); + this.columnno = 13; + rowData.ASalary3.Read(reader, this.m_DataHandler); + this.columnno = 14; + rowData.ASalary4.Read(reader, this.m_DataHandler); + this.columnno = 15; + rowData.ASalary5.Read(reader, this.m_DataHandler); + this.columnno = 16; + rowData.BSalary1.Read(reader, this.m_DataHandler); + this.columnno = 17; + rowData.BSalary2.Read(reader, this.m_DataHandler); + this.columnno = 18; + rowData.BSalary3.Read(reader, this.m_DataHandler); + this.columnno = 19; + rowData.BSalary4.Read(reader, this.m_DataHandler); + this.columnno = 20; + rowData.BSalary5.Read(reader, this.m_DataHandler); + this.columnno = 21; + rowData.CSalary1.Read(reader, this.m_DataHandler); + this.columnno = 22; + rowData.CSalary2.Read(reader, this.m_DataHandler); + this.columnno = 23; + rowData.CSalary3.Read(reader, this.m_DataHandler); + this.columnno = 24; + rowData.CSalary4.Read(reader, this.m_DataHandler); + this.columnno = 25; + rowData.CSalary5.Read(reader, this.m_DataHandler); + this.columnno = 26; + rowData.DSalary1.Read(reader, this.m_DataHandler); + this.columnno = 27; + rowData.DSalary2.Read(reader, this.m_DataHandler); + this.columnno = 28; + rowData.DSalary3.Read(reader, this.m_DataHandler); + this.columnno = 29; + rowData.DSalary4.Read(reader, this.m_DataHandler); + this.columnno = 30; + rowData.DSalary5.Read(reader, this.m_DataHandler); + this.columnno = 31; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new GuildSalaryTable.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/GuildSalaryTable.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/GuildSalaryTable.cs.meta new file mode 100644 index 00000000..ace03574 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/GuildSalaryTable.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: d4f39469c1041c146ac0e25faf08a7ab +timeCreated: 1611465763 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/GuildSkillTable.cs b/Client/Assets/Scripts/XUtliPoolLib/GuildSkillTable.cs new file mode 100644 index 00000000..533ee82d --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/GuildSkillTable.cs @@ -0,0 +1,84 @@ +using System; + +namespace XUtliPoolLib +{ + public class GuildSkillTable : CVSReader + { + public GuildSkillTable.RowData[] Table = null; + + public class RowData + { + public uint skillid; + + public string name; + + public uint level; + + public SeqListRef need; + + public uint rexp; + + public uint glevel; + + public SeqListRef attribute; + + public string icon; + + public string atlas; + + public string currentLevelDescription; + + public uint roleLevel; + + public uint[] profecssion; + + public uint needtype; + } + + protected override void ReadLine(XBinaryReader reader) + { + GuildSkillTable.RowData rowData = new GuildSkillTable.RowData(); + base.Read(reader, ref rowData.skillid, CVSReader.uintParse); + this.columnno = 0; + base.Read(reader, ref rowData.name, CVSReader.stringParse); + this.columnno = 1; + base.Read(reader, ref rowData.level, CVSReader.uintParse); + this.columnno = 2; + rowData.need.Read(reader, this.m_DataHandler); + this.columnno = 3; + base.Read(reader, ref rowData.rexp, CVSReader.uintParse); + this.columnno = 4; + base.Read(reader, ref rowData.glevel, CVSReader.uintParse); + this.columnno = 5; + rowData.attribute.Read(reader, this.m_DataHandler); + this.columnno = 6; + base.Read(reader, ref rowData.icon, CVSReader.stringParse); + this.columnno = 7; + base.Read(reader, ref rowData.atlas, CVSReader.stringParse); + this.columnno = 8; + base.Read(reader, ref rowData.currentLevelDescription, CVSReader.stringParse); + this.columnno = 9; + base.Read(reader, ref rowData.roleLevel, CVSReader.uintParse); + this.columnno = 10; + base.ReadArray(reader, ref rowData.profecssion, CVSReader.uintParse); + this.columnno = 11; + base.Read(reader, ref rowData.needtype, CVSReader.uintParse); + this.columnno = 12; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new GuildSkillTable.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/GuildSkillTable.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/GuildSkillTable.cs.meta new file mode 100644 index 00000000..9c2ad2a5 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/GuildSkillTable.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: c36ee82f0ddc5b44abb6d5ac787cc8f2 +timeCreated: 1611465754 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/GuildTransfer.cs b/Client/Assets/Scripts/XUtliPoolLib/GuildTransfer.cs new file mode 100644 index 00000000..67674d07 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/GuildTransfer.cs @@ -0,0 +1,71 @@ +using System; + +namespace XUtliPoolLib +{ + public class GuildTransfer : CVSReader + { + public GuildTransfer.RowData[] Table = null; + + public class RowData + { + public uint id; + + public string name; + + public uint sceneid; + + public string icon; + } + + public GuildTransfer.RowData GetByid(uint key) + { + bool flag = this.Table == null || this.Table.Length == 0; + GuildTransfer.RowData result; + if (flag) + { + result = null; + } + else + { + for (int i = 0; i < this.Table.Length; i++) + { + bool flag2 = this.Table[i].id == key; + if (flag2) + { + return this.Table[i]; + } + } + result = null; + } + return result; + } + + protected override void ReadLine(XBinaryReader reader) + { + GuildTransfer.RowData rowData = new GuildTransfer.RowData(); + base.Read(reader, ref rowData.id, CVSReader.uintParse); + this.columnno = 0; + base.Read(reader, ref rowData.name, CVSReader.stringParse); + this.columnno = 1; + base.Read(reader, ref rowData.sceneid, CVSReader.uintParse); + this.columnno = 3; + base.Read(reader, ref rowData.icon, CVSReader.stringParse); + this.columnno = 5; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new GuildTransfer.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/GuildTransfer.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/GuildTransfer.cs.meta new file mode 100644 index 00000000..f9484c0d --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/GuildTransfer.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: f545322a3821da24ba9dbeba5dbfb3c3 +timeCreated: 1611465809 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/GuildZiCai.cs b/Client/Assets/Scripts/XUtliPoolLib/GuildZiCai.cs new file mode 100644 index 00000000..20a6c00f --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/GuildZiCai.cs @@ -0,0 +1,56 @@ +using System; + +namespace XUtliPoolLib +{ + public class GuildZiCai : CVSReader + { + public GuildZiCai.RowData[] Table = null; + + public class RowData + { + public uint itemid; + + public SeqListRef rolerewards; + + public SeqListRef guildrewards; + + public string ShowTips; + + public uint senior; + + public SeqRef roleextrarewards; + } + + protected override void ReadLine(XBinaryReader reader) + { + GuildZiCai.RowData rowData = new GuildZiCai.RowData(); + base.Read(reader, ref rowData.itemid, CVSReader.uintParse); + this.columnno = 0; + rowData.rolerewards.Read(reader, this.m_DataHandler); + this.columnno = 1; + rowData.guildrewards.Read(reader, this.m_DataHandler); + this.columnno = 2; + base.Read(reader, ref rowData.ShowTips, CVSReader.stringParse); + this.columnno = 3; + base.Read(reader, ref rowData.senior, CVSReader.uintParse); + this.columnno = 4; + rowData.roleextrarewards.Read(reader, this.m_DataHandler); + this.columnno = 5; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new GuildZiCai.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/GuildZiCai.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/GuildZiCai.cs.meta new file mode 100644 index 00000000..762a75ba --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/GuildZiCai.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: aa74ba4bc18144641999f5e6dcb7b96a +timeCreated: 1611465740 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/Guildintroduce.cs b/Client/Assets/Scripts/XUtliPoolLib/Guildintroduce.cs new file mode 100644 index 00000000..f0f9f7f5 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/Guildintroduce.cs @@ -0,0 +1,67 @@ +using System; + +namespace XUtliPoolLib +{ + public class Guildintroduce : CVSReader + { + public Guildintroduce.RowData[] Table = null; + + public class RowData + { + public string HelpName; + + public string Title; + + public string Desc; + } + + public Guildintroduce.RowData GetByHelpName(string key) + { + bool flag = this.Table == null || this.Table.Length == 0; + Guildintroduce.RowData result; + if (flag) + { + result = null; + } + else + { + for (int i = 0; i < this.Table.Length; i++) + { + bool flag2 = this.Table[i].HelpName == key; + if (flag2) + { + return this.Table[i]; + } + } + result = null; + } + return result; + } + + protected override void ReadLine(XBinaryReader reader) + { + Guildintroduce.RowData rowData = new Guildintroduce.RowData(); + base.Read(reader, ref rowData.HelpName, CVSReader.stringParse); + this.columnno = 0; + base.Read(reader, ref rowData.Title, CVSReader.stringParse); + this.columnno = 2; + base.Read(reader, ref rowData.Desc, CVSReader.stringParse); + this.columnno = 3; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new Guildintroduce.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/Guildintroduce.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/Guildintroduce.cs.meta new file mode 100644 index 00000000..06eafa1b --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/Guildintroduce.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 3ac5ef7f511e94343b68ac90340dc379 +timeCreated: 1611465632 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/HairColorTable.cs b/Client/Assets/Scripts/XUtliPoolLib/HairColorTable.cs new file mode 100644 index 00000000..cc696c6e --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/HairColorTable.cs @@ -0,0 +1,71 @@ +using System; + +namespace XUtliPoolLib +{ + public class HairColorTable : CVSReader + { + public HairColorTable.RowData[] Table = null; + + public class RowData + { + public uint ID; + + public float[] Color; + + public string Name; + + public string Icon; + } + + public HairColorTable.RowData GetByID(uint key) + { + bool flag = this.Table == null || this.Table.Length == 0; + HairColorTable.RowData result; + if (flag) + { + result = null; + } + else + { + for (int i = 0; i < this.Table.Length; i++) + { + bool flag2 = this.Table[i].ID == key; + if (flag2) + { + return this.Table[i]; + } + } + result = null; + } + return result; + } + + protected override void ReadLine(XBinaryReader reader) + { + HairColorTable.RowData rowData = new HairColorTable.RowData(); + base.Read(reader, ref rowData.ID, CVSReader.uintParse); + this.columnno = 0; + base.ReadArray(reader, ref rowData.Color, CVSReader.floatParse); + this.columnno = 1; + base.Read(reader, ref rowData.Name, CVSReader.stringParse); + this.columnno = 2; + base.Read(reader, ref rowData.Icon, CVSReader.stringParse); + this.columnno = 3; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new HairColorTable.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/HairColorTable.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/HairColorTable.cs.meta new file mode 100644 index 00000000..919d5306 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/HairColorTable.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 2ada86c2ef3072d48bfb525057e69bd4 +timeCreated: 1611465303 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/HashPool.cs b/Client/Assets/Scripts/XUtliPoolLib/HashPool.cs new file mode 100644 index 00000000..2c9f5a1b --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/HashPool.cs @@ -0,0 +1,31 @@ +using System; +using System.Collections.Generic; + +namespace XUtliPoolLib +{ + public class HashPool + { + private static readonly ObjectPool> s_Pool = new ObjectPool>(new ObjectPool>.CreateObj(HashPool.Create), delegate(HashSet l) + { + l.Clear(); + }, delegate(HashSet l) + { + l.Clear(); + }); + + public static HashSet Create() + { + return new HashSet(); + } + + public static HashSet Get() + { + return HashPool.s_Pool.Get(); + } + + public static void Release(HashSet toRelease) + { + HashPool.s_Pool.Release(toRelease); + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/HashPool.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/HashPool.cs.meta new file mode 100644 index 00000000..cd3944a6 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/HashPool.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: c112f3e54923c5a458894b6be51e70f2 +timeCreated: 1611465753 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/HeroBattleExperienceHero.cs b/Client/Assets/Scripts/XUtliPoolLib/HeroBattleExperienceHero.cs new file mode 100644 index 00000000..7063fd5a --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/HeroBattleExperienceHero.cs @@ -0,0 +1,71 @@ +using System; + +namespace XUtliPoolLib +{ + public class HeroBattleExperienceHero : CVSReader + { + public HeroBattleExperienceHero.RowData[] Table = null; + + public class RowData + { + public uint ItemID; + + public uint HeroID; + + public uint LastTime; + + public string ShowTime; + } + + public HeroBattleExperienceHero.RowData GetByItemID(uint key) + { + bool flag = this.Table == null || this.Table.Length == 0; + HeroBattleExperienceHero.RowData result; + if (flag) + { + result = null; + } + else + { + for (int i = 0; i < this.Table.Length; i++) + { + bool flag2 = this.Table[i].ItemID == key; + if (flag2) + { + return this.Table[i]; + } + } + result = null; + } + return result; + } + + protected override void ReadLine(XBinaryReader reader) + { + HeroBattleExperienceHero.RowData rowData = new HeroBattleExperienceHero.RowData(); + base.Read(reader, ref rowData.ItemID, CVSReader.uintParse); + this.columnno = 0; + base.Read(reader, ref rowData.HeroID, CVSReader.uintParse); + this.columnno = 1; + base.Read(reader, ref rowData.LastTime, CVSReader.uintParse); + this.columnno = 2; + base.Read(reader, ref rowData.ShowTime, CVSReader.stringParse); + this.columnno = 4; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new HeroBattleExperienceHero.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/HeroBattleExperienceHero.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/HeroBattleExperienceHero.cs.meta new file mode 100644 index 00000000..d2f27dd2 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/HeroBattleExperienceHero.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 60bdb5096a305c545aa8260d614affa6 +timeCreated: 1611465651 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/HeroBattleMapCenter.cs b/Client/Assets/Scripts/XUtliPoolLib/HeroBattleMapCenter.cs new file mode 100644 index 00000000..9295b270 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/HeroBattleMapCenter.cs @@ -0,0 +1,99 @@ +using System; + +namespace XUtliPoolLib +{ + public class HeroBattleMapCenter : CVSReader + { + public HeroBattleMapCenter.RowData[] Table = null; + + public class RowData + { + public uint SceneID; + + public uint CenterType; + + public SeqRef Center; + + public float[] Param; + + public float ClientFxScalse; + + public string[] OccupantFx; + + public string[] MiniMapFx; + + public string[] OccSuccessFx; + + public string[] OccWinFx; + + public string MVPCutScene; + + public float[] MVPPos; + } + + public HeroBattleMapCenter.RowData GetBySceneID(uint key) + { + bool flag = this.Table == null || this.Table.Length == 0; + HeroBattleMapCenter.RowData result; + if (flag) + { + result = null; + } + else + { + for (int i = 0; i < this.Table.Length; i++) + { + bool flag2 = this.Table[i].SceneID == key; + if (flag2) + { + return this.Table[i]; + } + } + result = null; + } + return result; + } + + protected override void ReadLine(XBinaryReader reader) + { + HeroBattleMapCenter.RowData rowData = new HeroBattleMapCenter.RowData(); + base.Read(reader, ref rowData.SceneID, CVSReader.uintParse); + this.columnno = 0; + base.Read(reader, ref rowData.CenterType, CVSReader.uintParse); + this.columnno = 1; + rowData.Center.Read(reader, this.m_DataHandler); + this.columnno = 2; + base.ReadArray(reader, ref rowData.Param, CVSReader.floatParse); + this.columnno = 3; + base.Read(reader, ref rowData.ClientFxScalse, CVSReader.floatParse); + this.columnno = 4; + base.ReadArray(reader, ref rowData.OccupantFx, CVSReader.stringParse); + this.columnno = 5; + base.ReadArray(reader, ref rowData.MiniMapFx, CVSReader.stringParse); + this.columnno = 6; + base.ReadArray(reader, ref rowData.OccSuccessFx, CVSReader.stringParse); + this.columnno = 7; + base.ReadArray(reader, ref rowData.OccWinFx, CVSReader.stringParse); + this.columnno = 8; + base.Read(reader, ref rowData.MVPCutScene, CVSReader.stringParse); + this.columnno = 9; + base.ReadArray(reader, ref rowData.MVPPos, CVSReader.floatParse); + this.columnno = 10; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new HeroBattleMapCenter.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/HeroBattleMapCenter.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/HeroBattleMapCenter.cs.meta new file mode 100644 index 00000000..3e1962c8 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/HeroBattleMapCenter.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: d77d0dd766f20154ba1f215bad513884 +timeCreated: 1611465764 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/HeroBattleTips.cs b/Client/Assets/Scripts/XUtliPoolLib/HeroBattleTips.cs new file mode 100644 index 00000000..b10571bf --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/HeroBattleTips.cs @@ -0,0 +1,63 @@ +using System; + +namespace XUtliPoolLib +{ + public class HeroBattleTips : CVSReader + { + public HeroBattleTips.RowData[] Table = null; + + public class RowData + { + public uint id; + + public string tips; + } + + public HeroBattleTips.RowData GetByid(uint key) + { + bool flag = this.Table == null || this.Table.Length == 0; + HeroBattleTips.RowData result; + if (flag) + { + result = null; + } + else + { + for (int i = 0; i < this.Table.Length; i++) + { + bool flag2 = this.Table[i].id == key; + if (flag2) + { + return this.Table[i]; + } + } + result = null; + } + return result; + } + + protected override void ReadLine(XBinaryReader reader) + { + HeroBattleTips.RowData rowData = new HeroBattleTips.RowData(); + base.Read(reader, ref rowData.id, CVSReader.uintParse); + this.columnno = 0; + base.Read(reader, ref rowData.tips, CVSReader.stringParse); + this.columnno = 1; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new HeroBattleTips.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/HeroBattleTips.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/HeroBattleTips.cs.meta new file mode 100644 index 00000000..98484303 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/HeroBattleTips.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: e8740cf086415e04dbf8bfa32252ef9d +timeCreated: 1611465803 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/HeroBattleWeekReward.cs b/Client/Assets/Scripts/XUtliPoolLib/HeroBattleWeekReward.cs new file mode 100644 index 00000000..7ac1b27d --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/HeroBattleWeekReward.cs @@ -0,0 +1,67 @@ +using System; + +namespace XUtliPoolLib +{ + public class HeroBattleWeekReward : CVSReader + { + public HeroBattleWeekReward.RowData[] Table = null; + + public class RowData + { + public uint id; + + public uint winnum; + + public uint[] reward; + } + + public HeroBattleWeekReward.RowData GetByid(uint key) + { + bool flag = this.Table == null || this.Table.Length == 0; + HeroBattleWeekReward.RowData result; + if (flag) + { + result = null; + } + else + { + for (int i = 0; i < this.Table.Length; i++) + { + bool flag2 = this.Table[i].id == key; + if (flag2) + { + return this.Table[i]; + } + } + result = null; + } + return result; + } + + protected override void ReadLine(XBinaryReader reader) + { + HeroBattleWeekReward.RowData rowData = new HeroBattleWeekReward.RowData(); + base.Read(reader, ref rowData.id, CVSReader.uintParse); + this.columnno = 0; + base.Read(reader, ref rowData.winnum, CVSReader.uintParse); + this.columnno = 1; + base.ReadArray(reader, ref rowData.reward, CVSReader.uintParse); + this.columnno = 2; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new HeroBattleWeekReward.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/HeroBattleWeekReward.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/HeroBattleWeekReward.cs.meta new file mode 100644 index 00000000..8f37e523 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/HeroBattleWeekReward.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: b83a04565fe806447a28aff27f4d787a +timeCreated: 1611465747 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/Horse.cs b/Client/Assets/Scripts/XUtliPoolLib/Horse.cs new file mode 100644 index 00000000..5f5f1449 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/Horse.cs @@ -0,0 +1,63 @@ +using System; + +namespace XUtliPoolLib +{ + public class Horse : CVSReader + { + public Horse.RowData[] Table = null; + + public class RowData + { + public uint sceneid; + + public uint Laps; + } + + public Horse.RowData GetBysceneid(uint key) + { + bool flag = this.Table == null || this.Table.Length == 0; + Horse.RowData result; + if (flag) + { + result = null; + } + else + { + for (int i = 0; i < this.Table.Length; i++) + { + bool flag2 = this.Table[i].sceneid == key; + if (flag2) + { + return this.Table[i]; + } + } + result = null; + } + return result; + } + + protected override void ReadLine(XBinaryReader reader) + { + Horse.RowData rowData = new Horse.RowData(); + base.Read(reader, ref rowData.sceneid, CVSReader.uintParse); + this.columnno = 0; + base.Read(reader, ref rowData.Laps, CVSReader.uintParse); + this.columnno = 2; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new Horse.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/Horse.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/Horse.cs.meta new file mode 100644 index 00000000..122c119d --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/Horse.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: ebc752a60dbf79348a8cc4f56288c538 +timeCreated: 1611465805 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/HotfixAttribute.cs b/Client/Assets/Scripts/XUtliPoolLib/HotfixAttribute.cs new file mode 100644 index 00000000..5809f36b --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/HotfixAttribute.cs @@ -0,0 +1,6 @@ +using System; + +[AttributeUsage(AttributeTargets.Class | AttributeTargets.Method)] +public class HotfixAttribute : Attribute +{ +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/HotfixAttribute.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/HotfixAttribute.cs.meta new file mode 100644 index 00000000..644fb5a9 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/HotfixAttribute.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 28846599110b74741a4284fbbf79aa2f +timeCreated: 1611465302 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/HotfixIgnoreAttribute.cs b/Client/Assets/Scripts/XUtliPoolLib/HotfixIgnoreAttribute.cs new file mode 100644 index 00000000..24179687 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/HotfixIgnoreAttribute.cs @@ -0,0 +1,6 @@ +using System; + +[AttributeUsage(AttributeTargets.Method)] +public class HotfixIgnoreAttribute : Attribute +{ +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/HotfixIgnoreAttribute.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/HotfixIgnoreAttribute.cs.meta new file mode 100644 index 00000000..3de38301 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/HotfixIgnoreAttribute.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 54f40ec3779ea054c9035b023174f315 +timeCreated: 1611465645 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/HotfixMode.cs b/Client/Assets/Scripts/XUtliPoolLib/HotfixMode.cs new file mode 100644 index 00000000..447b97d5 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/HotfixMode.cs @@ -0,0 +1,12 @@ +using System; + +namespace XUtliPoolLib +{ + public enum HotfixMode + { + BEFORE, + AFTER, + HIDE, + UNLOAD + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/HotfixMode.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/HotfixMode.cs.meta new file mode 100644 index 00000000..74fcc624 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/HotfixMode.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 73ce42c143a2bed41aa1db5c8bd2b430 +timeCreated: 1611465688 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/IAnimStateMachine.cs b/Client/Assets/Scripts/XUtliPoolLib/IAnimStateMachine.cs new file mode 100644 index 00000000..c2d65c80 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/IAnimStateMachine.cs @@ -0,0 +1,9 @@ +using System; + +namespace XUtliPoolLib +{ + public interface IAnimStateMachine + { + void OnAnimationOverrided(); + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/IAnimStateMachine.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/IAnimStateMachine.cs.meta new file mode 100644 index 00000000..a4fcde14 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/IAnimStateMachine.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 41106508a6089d940b761ac59dd80523 +timeCreated: 1611465635 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/IApolloManager.cs b/Client/Assets/Scripts/XUtliPoolLib/IApolloManager.cs new file mode 100644 index 00000000..2c31a599 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/IApolloManager.cs @@ -0,0 +1,55 @@ +using System; + +namespace XUtliPoolLib +{ + public interface IApolloManager + { + bool openMusic { get; set; } + + bool openSpeak { get; set; } + + void Init(int channel, string openid); + + void SetRealtimeMode(); + + void ForbitMember(int memberId, bool bEnable); + + void JoinRoom(string url1, string url2, string url3, long roomId, long roomKey, short memberId); + + void JoinBigRoom(string urls, int role, uint busniessID, long roomid, long roomkey, short memberid); + + bool GetJoinRoomResult(); + + bool GetJoinRoomBigResult(); + + int[] GetMembersState(ref int size); + + void QuitRoom(long roomId, short memberId); + + void QuitBigRoom(); + + int GetSpeakerVolume(); + + void SetMusicVolum(int nVol); + + int InitApolloEngine(int ip1, int ip2, int ip3, int ip4, byte[] key, int len); + + int StartRecord(string filename); + + int StopApolloRecord(); + + int GetApolloUploadStatus(); + + int UploadRecordFile(string filename); + + string GetFileID(); + + int GetMicLevel(); + + int StartPlayVoice(string filepath); + + int StopPlayVoice(); + + int SetApolloMode(int mode); + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/IApolloManager.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/IApolloManager.cs.meta new file mode 100644 index 00000000..7311e7b6 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/IApolloManager.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 78c828f01a4799845bd980589dd8ae33 +timeCreated: 1611465691 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/IAssociatedCamera.cs b/Client/Assets/Scripts/XUtliPoolLib/IAssociatedCamera.cs new file mode 100644 index 00000000..ebcb7a75 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/IAssociatedCamera.cs @@ -0,0 +1,10 @@ +using System; +using UnityEngine; + +namespace XUtliPoolLib +{ + public interface IAssociatedCamera : IXInterface + { + Camera Get(); + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/IAssociatedCamera.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/IAssociatedCamera.cs.meta new file mode 100644 index 00000000..aa274c37 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/IAssociatedCamera.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 323d8854cbd45f14db4216dbb6c21d9c +timeCreated: 1611465310 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/IBShop.cs b/Client/Assets/Scripts/XUtliPoolLib/IBShop.cs new file mode 100644 index 00000000..581dc42c --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/IBShop.cs @@ -0,0 +1,169 @@ +using System; + +namespace XUtliPoolLib +{ + public class IBShop : CVSReader + { + public IBShop.RowData[] Table = null; + + public class RowData + { + public uint id; + + public uint type; + + public uint itemid; + + public uint discount; + + public uint viplevel; + + public bool bind; + + public uint levelbuy; + + public uint buycount; + + public uint refreshtype; + + public uint currencytype; + + public uint currencycount; + + public uint newproduct; + + public int sortid; + + public uint rmb; + + public string goodsid; + + public bool fashion; + } + + public IBShop.RowData GetByid(uint key) + { + bool flag = this.Table == null || this.Table.Length == 0; + IBShop.RowData result; + if (flag) + { + result = null; + } + else + { + result = this.BinarySearchid(key); + } + return result; + } + + private IBShop.RowData BinarySearchid(uint key) + { + int num = 0; + int num2 = this.Table.Length - 1; + IBShop.RowData rowData; + IBShop.RowData rowData2; + IBShop.RowData rowData3; + for (;;) + { + rowData = this.Table[num]; + bool flag = rowData.id == key; + if (flag) + { + break; + } + rowData2 = this.Table[num2]; + bool flag2 = rowData2.id == key; + if (flag2) + { + goto Block_2; + } + bool flag3 = num2 - num <= 1; + if (flag3) + { + goto Block_3; + } + int num3 = num + (num2 - num) / 2; + rowData3 = this.Table[num3]; + bool flag4 = rowData3.id.CompareTo(key) > 0; + if (flag4) + { + num2 = num3; + } + else + { + bool flag5 = rowData3.id.CompareTo(key) < 0; + if (!flag5) + { + goto IL_B1; + } + num = num3; + } + if (num >= num2) + { + goto Block_6; + } + } + return rowData; + Block_2: + return rowData2; + Block_3: + return null; + IL_B1: + return rowData3; + Block_6: + return null; + } + + protected override void ReadLine(XBinaryReader reader) + { + IBShop.RowData rowData = new IBShop.RowData(); + base.Read(reader, ref rowData.id, CVSReader.uintParse); + this.columnno = 0; + base.Read(reader, ref rowData.type, CVSReader.uintParse); + this.columnno = 1; + base.Read(reader, ref rowData.itemid, CVSReader.uintParse); + this.columnno = 3; + base.Read(reader, ref rowData.discount, CVSReader.uintParse); + this.columnno = 4; + base.Read(reader, ref rowData.viplevel, CVSReader.uintParse); + this.columnno = 5; + base.Read(reader, ref rowData.bind, CVSReader.boolParse); + this.columnno = 6; + base.Read(reader, ref rowData.levelbuy, CVSReader.uintParse); + this.columnno = 8; + base.Read(reader, ref rowData.buycount, CVSReader.uintParse); + this.columnno = 9; + base.Read(reader, ref rowData.refreshtype, CVSReader.uintParse); + this.columnno = 10; + base.Read(reader, ref rowData.currencytype, CVSReader.uintParse); + this.columnno = 11; + base.Read(reader, ref rowData.currencycount, CVSReader.uintParse); + this.columnno = 12; + base.Read(reader, ref rowData.newproduct, CVSReader.uintParse); + this.columnno = 15; + base.Read(reader, ref rowData.sortid, CVSReader.intParse); + this.columnno = 16; + base.Read(reader, ref rowData.rmb, CVSReader.uintParse); + this.columnno = 21; + base.Read(reader, ref rowData.goodsid, CVSReader.stringParse); + this.columnno = 22; + base.Read(reader, ref rowData.fashion, CVSReader.boolParse); + this.columnno = 24; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new IBShop.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/IBShop.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/IBShop.cs.meta new file mode 100644 index 00000000..ec3f3f1d --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/IBShop.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 24101fc43bdc451488229ffef79da536 +timeCreated: 1611465300 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/IBroardcast.cs b/Client/Assets/Scripts/XUtliPoolLib/IBroardcast.cs new file mode 100644 index 00000000..3eb1a570 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/IBroardcast.cs @@ -0,0 +1,21 @@ +using System; + +namespace XUtliPoolLib +{ + public interface IBroardcast + { + bool IsBroadState(); + + void SetAccount(int platf, string openid, string token); + + void StartLiveBroadcast(string title, string desc); + + void StopBroadcast(); + + int GetState(); + + void EnterHall(); + + bool ShowCamera(bool show); + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/IBroardcast.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/IBroardcast.cs.meta new file mode 100644 index 00000000..3738ca9e --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/IBroardcast.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: d129e27b38c209d4493ebc41ca1a4de3 +timeCreated: 1611465760 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/IColliderRenderLinker.cs b/Client/Assets/Scripts/XUtliPoolLib/IColliderRenderLinker.cs new file mode 100644 index 00000000..898bfc13 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/IColliderRenderLinker.cs @@ -0,0 +1,10 @@ +using System; +using UnityEngine; + +namespace XUtliPoolLib +{ + public interface IColliderRenderLinker : IXInterface + { + Renderer[] GetLinkedRender(); + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/IColliderRenderLinker.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/IColliderRenderLinker.cs.meta new file mode 100644 index 00000000..9a966ba5 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/IColliderRenderLinker.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: b2968a2becb8b644da94b3712b6db36b +timeCreated: 1611465744 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/IControlParticle.cs b/Client/Assets/Scripts/XUtliPoolLib/IControlParticle.cs new file mode 100644 index 00000000..4fe0d879 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/IControlParticle.cs @@ -0,0 +1,12 @@ +using System; +using UnityEngine; + +namespace XUtliPoolLib +{ + public interface IControlParticle + { + void RefreshRenderQueue(bool resetWidget); + + void SetWidget(GameObject go); + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/IControlParticle.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/IControlParticle.cs.meta new file mode 100644 index 00000000..5cd78991 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/IControlParticle.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: a78b5c979783d7c44ae0ce13d63cbb13 +timeCreated: 1611465738 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/IDelayLoad.cs b/Client/Assets/Scripts/XUtliPoolLib/IDelayLoad.cs new file mode 100644 index 00000000..d46dcf4b --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/IDelayLoad.cs @@ -0,0 +1,9 @@ +using System; + +namespace XUtliPoolLib +{ + public interface IDelayLoad + { + EDelayProcessType DelayUpdate(); + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/IDelayLoad.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/IDelayLoad.cs.meta new file mode 100644 index 00000000..7bfa04c1 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/IDelayLoad.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 8d8d59d7c8f54a442a35b70040171614 +timeCreated: 1611465702 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/IEntrance.cs b/Client/Assets/Scripts/XUtliPoolLib/IEntrance.cs new file mode 100644 index 00000000..bb715c0e --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/IEntrance.cs @@ -0,0 +1,34 @@ +using System; +using UnityEngine; + +namespace XUtliPoolLib +{ + public interface IEntrance : IXInterface + { + bool Awaked { get; } + + void Awake(); + + void Start(); + + void NetUpdate(); + + void PreUpdate(); + + void Update(); + + void PostUpdate(); + + void FadeUpdate(); + + void Quit(); + + void Authorization(string token); + + void AuthorizationSignOut(string msg); + + void SetQualityLevel(int level); + + void MonoObjectRegister(string key, MonoBehaviour behavior); + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/IEntrance.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/IEntrance.cs.meta new file mode 100644 index 00000000..645624ed --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/IEntrance.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 5c800282d2133c548b019e602a175f77 +timeCreated: 1611465650 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/IEnvSetting.cs b/Client/Assets/Scripts/XUtliPoolLib/IEnvSetting.cs new file mode 100644 index 00000000..0e4ae056 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/IEnvSetting.cs @@ -0,0 +1,9 @@ +using System; + +namespace XUtliPoolLib +{ + public interface IEnvSetting + { + void EnableSetting(int index); + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/IEnvSetting.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/IEnvSetting.cs.meta new file mode 100644 index 00000000..4c7354ba --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/IEnvSetting.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: fc94dc0fb36541d469fb10fd341ea711 +timeCreated: 1611465812 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/IFMOD_Listener.cs b/Client/Assets/Scripts/XUtliPoolLib/IFMOD_Listener.cs new file mode 100644 index 00000000..e99f5c98 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/IFMOD_Listener.cs @@ -0,0 +1,9 @@ +using System; + +namespace XUtliPoolLib +{ + public interface IFMOD_Listener + { + void Reload(); + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/IFMOD_Listener.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/IFMOD_Listener.cs.meta new file mode 100644 index 00000000..4220b383 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/IFMOD_Listener.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 871363218433fe74eb6dc153e9c9cca9 +timeCreated: 1611465696 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/IFxPro.cs b/Client/Assets/Scripts/XUtliPoolLib/IFxPro.cs new file mode 100644 index 00000000..1fc6bc7a --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/IFxPro.cs @@ -0,0 +1,11 @@ +using System; + +namespace XUtliPoolLib +{ + public interface IFxPro + { + void SetDofFade(float fade); + + void Enable(bool enable); + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/IFxPro.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/IFxPro.cs.meta new file mode 100644 index 00000000..1073fb63 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/IFxPro.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 67ea93ec0afe50446b777a93498fcfe4 +timeCreated: 1611465683 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/IGameSysMgr.cs b/Client/Assets/Scripts/XUtliPoolLib/IGameSysMgr.cs new file mode 100644 index 00000000..cc4b8b83 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/IGameSysMgr.cs @@ -0,0 +1,40 @@ +using System; +using UnityEngine; + +namespace XUtliPoolLib +{ + public interface IGameSysMgr : IXInterface + { + float OnlineRewardRemainTime { get; set; } + + bool Init(); + + void Uninit(); + + void InitWhenSelectRole(uint level); + + bool IsSystemOpen(int sys); + + string GetSysName(int sysid); + + string GetSysIcon(int sysid); + + string GetSysAnnounceIcon(int sysid); + + void OpenSystem(int sys); + + void ForceUpdateSysRedPointImmediately(int sys, bool redpoint); + + void AttachSysRedPointRelative(int sys, int childSys, bool bImmCalculate); + + void AttachSysRedPointRelativeUI(int sys, GameObject go); + + void DetachSysRedPointRelative(int sys); + + void DetachSysRedPointRelativeUI(int sys); + + void GamePause(bool pause); + + bool GetSysRedPointState(int sys); + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/IGameSysMgr.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/IGameSysMgr.cs.meta new file mode 100644 index 00000000..a6ea97b9 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/IGameSysMgr.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: f357c31f5472c8c4c928e9f0c4aeab0c +timeCreated: 1611465808 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/IHere.cs b/Client/Assets/Scripts/XUtliPoolLib/IHere.cs new file mode 100644 index 00000000..1611a2c9 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/IHere.cs @@ -0,0 +1,9 @@ +using System; + +namespace XUtliPoolLib +{ + internal interface IHere + { + int Here { get; set; } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/IHere.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/IHere.cs.meta new file mode 100644 index 00000000..086e5097 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/IHere.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: e514d0ec12c92f646bfba8fcbfe0b9f7 +timeCreated: 1611465802 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/IHotfixManager.cs b/Client/Assets/Scripts/XUtliPoolLib/IHotfixManager.cs new file mode 100644 index 00000000..5abe8eff --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/IHotfixManager.cs @@ -0,0 +1,40 @@ +using System; +using UnityEngine; + +namespace XUtliPoolLib +{ + public interface IHotfixManager + { + void Dispose(); + + bool DoLuaFile(string name); + + void TryFixMsglist(); + + bool TryFixClick(HotfixMode _mode, string _path); + + bool TryFixRefresh(HotfixMode _mode, string _pageName, GameObject go); + + bool TryFixHandler(HotfixMode _mode, string _handlerName, GameObject go); + + void RegistedPtc(uint _type, byte[] body, int length); + + void ProcessOveride(uint _type, byte[] body, int length); + + void OnLeaveScene(); + + void OnEnterScene(); + + void OnEnterSceneFinally(); + + void OnAttachToHost(); + + void OnReconnect(); + + void OnDetachFromHost(); + + void CallLuaFunc(string className, string funcName); + + void OnPayCallback(string result, string paramID); + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/IHotfixManager.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/IHotfixManager.cs.meta new file mode 100644 index 00000000..36bfa261 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/IHotfixManager.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 75fa3211cf023ff44902b589d3907de3 +timeCreated: 1611465689 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/ILoopItemObject.cs b/Client/Assets/Scripts/XUtliPoolLib/ILoopItemObject.cs new file mode 100644 index 00000000..a447283f --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/ILoopItemObject.cs @@ -0,0 +1,16 @@ +using System; +using UnityEngine; + +namespace XUtliPoolLib +{ + public interface ILoopItemObject + { + int dataIndex { get; set; } + + bool isVisible(); + + GameObject GetObj(); + + void SetHeight(int height); + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/ILoopItemObject.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/ILoopItemObject.cs.meta new file mode 100644 index 00000000..864dfc09 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/ILoopItemObject.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 9dd714c41ff5353418308725c7bcff12 +timeCreated: 1611465711 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/ILoopScrollView.cs b/Client/Assets/Scripts/XUtliPoolLib/ILoopScrollView.cs new file mode 100644 index 00000000..6b222927 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/ILoopScrollView.cs @@ -0,0 +1,29 @@ +using System; +using System.Collections.Generic; +using UnityEngine; + +namespace XUtliPoolLib +{ + public interface ILoopScrollView + { + GameObject gameobject { get; } + + void Init(List datas, DelegateHandler onItemInitCallback, Action onDragfinish, int pivot = 0, bool forceRefreshPerTime = false); + + GameObject GetTpl(); + + bool IsScrollLast(); + + void ResetScroll(); + + void SetDepth(int delpth); + + GameObject GetFirstItem(); + + GameObject GetLastItem(); + + void AddItem(LoopItemData data); + + void SetClipSize(Vector2 size); + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/ILoopScrollView.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/ILoopScrollView.cs.meta new file mode 100644 index 00000000..b31c91e5 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/ILoopScrollView.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: b0e75ee976767dc46b7867e6f3e80571 +timeCreated: 1611465744 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/ILuaEngine.cs b/Client/Assets/Scripts/XUtliPoolLib/ILuaEngine.cs new file mode 100644 index 00000000..4fa28dbf --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/ILuaEngine.cs @@ -0,0 +1,15 @@ +using System; + +namespace XUtliPoolLib +{ + public interface ILuaEngine + { + IHotfixManager hotfixMgr { get; } + + ILuaUIManager luaUIManager { get; } + + ILuaGameInfo luaGameInfo { get; } + + void InitLua(); + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/ILuaEngine.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/ILuaEngine.cs.meta new file mode 100644 index 00000000..2567ed77 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/ILuaEngine.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: d79ef2b313a5b5f4e8a8f3d075936d4a +timeCreated: 1611465764 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/ILuaExtion.cs b/Client/Assets/Scripts/XUtliPoolLib/ILuaExtion.cs new file mode 100644 index 00000000..6fdffedc --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/ILuaExtion.cs @@ -0,0 +1,45 @@ +using System; + +namespace XUtliPoolLib +{ + public interface ILuaExtion : IXInterface + { + void SetPlayerProprerty(string key, object value); + + object GetPlayeProprerty(string key); + + object CallPlayerMethod(bool isPublic, string method, params object[] args); + + object GetDocument(string doc); + + object GetDocumentMember(string doc, string key, bool isPublic, bool isField); + + object GetDocumentStaticMember(string doc, string key, bool isPublic, bool isField); + + void SetDocumentMember(string doc, string key, object value, bool isPublic, bool isField); + + object CallDocumentMethod(string doc, bool isPublic, string method, params object[] args); + + object CallDocumentStaticMethod(string doc, bool isPublic, string method, params object[] args); + + object GetSingle(string className); + + object GetSingleMember(string className, string key, bool isPublic, bool isField, bool isStatic); + + void SetSingleMember(string className, string key, object value, bool isPublic, bool isField, bool isStatic); + + object CallSingleMethod(string className, bool isPublic, bool isStatic, string methodName, params object[] args); + + void RefreshPlayerName(); + + Type GetType(string classname); + + object GetEnumType(string classname, string value); + + string GetStringTable(string key, params object[] args); + + string GetGlobalString(string key); + + XLuaLong Get(string str); + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/ILuaExtion.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/ILuaExtion.cs.meta new file mode 100644 index 00000000..ee1ae1f9 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/ILuaExtion.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: e4f6c7c25f335264a9ed0d1eb26ee842 +timeCreated: 1611465802 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/ILuaFunction.cs b/Client/Assets/Scripts/XUtliPoolLib/ILuaFunction.cs new file mode 100644 index 00000000..7aa0b0fe --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/ILuaFunction.cs @@ -0,0 +1,19 @@ +using System; + +namespace XUtliPoolLib +{ + public interface ILuaFunction + { + object[] Call(); + + object[] Call(params object[] args); + + object[] Call(double arg1); + + void Dispose(); + + void Release(); + + int GetReference(); + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/ILuaFunction.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/ILuaFunction.cs.meta new file mode 100644 index 00000000..5005cd04 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/ILuaFunction.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 25d29490a74d0dc4bbc47c21ed08529b +timeCreated: 1611465301 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/ILuaGameInfo.cs b/Client/Assets/Scripts/XUtliPoolLib/ILuaGameInfo.cs new file mode 100644 index 00000000..c7aae9a4 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/ILuaGameInfo.cs @@ -0,0 +1,25 @@ +using System; + +namespace XUtliPoolLib +{ + public interface ILuaGameInfo + { + string name { get; set; } + + uint exp { get; set; } + + uint maxexp { get; set; } + + uint level { get; set; } + + int ppt { get; set; } + + uint coin { get; set; } + + uint dia { get; set; } + + uint energy { get; set; } + + uint draggon { get; set; } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/ILuaGameInfo.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/ILuaGameInfo.cs.meta new file mode 100644 index 00000000..37aad65e --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/ILuaGameInfo.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: dfb64f778469ea44ebfaffbcecedb842 +timeCreated: 1611465798 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/ILuaNetSender.cs b/Client/Assets/Scripts/XUtliPoolLib/ILuaNetSender.cs new file mode 100644 index 00000000..9c012290 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/ILuaNetSender.cs @@ -0,0 +1,9 @@ +using System; + +namespace XUtliPoolLib +{ + public interface ILuaNetSender + { + bool Send(uint _type, bool isRpc, uint tagID, byte[] _reqBuff); + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/ILuaNetSender.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/ILuaNetSender.cs.meta new file mode 100644 index 00000000..55e4a6df --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/ILuaNetSender.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: bb86446e4fb71a545a29c9bb0b07b72f +timeCreated: 1611465748 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/ILuaNetwork.cs b/Client/Assets/Scripts/XUtliPoolLib/ILuaNetwork.cs new file mode 100644 index 00000000..bc293dca --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/ILuaNetwork.cs @@ -0,0 +1,20 @@ +using System; +using System.Collections.Generic; + +namespace XUtliPoolLib +{ + public interface ILuaNetwork : IXInterface + { + void InitLua(int rpcCache); + + bool LuaRigsterPtc(uint type, bool copyBuffer); + + void LuaRegistDispacher(List types); + + void LuaRigsterRPC(uint _type, bool copyBuffer, DelLuaRespond _onRes, DelLuaError _onError); + + bool LuaSendPtc(uint _type, byte[] _reqBuff); + + bool LuaSendRPC(uint _type, byte[] _reqBuff, DelLuaRespond _onRes, DelLuaError _onError); + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/ILuaNetwork.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/ILuaNetwork.cs.meta new file mode 100644 index 00000000..c1dff326 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/ILuaNetwork.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 696f64933cdb92b4d87288649a152f49 +timeCreated: 1611465683 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/ILuaUIManager.cs b/Client/Assets/Scripts/XUtliPoolLib/ILuaUIManager.cs new file mode 100644 index 00000000..cbff5c4c --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/ILuaUIManager.cs @@ -0,0 +1,17 @@ +using System; + +namespace XUtliPoolLib +{ + public interface ILuaUIManager + { + bool IsUIShowed(); + + bool Load(string name); + + bool Hide(string name); + + bool Destroy(string name); + + void Clear(); + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/ILuaUIManager.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/ILuaUIManager.cs.meta new file mode 100644 index 00000000..9cc26921 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/ILuaUIManager.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 41477a32b2f682449a654a8f033146a9 +timeCreated: 1611465635 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/IModalDlg.cs b/Client/Assets/Scripts/XUtliPoolLib/IModalDlg.cs new file mode 100644 index 00000000..656c1779 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/IModalDlg.cs @@ -0,0 +1,10 @@ +using System; +using UILib; + +namespace XUtliPoolLib +{ + public interface IModalDlg : IXInterface + { + void LuaShow(string content, ButtonClickEventHandler handler, ButtonClickEventHandler handler2); + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/IModalDlg.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/IModalDlg.cs.meta new file mode 100644 index 00000000..b020608a --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/IModalDlg.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 69d7b172eccd4f24dbbcf1d27e601679 +timeCreated: 1611465684 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/INativePlugin.cs b/Client/Assets/Scripts/XUtliPoolLib/INativePlugin.cs new file mode 100644 index 00000000..477e228e --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/INativePlugin.cs @@ -0,0 +1,17 @@ +using System; + +namespace XUtliPoolLib +{ + public interface INativePlugin + { + void InitializeHooks(); + + void CloseHooks(); + + void Init(); + + void Update(); + + void InputData(short tableID, short tableType, byte[] buffer, int length); + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/INativePlugin.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/INativePlugin.cs.meta new file mode 100644 index 00000000..b52bfc3c --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/INativePlugin.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: fc07139f3421550409311254b46f7062 +timeCreated: 1611465811 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/IOSAssetBundleLoader.cs b/Client/Assets/Scripts/XUtliPoolLib/IOSAssetBundleLoader.cs new file mode 100644 index 00000000..13bfada3 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/IOSAssetBundleLoader.cs @@ -0,0 +1,83 @@ +using System; +using System.Collections; +using UnityEngine; + +namespace XUtliPoolLib +{ + public class IOSAssetBundleLoader : MobileAssetBundleLoader + { + protected override IEnumerator LoadFromPackage() + { + bool flag = this.state == LoadState.State_Complete; + if (flag) + { + this.Complete(); + } + else + { + bool flag2 = this.state != LoadState.State_Error; + if (flag2) + { + AssetBundleCreateRequest req = AssetBundle.LoadFromFileAsync(this._assetBundleSourceFile); + while (!req.isDone) + { + yield return null; + } + bool flag3 = this._bundle == null; + if (flag3) + { + this._bundle = req.assetBundle; + } + bool flag4 = this.state != LoadState.State_Complete && base.UnloadNotLoadingBundle(this._bundle); + if (flag4) + { + req = AssetBundle.LoadFromFileAsync(this._assetBundleSourceFile); + while (!req.isDone) + { + yield return null; + } + bool flag5 = this._bundle == null; + if (flag5) + { + this._bundle = req.assetBundle; + } + } + this.Complete(); + req = null; + } + } + yield break; + } + + protected override void LoadFromPackageImm() + { + bool flag = this.state == LoadState.State_Complete; + if (flag) + { + this.Complete(); + } + else + { + bool flag2 = this.state != LoadState.State_Error; + if (flag2) + { + bool flag3 = this._bundle == null; + if (flag3) + { + this._bundle = AssetBundle.LoadFromFile(this._assetBundleSourceFile); + } + bool flag4 = this.state != LoadState.State_Complete && base.UnloadNotLoadingBundle(this._bundle); + if (flag4) + { + bool flag5 = this._bundle == null; + if (flag5) + { + this._bundle = AssetBundle.LoadFromFile(this._assetBundleSourceFile); + } + } + this.Complete(); + } + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/IOSAssetBundleLoader.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/IOSAssetBundleLoader.cs.meta new file mode 100644 index 00000000..47d6af8b --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/IOSAssetBundleLoader.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: be6979ca6f6de85469a4286524de1e91 +timeCreated: 1611465751 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/IObjectPool.cs b/Client/Assets/Scripts/XUtliPoolLib/IObjectPool.cs new file mode 100644 index 00000000..7133b26a --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/IObjectPool.cs @@ -0,0 +1,13 @@ +using System; + +namespace XUtliPoolLib +{ + public interface IObjectPool + { + int countAll { get; } + + int countActive { get; } + + int countInactive { get; } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/IObjectPool.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/IObjectPool.cs.meta new file mode 100644 index 00000000..1fd59af2 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/IObjectPool.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: dcef90b95e035cc49b5d789f12ddd7b2 +timeCreated: 1611465796 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/IPlatform.cs b/Client/Assets/Scripts/XUtliPoolLib/IPlatform.cs new file mode 100644 index 00000000..b7e5d6ca --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/IPlatform.cs @@ -0,0 +1,106 @@ +using System; +using UnityEngine; + +namespace XUtliPoolLib +{ + public interface IPlatform : IXInterface + { + XPlatformType Platfrom(); + + bool IsEdior(); + + void SetNoBackupFlag(string fullpath); + + void OnPlatformLogin(); + + void OnQQLogin(); + + void OnWeChatLogin(); + + void OnGuestLogin(); + + void LogOut(); + + void ResgiterSDONotification(uint serverid, string rolename); + + string GetPFToken(); + + string GetVersionServer(); + + string GetHostUrl(); + + string GetLoginServer(string loginType); + + bool IsPublish(); + + bool IsTestMode(); + + void SendGameExData(string type, string json); + + void SetPushStatus(bool status); + + string GetHostWithHttpDns(string url); + + bool CheckStatus(string type, string json); + + string GetSDKConfig(string type, string json); + + bool CheckWeChatInstalled(); + + string GetChannelID(); + + string GetBatteryLevel(); + + void SendUserInfo(uint serverID, ulong roleID); + + int GetQualityLevel(); + + void MarkLoadlevel(string scene_name); + + void InitApm(); + + void MarkLoadlevelCompleted(); + + void MarkLevelEnd(); + + void SetApmUserID(string userID); + + void SetScreenLightness(int percentage); + + void ResetScreenLightness(); + + object CreateClass(EClassType type); + + void ReturnClass(EClassType type, object obj); + + void ClearClass(); + + string GetPayBill(); + + void Pay(int price, string orderID, string paramID, ulong role, uint serverID); + + void SendExtDara(string key, string param); + + void CreateWXGroup(string param); + + void JoinWXGroup(string param); + + void ShareWithWXGroup(string param); + + void QueryWXGroup(string param); + + string GetMD5(string plainText); + + string UserMd5(string str); + + int GetDensity(); + + string GetSim(); + + Component AddComponent(GameObject go, EComponentType type); + + void ReloadFMOD(); + + INativePlugin GetNativePlugin(); + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/IPlatform.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/IPlatform.cs.meta new file mode 100644 index 00000000..2c5ada33 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/IPlatform.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 1b4773bedcfbe454b8054cdd451c9e4f +timeCreated: 1611465297 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/IQueueObject.cs b/Client/Assets/Scripts/XUtliPoolLib/IQueueObject.cs new file mode 100644 index 00000000..1ec0a780 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/IQueueObject.cs @@ -0,0 +1,9 @@ +using System; + +namespace XUtliPoolLib +{ + public interface IQueueObject + { + IQueueObject next { get; set; } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/IQueueObject.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/IQueueObject.cs.meta new file mode 100644 index 00000000..c9e721a6 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/IQueueObject.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: ee8811a50bf16204faa245a36cee2779 +timeCreated: 1611465805 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/IRenderObject.cs b/Client/Assets/Scripts/XUtliPoolLib/IRenderObject.cs new file mode 100644 index 00000000..1d8b30b1 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/IRenderObject.cs @@ -0,0 +1,26 @@ +using System; +using UnityEngine; + +namespace XUtliPoolLib +{ + public interface IRenderObject + { + int InstanceID { set; } + + bool IsSameObj(int id); + + void SetRenderLayer(int layer); + + void SetShader(int type); + + void ResetShader(); + + void SetColor(byte r, byte g, byte b, byte a); + + void SetColor(Color32 c); + + void Clean(); + + void Update(); + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/IRenderObject.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/IRenderObject.cs.meta new file mode 100644 index 00000000..0837366a --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/IRenderObject.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 88c341293935fe746a6117149e9e1042 +timeCreated: 1611465698 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/IResourceHelp.cs b/Client/Assets/Scripts/XUtliPoolLib/IResourceHelp.cs new file mode 100644 index 00000000..c1cb5799 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/IResourceHelp.cs @@ -0,0 +1,10 @@ +using System; +using UnityEngine; + +namespace XUtliPoolLib +{ + public interface IResourceHelp : IXInterface + { + void CheckResource(UnityEngine.Object o, string path); + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/IResourceHelp.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/IResourceHelp.cs.meta new file mode 100644 index 00000000..a99ec550 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/IResourceHelp.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: af23053858aa20c4597102da72e24c97 +timeCreated: 1611465743 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/ISeqListRef.2.cs b/Client/Assets/Scripts/XUtliPoolLib/ISeqListRef.2.cs new file mode 100644 index 00000000..9af70e5d --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/ISeqListRef.2.cs @@ -0,0 +1,14 @@ +using System; + +namespace XUtliPoolLib +{ + public interface ISeqListRef + { + T this[int index, int key] + { + get; + } + + int Count { get; } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/ISeqListRef.2.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/ISeqListRef.2.cs.meta new file mode 100644 index 00000000..5fb8425d --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/ISeqListRef.2.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 877a430224eb0fc41ab9ad9a998506b0 +timeCreated: 1611465697 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/ISeqListRef.cs b/Client/Assets/Scripts/XUtliPoolLib/ISeqListRef.cs new file mode 100644 index 00000000..f2c097d6 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/ISeqListRef.cs @@ -0,0 +1,9 @@ +using System; + +namespace XUtliPoolLib +{ + public interface ISeqListRef + { + void SetData(DataHandler dh, byte c, byte mask, ushort offset); + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/ISeqListRef.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/ISeqListRef.cs.meta new file mode 100644 index 00000000..60717f8a --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/ISeqListRef.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: c23937a8bf900514796ddd27395d3aae +timeCreated: 1611465754 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/ISeqRef.2.cs b/Client/Assets/Scripts/XUtliPoolLib/ISeqRef.2.cs new file mode 100644 index 00000000..74355164 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/ISeqRef.2.cs @@ -0,0 +1,12 @@ +using System; + +namespace XUtliPoolLib +{ + public interface ISeqRef + { + T this[int key] + { + get; + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/ISeqRef.2.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/ISeqRef.2.cs.meta new file mode 100644 index 00000000..bdd60b7d --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/ISeqRef.2.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 6641f0964b34a914e92a9127cac0f0f2 +timeCreated: 1611465683 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/ISeqRef.cs b/Client/Assets/Scripts/XUtliPoolLib/ISeqRef.cs new file mode 100644 index 00000000..a47f2098 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/ISeqRef.cs @@ -0,0 +1,9 @@ +using System; + +namespace XUtliPoolLib +{ + public interface ISeqRef + { + void Read(XBinaryReader stream, DataHandler dh); + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/ISeqRef.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/ISeqRef.cs.meta new file mode 100644 index 00000000..f64d9383 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/ISeqRef.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: ca7d59f9528a51b49a4d3e1a542eef8a +timeCreated: 1611465757 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/ITssSdk.cs b/Client/Assets/Scripts/XUtliPoolLib/ITssSdk.cs new file mode 100644 index 00000000..96ea47d9 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/ITssSdk.cs @@ -0,0 +1,11 @@ +using System; + +namespace XUtliPoolLib +{ + public interface ITssSdk + { + void OnLogin(int platf, string openId, uint worldId, string roleId); + + void OnRcvWhichNeedToSendClientSdk(byte[] data, uint length); + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/ITssSdk.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/ITssSdk.cs.meta new file mode 100644 index 00000000..f4c83324 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/ITssSdk.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: b73b219e75a38cb419b6de46aedf8000 +timeCreated: 1611465747 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/ITssSdkSend.cs b/Client/Assets/Scripts/XUtliPoolLib/ITssSdkSend.cs new file mode 100644 index 00000000..b065124a --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/ITssSdkSend.cs @@ -0,0 +1,9 @@ +using System; + +namespace XUtliPoolLib +{ + public interface ITssSdkSend : IXInterface + { + void SendDataToServer(byte[] data, uint length); + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/ITssSdkSend.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/ITssSdkSend.cs.meta new file mode 100644 index 00000000..39ea2706 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/ITssSdkSend.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: caca6af59a0f82e458fd8ec66136b0e7 +timeCreated: 1611465757 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/IUiUtility.cs b/Client/Assets/Scripts/XUtliPoolLib/IUiUtility.cs new file mode 100644 index 00000000..ee5bd618 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/IUiUtility.cs @@ -0,0 +1,95 @@ +using System; +using System.Collections.Generic; +using UnityEngine; + +namespace XUtliPoolLib +{ + public interface IUiUtility : IXInterface + { + void ShowSystemTip(string text, string rgb = "fece00"); + + void ShowSystemTip(int errcode, string rgb = "fece00"); + + void ShowItemAccess(int itemid, AccessCallback callback = null); + + void ShowTooltipDialog(int itemID, GameObject icon = null); + + void ShowDetailTooltip(int itemID, GameObject icon = null); + + void ShowTooltipDialogByUID(string strUID, GameObject icon = null); + + void ShowPressToolTips(bool pressed, string content, Vector3 pos, Vector3 offset); + + string GlobalConfigGetValue(string cfgName); + + void OnPayCallback(string msg); + + void OnQQVipPayCallback(string msg); + + void OnReplayStart(); + + void PushBarrage(string nick, string content); + + void StartBroadcast(bool start); + + void OnGameCenterWakeUp(int type); + + void OnPayMarketingInfo(List listInfo); + + void OnGetPlatFriendsInfo(); + + void SerialHandle3DTouch(string msg); + + void SerialHandleScreenLock(string msg); + + string GetPartitionId(); + + string GetRoleId(); + + void OnSetBg(bool on); + + void OnSetWebViewMenu(int menutype); + + void OnWebViewBackGame(int backtype); + + void OnWebViewRefershRefPoint(string jsonstr); + + void OnWebViewSetheaderInfo(string jsonstr); + + void OnWebViewCloseLoading(int show); + + void OnWebViewShowReconnect(int show); + + void OnWebViewClose(); + + void OnWebViewLiveTab(); + + void ShowPandoraPopView(bool bShow); + + void NoticeShareResult(string result, ShareCallBackType type); + + bool CheckQQInstalled(); + + bool CheckWXInstalled(); + + void OpenUrl(string url, bool landscape); + + void UpdatePandoraSDKRedPoint(int pandoraSysID, bool showRedPoint, string module); + + void AttachPandoraSDKRedPoint(int sysID, string module); + + void ResetAllPopPLParent(); + + void SDKPandoraBuyGoods(string json); + + void ShareToWXFriendBackEnd(string openID, string title, string desc, string tag); + + void ShareToQQFreindBackEnd(string openID, string title, string desc, string tag, string targetUrl, string imageUrl, string previewText); + + void PandoraPicShare(string accountType, string scene, string objPath); + + void OnWXGroupResult(string apiId, string result, int error, WXGroupCallBackType type); + + void RefreshWXGroupBtn(WXGroupCallBackType type); + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/IUiUtility.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/IUiUtility.cs.meta new file mode 100644 index 00000000..de130a96 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/IUiUtility.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 4ad4981946af41b43b0b3bab5338ec6a +timeCreated: 1611465640 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/IWeaponTail.cs b/Client/Assets/Scripts/XUtliPoolLib/IWeaponTail.cs new file mode 100644 index 00000000..77e416bf --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/IWeaponTail.cs @@ -0,0 +1,16 @@ +using System; +using UnityEngine; + +namespace XUtliPoolLib +{ + public class IWeaponTail : MonoBehaviour + { + public virtual void Activate() + { + } + + public virtual void Deactivate() + { + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/IWeaponTail.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/IWeaponTail.cs.meta new file mode 100644 index 00000000..6986e3db --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/IWeaponTail.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 8cdb52f559af3c049ae9600b7015ce0b +timeCreated: 1611465701 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/IX3DAvatarMgr.cs b/Client/Assets/Scripts/XUtliPoolLib/IX3DAvatarMgr.cs new file mode 100644 index 00000000..cdf994fe --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/IX3DAvatarMgr.cs @@ -0,0 +1,32 @@ +using System; +using UILib; + +namespace XUtliPoolLib +{ + public interface IX3DAvatarMgr : IXInterface + { + int AllocDummyPool(string user, int maxCount); + + void ReturnDummyPool(int index); + + void EnableMainDummy(bool enable, IUIDummy snapShot); + + void OnUIUnloadMainDummy(IUIDummy snapShot); + + void SetMainDummy(bool ui); + + void Clean(bool transfer); + + void RotateMain(float degree); + + void ResetMainAnimation(); + + string CreateCommonDummy(int dummyPool, uint presentID, IUIDummy snapShot, IXDummy orig, float scale); + + void DestroyDummy(int dummyPool, string idStr); + + void SetDummyAnim(int dummyPool, string idStr, string anim); + + void SetMainDummyAnim(string anim); + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/IX3DAvatarMgr.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/IX3DAvatarMgr.cs.meta new file mode 100644 index 00000000..fd6ea3ba --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/IX3DAvatarMgr.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 8a5b8ac4f04e60a4591c52dd06b76715 +timeCreated: 1611465700 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/IXAIGeneralMgr.cs b/Client/Assets/Scripts/XUtliPoolLib/IXAIGeneralMgr.cs new file mode 100644 index 00000000..ac82b8d2 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/IXAIGeneralMgr.cs @@ -0,0 +1,152 @@ +using System; +using UnityEngine; + +namespace XUtliPoolLib +{ + public interface IXAIGeneralMgr : IXInterface + { + bool IsHPValue(ulong id, int min, int max); + + bool IsHPValue(Transform transform, int min, int max); + + bool IsMPValue(ulong id, int min, int max); + + bool IsMPValue(Transform transform, int min, int max); + + bool IsValid(ulong id); + + bool IsValid(Transform transform); + + bool HasQTE(ulong id, int QTEState); + + bool HasQTE(GameObject go, int QTEState); + + bool IsAtState(GameObject go, int state); + + bool IsAtState(ulong id, int state); + + bool IsRotate(GameObject go); + + bool IsCastSkill(GameObject go); + + bool IsFighting(ulong id); + + bool IsFighting(Transform transform); + + bool IsWoozy(GameObject go); + + bool IsOppoCastingSkill(ulong id); + + bool IsOppoCastingSkill(Transform transform); + + bool IsHurtOppo(ulong id); + + bool IsHurtOppo(Transform transform); + + bool IsFixedInCd(ulong id); + + bool IsFixedInCd(Transform transform); + + bool IsWander(ulong id); + + bool IsWander(Transform transform); + + bool IsSkillChoosed(ulong id); + + bool IsSkillChoosed(Transform transform); + + bool DetectEnimyInSight(GameObject go); + + bool CastQTESkill(GameObject go); + + bool CastDashSkill(GameObject go); + + bool ResetTargets(GameObject go); + + bool FindTargetByDistance(GameObject go, float distance, bool filterImmortal, float angle, float delta, int targettype); + + bool FindTargetByHitLevel(GameObject go, bool filterImmortal); + + bool FindTargetByHartedList(GameObject go, bool filterImmortal); + + bool FindTargetByNonImmortal(GameObject go); + + bool DoSelectNearest(GameObject go); + + bool DoSelectFarthest(GameObject go); + + bool DoSelectRandomTarget(GameObject go); + + void ClearTarget(ulong id); + + void ClearTarget(Transform transform); + + bool TryCastInstallSkill(GameObject go, GameObject targetgo); + + bool TryCastLearnedSkill(GameObject go, GameObject targetgo); + + bool TryCastPhysicalSkill(GameObject go, GameObject targetgo); + + bool NavToTarget(ulong id, GameObject target); + + bool NavToTarget(GameObject go, GameObject target); + + bool FindNavPath(GameObject go); + + bool ActionMove(GameObject go, Vector3 dir, Vector3 dest, float speed); + + bool ActionNav(ulong id, Vector3 dest); + + bool ActionNav(GameObject go, Vector3 dest); + + bool ActionRotate(GameObject go, float degree, float speed, int type); + + bool RotateToTarget(GameObject go); + + bool SelectSkill(GameObject go, FilterSkillArg skillarg); + + bool DoSelectInOrder(GameObject go); + + bool DoSelectRandom(GameObject go); + + bool DoCastSkill(GameObject go, GameObject targetgo); + + bool SendAIEvent(GameObject go, int msgto, int msgtype, int entitytypeid, string msgarg, float delaytime, Vector3 pos); + + string ReceiveAIEvent(GameObject go, int msgType, bool Deprecate); + + bool IsTargetImmortal(ulong id); + + Transform SelectMoveTargetById(GameObject go, int objectid); + + Transform SelectBuffTarget(GameObject go); + + Transform SelectItemTarget(GameObject go); + + bool SelectTargetBySkillCircle(GameObject go); + + bool ResetHartedList(GameObject go); + + bool CallMonster(GameObject go, CallMonsterData data); + + bool CallScript(GameObject go, string script, float delaytime); + + bool AddBuff(int monsterid, int buffid, int buffid2); + + void RunSubTree(GameObject go, string treename); + + bool PlayFx(GameObject go, string fxname, Vector3 fxpos, float delaytime); + + bool StopCastingSkill(GameObject go); + + bool DetectEnemyInRange(GameObject go, ref DetectEnemyInRangeArg arg); + + bool UpdateNavigation(GameObject go, int dir, int oldDir); + + int GetPlayerProf(); + + bool IsPointInMap(Vector3 pos); + + bool AIDoodad(GameObject go, int doodadid, int waveid, Vector3 pos, float randompos, float delaytime); + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/IXAIGeneralMgr.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/IXAIGeneralMgr.cs.meta new file mode 100644 index 00000000..eccec196 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/IXAIGeneralMgr.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 0fa6afb406f4b5f4ca7384946f08c0de +timeCreated: 1611465290 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/IXBehaviorTree.cs b/Client/Assets/Scripts/XUtliPoolLib/IXBehaviorTree.cs new file mode 100644 index 00000000..d9bf52f8 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/IXBehaviorTree.cs @@ -0,0 +1,40 @@ +using System; +using UnityEngine; + +namespace XUtliPoolLib +{ + public interface IXBehaviorTree : IXInterface + { + void OnStartSkill(uint skillid); + + void OnEndSkill(uint skillid); + + void OnSkillHurt(); + + void EnableBehaviorTree(bool enable); + + void SetManual(bool enable); + + float OnGetHeartRate(); + + void TickBehaviorTree(); + + bool SetBehaviorTree(string location); + + void SetNavPoint(Transform navpoint); + + void SetVariable(string name, object value); + + void SetIntByName(string name, int value); + + void SetFloatByName(string name, float value); + + void SetBoolByName(string name, bool value); + + void SetVector3ByName(string name, Vector3 value); + + void SetTransformByName(string name, Transform value); + + void SetXGameObjectByName(string name, XGameObject value); + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/IXBehaviorTree.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/IXBehaviorTree.cs.meta new file mode 100644 index 00000000..68ec83fd --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/IXBehaviorTree.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: ceee003fce8590943a6092b4f3d5d790 +timeCreated: 1611465760 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/IXBuglyMgr.cs b/Client/Assets/Scripts/XUtliPoolLib/IXBuglyMgr.cs new file mode 100644 index 00000000..ba8c655e --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/IXBuglyMgr.cs @@ -0,0 +1,9 @@ +using System; + +namespace XUtliPoolLib +{ + public interface IXBuglyMgr : IXInterface + { + void ReportCrashToBugly(string serverid, string rolename, uint rolelevel, int roleprof, string openid, string version, string realtime, string scenename, string sceneid, string content); + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/IXBuglyMgr.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/IXBuglyMgr.cs.meta new file mode 100644 index 00000000..ddcf26c5 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/IXBuglyMgr.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: b2f3c5ee740d89d419e2036291d1b983 +timeCreated: 1611465745 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/IXCamera.cs b/Client/Assets/Scripts/XUtliPoolLib/IXCamera.cs new file mode 100644 index 00000000..009626cb --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/IXCamera.cs @@ -0,0 +1,9 @@ +using System; + +namespace XUtliPoolLib +{ + public interface IXCamera : IXInterface + { + void DOFEnable(bool enabled); + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/IXCamera.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/IXCamera.cs.meta new file mode 100644 index 00000000..11a8fc70 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/IXCamera.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: eef478c758a25a24fbc43fbfe1bdd027 +timeCreated: 1611465806 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/IXCurve.cs b/Client/Assets/Scripts/XUtliPoolLib/IXCurve.cs new file mode 100644 index 00000000..5694f2fd --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/IXCurve.cs @@ -0,0 +1,19 @@ +using System; + +namespace XUtliPoolLib +{ + public interface IXCurve + { + int length { get; } + + float Evaluate(float time); + + float GetValue(int index); + + float GetTime(int index); + + float GetMaxValue(); + + float GetLandValue(); + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/IXCurve.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/IXCurve.cs.meta new file mode 100644 index 00000000..b55a5a54 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/IXCurve.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: cdca7f647973f224a80b394257a2c916 +timeCreated: 1611465759 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/IXDragonExpedition.cs b/Client/Assets/Scripts/XUtliPoolLib/IXDragonExpedition.cs new file mode 100644 index 00000000..83b05196 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/IXDragonExpedition.cs @@ -0,0 +1,20 @@ +using System; +using UnityEngine; + +namespace XUtliPoolLib +{ + public interface IXDragonExpedition + { + void Drag(float delta); + + void Assign(float delta); + + GameObject Click(); + + Transform GetGO(string name); + + void SetLimitPos(float MinPos); + + Camera GetDragonCamera(); + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/IXDragonExpedition.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/IXDragonExpedition.cs.meta new file mode 100644 index 00000000..87c62817 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/IXDragonExpedition.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: e250b3725bac4bc46a68a2adc391f68a +timeCreated: 1611465800 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/IXDummy.cs b/Client/Assets/Scripts/XUtliPoolLib/IXDummy.cs new file mode 100644 index 00000000..35d35e90 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/IXDummy.cs @@ -0,0 +1,17 @@ +using System; + +namespace XUtliPoolLib +{ + public interface IXDummy + { + uint TypeID { get; } + + ulong ID { get; } + + bool Deprecated { get; set; } + + void ResetAnimation(); + + void SetupUIDummy(bool ui); + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/IXDummy.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/IXDummy.cs.meta new file mode 100644 index 00000000..404c5ebd --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/IXDummy.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 6aa1b1c3486e55d49a6f02d63a573798 +timeCreated: 1611465684 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/IXFmod.cs b/Client/Assets/Scripts/XUtliPoolLib/IXFmod.cs new file mode 100644 index 00000000..3a3246fd --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/IXFmod.cs @@ -0,0 +1,24 @@ +using System; +using UnityEngine; + +namespace XUtliPoolLib +{ + public interface IXFmod : IXInterface + { + void StartEvent(string key, AudioChannel channel = AudioChannel.Action, bool stopPre = true, string para = "", float value = 0f); + + void Play(AudioChannel channel = AudioChannel.Action); + + void Stop(AudioChannel channel = AudioChannel.Action); + + bool IsPlaying(AudioChannel channel); + + void Destroy(); + + void Update3DAttributes(Vector3 vec, AudioChannel channel = AudioChannel.Action); + + void PlayOneShot(string key, Vector3 pos); + + void Init(GameObject go, Rigidbody rigidbody); + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/IXFmod.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/IXFmod.cs.meta new file mode 100644 index 00000000..1734cdf5 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/IXFmod.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 02592f784aac5f54ea434db11d3db751 +timeCreated: 1611465285 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/IXFmodBus.cs b/Client/Assets/Scripts/XUtliPoolLib/IXFmodBus.cs new file mode 100644 index 00000000..77bdc693 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/IXFmodBus.cs @@ -0,0 +1,22 @@ +using System; +using UnityEngine; + +namespace XUtliPoolLib +{ + public interface IXFmodBus : IXInterface + { + void SetBusVolume(string bus, float volume); + + void SetMainVolume(float volume); + + void SetBGMVolume(float volume); + + void SetSFXVolume(float volume); + + void PlayOneShot(string key, Vector3 pos); + + void StartEvent(string key); + + void StopEvent(); + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/IXFmodBus.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/IXFmodBus.cs.meta new file mode 100644 index 00000000..c662b5cf --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/IXFmodBus.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: fa80c770e61a49547beaf1f7e155f400 +timeCreated: 1611465810 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/IXGameSirControl.cs b/Client/Assets/Scripts/XUtliPoolLib/IXGameSirControl.cs new file mode 100644 index 00000000..6baa681e --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/IXGameSirControl.cs @@ -0,0 +1,25 @@ +using System; + +namespace XUtliPoolLib +{ + public interface IXGameSirControl + { + bool IsOpen { get; } + + void Init(); + + void StartSir(); + + void StopSir(); + + bool IsConnected(); + + int GetGameSirState(); + + bool GetButton(string buttonName); + + float GetAxis(string axisName); + + void ShowGameSirDialog(); + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/IXGameSirControl.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/IXGameSirControl.cs.meta new file mode 100644 index 00000000..77d95716 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/IXGameSirControl.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: add1b601117d78c49afeb8586486a394 +timeCreated: 1611465742 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/IXGameUI.cs b/Client/Assets/Scripts/XUtliPoolLib/IXGameUI.cs new file mode 100644 index 00000000..593a067d --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/IXGameUI.cs @@ -0,0 +1,26 @@ +using System; +using UnityEngine; + +namespace XUtliPoolLib +{ + public interface IXGameUI : IXInterface + { + Transform UIRoot { get; set; } + + GameObject[] buttonTpl { get; } + + GameObject[] spriteTpl { get; } + + GameObject DlgControllerTpl { get; } + + int Base_UI_Width { get; set; } + + int Base_UI_Height { get; set; } + + Camera UICamera { get; set; } + + void OnGenericClick(); + + void SetOverlayAlpha(float alpha); + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/IXGameUI.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/IXGameUI.cs.meta new file mode 100644 index 00000000..f536c71c --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/IXGameUI.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: f9ada18caa26c4e4b8813ae7201f297b +timeCreated: 1611465810 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/IXHUDDescription.cs b/Client/Assets/Scripts/XUtliPoolLib/IXHUDDescription.cs new file mode 100644 index 00000000..4929d0fa --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/IXHUDDescription.cs @@ -0,0 +1,14 @@ +using System; +using UnityEngine; + +namespace XUtliPoolLib +{ + public interface IXHUDDescription : IXInterface + { + AnimationCurve GetPosCurve(); + + AnimationCurve GetAlphaCurve(); + + AnimationCurve GetScaleCurve(); + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/IXHUDDescription.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/IXHUDDescription.cs.meta new file mode 100644 index 00000000..7847692e --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/IXHUDDescription.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: da544c4884a84d34a82d594ec3d66c34 +timeCreated: 1611465765 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/IXIFlyMgr.cs b/Client/Assets/Scripts/XUtliPoolLib/IXIFlyMgr.cs new file mode 100644 index 00000000..d572083f --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/IXIFlyMgr.cs @@ -0,0 +1,56 @@ +using System; +using UnityEngine; + +namespace XUtliPoolLib +{ + public interface IXIFlyMgr : IXInterface + { + int StartRecord(); + + void StopRecord(); + + void Cancel(); + + string StartTransMp3(string destFileName); + + AudioClip GetAudioClip(string filepath); + + void SetCallback(Action action); + + void SetVoiceCallback(Action action); + + bool IsIFlyListening(); + + bool IsRecordFileExist(); + + bool IsInited(); + + bool ScreenShotQQShare(string filepath, string isZone); + + bool ScreenShotWeChatShare(string filepath, string isZone); + + bool ScreenShotSave(string filepath); + + bool RefreshAndroidPhotoView(string androidpath); + + bool ShareWechatLink(string desc, string logopath, string url, bool issession); + + bool ShareWechatLinkWithMediaTag(string desc, string logopath, string url, bool issession, string media); + + bool ShareQZoneLink(string title, string summary, string url, string logopath, bool issession); + + bool OnOpenWebView(); + + void OnInitWebViewInfo(int platform, string openid, string serverid, string roleid, string nickname); + + void OnEvalJsScript(string script); + + void OnCloseWebView(); + + void OnScreenLock(bool islock); + + void RefershWebViewShow(bool show); + + MonoBehaviour GetMonoBehavior(); + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/IXIFlyMgr.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/IXIFlyMgr.cs.meta new file mode 100644 index 00000000..f1d89026 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/IXIFlyMgr.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 2f2726282939e1e429888554520c16d7 +timeCreated: 1611465306 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/IXInterface.cs b/Client/Assets/Scripts/XUtliPoolLib/IXInterface.cs new file mode 100644 index 00000000..cf356b47 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/IXInterface.cs @@ -0,0 +1,9 @@ +using System; + +namespace XUtliPoolLib +{ + public interface IXInterface + { + bool Deprecated { get; set; } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/IXInterface.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/IXInterface.cs.meta new file mode 100644 index 00000000..1e0c8acc --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/IXInterface.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 79897f3257e4f83498a4725b42c0cfe1 +timeCreated: 1611465692 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/IXNGUI.cs b/Client/Assets/Scripts/XUtliPoolLib/IXNGUI.cs new file mode 100644 index 00000000..cf9bc527 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/IXNGUI.cs @@ -0,0 +1,30 @@ +using System; +using UnityEngine; + +namespace XUtliPoolLib +{ + public interface IXNGUI : IXInterface + { + bool XNGUIEnable(); + + GameObject XNGUICreate(string locate); + + GameObject XPrefabCreate(string locate); + + bool XNGUIDestory(UnityEngine.Object o); + + T XNGUIResource(string locate, bool ignore_null) where T : UnityEngine.Object; + + AssetBundleRequest XNGUISharedResourceAsync(string locate, bool ignore_null = false) where T : UnityEngine.Object; + + bool XNGUIIsDecompress(); + + bool XNGUIDecompressStreamAssets(Action percent); + + string XNGUIGetDecompressProgress(); + + bool XNGUIDecompressZipBytes(string zipFile, byte[] stream); + + void XNGUIWWW(Action errorinfo); + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/IXNGUI.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/IXNGUI.cs.meta new file mode 100644 index 00000000..ba403081 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/IXNGUI.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 6a328a2483b4b484aa0affca9b3943b1 +timeCreated: 1611465684 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/IXNGUICallback.cs b/Client/Assets/Scripts/XUtliPoolLib/IXNGUICallback.cs new file mode 100644 index 00000000..e62c0c78 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/IXNGUICallback.cs @@ -0,0 +1,12 @@ +using System; +using UnityEngine; + +namespace XUtliPoolLib +{ + public interface IXNGUICallback + { + void RegisterClickEventHandler(IXNGUIClickEventHandler handler); + + GameObject SetXUILable(string name, string content); + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/IXNGUICallback.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/IXNGUICallback.cs.meta new file mode 100644 index 00000000..a5eade48 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/IXNGUICallback.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: ccfd3fba1ca82b3489e153c5cc30f9fb +timeCreated: 1611465759 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/IXNGUIClickEventHandler.cs b/Client/Assets/Scripts/XUtliPoolLib/IXNGUIClickEventHandler.cs new file mode 100644 index 00000000..bfe050f6 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/IXNGUIClickEventHandler.cs @@ -0,0 +1,7 @@ +using System; +using UnityEngine; + +namespace XUtliPoolLib +{ + public delegate void IXNGUIClickEventHandler(GameObject obj, string clickpath); +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/IXNGUIClickEventHandler.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/IXNGUIClickEventHandler.cs.meta new file mode 100644 index 00000000..c0cfea6e --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/IXNGUIClickEventHandler.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: ceccb84faf4cabc46be22a12564946a8 +timeCreated: 1611465760 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/IXNormalItemDrawer.cs b/Client/Assets/Scripts/XUtliPoolLib/IXNormalItemDrawer.cs new file mode 100644 index 00000000..4c7b5dca --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/IXNormalItemDrawer.cs @@ -0,0 +1,10 @@ +using System; +using UnityEngine; + +namespace XUtliPoolLib +{ + public interface IXNormalItemDrawer : IXInterface + { + void DrawItem(GameObject go, int itemID, int count, bool showCount); + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/IXNormalItemDrawer.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/IXNormalItemDrawer.cs.meta new file mode 100644 index 00000000..84cadd26 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/IXNormalItemDrawer.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 95822330efabd6c4d945ef57554cd83c +timeCreated: 1611465708 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/IXOperationRecord.cs b/Client/Assets/Scripts/XUtliPoolLib/IXOperationRecord.cs new file mode 100644 index 00000000..2081b440 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/IXOperationRecord.cs @@ -0,0 +1,10 @@ +using System; +using UnityEngine; + +namespace XUtliPoolLib +{ + public interface IXOperationRecord : IXInterface + { + int FindRecordID(Transform go); + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/IXOperationRecord.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/IXOperationRecord.cs.meta new file mode 100644 index 00000000..815570c3 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/IXOperationRecord.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: ddacc2eaac7f2f04c8fae6432b083d16 +timeCreated: 1611465797 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/IXPandoraMgr.cs b/Client/Assets/Scripts/XUtliPoolLib/IXPandoraMgr.cs new file mode 100644 index 00000000..0a74e6b6 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/IXPandoraMgr.cs @@ -0,0 +1,59 @@ +using System; +using System.Collections.Generic; +using UnityEngine; + +namespace XUtliPoolLib +{ + public interface IXPandoraMgr : IXInterface + { + void SetUseHttps(int use); + + void PandoraLogin(string openid, string acctype, string area, string areaID, string appId, string roleID, string accessToken, string payToken, string gameVersion, string platID); + + void PopPLPanel(); + + void CloseAllPandoraPanel(); + + void ClosePandoraTabPanel(string module); + + void SetPandoraPanelParent(string panelName, GameObject panelParent); + + void PandoraDo(Dictionary commandDict); + + void PandoraDoJson(string json); + + void PandoraInit(bool isProductEnvironment, string rootName = ""); + + void PandoraLogout(); + + void SetFont(Font font); + + void NoticePandoraShareResult(string result); + + void LoadProgramAsset(); + + void SetUserData(Dictionary data); + + void SetGameCallback(Action> callback); + + void SetJsonGameCallback(Action callback); + + bool IsActivityTabShow(string tabName); + + bool IsActivityTabShow(int sysID); + + bool IsActivityTabShowByContent(string tabContent); + + void PopPreLossActivity(bool pop); + + void NoticePandoraBuyGoodsResult(string result); + + List GetAllTabInfo(); + + List GetAllPopInfo(); + + void OnJsonPandoraEvent(string json); + + Bounds GetBoundsIncludesChildren(Transform trans); + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/IXPandoraMgr.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/IXPandoraMgr.cs.meta new file mode 100644 index 00000000..d2b5ed84 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/IXPandoraMgr.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: a987845d036d8f44db639726c788d1c7 +timeCreated: 1611465739 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/IXPlayerAction.cs b/Client/Assets/Scripts/XUtliPoolLib/IXPlayerAction.cs new file mode 100644 index 00000000..44e42cb5 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/IXPlayerAction.cs @@ -0,0 +1,40 @@ +using System; +using UnityEngine; + +namespace XUtliPoolLib +{ + public interface IXPlayerAction : IXInterface + { + bool IsValid { get; } + + void CameraWallEnter(AnimationCurve curve, Vector3 intersection, Vector3 cornerdir, float sector, float inDegree, float outDegree, bool positive); + + void CameraWallExit(float angle); + + void CameraWallVertical(float angle); + + void SetExternalString(string exString, bool bOnce); + + void TransferToSceneLocation(Vector3 pos, Vector3 forward); + + void TransferToNewScene(uint sceneID); + + void PlayCutScene(string cutscene); + + void GotoBattle(); + + void GotoTerritoryBattle(int index); + + void GotoNest(); + + void GotoFishing(int seatIndex, bool bFishing); + + void GotoYororuya(); + + Vector3 PlayerPosition(bool notplayertrigger); + + Vector3 PlayerLastPosition(bool notplayertrigger); + + void RefreshPosition(); + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/IXPlayerAction.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/IXPlayerAction.cs.meta new file mode 100644 index 00000000..3e2674a6 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/IXPlayerAction.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 4600c8a54cba4654d948fa1e5a19d68b +timeCreated: 1611465638 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/IXPositionGroup.cs b/Client/Assets/Scripts/XUtliPoolLib/IXPositionGroup.cs new file mode 100644 index 00000000..b7fa3b70 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/IXPositionGroup.cs @@ -0,0 +1,12 @@ +using System; +using UnityEngine; + +namespace XUtliPoolLib +{ + public interface IXPositionGroup + { + void SetGroup(int index); + + Vector3 GetGroup(int index); + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/IXPositionGroup.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/IXPositionGroup.cs.meta new file mode 100644 index 00000000..efaa982e --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/IXPositionGroup.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 271b40cd4214218408a9ada0045687eb +timeCreated: 1611465301 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/IXRedpointDirtyMgr.cs b/Client/Assets/Scripts/XUtliPoolLib/IXRedpointDirtyMgr.cs new file mode 100644 index 00000000..f4e01de6 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/IXRedpointDirtyMgr.cs @@ -0,0 +1,9 @@ +using System; + +namespace XUtliPoolLib +{ + internal interface IXRedpointDirtyMgr + { + void RecalculateRedPointState(int sys, bool bImmUpdateUI = true); + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/IXRedpointDirtyMgr.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/IXRedpointDirtyMgr.cs.meta new file mode 100644 index 00000000..92ff45d4 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/IXRedpointDirtyMgr.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 44b5d00051449084c8cb74f65d44ba8d +timeCreated: 1611465637 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/IXRedpointExMgr.cs b/Client/Assets/Scripts/XUtliPoolLib/IXRedpointExMgr.cs new file mode 100644 index 00000000..856c2c9e --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/IXRedpointExMgr.cs @@ -0,0 +1,13 @@ +using System; + +namespace XUtliPoolLib +{ + internal interface IXRedpointExMgr : IXRedpointMgr, IXRedpointRelationMgr, IXRedpointForbidMgr + { + void SetCurrentLevel(uint level); + + void AddSysForbidLevels(int sys, uint level); + + void RemoveSysForbidLevels(int sys, uint level); + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/IXRedpointExMgr.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/IXRedpointExMgr.cs.meta new file mode 100644 index 00000000..a01ad6db --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/IXRedpointExMgr.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 9674a00f771f3de4881c797a783a443c +timeCreated: 1611465708 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/IXRedpointForbidMgr.cs b/Client/Assets/Scripts/XUtliPoolLib/IXRedpointForbidMgr.cs new file mode 100644 index 00000000..7062340a --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/IXRedpointForbidMgr.cs @@ -0,0 +1,17 @@ +using System; + +namespace XUtliPoolLib +{ + internal interface IXRedpointForbidMgr + { + void AddForbid(int sys, bool bImmUpdateUI = true); + + void AddForbids(int[] systems, bool bImmUpdateUI = true); + + void RemoveForbid(int sys, bool bImmUpdateUI = true); + + void RemoveForbids(int[] systems, bool bImmUpdateUI = true); + + void ClearForbids(bool bImmUpdateUI = true); + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/IXRedpointForbidMgr.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/IXRedpointForbidMgr.cs.meta new file mode 100644 index 00000000..aac2cb97 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/IXRedpointForbidMgr.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 93469c20c1bc8d743be1519e7da0c729 +timeCreated: 1611465706 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/IXRedpointMgr.cs b/Client/Assets/Scripts/XUtliPoolLib/IXRedpointMgr.cs new file mode 100644 index 00000000..d64e0c46 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/IXRedpointMgr.cs @@ -0,0 +1,18 @@ +using System; +using UnityEngine; + +namespace XUtliPoolLib +{ + internal interface IXRedpointMgr : IXRedpointRelationMgr, IXRedpointForbidMgr + { + void AddSysRedpointUI(int sys, GameObject go, SetRedpointUIHandler callback = null); + + void RemoveSysRedpointUI(int sys, GameObject go); + + void RemoveAllSysRedpointsUI(int sys); + + void ClearAllSysRedpointsUI(); + + void SetSysRedpointState(int sys, bool redpoint, bool bImmUpdateUI = true); + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/IXRedpointMgr.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/IXRedpointMgr.cs.meta new file mode 100644 index 00000000..32aa3e45 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/IXRedpointMgr.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: e4bf011f29f83a045939f3f7644a19f1 +timeCreated: 1611465801 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/IXRedpointRelationMgr.cs b/Client/Assets/Scripts/XUtliPoolLib/IXRedpointRelationMgr.cs new file mode 100644 index 00000000..3442242d --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/IXRedpointRelationMgr.cs @@ -0,0 +1,19 @@ +using System; + +namespace XUtliPoolLib +{ + internal interface IXRedpointRelationMgr + { + void AddRelation(int child, int parent, bool bImmUpdateUI = false); + + void AddRelations(int child, int[] parents, bool bImmUpdateUI = false); + + void RemoveRelation(int child, int parent, bool bImmUpdateUI = false); + + void RemoveRelations(int child, int[] parents, bool bImmUpdateUI = false); + + void RemoveAllRelations(int child, bool bImmUpdateUI = false); + + void ClearAllRelations(bool bImmUpdateUI = false); + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/IXRedpointRelationMgr.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/IXRedpointRelationMgr.cs.meta new file mode 100644 index 00000000..e78f6099 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/IXRedpointRelationMgr.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 432d9b133c4234c4383f68c4f0d02dc5 +timeCreated: 1611465636 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/IXScene.cs b/Client/Assets/Scripts/XUtliPoolLib/IXScene.cs new file mode 100644 index 00000000..33c5a2e9 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/IXScene.cs @@ -0,0 +1,13 @@ +using System; + +namespace XUtliPoolLib +{ + public interface IXScene + { + bool XSceneLoadScene(string scenename, Action progress); + + bool XSceneIsDone(); + + bool XSceneEnable(string scenename); + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/IXScene.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/IXScene.cs.meta new file mode 100644 index 00000000..589e703c --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/IXScene.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 4072242d02dc3b641b1b3065e895f9fb +timeCreated: 1611465635 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/IXSceneOperation.cs b/Client/Assets/Scripts/XUtliPoolLib/IXSceneOperation.cs new file mode 100644 index 00000000..32448050 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/IXSceneOperation.cs @@ -0,0 +1,9 @@ +using System; + +namespace XUtliPoolLib +{ + public interface IXSceneOperation : IXInterface + { + void SetLightMap(); + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/IXSceneOperation.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/IXSceneOperation.cs.meta new file mode 100644 index 00000000..2a202ee0 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/IXSceneOperation.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: e9129bccf68b74d4db72bd377b2dac8c +timeCreated: 1611465803 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/IXTutorial.cs b/Client/Assets/Scripts/XUtliPoolLib/IXTutorial.cs new file mode 100644 index 00000000..c6f2a9a8 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/IXTutorial.cs @@ -0,0 +1,13 @@ +using System; + +namespace XUtliPoolLib +{ + public interface IXTutorial : IXInterface + { + bool NoforceClick { get; } + + bool Exculsive { get; } + + void OnTutorialClicked(); + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/IXTutorial.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/IXTutorial.cs.meta new file mode 100644 index 00000000..2d3f7409 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/IXTutorial.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 3f5d2e64015073941b0e32005d82fd8a +timeCreated: 1611465634 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/IXTweenFadeIn.cs b/Client/Assets/Scripts/XUtliPoolLib/IXTweenFadeIn.cs new file mode 100644 index 00000000..090db05d --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/IXTweenFadeIn.cs @@ -0,0 +1,11 @@ +using System; + +namespace XUtliPoolLib +{ + public interface IXTweenFadeIn + { + void PlayFadeIn(); + + void ResetGroupDelay(); + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/IXTweenFadeIn.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/IXTweenFadeIn.cs.meta new file mode 100644 index 00000000..0a36e1df --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/IXTweenFadeIn.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 76848651b489df54e96497aab0d6d9a5 +timeCreated: 1611465689 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/IXVideo.cs b/Client/Assets/Scripts/XUtliPoolLib/IXVideo.cs new file mode 100644 index 00000000..b306dd38 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/IXVideo.cs @@ -0,0 +1,13 @@ +using System; + +namespace XUtliPoolLib +{ + public interface IXVideo : IXInterface + { + bool isPlaying { get; } + + void Play(bool loop = false); + + void Stop(); + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/IXVideo.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/IXVideo.cs.meta new file mode 100644 index 00000000..de717a48 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/IXVideo.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 440e894e41f22de4389e77aef5e97f39 +timeCreated: 1611465637 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/Ionic.meta b/Client/Assets/Scripts/XUtliPoolLib/Ionic.meta new file mode 100644 index 00000000..232202c1 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/Ionic.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 99bc0df6913d3894f8762052e9fb42b9 +folderAsset: yes +timeCreated: 1611465283 +licenseType: Free +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/Ionic/Crc.meta b/Client/Assets/Scripts/XUtliPoolLib/Ionic/Crc.meta new file mode 100644 index 00000000..6d786460 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/Ionic/Crc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 058a44ad22d74f1458b1d9515bf232c2 +folderAsset: yes +timeCreated: 1611465283 +licenseType: Free +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/Ionic/Crc/CRC32.cs b/Client/Assets/Scripts/XUtliPoolLib/Ionic/Crc/CRC32.cs new file mode 100644 index 00000000..c73c17eb --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/Ionic/Crc/CRC32.cs @@ -0,0 +1,286 @@ +using System; +using System.IO; +using System.Runtime.InteropServices; + +namespace Ionic.Crc +{ + [Guid("ebc25cf6-9120-4283-b972-0e5520d0000C")] + [ComVisible(true)] + [ClassInterface(ClassInterfaceType.AutoDispatch)] + public class CRC32 + { + public long TotalBytesRead + { + get + { + return this._TotalBytesRead; + } + } + + public int Crc32Result + { + get + { + return (int)(~(int)this._register); + } + } + + private uint dwPolynomial; + + private long _TotalBytesRead; + + private bool reverseBits; + + private uint[] crc32Table; + + private const int BUFFER_SIZE = 8192; + + private uint _register = uint.MaxValue; + + public int GetCrc32(Stream input) + { + return this.GetCrc32AndCopy(input, null); + } + + public int GetCrc32AndCopy(Stream input, Stream output) + { + bool flag = input == null; + if (flag) + { + throw new Exception("The input stream must not be null."); + } + byte[] array = new byte[8192]; + int count = 8192; + this._TotalBytesRead = 0L; + int i = input.Read(array, 0, count); + bool flag2 = output != null; + if (flag2) + { + output.Write(array, 0, i); + } + this._TotalBytesRead += (long)i; + while (i > 0) + { + this.SlurpBlock(array, 0, i); + i = input.Read(array, 0, count); + bool flag3 = output != null; + if (flag3) + { + output.Write(array, 0, i); + } + this._TotalBytesRead += (long)i; + } + return (int)(~(int)this._register); + } + + public int ComputeCrc32(int W, byte B) + { + return this._InternalComputeCrc32((uint)W, B); + } + + internal int _InternalComputeCrc32(uint W, byte B) + { + return (int)(this.crc32Table[(int)((W ^ (uint)B) & 255u)] ^ W >> 8); + } + + public void SlurpBlock(byte[] block, int offset, int count) + { + bool flag = block == null; + if (flag) + { + throw new Exception("The data buffer must not be null."); + } + for (int i = 0; i < count; i++) + { + int num = offset + i; + byte b = block[num]; + bool flag2 = this.reverseBits; + if (flag2) + { + uint num2 = this._register >> 24 ^ (uint)b; + this._register = (this._register << 8 ^ this.crc32Table[(int)num2]); + } + else + { + uint num3 = (this._register & 255u) ^ (uint)b; + this._register = (this._register >> 8 ^ this.crc32Table[(int)num3]); + } + } + this._TotalBytesRead += (long)count; + } + + public void UpdateCRC(byte b) + { + bool flag = this.reverseBits; + if (flag) + { + uint num = this._register >> 24 ^ (uint)b; + this._register = (this._register << 8 ^ this.crc32Table[(int)num]); + } + else + { + uint num2 = (this._register & 255u) ^ (uint)b; + this._register = (this._register >> 8 ^ this.crc32Table[(int)num2]); + } + } + + public void UpdateCRC(byte b, int n) + { + while (n-- > 0) + { + bool flag = this.reverseBits; + if (flag) + { + uint num = this._register >> 24 ^ (uint)b; + this._register = (this._register << 8 ^ this.crc32Table[(int)((num >= 0u) ? num : (num + 256u))]); + } + else + { + uint num2 = (this._register & 255u) ^ (uint)b; + this._register = (this._register >> 8 ^ this.crc32Table[(int)((num2 >= 0u) ? num2 : (num2 + 256u))]); + } + } + } + + private static uint ReverseBits(uint data) + { + uint num = (data & 1431655765u) << 1 | (data >> 1 & 1431655765u); + num = ((num & 858993459u) << 2 | (num >> 2 & 858993459u)); + num = ((num & 252645135u) << 4 | (num >> 4 & 252645135u)); + return num << 24 | (num & 65280u) << 8 | (num >> 8 & 65280u) | num >> 24; + } + + private static byte ReverseBits(byte data) + { + uint num = (uint)data * 131586u; + uint num2 = 17055760u; + uint num3 = num & num2; + uint num4 = num << 2 & num2 << 1; + return (byte)(16781313u * (num3 + num4) >> 24); + } + + private void GenerateLookupTable() + { + this.crc32Table = new uint[256]; + byte b = 0; + do + { + uint num = (uint)b; + for (byte b2 = 8; b2 > 0; b2 -= 1) + { + bool flag = (num & 1u) == 1u; + if (flag) + { + num = (num >> 1 ^ this.dwPolynomial); + } + else + { + num >>= 1; + } + } + bool flag2 = this.reverseBits; + if (flag2) + { + this.crc32Table[(int)CRC32.ReverseBits(b)] = CRC32.ReverseBits(num); + } + else + { + this.crc32Table[(int)b] = num; + } + b += 1; + } + while (b > 0); + } + + private uint gf2_matrix_times(uint[] matrix, uint vec) + { + uint num = 0u; + int num2 = 0; + while (vec > 0u) + { + bool flag = (vec & 1u) == 1u; + if (flag) + { + num ^= matrix[num2]; + } + vec >>= 1; + num2++; + } + return num; + } + + private void gf2_matrix_square(uint[] square, uint[] mat) + { + for (int i = 0; i < 32; i++) + { + square[i] = this.gf2_matrix_times(mat, mat[i]); + } + } + + public void Combine(int crc, int length) + { + uint[] array = new uint[32]; + uint[] array2 = new uint[32]; + bool flag = length == 0; + if (!flag) + { + uint num = ~this._register; + array2[0] = this.dwPolynomial; + uint num2 = 1u; + for (int i = 1; i < 32; i++) + { + array2[i] = num2; + num2 <<= 1; + } + this.gf2_matrix_square(array, array2); + this.gf2_matrix_square(array2, array); + uint num3 = (uint)length; + do + { + this.gf2_matrix_square(array, array2); + bool flag2 = (num3 & 1u) == 1u; + if (flag2) + { + num = this.gf2_matrix_times(array, num); + } + num3 >>= 1; + bool flag3 = num3 == 0u; + if (flag3) + { + break; + } + this.gf2_matrix_square(array2, array); + bool flag4 = (num3 & 1u) == 1u; + if (flag4) + { + num = this.gf2_matrix_times(array2, num); + } + num3 >>= 1; + } + while (num3 > 0u); + num ^= (uint)crc; + this._register = ~num; + } + } + + public CRC32() : this(false) + { + } + + public CRC32(bool reverseBits) : this(-306674912, reverseBits) + { + } + + public CRC32(int polynomial, bool reverseBits) + { + this.reverseBits = reverseBits; + this.dwPolynomial = (uint)polynomial; + this.GenerateLookupTable(); + } + + public void Reset() + { + this._register = uint.MaxValue; + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/Ionic/Crc/CRC32.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/Ionic/Crc/CRC32.cs.meta new file mode 100644 index 00000000..15ba7c25 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/Ionic/Crc/CRC32.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: e7561e05e3adb2248a384ca19e751de7 +timeCreated: 1611465802 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/Ionic/Crc/CrcCalculatorStream.cs b/Client/Assets/Scripts/XUtliPoolLib/Ionic/Crc/CrcCalculatorStream.cs new file mode 100644 index 00000000..fb6dc520 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/Ionic/Crc/CrcCalculatorStream.cs @@ -0,0 +1,210 @@ +using System; +using System.IO; + +namespace Ionic.Crc +{ + public class CrcCalculatorStream : Stream, IDisposable + { + public long TotalBytesSlurped + { + get + { + return this._Crc32.TotalBytesRead; + } + } + + public int Crc + { + get + { + return this._Crc32.Crc32Result; + } + } + + public bool LeaveOpen + { + get + { + return this._leaveOpen; + } + set + { + this._leaveOpen = value; + } + } + + public override bool CanRead + { + get + { + return this._innerStream.CanRead; + } + } + + public override bool CanSeek + { + get + { + return false; + } + } + + public override bool CanWrite + { + get + { + return this._innerStream.CanWrite; + } + } + + public override long Length + { + get + { + bool flag = this._lengthLimit == CrcCalculatorStream.UnsetLengthLimit; + long result; + if (flag) + { + result = this._innerStream.Length; + } + else + { + result = this._lengthLimit; + } + return result; + } + } + + public override long Position + { + get + { + return this._Crc32.TotalBytesRead; + } + set + { + throw new NotSupportedException(); + } + } + + private static readonly long UnsetLengthLimit = -99L; + + internal Stream _innerStream; + + private CRC32 _Crc32; + + private long _lengthLimit = -99L; + + private bool _leaveOpen; + + public CrcCalculatorStream(Stream stream) : this(true, CrcCalculatorStream.UnsetLengthLimit, stream, null) + { + } + + public CrcCalculatorStream(Stream stream, bool leaveOpen) : this(leaveOpen, CrcCalculatorStream.UnsetLengthLimit, stream, null) + { + } + + public CrcCalculatorStream(Stream stream, long length) : this(true, length, stream, null) + { + bool flag = length < 0L; + if (flag) + { + throw new ArgumentException("length"); + } + } + + public CrcCalculatorStream(Stream stream, long length, bool leaveOpen) : this(leaveOpen, length, stream, null) + { + bool flag = length < 0L; + if (flag) + { + throw new ArgumentException("length"); + } + } + + public CrcCalculatorStream(Stream stream, long length, bool leaveOpen, CRC32 crc32) : this(leaveOpen, length, stream, crc32) + { + bool flag = length < 0L; + if (flag) + { + throw new ArgumentException("length"); + } + } + + private CrcCalculatorStream(bool leaveOpen, long length, Stream stream, CRC32 crc32) + { + this._innerStream = stream; + this._Crc32 = (crc32 ?? new CRC32()); + this._lengthLimit = length; + this._leaveOpen = leaveOpen; + } + + public override int Read(byte[] buffer, int offset, int count) + { + int count2 = count; + bool flag = this._lengthLimit != CrcCalculatorStream.UnsetLengthLimit; + if (flag) + { + bool flag2 = this._Crc32.TotalBytesRead >= this._lengthLimit; + if (flag2) + { + return 0; + } + long num = this._lengthLimit - this._Crc32.TotalBytesRead; + bool flag3 = num < (long)count; + if (flag3) + { + count2 = (int)num; + } + } + int num2 = this._innerStream.Read(buffer, offset, count2); + bool flag4 = num2 > 0; + if (flag4) + { + this._Crc32.SlurpBlock(buffer, offset, num2); + } + return num2; + } + + public override void Write(byte[] buffer, int offset, int count) + { + bool flag = count > 0; + if (flag) + { + this._Crc32.SlurpBlock(buffer, offset, count); + } + this._innerStream.Write(buffer, offset, count); + } + + public override void Flush() + { + this._innerStream.Flush(); + } + + public override long Seek(long offset, SeekOrigin origin) + { + throw new NotSupportedException(); + } + + public override void SetLength(long value) + { + throw new NotSupportedException(); + } + + void IDisposable.Dispose() + { + this.Close(); + } + + public override void Close() + { + base.Close(); + bool flag = !this._leaveOpen; + if (flag) + { + this._innerStream.Close(); + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/Ionic/Crc/CrcCalculatorStream.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/Ionic/Crc/CrcCalculatorStream.cs.meta new file mode 100644 index 00000000..7004d0d4 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/Ionic/Crc/CrcCalculatorStream.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 997359f18cd5d9f4eb28827ec896167a +timeCreated: 1611465710 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib.meta b/Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib.meta new file mode 100644 index 00000000..6d828dab --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: daa797353e7a07b42baaba72ced4a26b +folderAsset: yes +timeCreated: 1611465283 +licenseType: Free +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib/Adler.cs b/Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib/Adler.cs new file mode 100644 index 00000000..f58e0e4a --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib/Adler.cs @@ -0,0 +1,81 @@ +using System; + +namespace Ionic.Zlib +{ + public sealed class Adler + { + private static readonly uint BASE = 65521u; + + private static readonly int NMAX = 5552; + + public static uint Adler32(uint adler, byte[] buf, int index, int len) + { + bool flag = buf == null; + uint result; + if (flag) + { + result = 1u; + } + else + { + uint num = adler & 65535u; + uint num2 = adler >> 16 & 65535u; + while (len > 0) + { + int i = (len < Adler.NMAX) ? len : Adler.NMAX; + len -= i; + while (i >= 16) + { + num += (uint)buf[index++]; + num2 += num; + num += (uint)buf[index++]; + num2 += num; + num += (uint)buf[index++]; + num2 += num; + num += (uint)buf[index++]; + num2 += num; + num += (uint)buf[index++]; + num2 += num; + num += (uint)buf[index++]; + num2 += num; + num += (uint)buf[index++]; + num2 += num; + num += (uint)buf[index++]; + num2 += num; + num += (uint)buf[index++]; + num2 += num; + num += (uint)buf[index++]; + num2 += num; + num += (uint)buf[index++]; + num2 += num; + num += (uint)buf[index++]; + num2 += num; + num += (uint)buf[index++]; + num2 += num; + num += (uint)buf[index++]; + num2 += num; + num += (uint)buf[index++]; + num2 += num; + num += (uint)buf[index++]; + num2 += num; + i -= 16; + } + bool flag2 = i != 0; + if (flag2) + { + do + { + num += (uint)buf[index++]; + num2 += num; + } + while (--i != 0); + } + num %= Adler.BASE; + num2 %= Adler.BASE; + } + result = (num2 << 16 | num); + } + return result; + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib/Adler.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib/Adler.cs.meta new file mode 100644 index 00000000..3847336e --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib/Adler.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: b41ba122cd186414691f6541fad6c9a4 +timeCreated: 1611465745 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib/BlockState.cs b/Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib/BlockState.cs new file mode 100644 index 00000000..821394fd --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib/BlockState.cs @@ -0,0 +1,12 @@ +using System; + +namespace Ionic.Zlib +{ + internal enum BlockState + { + NeedMore, + BlockDone, + FinishStarted, + FinishDone + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib/BlockState.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib/BlockState.cs.meta new file mode 100644 index 00000000..21ad02f0 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib/BlockState.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 68827052e097f0a47ad03b99e6ebc69b +timeCreated: 1611465683 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib/CompressionLevel.cs b/Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib/CompressionLevel.cs new file mode 100644 index 00000000..7b9dfefa --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib/CompressionLevel.cs @@ -0,0 +1,22 @@ +using System; + +namespace Ionic.Zlib +{ + public enum CompressionLevel + { + None, + Level0 = 0, + BestSpeed, + Level1 = 1, + Level2, + Level3, + Level4, + Level5, + Default, + Level6 = 6, + Level7, + Level8, + BestCompression, + Level9 = 9 + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib/CompressionLevel.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib/CompressionLevel.cs.meta new file mode 100644 index 00000000..01346c39 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib/CompressionLevel.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 84e41608826132c4a92549cfdc37f19d +timeCreated: 1611465695 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib/CompressionMode.cs b/Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib/CompressionMode.cs new file mode 100644 index 00000000..60c9981c --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib/CompressionMode.cs @@ -0,0 +1,10 @@ +using System; + +namespace Ionic.Zlib +{ + public enum CompressionMode + { + Compress, + Decompress + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib/CompressionMode.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib/CompressionMode.cs.meta new file mode 100644 index 00000000..987fd513 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib/CompressionMode.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 33117e8b329a46e4ba3118e4cc32200d +timeCreated: 1611465310 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib/CompressionStrategy.cs b/Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib/CompressionStrategy.cs new file mode 100644 index 00000000..30e740d8 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib/CompressionStrategy.cs @@ -0,0 +1,11 @@ +using System; + +namespace Ionic.Zlib +{ + public enum CompressionStrategy + { + Default, + Filtered, + HuffmanOnly + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib/CompressionStrategy.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib/CompressionStrategy.cs.meta new file mode 100644 index 00000000..7684d477 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib/CompressionStrategy.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 726df2559ddc4e748a2f85bac5421329 +timeCreated: 1611465688 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib/DeflateFlavor.cs b/Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib/DeflateFlavor.cs new file mode 100644 index 00000000..46f9234a --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib/DeflateFlavor.cs @@ -0,0 +1,11 @@ +using System; + +namespace Ionic.Zlib +{ + internal enum DeflateFlavor + { + Store, + Fast, + Slow + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib/DeflateFlavor.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib/DeflateFlavor.cs.meta new file mode 100644 index 00000000..cc9fa9df --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib/DeflateFlavor.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 2a0eff7773320894e9ae38e9438d323e +timeCreated: 1611465303 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib/DeflateManager.cs b/Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib/DeflateManager.cs new file mode 100644 index 00000000..45f89851 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib/DeflateManager.cs @@ -0,0 +1,1592 @@ +using System; + +namespace Ionic.Zlib +{ + internal sealed class DeflateManager + { + internal bool WantRfc1950HeaderBytes + { + get + { + return this._WantRfc1950HeaderBytes; + } + set + { + this._WantRfc1950HeaderBytes = value; + } + } + + private static readonly int MEM_LEVEL_MAX = 9; + + private static readonly int MEM_LEVEL_DEFAULT = 8; + + private DeflateManager.CompressFunc DeflateFunction; + + private static readonly string[] _ErrorMessage = new string[] + { + "need dictionary", + "stream end", + "", + "file error", + "stream error", + "data error", + "insufficient memory", + "buffer error", + "incompatible version", + "" + }; + + private static readonly int PRESET_DICT = 32; + + private static readonly int INIT_STATE = 42; + + private static readonly int BUSY_STATE = 113; + + private static readonly int FINISH_STATE = 666; + + private static readonly int Z_DEFLATED = 8; + + private static readonly int STORED_BLOCK = 0; + + private static readonly int STATIC_TREES = 1; + + private static readonly int DYN_TREES = 2; + + private static readonly int Z_BINARY = 0; + + private static readonly int Z_ASCII = 1; + + private static readonly int Z_UNKNOWN = 2; + + private static readonly int Buf_size = 16; + + private static readonly int MIN_MATCH = 3; + + private static readonly int MAX_MATCH = 258; + + private static readonly int MIN_LOOKAHEAD = DeflateManager.MAX_MATCH + DeflateManager.MIN_MATCH + 1; + + private static readonly int HEAP_SIZE = 2 * InternalConstants.L_CODES + 1; + + private static readonly int END_BLOCK = 256; + + internal ZlibCodec _codec; + + internal int status; + + internal byte[] pending; + + internal int nextPending; + + internal int pendingCount; + + internal sbyte data_type; + + internal int last_flush; + + internal int w_size; + + internal int w_bits; + + internal int w_mask; + + internal byte[] window; + + internal int window_size; + + internal short[] prev; + + internal short[] head; + + internal int ins_h; + + internal int hash_size; + + internal int hash_bits; + + internal int hash_mask; + + internal int hash_shift; + + internal int block_start; + + private DeflateManager.Config config; + + internal int match_length; + + internal int prev_match; + + internal int match_available; + + internal int strstart; + + internal int match_start; + + internal int lookahead; + + internal int prev_length; + + internal CompressionLevel compressionLevel; + + internal CompressionStrategy compressionStrategy; + + internal short[] dyn_ltree; + + internal short[] dyn_dtree; + + internal short[] bl_tree; + + internal Tree treeLiterals = new Tree(); + + internal Tree treeDistances = new Tree(); + + internal Tree treeBitLengths = new Tree(); + + internal short[] bl_count = new short[InternalConstants.MAX_BITS + 1]; + + internal int[] heap = new int[2 * InternalConstants.L_CODES + 1]; + + internal int heap_len; + + internal int heap_max; + + internal sbyte[] depth = new sbyte[2 * InternalConstants.L_CODES + 1]; + + internal int _lengthOffset; + + internal int lit_bufsize; + + internal int last_lit; + + internal int _distanceOffset; + + internal int opt_len; + + internal int static_len; + + internal int matches; + + internal int last_eob_len; + + internal short bi_buf; + + internal int bi_valid; + + private bool Rfc1950BytesEmitted = false; + + private bool _WantRfc1950HeaderBytes = true; + + internal delegate BlockState CompressFunc(FlushType flush); + + internal class Config + { + internal int GoodLength; + + internal int MaxLazy; + + internal int NiceLength; + + internal int MaxChainLength; + + internal DeflateFlavor Flavor; + + private static readonly DeflateManager.Config[] Table = new DeflateManager.Config[] + { + new DeflateManager.Config(0, 0, 0, 0, DeflateFlavor.Store), + new DeflateManager.Config(4, 4, 8, 4, DeflateFlavor.Fast), + new DeflateManager.Config(4, 5, 16, 8, DeflateFlavor.Fast), + new DeflateManager.Config(4, 6, 32, 32, DeflateFlavor.Fast), + new DeflateManager.Config(4, 4, 16, 16, DeflateFlavor.Slow), + new DeflateManager.Config(8, 16, 32, 32, DeflateFlavor.Slow), + new DeflateManager.Config(8, 16, 128, 128, DeflateFlavor.Slow), + new DeflateManager.Config(8, 32, 128, 256, DeflateFlavor.Slow), + new DeflateManager.Config(32, 128, 258, 1024, DeflateFlavor.Slow), + new DeflateManager.Config(32, 258, 258, 4096, DeflateFlavor.Slow) + }; + + private Config(int goodLength, int maxLazy, int niceLength, int maxChainLength, DeflateFlavor flavor) + { + this.GoodLength = goodLength; + this.MaxLazy = maxLazy; + this.NiceLength = niceLength; + this.MaxChainLength = maxChainLength; + this.Flavor = flavor; + } + + public static DeflateManager.Config Lookup(CompressionLevel level) + { + return DeflateManager.Config.Table[(int)level]; + } + } + + internal DeflateManager() + { + this.dyn_ltree = new short[DeflateManager.HEAP_SIZE * 2]; + this.dyn_dtree = new short[(2 * InternalConstants.D_CODES + 1) * 2]; + this.bl_tree = new short[(2 * InternalConstants.BL_CODES + 1) * 2]; + } + + private void _InitializeLazyMatch(bool setDeflater) + { + this.window_size = 2 * this.w_size; + Array.Clear(this.head, 0, this.hash_size); + this.config = DeflateManager.Config.Lookup(this.compressionLevel); + if (setDeflater) + { + this.SetDeflater(); + } + this.strstart = 0; + this.block_start = 0; + this.lookahead = 0; + this.match_length = (this.prev_length = DeflateManager.MIN_MATCH - 1); + this.match_available = 0; + this.ins_h = 0; + } + + private void _InitializeTreeData() + { + this.treeLiterals.dyn_tree = this.dyn_ltree; + this.treeLiterals.staticTree = StaticTree.Literals; + this.treeDistances.dyn_tree = this.dyn_dtree; + this.treeDistances.staticTree = StaticTree.Distances; + this.treeBitLengths.dyn_tree = this.bl_tree; + this.treeBitLengths.staticTree = StaticTree.BitLengths; + this.bi_buf = 0; + this.bi_valid = 0; + this.last_eob_len = 8; + this._InitializeBlocks(); + } + + internal void _InitializeBlocks() + { + for (int i = 0; i < InternalConstants.L_CODES; i++) + { + this.dyn_ltree[i * 2] = 0; + } + for (int j = 0; j < InternalConstants.D_CODES; j++) + { + this.dyn_dtree[j * 2] = 0; + } + for (int k = 0; k < InternalConstants.BL_CODES; k++) + { + this.bl_tree[k * 2] = 0; + } + this.dyn_ltree[DeflateManager.END_BLOCK * 2] = 1; + this.opt_len = (this.static_len = 0); + this.last_lit = (this.matches = 0); + } + + internal void pqdownheap(short[] tree, int k) + { + int num = this.heap[k]; + for (int i = k << 1; i <= this.heap_len; i <<= 1) + { + bool flag = i < this.heap_len && DeflateManager._IsSmaller(tree, this.heap[i + 1], this.heap[i], this.depth); + if (flag) + { + i++; + } + bool flag2 = DeflateManager._IsSmaller(tree, num, this.heap[i], this.depth); + if (flag2) + { + break; + } + this.heap[k] = this.heap[i]; + k = i; + } + this.heap[k] = num; + } + + internal static bool _IsSmaller(short[] tree, int n, int m, sbyte[] depth) + { + short num = tree[n * 2]; + short num2 = tree[m * 2]; + return num < num2 || (num == num2 && depth[n] <= depth[m]); + } + + internal void scan_tree(short[] tree, int max_code) + { + int num = -1; + int num2 = (int)tree[1]; + int num3 = 0; + int num4 = 7; + int num5 = 4; + bool flag = num2 == 0; + if (flag) + { + num4 = 138; + num5 = 3; + } + tree[(max_code + 1) * 2 + 1] = short.MaxValue; + for (int i = 0; i <= max_code; i++) + { + int num6 = num2; + num2 = (int)tree[(i + 1) * 2 + 1]; + bool flag2 = ++num3 < num4 && num6 == num2; + if (!flag2) + { + bool flag3 = num3 < num5; + if (flag3) + { + this.bl_tree[num6 * 2] = (short)((int)this.bl_tree[num6 * 2] + num3); + } + else + { + bool flag4 = num6 != 0; + if (flag4) + { + bool flag5 = num6 != num; + if (flag5) + { + short[] array = this.bl_tree; + int num7 = num6 * 2; + array[num7] += 1; + } + short[] array2 = this.bl_tree; + int num8 = InternalConstants.REP_3_6 * 2; + array2[num8] += 1; + } + else + { + bool flag6 = num3 <= 10; + if (flag6) + { + short[] array3 = this.bl_tree; + int num9 = InternalConstants.REPZ_3_10 * 2; + array3[num9] += 1; + } + else + { + short[] array4 = this.bl_tree; + int num10 = InternalConstants.REPZ_11_138 * 2; + array4[num10] += 1; + } + } + } + num3 = 0; + num = num6; + bool flag7 = num2 == 0; + if (flag7) + { + num4 = 138; + num5 = 3; + } + else + { + bool flag8 = num6 == num2; + if (flag8) + { + num4 = 6; + num5 = 3; + } + else + { + num4 = 7; + num5 = 4; + } + } + } + } + } + + internal int build_bl_tree() + { + this.scan_tree(this.dyn_ltree, this.treeLiterals.max_code); + this.scan_tree(this.dyn_dtree, this.treeDistances.max_code); + this.treeBitLengths.build_tree(this); + int i; + for (i = InternalConstants.BL_CODES - 1; i >= 3; i--) + { + bool flag = this.bl_tree[(int)(Tree.bl_order[i] * 2 + 1)] != 0; + if (flag) + { + break; + } + } + this.opt_len += 3 * (i + 1) + 5 + 5 + 4; + return i; + } + + internal void send_all_trees(int lcodes, int dcodes, int blcodes) + { + this.send_bits(lcodes - 257, 5); + this.send_bits(dcodes - 1, 5); + this.send_bits(blcodes - 4, 4); + for (int i = 0; i < blcodes; i++) + { + this.send_bits((int)this.bl_tree[(int)(Tree.bl_order[i] * 2 + 1)], 3); + } + this.send_tree(this.dyn_ltree, lcodes - 1); + this.send_tree(this.dyn_dtree, dcodes - 1); + } + + internal void send_tree(short[] tree, int max_code) + { + int num = -1; + int num2 = (int)tree[1]; + int num3 = 0; + int num4 = 7; + int num5 = 4; + bool flag = num2 == 0; + if (flag) + { + num4 = 138; + num5 = 3; + } + for (int i = 0; i <= max_code; i++) + { + int num6 = num2; + num2 = (int)tree[(i + 1) * 2 + 1]; + bool flag2 = ++num3 < num4 && num6 == num2; + if (!flag2) + { + bool flag3 = num3 < num5; + if (flag3) + { + do + { + this.send_code(num6, this.bl_tree); + } + while (--num3 != 0); + } + else + { + bool flag4 = num6 != 0; + if (flag4) + { + bool flag5 = num6 != num; + if (flag5) + { + this.send_code(num6, this.bl_tree); + num3--; + } + this.send_code(InternalConstants.REP_3_6, this.bl_tree); + this.send_bits(num3 - 3, 2); + } + else + { + bool flag6 = num3 <= 10; + if (flag6) + { + this.send_code(InternalConstants.REPZ_3_10, this.bl_tree); + this.send_bits(num3 - 3, 3); + } + else + { + this.send_code(InternalConstants.REPZ_11_138, this.bl_tree); + this.send_bits(num3 - 11, 7); + } + } + } + num3 = 0; + num = num6; + bool flag7 = num2 == 0; + if (flag7) + { + num4 = 138; + num5 = 3; + } + else + { + bool flag8 = num6 == num2; + if (flag8) + { + num4 = 6; + num5 = 3; + } + else + { + num4 = 7; + num5 = 4; + } + } + } + } + } + + private void put_bytes(byte[] p, int start, int len) + { + Array.Copy(p, start, this.pending, this.pendingCount, len); + this.pendingCount += len; + } + + internal void send_code(int c, short[] tree) + { + int num = c * 2; + this.send_bits((int)tree[num] & 65535, (int)tree[num + 1] & 65535); + } + + internal void send_bits(int value, int length) + { + bool flag = this.bi_valid > DeflateManager.Buf_size - length; + if (flag) + { + this.bi_buf |= (short)(value << this.bi_valid & 65535); + byte[] array = this.pending; + int num = this.pendingCount; + this.pendingCount = num + 1; + array[num] = (byte)this.bi_buf; + byte[] array2 = this.pending; + num = this.pendingCount; + this.pendingCount = num + 1; + array2[num] = (byte)(this.bi_buf >> 8); + this.bi_buf = (short)((uint)value >> DeflateManager.Buf_size - this.bi_valid); + this.bi_valid += length - DeflateManager.Buf_size; + } + else + { + this.bi_buf |= (short)(value << this.bi_valid & 65535); + this.bi_valid += length; + } + } + + internal void _tr_align() + { + this.send_bits(DeflateManager.STATIC_TREES << 1, 3); + this.send_code(DeflateManager.END_BLOCK, StaticTree.lengthAndLiteralsTreeCodes); + this.bi_flush(); + bool flag = 1 + this.last_eob_len + 10 - this.bi_valid < 9; + if (flag) + { + this.send_bits(DeflateManager.STATIC_TREES << 1, 3); + this.send_code(DeflateManager.END_BLOCK, StaticTree.lengthAndLiteralsTreeCodes); + this.bi_flush(); + } + this.last_eob_len = 7; + } + + internal bool _tr_tally(int dist, int lc) + { + this.pending[this._distanceOffset + this.last_lit * 2] = (byte)((uint)dist >> 8); + this.pending[this._distanceOffset + this.last_lit * 2 + 1] = (byte)dist; + this.pending[this._lengthOffset + this.last_lit] = (byte)lc; + this.last_lit++; + bool flag = dist == 0; + if (flag) + { + short[] array = this.dyn_ltree; + int num = lc * 2; + array[num] += 1; + } + else + { + this.matches++; + dist--; + short[] array2 = this.dyn_ltree; + int num2 = ((int)Tree.LengthCode[lc] + InternalConstants.LITERALS + 1) * 2; + array2[num2] += 1; + short[] array3 = this.dyn_dtree; + int num3 = Tree.DistanceCode(dist) * 2; + array3[num3] += 1; + } + bool flag2 = (this.last_lit & 8191) == 0 && this.compressionLevel > CompressionLevel.Level2; + if (flag2) + { + int num4 = this.last_lit << 3; + int num5 = this.strstart - this.block_start; + for (int i = 0; i < InternalConstants.D_CODES; i++) + { + num4 = (int)((long)num4 + (long)this.dyn_dtree[i * 2] * (5L + (long)Tree.ExtraDistanceBits[i])); + } + num4 >>= 3; + bool flag3 = this.matches < this.last_lit / 2 && num4 < num5 / 2; + if (flag3) + { + return true; + } + } + return this.last_lit == this.lit_bufsize - 1 || this.last_lit == this.lit_bufsize; + } + + internal void send_compressed_block(short[] ltree, short[] dtree) + { + int num = 0; + bool flag = this.last_lit != 0; + if (flag) + { + do + { + int num2 = this._distanceOffset + num * 2; + int num3 = ((int)this.pending[num2] << 8 & 65280) | (int)(this.pending[num2 + 1] & byte.MaxValue); + int num4 = (int)(this.pending[this._lengthOffset + num] & byte.MaxValue); + num++; + bool flag2 = num3 == 0; + if (flag2) + { + this.send_code(num4, ltree); + } + else + { + int num5 = (int)Tree.LengthCode[num4]; + this.send_code(num5 + InternalConstants.LITERALS + 1, ltree); + int num6 = Tree.ExtraLengthBits[num5]; + bool flag3 = num6 != 0; + if (flag3) + { + num4 -= Tree.LengthBase[num5]; + this.send_bits(num4, num6); + } + num3--; + num5 = Tree.DistanceCode(num3); + this.send_code(num5, dtree); + num6 = Tree.ExtraDistanceBits[num5]; + bool flag4 = num6 != 0; + if (flag4) + { + num3 -= Tree.DistanceBase[num5]; + this.send_bits(num3, num6); + } + } + } + while (num < this.last_lit); + } + this.send_code(DeflateManager.END_BLOCK, ltree); + this.last_eob_len = (int)ltree[DeflateManager.END_BLOCK * 2 + 1]; + } + + internal void set_data_type() + { + int i = 0; + int num = 0; + int num2 = 0; + while (i < 7) + { + num2 += (int)this.dyn_ltree[i * 2]; + i++; + } + while (i < 128) + { + num += (int)this.dyn_ltree[i * 2]; + i++; + } + while (i < InternalConstants.LITERALS) + { + num2 += (int)this.dyn_ltree[i * 2]; + i++; + } + this.data_type = (sbyte)((num2 > num >> 2) ? DeflateManager.Z_BINARY : DeflateManager.Z_ASCII); + } + + internal void bi_flush() + { + bool flag = this.bi_valid == 16; + if (flag) + { + byte[] array = this.pending; + int num = this.pendingCount; + this.pendingCount = num + 1; + array[num] = (byte)this.bi_buf; + byte[] array2 = this.pending; + num = this.pendingCount; + this.pendingCount = num + 1; + array2[num] = (byte)(this.bi_buf >> 8); + this.bi_buf = 0; + this.bi_valid = 0; + } + else + { + bool flag2 = this.bi_valid >= 8; + if (flag2) + { + byte[] array3 = this.pending; + int num = this.pendingCount; + this.pendingCount = num + 1; + array3[num] = (byte)this.bi_buf; + this.bi_buf = (short)(this.bi_buf >> 8); + this.bi_valid -= 8; + } + } + } + + internal void bi_windup() + { + bool flag = this.bi_valid > 8; + if (flag) + { + byte[] array = this.pending; + int num = this.pendingCount; + this.pendingCount = num + 1; + array[num] = (byte)this.bi_buf; + byte[] array2 = this.pending; + num = this.pendingCount; + this.pendingCount = num + 1; + array2[num] = (byte)(this.bi_buf >> 8); + } + else + { + bool flag2 = this.bi_valid > 0; + if (flag2) + { + byte[] array3 = this.pending; + int num = this.pendingCount; + this.pendingCount = num + 1; + array3[num] = (byte)this.bi_buf; + } + } + this.bi_buf = 0; + this.bi_valid = 0; + } + + internal void copy_block(int buf, int len, bool header) + { + this.bi_windup(); + this.last_eob_len = 8; + if (header) + { + byte[] array = this.pending; + int num = this.pendingCount; + this.pendingCount = num + 1; + array[num] = (byte)len; + byte[] array2 = this.pending; + num = this.pendingCount; + this.pendingCount = num + 1; + array2[num] = (byte)(len >> 8); + byte[] array3 = this.pending; + num = this.pendingCount; + this.pendingCount = num + 1; + array3[num] = (byte)(~(byte)len); + byte[] array4 = this.pending; + num = this.pendingCount; + this.pendingCount = num + 1; + array4[num] = (byte)(~len >> 8); + } + this.put_bytes(this.window, buf, len); + } + + internal void flush_block_only(bool eof) + { + this._tr_flush_block((this.block_start >= 0) ? this.block_start : -1, this.strstart - this.block_start, eof); + this.block_start = this.strstart; + this._codec.flush_pending(); + } + + internal BlockState DeflateNone(FlushType flush) + { + int num = 65535; + bool flag = num > this.pending.Length - 5; + if (flag) + { + num = this.pending.Length - 5; + } + for (;;) + { + bool flag2 = this.lookahead <= 1; + if (flag2) + { + this._fillWindow(); + bool flag3 = this.lookahead == 0 && flush == FlushType.None; + if (flag3) + { + break; + } + bool flag4 = this.lookahead == 0; + if (flag4) + { + goto Block_5; + } + } + this.strstart += this.lookahead; + this.lookahead = 0; + int num2 = this.block_start + num; + bool flag5 = this.strstart == 0 || this.strstart >= num2; + if (flag5) + { + this.lookahead = this.strstart - num2; + this.strstart = num2; + this.flush_block_only(false); + bool flag6 = this._codec.AvailableBytesOut == 0; + if (flag6) + { + goto Block_8; + } + } + bool flag7 = this.strstart - this.block_start >= this.w_size - DeflateManager.MIN_LOOKAHEAD; + if (flag7) + { + this.flush_block_only(false); + bool flag8 = this._codec.AvailableBytesOut == 0; + if (flag8) + { + goto Block_10; + } + } + } + return BlockState.NeedMore; + Block_5: + this.flush_block_only(flush == FlushType.Finish); + bool flag9 = this._codec.AvailableBytesOut == 0; + if (flag9) + { + return (flush == FlushType.Finish) ? BlockState.FinishStarted : BlockState.NeedMore; + } + return (flush == FlushType.Finish) ? BlockState.FinishDone : BlockState.BlockDone; + Block_8: + return BlockState.NeedMore; + Block_10: + return BlockState.NeedMore; + } + + internal void _tr_stored_block(int buf, int stored_len, bool eof) + { + this.send_bits((DeflateManager.STORED_BLOCK << 1) + (eof ? 1 : 0), 3); + this.copy_block(buf, stored_len, true); + } + + internal void _tr_flush_block(int buf, int stored_len, bool eof) + { + int num = 0; + bool flag = this.compressionLevel > CompressionLevel.None; + int num2; + int num3; + if (flag) + { + bool flag2 = (int)this.data_type == DeflateManager.Z_UNKNOWN; + if (flag2) + { + this.set_data_type(); + } + this.treeLiterals.build_tree(this); + this.treeDistances.build_tree(this); + num = this.build_bl_tree(); + num2 = this.opt_len + 3 + 7 >> 3; + num3 = this.static_len + 3 + 7 >> 3; + bool flag3 = num3 <= num2; + if (flag3) + { + num2 = num3; + } + } + else + { + num3 = (num2 = stored_len + 5); + } + bool flag4 = stored_len + 4 <= num2 && buf != -1; + if (flag4) + { + this._tr_stored_block(buf, stored_len, eof); + } + else + { + bool flag5 = num3 == num2; + if (flag5) + { + this.send_bits((DeflateManager.STATIC_TREES << 1) + (eof ? 1 : 0), 3); + this.send_compressed_block(StaticTree.lengthAndLiteralsTreeCodes, StaticTree.distTreeCodes); + } + else + { + this.send_bits((DeflateManager.DYN_TREES << 1) + (eof ? 1 : 0), 3); + this.send_all_trees(this.treeLiterals.max_code + 1, this.treeDistances.max_code + 1, num + 1); + this.send_compressed_block(this.dyn_ltree, this.dyn_dtree); + } + } + this._InitializeBlocks(); + if (eof) + { + this.bi_windup(); + } + } + + private void _fillWindow() + { + do + { + int num = this.window_size - this.lookahead - this.strstart; + bool flag = num == 0 && this.strstart == 0 && this.lookahead == 0; + int num2; + if (flag) + { + num = this.w_size; + } + else + { + bool flag2 = num == -1; + if (flag2) + { + num--; + } + else + { + bool flag3 = this.strstart >= this.w_size + this.w_size - DeflateManager.MIN_LOOKAHEAD; + if (flag3) + { + Array.Copy(this.window, this.w_size, this.window, 0, this.w_size); + this.match_start -= this.w_size; + this.strstart -= this.w_size; + this.block_start -= this.w_size; + num2 = this.hash_size; + int num3 = num2; + do + { + int num4 = (int)this.head[--num3] & 65535; + this.head[num3] = (short)((num4 >= this.w_size) ? (num4 - this.w_size) : 0); + } + while (--num2 != 0); + num2 = this.w_size; + num3 = num2; + do + { + int num4 = (int)this.prev[--num3] & 65535; + this.prev[num3] = (short)((num4 >= this.w_size) ? (num4 - this.w_size) : 0); + } + while (--num2 != 0); + num += this.w_size; + } + } + } + bool flag4 = this._codec.AvailableBytesIn == 0; + if (flag4) + { + break; + } + num2 = this._codec.read_buf(this.window, this.strstart + this.lookahead, num); + this.lookahead += num2; + bool flag5 = this.lookahead >= DeflateManager.MIN_MATCH; + if (flag5) + { + this.ins_h = (int)(this.window[this.strstart] & byte.MaxValue); + this.ins_h = ((this.ins_h << this.hash_shift ^ (int)(this.window[this.strstart + 1] & byte.MaxValue)) & this.hash_mask); + } + } + while (this.lookahead < DeflateManager.MIN_LOOKAHEAD && this._codec.AvailableBytesIn != 0); + } + + internal BlockState DeflateFast(FlushType flush) + { + int num = 0; + for (;;) + { + bool flag = this.lookahead < DeflateManager.MIN_LOOKAHEAD; + if (flag) + { + this._fillWindow(); + bool flag2 = this.lookahead < DeflateManager.MIN_LOOKAHEAD && flush == FlushType.None; + if (flag2) + { + break; + } + bool flag3 = this.lookahead == 0; + if (flag3) + { + goto Block_4; + } + } + bool flag4 = this.lookahead >= DeflateManager.MIN_MATCH; + if (flag4) + { + this.ins_h = ((this.ins_h << this.hash_shift ^ (int)(this.window[this.strstart + (DeflateManager.MIN_MATCH - 1)] & byte.MaxValue)) & this.hash_mask); + num = ((int)this.head[this.ins_h] & 65535); + this.prev[this.strstart & this.w_mask] = this.head[this.ins_h]; + this.head[this.ins_h] = (short)this.strstart; + } + bool flag5 = (long)num != 0L && (this.strstart - num & 65535) <= this.w_size - DeflateManager.MIN_LOOKAHEAD; + if (flag5) + { + bool flag6 = this.compressionStrategy != CompressionStrategy.HuffmanOnly; + if (flag6) + { + this.match_length = this.longest_match(num); + } + } + bool flag7 = this.match_length >= DeflateManager.MIN_MATCH; + bool flag8; + if (flag7) + { + flag8 = this._tr_tally(this.strstart - this.match_start, this.match_length - DeflateManager.MIN_MATCH); + this.lookahead -= this.match_length; + bool flag9 = this.match_length <= this.config.MaxLazy && this.lookahead >= DeflateManager.MIN_MATCH; + if (flag9) + { + this.match_length--; + int num2; + do + { + this.strstart++; + this.ins_h = ((this.ins_h << this.hash_shift ^ (int)(this.window[this.strstart + (DeflateManager.MIN_MATCH - 1)] & byte.MaxValue)) & this.hash_mask); + num = ((int)this.head[this.ins_h] & 65535); + this.prev[this.strstart & this.w_mask] = this.head[this.ins_h]; + this.head[this.ins_h] = (short)this.strstart; + num2 = this.match_length - 1; + this.match_length = num2; + } + while (num2 != 0); + this.strstart++; + } + else + { + this.strstart += this.match_length; + this.match_length = 0; + this.ins_h = (int)(this.window[this.strstart] & byte.MaxValue); + this.ins_h = ((this.ins_h << this.hash_shift ^ (int)(this.window[this.strstart + 1] & byte.MaxValue)) & this.hash_mask); + } + } + else + { + flag8 = this._tr_tally(0, (int)(this.window[this.strstart] & byte.MaxValue)); + this.lookahead--; + this.strstart++; + } + bool flag10 = flag8; + if (flag10) + { + this.flush_block_only(false); + bool flag11 = this._codec.AvailableBytesOut == 0; + if (flag11) + { + goto Block_14; + } + } + } + return BlockState.NeedMore; + Block_4: + this.flush_block_only(flush == FlushType.Finish); + bool flag12 = this._codec.AvailableBytesOut == 0; + if (!flag12) + { + return (flush == FlushType.Finish) ? BlockState.FinishDone : BlockState.BlockDone; + } + bool flag13 = flush == FlushType.Finish; + if (flag13) + { + return BlockState.FinishStarted; + } + return BlockState.NeedMore; + Block_14: + return BlockState.NeedMore; + } + + internal BlockState DeflateSlow(FlushType flush) + { + int num = 0; + for (;;) + { + bool flag = this.lookahead < DeflateManager.MIN_LOOKAHEAD; + if (flag) + { + this._fillWindow(); + bool flag2 = this.lookahead < DeflateManager.MIN_LOOKAHEAD && flush == FlushType.None; + if (flag2) + { + break; + } + bool flag3 = this.lookahead == 0; + if (flag3) + { + goto Block_4; + } + } + bool flag4 = this.lookahead >= DeflateManager.MIN_MATCH; + if (flag4) + { + this.ins_h = ((this.ins_h << this.hash_shift ^ (int)(this.window[this.strstart + (DeflateManager.MIN_MATCH - 1)] & byte.MaxValue)) & this.hash_mask); + num = ((int)this.head[this.ins_h] & 65535); + this.prev[this.strstart & this.w_mask] = this.head[this.ins_h]; + this.head[this.ins_h] = (short)this.strstart; + } + this.prev_length = this.match_length; + this.prev_match = this.match_start; + this.match_length = DeflateManager.MIN_MATCH - 1; + bool flag5 = num != 0 && this.prev_length < this.config.MaxLazy && (this.strstart - num & 65535) <= this.w_size - DeflateManager.MIN_LOOKAHEAD; + if (flag5) + { + bool flag6 = this.compressionStrategy != CompressionStrategy.HuffmanOnly; + if (flag6) + { + this.match_length = this.longest_match(num); + } + bool flag7 = this.match_length <= 5 && (this.compressionStrategy == CompressionStrategy.Filtered || (this.match_length == DeflateManager.MIN_MATCH && this.strstart - this.match_start > 4096)); + if (flag7) + { + this.match_length = DeflateManager.MIN_MATCH - 1; + } + } + bool flag8 = this.prev_length >= DeflateManager.MIN_MATCH && this.match_length <= this.prev_length; + if (flag8) + { + int num2 = this.strstart + this.lookahead - DeflateManager.MIN_MATCH; + bool flag9 = this._tr_tally(this.strstart - 1 - this.prev_match, this.prev_length - DeflateManager.MIN_MATCH); + this.lookahead -= this.prev_length - 1; + this.prev_length -= 2; + int num3; + do + { + num3 = this.strstart + 1; + this.strstart = num3; + bool flag10 = num3 <= num2; + if (flag10) + { + this.ins_h = ((this.ins_h << this.hash_shift ^ (int)(this.window[this.strstart + (DeflateManager.MIN_MATCH - 1)] & byte.MaxValue)) & this.hash_mask); + num = ((int)this.head[this.ins_h] & 65535); + this.prev[this.strstart & this.w_mask] = this.head[this.ins_h]; + this.head[this.ins_h] = (short)this.strstart; + } + num3 = this.prev_length - 1; + this.prev_length = num3; + } + while (num3 != 0); + this.match_available = 0; + this.match_length = DeflateManager.MIN_MATCH - 1; + this.strstart++; + bool flag11 = flag9; + if (flag11) + { + this.flush_block_only(false); + bool flag12 = this._codec.AvailableBytesOut == 0; + if (flag12) + { + goto Block_19; + } + } + } + else + { + bool flag13 = this.match_available != 0; + if (flag13) + { + bool flag9 = this._tr_tally(0, (int)(this.window[this.strstart - 1] & byte.MaxValue)); + bool flag14 = flag9; + if (flag14) + { + this.flush_block_only(false); + } + this.strstart++; + this.lookahead--; + bool flag15 = this._codec.AvailableBytesOut == 0; + if (flag15) + { + goto Block_22; + } + } + else + { + this.match_available = 1; + this.strstart++; + this.lookahead--; + } + } + } + return BlockState.NeedMore; + Block_4: + bool flag16 = this.match_available != 0; + if (flag16) + { + bool flag9 = this._tr_tally(0, (int)(this.window[this.strstart - 1] & byte.MaxValue)); + this.match_available = 0; + } + this.flush_block_only(flush == FlushType.Finish); + bool flag17 = this._codec.AvailableBytesOut == 0; + if (!flag17) + { + return (flush == FlushType.Finish) ? BlockState.FinishDone : BlockState.BlockDone; + } + bool flag18 = flush == FlushType.Finish; + if (flag18) + { + return BlockState.FinishStarted; + } + return BlockState.NeedMore; + Block_19: + return BlockState.NeedMore; + Block_22: + return BlockState.NeedMore; + } + + internal int longest_match(int cur_match) + { + int num = this.config.MaxChainLength; + int num2 = this.strstart; + int num3 = this.prev_length; + int num4 = (this.strstart > this.w_size - DeflateManager.MIN_LOOKAHEAD) ? (this.strstart - (this.w_size - DeflateManager.MIN_LOOKAHEAD)) : 0; + int niceLength = this.config.NiceLength; + int num5 = this.w_mask; + int num6 = this.strstart + DeflateManager.MAX_MATCH; + byte b = this.window[num2 + num3 - 1]; + byte b2 = this.window[num2 + num3]; + bool flag = this.prev_length >= this.config.GoodLength; + if (flag) + { + num >>= 2; + } + bool flag2 = niceLength > this.lookahead; + if (flag2) + { + niceLength = this.lookahead; + } + do + { + int num7 = cur_match; + bool flag3 = this.window[num7 + num3] != b2 || this.window[num7 + num3 - 1] != b || this.window[num7] != this.window[num2] || this.window[++num7] != this.window[num2 + 1]; + if (!flag3) + { + num2 += 2; + num7++; + while (this.window[++num2] == this.window[++num7] && this.window[++num2] == this.window[++num7] && this.window[++num2] == this.window[++num7] && this.window[++num2] == this.window[++num7] && this.window[++num2] == this.window[++num7] && this.window[++num2] == this.window[++num7] && this.window[++num2] == this.window[++num7] && this.window[++num2] == this.window[++num7] && num2 < num6) + { + } + int num8 = DeflateManager.MAX_MATCH - (num6 - num2); + num2 = num6 - DeflateManager.MAX_MATCH; + bool flag4 = num8 > num3; + if (flag4) + { + this.match_start = cur_match; + num3 = num8; + bool flag5 = num8 >= niceLength; + if (flag5) + { + break; + } + b = this.window[num2 + num3 - 1]; + b2 = this.window[num2 + num3]; + } + } + } + while ((cur_match = ((int)this.prev[cur_match & num5] & 65535)) > num4 && --num != 0); + bool flag6 = num3 <= this.lookahead; + int result; + if (flag6) + { + result = num3; + } + else + { + result = this.lookahead; + } + return result; + } + + internal int Initialize(ZlibCodec codec, CompressionLevel level) + { + return this.Initialize(codec, level, 15); + } + + internal int Initialize(ZlibCodec codec, CompressionLevel level, int bits) + { + return this.Initialize(codec, level, bits, DeflateManager.MEM_LEVEL_DEFAULT, CompressionStrategy.Default); + } + + internal int Initialize(ZlibCodec codec, CompressionLevel level, int bits, CompressionStrategy compressionStrategy) + { + return this.Initialize(codec, level, bits, DeflateManager.MEM_LEVEL_DEFAULT, compressionStrategy); + } + + internal int Initialize(ZlibCodec codec, CompressionLevel level, int windowBits, int memLevel, CompressionStrategy strategy) + { + this._codec = codec; + this._codec.Message = null; + bool flag = windowBits < 9 || windowBits > 15; + if (flag) + { + throw new ZlibException("windowBits must be in the range 9..15."); + } + bool flag2 = memLevel < 1 || memLevel > DeflateManager.MEM_LEVEL_MAX; + if (flag2) + { + throw new ZlibException(string.Format("memLevel must be in the range 1.. {0}", DeflateManager.MEM_LEVEL_MAX)); + } + this._codec.dstate = this; + this.w_bits = windowBits; + this.w_size = 1 << this.w_bits; + this.w_mask = this.w_size - 1; + this.hash_bits = memLevel + 7; + this.hash_size = 1 << this.hash_bits; + this.hash_mask = this.hash_size - 1; + this.hash_shift = (this.hash_bits + DeflateManager.MIN_MATCH - 1) / DeflateManager.MIN_MATCH; + this.window = new byte[this.w_size * 2]; + this.prev = new short[this.w_size]; + this.head = new short[this.hash_size]; + this.lit_bufsize = 1 << memLevel + 6; + this.pending = new byte[this.lit_bufsize * 4]; + this._distanceOffset = this.lit_bufsize; + this._lengthOffset = 3 * this.lit_bufsize; + this.compressionLevel = level; + this.compressionStrategy = strategy; + this.Reset(true); + return 0; + } + + internal void Reset(bool setDeflater = true) + { + this._codec.TotalBytesIn = (this._codec.TotalBytesOut = 0L); + this._codec.Message = null; + this.pendingCount = 0; + this.nextPending = 0; + this.Rfc1950BytesEmitted = false; + this.status = (this.WantRfc1950HeaderBytes ? DeflateManager.INIT_STATE : DeflateManager.BUSY_STATE); + this._codec._Adler32 = Adler.Adler32(0u, null, 0, 0); + this.last_flush = 0; + this._InitializeTreeData(); + this._InitializeLazyMatch(setDeflater); + } + + internal int End() + { + bool flag = this.status != DeflateManager.INIT_STATE && this.status != DeflateManager.BUSY_STATE && this.status != DeflateManager.FINISH_STATE; + int result; + if (flag) + { + result = -2; + } + else + { + this.pending = null; + this.head = null; + this.prev = null; + this.window = null; + result = ((this.status == DeflateManager.BUSY_STATE) ? -3 : 0); + } + return result; + } + + private void SetDeflater() + { + switch (this.config.Flavor) + { + case DeflateFlavor.Store: + this.DeflateFunction = new DeflateManager.CompressFunc(this.DeflateNone); + break; + case DeflateFlavor.Fast: + this.DeflateFunction = new DeflateManager.CompressFunc(this.DeflateFast); + break; + case DeflateFlavor.Slow: + this.DeflateFunction = new DeflateManager.CompressFunc(this.DeflateSlow); + break; + } + } + + internal int SetParams(CompressionLevel level, CompressionStrategy strategy) + { + int result = 0; + bool flag = this.compressionLevel != level; + if (flag) + { + DeflateManager.Config config = DeflateManager.Config.Lookup(level); + bool flag2 = config.Flavor != this.config.Flavor && this._codec.TotalBytesIn != 0L; + if (flag2) + { + result = this._codec.Deflate(FlushType.Partial); + } + this.compressionLevel = level; + this.config = config; + this.SetDeflater(); + } + this.compressionStrategy = strategy; + return result; + } + + internal int SetDictionary(byte[] dictionary) + { + int num = dictionary.Length; + int sourceIndex = 0; + bool flag = dictionary == null || this.status != DeflateManager.INIT_STATE; + if (flag) + { + throw new ZlibException("Stream error."); + } + this._codec._Adler32 = Adler.Adler32(this._codec._Adler32, dictionary, 0, dictionary.Length); + bool flag2 = num < DeflateManager.MIN_MATCH; + int result; + if (flag2) + { + result = 0; + } + else + { + bool flag3 = num > this.w_size - DeflateManager.MIN_LOOKAHEAD; + if (flag3) + { + num = this.w_size - DeflateManager.MIN_LOOKAHEAD; + sourceIndex = dictionary.Length - num; + } + Array.Copy(dictionary, sourceIndex, this.window, 0, num); + this.strstart = num; + this.block_start = num; + this.ins_h = (int)(this.window[0] & byte.MaxValue); + this.ins_h = ((this.ins_h << this.hash_shift ^ (int)(this.window[1] & byte.MaxValue)) & this.hash_mask); + for (int i = 0; i <= num - DeflateManager.MIN_MATCH; i++) + { + this.ins_h = ((this.ins_h << this.hash_shift ^ (int)(this.window[i + (DeflateManager.MIN_MATCH - 1)] & byte.MaxValue)) & this.hash_mask); + this.prev[i & this.w_mask] = this.head[this.ins_h]; + this.head[this.ins_h] = (short)i; + } + result = 0; + } + return result; + } + + internal int Deflate(FlushType flush) + { + bool flag = this._codec.OutputBuffer == null || (this._codec.InputBuffer == null && this._codec.AvailableBytesIn != 0) || (this.status == DeflateManager.FINISH_STATE && flush != FlushType.Finish); + if (flag) + { + this._codec.Message = DeflateManager._ErrorMessage[4]; + throw new ZlibException(string.Format("Something is fishy. [{0}]", this._codec.Message)); + } + bool flag2 = this._codec.AvailableBytesOut == 0; + if (flag2) + { + this._codec.Message = DeflateManager._ErrorMessage[7]; + throw new ZlibException("OutputBuffer is full (AvailableBytesOut == 0)"); + } + int num = this.last_flush; + this.last_flush = (int)flush; + bool flag3 = this.status == DeflateManager.INIT_STATE; + if (flag3) + { + int num2 = DeflateManager.Z_DEFLATED + (this.w_bits - 8 << 4) << 8; + int num3 = (this.compressionLevel - CompressionLevel.BestSpeed & 255) >> 1; + bool flag4 = num3 > 3; + if (flag4) + { + num3 = 3; + } + num2 |= num3 << 6; + bool flag5 = this.strstart != 0; + if (flag5) + { + num2 |= DeflateManager.PRESET_DICT; + } + num2 += 31 - num2 % 31; + this.status = DeflateManager.BUSY_STATE; + byte[] array = this.pending; + int num4 = this.pendingCount; + this.pendingCount = num4 + 1; + array[num4] = (byte)(num2 >> 8); + byte[] array2 = this.pending; + num4 = this.pendingCount; + this.pendingCount = num4 + 1; + array2[num4] = (byte)num2; + bool flag6 = this.strstart != 0; + if (flag6) + { + byte[] array3 = this.pending; + num4 = this.pendingCount; + this.pendingCount = num4 + 1; + array3[num4] = (byte)((this._codec._Adler32 & 4278190080u) >> 24); + byte[] array4 = this.pending; + num4 = this.pendingCount; + this.pendingCount = num4 + 1; + array4[num4] = (byte)((this._codec._Adler32 & 16711680u) >> 16); + byte[] array5 = this.pending; + num4 = this.pendingCount; + this.pendingCount = num4 + 1; + array5[num4] = (byte)((this._codec._Adler32 & 65280u) >> 8); + byte[] array6 = this.pending; + num4 = this.pendingCount; + this.pendingCount = num4 + 1; + array6[num4] = (byte)(this._codec._Adler32 & 255u); + } + this._codec._Adler32 = Adler.Adler32(0u, null, 0, 0); + } + bool flag7 = this.pendingCount != 0; + if (flag7) + { + this._codec.flush_pending(); + bool flag8 = this._codec.AvailableBytesOut == 0; + if (flag8) + { + this.last_flush = -1; + return 0; + } + } + else + { + bool flag9 = this._codec.AvailableBytesIn == 0 && flush <= (FlushType)num && flush != FlushType.Finish; + if (flag9) + { + return 0; + } + } + bool flag10 = this.status == DeflateManager.FINISH_STATE && this._codec.AvailableBytesIn != 0; + if (flag10) + { + this._codec.Message = DeflateManager._ErrorMessage[7]; + throw new ZlibException("status == FINISH_STATE && _codec.AvailableBytesIn != 0"); + } + bool flag11 = this._codec.AvailableBytesIn != 0 || this.lookahead != 0 || (flush != FlushType.None && this.status != DeflateManager.FINISH_STATE); + if (flag11) + { + BlockState blockState = this.DeflateFunction(flush); + bool flag12 = blockState == BlockState.FinishStarted || blockState == BlockState.FinishDone; + if (flag12) + { + this.status = DeflateManager.FINISH_STATE; + } + bool flag13 = blockState == BlockState.NeedMore || blockState == BlockState.FinishStarted; + if (flag13) + { + bool flag14 = this._codec.AvailableBytesOut == 0; + if (flag14) + { + this.last_flush = -1; + } + return 0; + } + bool flag15 = blockState == BlockState.BlockDone; + if (flag15) + { + bool flag16 = flush == FlushType.Partial; + if (flag16) + { + this._tr_align(); + } + else + { + this._tr_stored_block(0, 0, false); + bool flag17 = flush == FlushType.Full; + if (flag17) + { + for (int i = 0; i < this.hash_size; i++) + { + this.head[i] = 0; + } + } + } + this._codec.flush_pending(); + bool flag18 = this._codec.AvailableBytesOut == 0; + if (flag18) + { + this.last_flush = -1; + return 0; + } + } + } + bool flag19 = flush != FlushType.Finish; + int result; + if (flag19) + { + result = 0; + } + else + { + bool flag20 = !this.WantRfc1950HeaderBytes || this.Rfc1950BytesEmitted; + if (flag20) + { + result = 1; + } + else + { + byte[] array7 = this.pending; + int num4 = this.pendingCount; + this.pendingCount = num4 + 1; + array7[num4] = (byte)((this._codec._Adler32 & 4278190080u) >> 24); + byte[] array8 = this.pending; + num4 = this.pendingCount; + this.pendingCount = num4 + 1; + array8[num4] = (byte)((this._codec._Adler32 & 16711680u) >> 16); + byte[] array9 = this.pending; + num4 = this.pendingCount; + this.pendingCount = num4 + 1; + array9[num4] = (byte)((this._codec._Adler32 & 65280u) >> 8); + byte[] array10 = this.pending; + num4 = this.pendingCount; + this.pendingCount = num4 + 1; + array10[num4] = (byte)(this._codec._Adler32 & 255u); + this._codec.flush_pending(); + this.Rfc1950BytesEmitted = true; + result = ((this.pendingCount != 0) ? 0 : 1); + } + } + return result; + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib/DeflateManager.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib/DeflateManager.cs.meta new file mode 100644 index 00000000..2d32be0f --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib/DeflateManager.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: db13ffaad66712c4baa5f1c47795cf6f +timeCreated: 1611465795 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib/DeflateStream.cs b/Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib/DeflateStream.cs new file mode 100644 index 00000000..dd0e376b --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib/DeflateStream.cs @@ -0,0 +1,288 @@ +using System; +using System.IO; + +namespace Ionic.Zlib +{ + public class DeflateStream : Stream + { + public virtual FlushType FlushMode + { + get + { + return this._baseStream._flushMode; + } + set + { + bool disposed = this._disposed; + if (disposed) + { + throw new ObjectDisposedException("DeflateStream"); + } + this._baseStream._flushMode = value; + } + } + + public int BufferSize + { + get + { + return this._baseStream._bufferSize; + } + set + { + bool disposed = this._disposed; + if (disposed) + { + throw new ObjectDisposedException("DeflateStream"); + } + bool flag = this._baseStream._workingBuffer != null; + if (flag) + { + throw new ZlibException("The working buffer is already set."); + } + bool flag2 = value < 1024; + if (flag2) + { + throw new ZlibException(string.Format("Don't be silly. {0} bytes?? Use a bigger buffer, at least {1}.", value, 1024)); + } + this._baseStream._bufferSize = value; + } + } + + public CompressionStrategy Strategy + { + get + { + return this._baseStream.Strategy; + } + set + { + bool disposed = this._disposed; + if (disposed) + { + throw new ObjectDisposedException("DeflateStream"); + } + this._baseStream.Strategy = value; + } + } + + public virtual long TotalIn + { + get + { + return this._baseStream._z.TotalBytesIn; + } + } + + public virtual long TotalOut + { + get + { + return this._baseStream._z.TotalBytesOut; + } + } + + public override bool CanRead + { + get + { + bool disposed = this._disposed; + if (disposed) + { + throw new ObjectDisposedException("DeflateStream"); + } + return this._baseStream._stream.CanRead; + } + } + + public override bool CanSeek + { + get + { + return false; + } + } + + public override bool CanWrite + { + get + { + bool disposed = this._disposed; + if (disposed) + { + throw new ObjectDisposedException("DeflateStream"); + } + return this._baseStream._stream.CanWrite; + } + } + + public override long Length + { + get + { + throw new NotImplementedException(); + } + } + + public override long Position + { + get + { + bool flag = this._baseStream._streamMode == ZlibBaseStream.StreamMode.Writer; + long result; + if (flag) + { + result = this._baseStream._z.TotalBytesOut; + } + else + { + bool flag2 = this._baseStream._streamMode == ZlibBaseStream.StreamMode.Reader; + if (flag2) + { + result = this._baseStream._z.TotalBytesIn; + } + else + { + result = 0L; + } + } + return result; + } + set + { + throw new NotImplementedException(); + } + } + + internal ZlibBaseStream _baseStream; + + internal Stream _innerStream; + + private bool _disposed; + + public DeflateStream(Stream stream, CompressionMode mode) : this(stream, mode, CompressionLevel.Default, false) + { + } + + public DeflateStream(Stream stream, CompressionMode mode, CompressionLevel level) : this(stream, mode, level, false) + { + } + + public DeflateStream(Stream stream, CompressionMode mode, bool leaveOpen) : this(stream, mode, CompressionLevel.Default, leaveOpen) + { + } + + public DeflateStream(Stream stream, CompressionMode mode, CompressionLevel level, bool leaveOpen) + { + this._innerStream = stream; + this._baseStream = new ZlibBaseStream(stream, mode, level, ZlibStreamFlavor.DEFLATE, leaveOpen); + } + + protected override void Dispose(bool disposing) + { + try + { + bool flag = !this._disposed; + if (flag) + { + bool flag2 = disposing && this._baseStream != null; + if (flag2) + { + this._baseStream.Close(); + } + this._disposed = true; + } + } + finally + { + base.Dispose(disposing); + } + } + + public override void Flush() + { + bool disposed = this._disposed; + if (disposed) + { + throw new ObjectDisposedException("DeflateStream"); + } + this._baseStream.Flush(); + } + + public override int Read(byte[] buffer, int offset, int count) + { + bool disposed = this._disposed; + if (disposed) + { + throw new ObjectDisposedException("DeflateStream"); + } + return this._baseStream.Read(buffer, offset, count); + } + + public override long Seek(long offset, SeekOrigin origin) + { + throw new NotImplementedException(); + } + + public override void SetLength(long value) + { + throw new NotImplementedException(); + } + + public override void Write(byte[] buffer, int offset, int count) + { + bool disposed = this._disposed; + if (disposed) + { + throw new ObjectDisposedException("DeflateStream"); + } + this._baseStream.Write(buffer, offset, count); + } + + public static byte[] CompressString(string s) + { + byte[] result; + using (MemoryStream memoryStream = new MemoryStream()) + { + Stream compressor = new DeflateStream(memoryStream, CompressionMode.Compress, CompressionLevel.BestCompression); + ZlibBaseStream.CompressString(s, compressor); + result = memoryStream.ToArray(); + } + return result; + } + + public static byte[] CompressBuffer(byte[] b) + { + byte[] result; + using (MemoryStream memoryStream = new MemoryStream()) + { + Stream compressor = new DeflateStream(memoryStream, CompressionMode.Compress, CompressionLevel.BestCompression); + ZlibBaseStream.CompressBuffer(b, compressor); + result = memoryStream.ToArray(); + } + return result; + } + + public static string UncompressString(byte[] compressed) + { + string result; + using (MemoryStream memoryStream = new MemoryStream(compressed)) + { + Stream decompressor = new DeflateStream(memoryStream, CompressionMode.Decompress); + result = ZlibBaseStream.UncompressString(compressed, decompressor); + } + return result; + } + + public static byte[] UncompressBuffer(byte[] compressed) + { + byte[] result; + using (MemoryStream memoryStream = new MemoryStream(compressed)) + { + Stream decompressor = new DeflateStream(memoryStream, CompressionMode.Decompress); + result = ZlibBaseStream.UncompressBuffer(compressed, decompressor); + } + return result; + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib/DeflateStream.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib/DeflateStream.cs.meta new file mode 100644 index 00000000..678c7dff --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib/DeflateStream.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 1da92ebd4261b12439b90a7f7113648b +timeCreated: 1611465298 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib/FlushType.cs b/Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib/FlushType.cs new file mode 100644 index 00000000..e2a15cde --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib/FlushType.cs @@ -0,0 +1,13 @@ +using System; + +namespace Ionic.Zlib +{ + public enum FlushType + { + None, + Partial, + Sync, + Full, + Finish + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib/FlushType.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib/FlushType.cs.meta new file mode 100644 index 00000000..886a5ccb --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib/FlushType.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: bd1bbeb867267094990fb2e772b7caa0 +timeCreated: 1611465750 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib/GZipStream.cs b/Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib/GZipStream.cs new file mode 100644 index 00000000..152ed425 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib/GZipStream.cs @@ -0,0 +1,417 @@ +using System; +using System.IO; +using System.Text; + +namespace Ionic.Zlib +{ + public class GZipStream : Stream + { + public string Comment + { + get + { + return this._Comment; + } + set + { + bool disposed = this._disposed; + if (disposed) + { + throw new ObjectDisposedException("GZipStream"); + } + this._Comment = value; + } + } + + public string FileName + { + get + { + return this._FileName; + } + set + { + bool disposed = this._disposed; + if (disposed) + { + throw new ObjectDisposedException("GZipStream"); + } + this._FileName = value; + bool flag = this._FileName == null; + if (!flag) + { + bool flag2 = this._FileName.IndexOf("/") != -1; + if (flag2) + { + this._FileName = this._FileName.Replace("/", "\\"); + } + bool flag3 = this._FileName.EndsWith("\\"); + if (flag3) + { + throw new Exception("Illegal filename"); + } + bool flag4 = this._FileName.IndexOf("\\") != -1; + if (flag4) + { + this._FileName = Path.GetFileName(this._FileName); + } + } + } + } + + public int Crc32 + { + get + { + return this._Crc32; + } + } + + public virtual FlushType FlushMode + { + get + { + return this._baseStream._flushMode; + } + set + { + bool disposed = this._disposed; + if (disposed) + { + throw new ObjectDisposedException("GZipStream"); + } + this._baseStream._flushMode = value; + } + } + + public int BufferSize + { + get + { + return this._baseStream._bufferSize; + } + set + { + bool disposed = this._disposed; + if (disposed) + { + throw new ObjectDisposedException("GZipStream"); + } + bool flag = this._baseStream._workingBuffer != null; + if (flag) + { + throw new ZlibException("The working buffer is already set."); + } + bool flag2 = value < 1024; + if (flag2) + { + throw new ZlibException(string.Format("Don't be silly. {0} bytes?? Use a bigger buffer, at least {1}.", value, 1024)); + } + this._baseStream._bufferSize = value; + } + } + + public virtual long TotalIn + { + get + { + return this._baseStream._z.TotalBytesIn; + } + } + + public virtual long TotalOut + { + get + { + return this._baseStream._z.TotalBytesOut; + } + } + + public override bool CanRead + { + get + { + bool disposed = this._disposed; + if (disposed) + { + throw new ObjectDisposedException("GZipStream"); + } + return this._baseStream._stream.CanRead; + } + } + + public override bool CanSeek + { + get + { + return false; + } + } + + public override bool CanWrite + { + get + { + bool disposed = this._disposed; + if (disposed) + { + throw new ObjectDisposedException("GZipStream"); + } + return this._baseStream._stream.CanWrite; + } + } + + public override long Length + { + get + { + throw new NotImplementedException(); + } + } + + public override long Position + { + get + { + bool flag = this._baseStream._streamMode == ZlibBaseStream.StreamMode.Writer; + long result; + if (flag) + { + result = this._baseStream._z.TotalBytesOut + (long)this._headerByteCount; + } + else + { + bool flag2 = this._baseStream._streamMode == ZlibBaseStream.StreamMode.Reader; + if (flag2) + { + result = this._baseStream._z.TotalBytesIn + (long)this._baseStream._gzipHeaderByteCount; + } + else + { + result = 0L; + } + } + return result; + } + set + { + throw new NotImplementedException(); + } + } + + public DateTime? LastModified; + + private int _headerByteCount; + + internal ZlibBaseStream _baseStream; + + private bool _disposed; + + private bool _firstReadDone; + + private string _FileName; + + private string _Comment; + + private int _Crc32; + + internal static readonly DateTime _unixEpoch = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc); + + internal static readonly Encoding iso8859dash1 = Encoding.GetEncoding("iso-8859-1"); + + public GZipStream(Stream stream, CompressionMode mode) : this(stream, mode, CompressionLevel.Default, false) + { + } + + public GZipStream(Stream stream, CompressionMode mode, CompressionLevel level) : this(stream, mode, level, false) + { + } + + public GZipStream(Stream stream, CompressionMode mode, bool leaveOpen) : this(stream, mode, CompressionLevel.Default, leaveOpen) + { + } + + public GZipStream(Stream stream, CompressionMode mode, CompressionLevel level, bool leaveOpen) + { + this._baseStream = new ZlibBaseStream(stream, mode, level, ZlibStreamFlavor.GZIP, leaveOpen); + } + + protected override void Dispose(bool disposing) + { + try + { + bool flag = !this._disposed; + if (flag) + { + bool flag2 = disposing && this._baseStream != null; + if (flag2) + { + this._baseStream.Close(); + this._Crc32 = this._baseStream.Crc32; + } + this._disposed = true; + } + } + finally + { + base.Dispose(disposing); + } + } + + public override void Flush() + { + bool disposed = this._disposed; + if (disposed) + { + throw new ObjectDisposedException("GZipStream"); + } + this._baseStream.Flush(); + } + + public override int Read(byte[] buffer, int offset, int count) + { + bool disposed = this._disposed; + if (disposed) + { + throw new ObjectDisposedException("GZipStream"); + } + int result = this._baseStream.Read(buffer, offset, count); + bool flag = !this._firstReadDone; + if (flag) + { + this._firstReadDone = true; + this.FileName = this._baseStream._GzipFileName; + this.Comment = this._baseStream._GzipComment; + } + return result; + } + + public override long Seek(long offset, SeekOrigin origin) + { + throw new NotImplementedException(); + } + + public override void SetLength(long value) + { + throw new NotImplementedException(); + } + + public override void Write(byte[] buffer, int offset, int count) + { + bool disposed = this._disposed; + if (disposed) + { + throw new ObjectDisposedException("GZipStream"); + } + bool flag = this._baseStream._streamMode == ZlibBaseStream.StreamMode.Undefined; + if (flag) + { + bool wantCompress = this._baseStream._wantCompress; + if (!wantCompress) + { + throw new InvalidOperationException(); + } + this._headerByteCount = this.EmitHeader(); + } + this._baseStream.Write(buffer, offset, count); + } + + private int EmitHeader() + { + byte[] array = (this.Comment == null) ? null : GZipStream.iso8859dash1.GetBytes(this.Comment); + byte[] array2 = (this.FileName == null) ? null : GZipStream.iso8859dash1.GetBytes(this.FileName); + int num = (this.Comment == null) ? 0 : (array.Length + 1); + int num2 = (this.FileName == null) ? 0 : (array2.Length + 1); + int num3 = 10 + num + num2; + byte[] array3 = new byte[num3]; + int num4 = 0; + array3[num4++] = 31; + array3[num4++] = 139; + array3[num4++] = 8; + byte b = 0; + bool flag = this.Comment != null; + if (flag) + { + b ^= 16; + } + bool flag2 = this.FileName != null; + if (flag2) + { + b ^= 8; + } + array3[num4++] = b; + bool flag3 = this.LastModified == null; + if (flag3) + { + this.LastModified = new DateTime?(DateTime.Now); + } + int value = (int)(this.LastModified.Value - GZipStream._unixEpoch).TotalSeconds; + Array.Copy(BitConverter.GetBytes(value), 0, array3, num4, 4); + num4 += 4; + array3[num4++] = 0; + array3[num4++] = byte.MaxValue; + bool flag4 = num2 != 0; + if (flag4) + { + Array.Copy(array2, 0, array3, num4, num2 - 1); + num4 += num2 - 1; + array3[num4++] = 0; + } + bool flag5 = num != 0; + if (flag5) + { + Array.Copy(array, 0, array3, num4, num - 1); + num4 += num - 1; + array3[num4++] = 0; + } + this._baseStream._stream.Write(array3, 0, array3.Length); + return array3.Length; + } + + public static byte[] CompressString(string s) + { + byte[] result; + using (MemoryStream memoryStream = new MemoryStream()) + { + Stream compressor = new GZipStream(memoryStream, CompressionMode.Compress, CompressionLevel.BestCompression); + ZlibBaseStream.CompressString(s, compressor); + result = memoryStream.ToArray(); + } + return result; + } + + public static byte[] CompressBuffer(byte[] b) + { + byte[] result; + using (MemoryStream memoryStream = new MemoryStream()) + { + Stream compressor = new GZipStream(memoryStream, CompressionMode.Compress, CompressionLevel.BestCompression); + ZlibBaseStream.CompressBuffer(b, compressor); + result = memoryStream.ToArray(); + } + return result; + } + + public static string UncompressString(byte[] compressed) + { + string result; + using (MemoryStream memoryStream = new MemoryStream(compressed)) + { + Stream decompressor = new GZipStream(memoryStream, CompressionMode.Decompress); + result = ZlibBaseStream.UncompressString(compressed, decompressor); + } + return result; + } + + public static byte[] UncompressBuffer(byte[] compressed) + { + byte[] result; + using (MemoryStream memoryStream = new MemoryStream(compressed)) + { + Stream decompressor = new GZipStream(memoryStream, CompressionMode.Decompress); + result = ZlibBaseStream.UncompressBuffer(compressed, decompressor); + } + return result; + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib/GZipStream.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib/GZipStream.cs.meta new file mode 100644 index 00000000..1d1d796a --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib/GZipStream.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 4c51a6dee7c0f4f4791e8af61fa83c32 +timeCreated: 1611465641 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib/InfTree.cs b/Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib/InfTree.cs new file mode 100644 index 00000000..e6368120 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib/InfTree.cs @@ -0,0 +1,2154 @@ +using System; + +namespace Ionic.Zlib +{ + internal sealed class InfTree + { + private const int MANY = 1440; + + private const int Z_OK = 0; + + private const int Z_STREAM_END = 1; + + private const int Z_NEED_DICT = 2; + + private const int Z_ERRNO = -1; + + private const int Z_STREAM_ERROR = -2; + + private const int Z_DATA_ERROR = -3; + + private const int Z_MEM_ERROR = -4; + + private const int Z_BUF_ERROR = -5; + + private const int Z_VERSION_ERROR = -6; + + internal const int fixed_bl = 9; + + internal const int fixed_bd = 5; + + internal static readonly int[] fixed_tl = new int[] + { + 96, + 7, + 256, + 0, + 8, + 80, + 0, + 8, + 16, + 84, + 8, + 115, + 82, + 7, + 31, + 0, + 8, + 112, + 0, + 8, + 48, + 0, + 9, + 192, + 80, + 7, + 10, + 0, + 8, + 96, + 0, + 8, + 32, + 0, + 9, + 160, + 0, + 8, + 0, + 0, + 8, + 128, + 0, + 8, + 64, + 0, + 9, + 224, + 80, + 7, + 6, + 0, + 8, + 88, + 0, + 8, + 24, + 0, + 9, + 144, + 83, + 7, + 59, + 0, + 8, + 120, + 0, + 8, + 56, + 0, + 9, + 208, + 81, + 7, + 17, + 0, + 8, + 104, + 0, + 8, + 40, + 0, + 9, + 176, + 0, + 8, + 8, + 0, + 8, + 136, + 0, + 8, + 72, + 0, + 9, + 240, + 80, + 7, + 4, + 0, + 8, + 84, + 0, + 8, + 20, + 85, + 8, + 227, + 83, + 7, + 43, + 0, + 8, + 116, + 0, + 8, + 52, + 0, + 9, + 200, + 81, + 7, + 13, + 0, + 8, + 100, + 0, + 8, + 36, + 0, + 9, + 168, + 0, + 8, + 4, + 0, + 8, + 132, + 0, + 8, + 68, + 0, + 9, + 232, + 80, + 7, + 8, + 0, + 8, + 92, + 0, + 8, + 28, + 0, + 9, + 152, + 84, + 7, + 83, + 0, + 8, + 124, + 0, + 8, + 60, + 0, + 9, + 216, + 82, + 7, + 23, + 0, + 8, + 108, + 0, + 8, + 44, + 0, + 9, + 184, + 0, + 8, + 12, + 0, + 8, + 140, + 0, + 8, + 76, + 0, + 9, + 248, + 80, + 7, + 3, + 0, + 8, + 82, + 0, + 8, + 18, + 85, + 8, + 163, + 83, + 7, + 35, + 0, + 8, + 114, + 0, + 8, + 50, + 0, + 9, + 196, + 81, + 7, + 11, + 0, + 8, + 98, + 0, + 8, + 34, + 0, + 9, + 164, + 0, + 8, + 2, + 0, + 8, + 130, + 0, + 8, + 66, + 0, + 9, + 228, + 80, + 7, + 7, + 0, + 8, + 90, + 0, + 8, + 26, + 0, + 9, + 148, + 84, + 7, + 67, + 0, + 8, + 122, + 0, + 8, + 58, + 0, + 9, + 212, + 82, + 7, + 19, + 0, + 8, + 106, + 0, + 8, + 42, + 0, + 9, + 180, + 0, + 8, + 10, + 0, + 8, + 138, + 0, + 8, + 74, + 0, + 9, + 244, + 80, + 7, + 5, + 0, + 8, + 86, + 0, + 8, + 22, + 192, + 8, + 0, + 83, + 7, + 51, + 0, + 8, + 118, + 0, + 8, + 54, + 0, + 9, + 204, + 81, + 7, + 15, + 0, + 8, + 102, + 0, + 8, + 38, + 0, + 9, + 172, + 0, + 8, + 6, + 0, + 8, + 134, + 0, + 8, + 70, + 0, + 9, + 236, + 80, + 7, + 9, + 0, + 8, + 94, + 0, + 8, + 30, + 0, + 9, + 156, + 84, + 7, + 99, + 0, + 8, + 126, + 0, + 8, + 62, + 0, + 9, + 220, + 82, + 7, + 27, + 0, + 8, + 110, + 0, + 8, + 46, + 0, + 9, + 188, + 0, + 8, + 14, + 0, + 8, + 142, + 0, + 8, + 78, + 0, + 9, + 252, + 96, + 7, + 256, + 0, + 8, + 81, + 0, + 8, + 17, + 85, + 8, + 131, + 82, + 7, + 31, + 0, + 8, + 113, + 0, + 8, + 49, + 0, + 9, + 194, + 80, + 7, + 10, + 0, + 8, + 97, + 0, + 8, + 33, + 0, + 9, + 162, + 0, + 8, + 1, + 0, + 8, + 129, + 0, + 8, + 65, + 0, + 9, + 226, + 80, + 7, + 6, + 0, + 8, + 89, + 0, + 8, + 25, + 0, + 9, + 146, + 83, + 7, + 59, + 0, + 8, + 121, + 0, + 8, + 57, + 0, + 9, + 210, + 81, + 7, + 17, + 0, + 8, + 105, + 0, + 8, + 41, + 0, + 9, + 178, + 0, + 8, + 9, + 0, + 8, + 137, + 0, + 8, + 73, + 0, + 9, + 242, + 80, + 7, + 4, + 0, + 8, + 85, + 0, + 8, + 21, + 80, + 8, + 258, + 83, + 7, + 43, + 0, + 8, + 117, + 0, + 8, + 53, + 0, + 9, + 202, + 81, + 7, + 13, + 0, + 8, + 101, + 0, + 8, + 37, + 0, + 9, + 170, + 0, + 8, + 5, + 0, + 8, + 133, + 0, + 8, + 69, + 0, + 9, + 234, + 80, + 7, + 8, + 0, + 8, + 93, + 0, + 8, + 29, + 0, + 9, + 154, + 84, + 7, + 83, + 0, + 8, + 125, + 0, + 8, + 61, + 0, + 9, + 218, + 82, + 7, + 23, + 0, + 8, + 109, + 0, + 8, + 45, + 0, + 9, + 186, + 0, + 8, + 13, + 0, + 8, + 141, + 0, + 8, + 77, + 0, + 9, + 250, + 80, + 7, + 3, + 0, + 8, + 83, + 0, + 8, + 19, + 85, + 8, + 195, + 83, + 7, + 35, + 0, + 8, + 115, + 0, + 8, + 51, + 0, + 9, + 198, + 81, + 7, + 11, + 0, + 8, + 99, + 0, + 8, + 35, + 0, + 9, + 166, + 0, + 8, + 3, + 0, + 8, + 131, + 0, + 8, + 67, + 0, + 9, + 230, + 80, + 7, + 7, + 0, + 8, + 91, + 0, + 8, + 27, + 0, + 9, + 150, + 84, + 7, + 67, + 0, + 8, + 123, + 0, + 8, + 59, + 0, + 9, + 214, + 82, + 7, + 19, + 0, + 8, + 107, + 0, + 8, + 43, + 0, + 9, + 182, + 0, + 8, + 11, + 0, + 8, + 139, + 0, + 8, + 75, + 0, + 9, + 246, + 80, + 7, + 5, + 0, + 8, + 87, + 0, + 8, + 23, + 192, + 8, + 0, + 83, + 7, + 51, + 0, + 8, + 119, + 0, + 8, + 55, + 0, + 9, + 206, + 81, + 7, + 15, + 0, + 8, + 103, + 0, + 8, + 39, + 0, + 9, + 174, + 0, + 8, + 7, + 0, + 8, + 135, + 0, + 8, + 71, + 0, + 9, + 238, + 80, + 7, + 9, + 0, + 8, + 95, + 0, + 8, + 31, + 0, + 9, + 158, + 84, + 7, + 99, + 0, + 8, + 127, + 0, + 8, + 63, + 0, + 9, + 222, + 82, + 7, + 27, + 0, + 8, + 111, + 0, + 8, + 47, + 0, + 9, + 190, + 0, + 8, + 15, + 0, + 8, + 143, + 0, + 8, + 79, + 0, + 9, + 254, + 96, + 7, + 256, + 0, + 8, + 80, + 0, + 8, + 16, + 84, + 8, + 115, + 82, + 7, + 31, + 0, + 8, + 112, + 0, + 8, + 48, + 0, + 9, + 193, + 80, + 7, + 10, + 0, + 8, + 96, + 0, + 8, + 32, + 0, + 9, + 161, + 0, + 8, + 0, + 0, + 8, + 128, + 0, + 8, + 64, + 0, + 9, + 225, + 80, + 7, + 6, + 0, + 8, + 88, + 0, + 8, + 24, + 0, + 9, + 145, + 83, + 7, + 59, + 0, + 8, + 120, + 0, + 8, + 56, + 0, + 9, + 209, + 81, + 7, + 17, + 0, + 8, + 104, + 0, + 8, + 40, + 0, + 9, + 177, + 0, + 8, + 8, + 0, + 8, + 136, + 0, + 8, + 72, + 0, + 9, + 241, + 80, + 7, + 4, + 0, + 8, + 84, + 0, + 8, + 20, + 85, + 8, + 227, + 83, + 7, + 43, + 0, + 8, + 116, + 0, + 8, + 52, + 0, + 9, + 201, + 81, + 7, + 13, + 0, + 8, + 100, + 0, + 8, + 36, + 0, + 9, + 169, + 0, + 8, + 4, + 0, + 8, + 132, + 0, + 8, + 68, + 0, + 9, + 233, + 80, + 7, + 8, + 0, + 8, + 92, + 0, + 8, + 28, + 0, + 9, + 153, + 84, + 7, + 83, + 0, + 8, + 124, + 0, + 8, + 60, + 0, + 9, + 217, + 82, + 7, + 23, + 0, + 8, + 108, + 0, + 8, + 44, + 0, + 9, + 185, + 0, + 8, + 12, + 0, + 8, + 140, + 0, + 8, + 76, + 0, + 9, + 249, + 80, + 7, + 3, + 0, + 8, + 82, + 0, + 8, + 18, + 85, + 8, + 163, + 83, + 7, + 35, + 0, + 8, + 114, + 0, + 8, + 50, + 0, + 9, + 197, + 81, + 7, + 11, + 0, + 8, + 98, + 0, + 8, + 34, + 0, + 9, + 165, + 0, + 8, + 2, + 0, + 8, + 130, + 0, + 8, + 66, + 0, + 9, + 229, + 80, + 7, + 7, + 0, + 8, + 90, + 0, + 8, + 26, + 0, + 9, + 149, + 84, + 7, + 67, + 0, + 8, + 122, + 0, + 8, + 58, + 0, + 9, + 213, + 82, + 7, + 19, + 0, + 8, + 106, + 0, + 8, + 42, + 0, + 9, + 181, + 0, + 8, + 10, + 0, + 8, + 138, + 0, + 8, + 74, + 0, + 9, + 245, + 80, + 7, + 5, + 0, + 8, + 86, + 0, + 8, + 22, + 192, + 8, + 0, + 83, + 7, + 51, + 0, + 8, + 118, + 0, + 8, + 54, + 0, + 9, + 205, + 81, + 7, + 15, + 0, + 8, + 102, + 0, + 8, + 38, + 0, + 9, + 173, + 0, + 8, + 6, + 0, + 8, + 134, + 0, + 8, + 70, + 0, + 9, + 237, + 80, + 7, + 9, + 0, + 8, + 94, + 0, + 8, + 30, + 0, + 9, + 157, + 84, + 7, + 99, + 0, + 8, + 126, + 0, + 8, + 62, + 0, + 9, + 221, + 82, + 7, + 27, + 0, + 8, + 110, + 0, + 8, + 46, + 0, + 9, + 189, + 0, + 8, + 14, + 0, + 8, + 142, + 0, + 8, + 78, + 0, + 9, + 253, + 96, + 7, + 256, + 0, + 8, + 81, + 0, + 8, + 17, + 85, + 8, + 131, + 82, + 7, + 31, + 0, + 8, + 113, + 0, + 8, + 49, + 0, + 9, + 195, + 80, + 7, + 10, + 0, + 8, + 97, + 0, + 8, + 33, + 0, + 9, + 163, + 0, + 8, + 1, + 0, + 8, + 129, + 0, + 8, + 65, + 0, + 9, + 227, + 80, + 7, + 6, + 0, + 8, + 89, + 0, + 8, + 25, + 0, + 9, + 147, + 83, + 7, + 59, + 0, + 8, + 121, + 0, + 8, + 57, + 0, + 9, + 211, + 81, + 7, + 17, + 0, + 8, + 105, + 0, + 8, + 41, + 0, + 9, + 179, + 0, + 8, + 9, + 0, + 8, + 137, + 0, + 8, + 73, + 0, + 9, + 243, + 80, + 7, + 4, + 0, + 8, + 85, + 0, + 8, + 21, + 80, + 8, + 258, + 83, + 7, + 43, + 0, + 8, + 117, + 0, + 8, + 53, + 0, + 9, + 203, + 81, + 7, + 13, + 0, + 8, + 101, + 0, + 8, + 37, + 0, + 9, + 171, + 0, + 8, + 5, + 0, + 8, + 133, + 0, + 8, + 69, + 0, + 9, + 235, + 80, + 7, + 8, + 0, + 8, + 93, + 0, + 8, + 29, + 0, + 9, + 155, + 84, + 7, + 83, + 0, + 8, + 125, + 0, + 8, + 61, + 0, + 9, + 219, + 82, + 7, + 23, + 0, + 8, + 109, + 0, + 8, + 45, + 0, + 9, + 187, + 0, + 8, + 13, + 0, + 8, + 141, + 0, + 8, + 77, + 0, + 9, + 251, + 80, + 7, + 3, + 0, + 8, + 83, + 0, + 8, + 19, + 85, + 8, + 195, + 83, + 7, + 35, + 0, + 8, + 115, + 0, + 8, + 51, + 0, + 9, + 199, + 81, + 7, + 11, + 0, + 8, + 99, + 0, + 8, + 35, + 0, + 9, + 167, + 0, + 8, + 3, + 0, + 8, + 131, + 0, + 8, + 67, + 0, + 9, + 231, + 80, + 7, + 7, + 0, + 8, + 91, + 0, + 8, + 27, + 0, + 9, + 151, + 84, + 7, + 67, + 0, + 8, + 123, + 0, + 8, + 59, + 0, + 9, + 215, + 82, + 7, + 19, + 0, + 8, + 107, + 0, + 8, + 43, + 0, + 9, + 183, + 0, + 8, + 11, + 0, + 8, + 139, + 0, + 8, + 75, + 0, + 9, + 247, + 80, + 7, + 5, + 0, + 8, + 87, + 0, + 8, + 23, + 192, + 8, + 0, + 83, + 7, + 51, + 0, + 8, + 119, + 0, + 8, + 55, + 0, + 9, + 207, + 81, + 7, + 15, + 0, + 8, + 103, + 0, + 8, + 39, + 0, + 9, + 175, + 0, + 8, + 7, + 0, + 8, + 135, + 0, + 8, + 71, + 0, + 9, + 239, + 80, + 7, + 9, + 0, + 8, + 95, + 0, + 8, + 31, + 0, + 9, + 159, + 84, + 7, + 99, + 0, + 8, + 127, + 0, + 8, + 63, + 0, + 9, + 223, + 82, + 7, + 27, + 0, + 8, + 111, + 0, + 8, + 47, + 0, + 9, + 191, + 0, + 8, + 15, + 0, + 8, + 143, + 0, + 8, + 79, + 0, + 9, + 255 + }; + + internal static readonly int[] fixed_td = new int[] + { + 80, + 5, + 1, + 87, + 5, + 257, + 83, + 5, + 17, + 91, + 5, + 4097, + 81, + 5, + 5, + 89, + 5, + 1025, + 85, + 5, + 65, + 93, + 5, + 16385, + 80, + 5, + 3, + 88, + 5, + 513, + 84, + 5, + 33, + 92, + 5, + 8193, + 82, + 5, + 9, + 90, + 5, + 2049, + 86, + 5, + 129, + 192, + 5, + 24577, + 80, + 5, + 2, + 87, + 5, + 385, + 83, + 5, + 25, + 91, + 5, + 6145, + 81, + 5, + 7, + 89, + 5, + 1537, + 85, + 5, + 97, + 93, + 5, + 24577, + 80, + 5, + 4, + 88, + 5, + 769, + 84, + 5, + 49, + 92, + 5, + 12289, + 82, + 5, + 13, + 90, + 5, + 3073, + 86, + 5, + 193, + 192, + 5, + 24577 + }; + + internal static readonly int[] cplens = new int[] + { + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 13, + 15, + 17, + 19, + 23, + 27, + 31, + 35, + 43, + 51, + 59, + 67, + 83, + 99, + 115, + 131, + 163, + 195, + 227, + 258, + 0, + 0 + }; + + internal static readonly int[] cplext = new int[] + { + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 1, + 1, + 1, + 2, + 2, + 2, + 2, + 3, + 3, + 3, + 3, + 4, + 4, + 4, + 4, + 5, + 5, + 5, + 5, + 0, + 112, + 112 + }; + + internal static readonly int[] cpdist = new int[] + { + 1, + 2, + 3, + 4, + 5, + 7, + 9, + 13, + 17, + 25, + 33, + 49, + 65, + 97, + 129, + 193, + 257, + 385, + 513, + 769, + 1025, + 1537, + 2049, + 3073, + 4097, + 6145, + 8193, + 12289, + 16385, + 24577 + }; + + internal static readonly int[] cpdext = new int[] + { + 0, + 0, + 0, + 0, + 1, + 1, + 2, + 2, + 3, + 3, + 4, + 4, + 5, + 5, + 6, + 6, + 7, + 7, + 8, + 8, + 9, + 9, + 10, + 10, + 11, + 11, + 12, + 12, + 13, + 13 + }; + + internal const int BMAX = 15; + + internal int[] hn = null; + + internal int[] v = null; + + internal int[] c = null; + + internal int[] r = null; + + internal int[] u = null; + + internal int[] x = null; + + private int huft_build(int[] b, int bindex, int n, int s, int[] d, int[] e, int[] t, int[] m, int[] hp, int[] hn, int[] v) + { + int num = 0; + int i = n; + do + { + this.c[b[bindex + num]]++; + num++; + i--; + } + while (i != 0); + bool flag = this.c[0] == n; + int result; + if (flag) + { + t[0] = -1; + m[0] = 0; + result = 0; + } + else + { + int num2 = m[0]; + int j; + for (j = 1; j <= 15; j++) + { + bool flag2 = this.c[j] != 0; + if (flag2) + { + break; + } + } + int k = j; + bool flag3 = num2 < j; + if (flag3) + { + num2 = j; + } + for (i = 15; i != 0; i--) + { + bool flag4 = this.c[i] != 0; + if (flag4) + { + break; + } + } + int num3 = i; + bool flag5 = num2 > i; + if (flag5) + { + num2 = i; + } + m[0] = num2; + int num4 = 1 << j; + while (j < i) + { + bool flag6 = (num4 -= this.c[j]) < 0; + if (flag6) + { + return -3; + } + j++; + num4 <<= 1; + } + bool flag7 = (num4 -= this.c[i]) < 0; + if (flag7) + { + result = -3; + } + else + { + this.c[i] += num4; + j = (this.x[1] = 0); + num = 1; + int num5 = 2; + while (--i != 0) + { + j = (this.x[num5] = j + this.c[num]); + num5++; + num++; + } + i = 0; + num = 0; + do + { + bool flag8 = (j = b[bindex + num]) != 0; + if (flag8) + { + int[] array = this.x; + int num6 = j; + int num7 = array[num6]; + array[num6] = num7 + 1; + v[num7] = i; + } + num++; + } + while (++i < n); + n = this.x[num3]; + i = (this.x[0] = 0); + num = 0; + int num8 = -1; + int num9 = -num2; + this.u[0] = 0; + int num10 = 0; + int num11 = 0; + while (k <= num3) + { + int num12 = this.c[k]; + while (num12-- != 0) + { + int num13; + while (k > num9 + num2) + { + num8++; + num9 += num2; + num11 = num3 - num9; + num11 = ((num11 > num2) ? num2 : num11); + bool flag9 = (num13 = 1 << ((j = k - num9) & 31)) > num12 + 1; + if (flag9) + { + num13 -= num12 + 1; + num5 = k; + bool flag10 = j < num11; + if (flag10) + { + while (++j < num11) + { + bool flag11 = (num13 <<= 1) <= this.c[++num5]; + if (flag11) + { + break; + } + num13 -= this.c[num5]; + } + } + } + num11 = 1 << j; + bool flag12 = hn[0] + num11 > 1440; + if (flag12) + { + return -3; + } + num10 = (this.u[num8] = hn[0]); + hn[0] += num11; + bool flag13 = num8 != 0; + if (flag13) + { + this.x[num8] = i; + this.r[0] = (int)((sbyte)j); + this.r[1] = (int)((sbyte)num2); + j = SharedUtils.URShift(i, num9 - num2); + this.r[2] = num10 - this.u[num8 - 1] - j; + Array.Copy(this.r, 0, hp, (this.u[num8 - 1] + j) * 3, 3); + } + else + { + t[0] = num10; + } + } + this.r[1] = (int)((sbyte)(k - num9)); + bool flag14 = num >= n; + if (flag14) + { + this.r[0] = 192; + } + else + { + bool flag15 = v[num] < s; + if (flag15) + { + this.r[0] = (int)((v[num] < 256) ? 0 : 96); + this.r[2] = v[num++]; + } + else + { + this.r[0] = (int)((sbyte)(e[v[num] - s] + 16 + 64)); + this.r[2] = d[v[num++] - s]; + } + } + num13 = 1 << k - num9; + for (j = SharedUtils.URShift(i, num9); j < num11; j += num13) + { + Array.Copy(this.r, 0, hp, (num10 + j) * 3, 3); + } + j = 1 << k - 1; + while ((i & j) != 0) + { + i ^= j; + j = SharedUtils.URShift(j, 1); + } + i ^= j; + int num14 = (1 << num9) - 1; + while ((i & num14) != this.x[num8]) + { + num8--; + num9 -= num2; + num14 = (1 << num9) - 1; + } + } + k++; + } + result = ((num4 != 0 && num3 != 1) ? -5 : 0); + } + } + return result; + } + + internal int inflate_trees_bits(int[] c, int[] bb, int[] tb, int[] hp, ZlibCodec z) + { + this.initWorkArea(19); + this.hn[0] = 0; + int num = this.huft_build(c, 0, 19, 19, null, null, tb, bb, hp, this.hn, this.v); + bool flag = num == -3; + if (flag) + { + z.Message = "oversubscribed dynamic bit lengths tree"; + } + else + { + bool flag2 = num == -5 || bb[0] == 0; + if (flag2) + { + z.Message = "incomplete dynamic bit lengths tree"; + num = -3; + } + } + return num; + } + + internal int inflate_trees_dynamic(int nl, int nd, int[] c, int[] bl, int[] bd, int[] tl, int[] td, int[] hp, ZlibCodec z) + { + this.initWorkArea(288); + this.hn[0] = 0; + int num = this.huft_build(c, 0, nl, 257, InfTree.cplens, InfTree.cplext, tl, bl, hp, this.hn, this.v); + bool flag = num != 0 || bl[0] == 0; + int result; + if (flag) + { + bool flag2 = num == -3; + if (flag2) + { + z.Message = "oversubscribed literal/length tree"; + } + else + { + bool flag3 = num != -4; + if (flag3) + { + z.Message = "incomplete literal/length tree"; + num = -3; + } + } + result = num; + } + else + { + this.initWorkArea(288); + num = this.huft_build(c, nl, nd, 0, InfTree.cpdist, InfTree.cpdext, td, bd, hp, this.hn, this.v); + bool flag4 = num != 0 || (bd[0] == 0 && nl > 257); + if (flag4) + { + bool flag5 = num == -3; + if (flag5) + { + z.Message = "oversubscribed distance tree"; + } + else + { + bool flag6 = num == -5; + if (flag6) + { + z.Message = "incomplete distance tree"; + num = -3; + } + else + { + bool flag7 = num != -4; + if (flag7) + { + z.Message = "empty distance tree with lengths"; + num = -3; + } + } + } + result = num; + } + else + { + result = 0; + } + } + return result; + } + + internal static int inflate_trees_fixed(int[] bl, int[] bd, int[][] tl, int[][] td, ZlibCodec z) + { + bl[0] = 9; + bd[0] = 5; + tl[0] = InfTree.fixed_tl; + td[0] = InfTree.fixed_td; + return 0; + } + + private void initWorkArea(int vsize) + { + bool flag = this.hn == null; + if (flag) + { + this.hn = new int[1]; + this.v = new int[vsize]; + this.c = new int[16]; + this.r = new int[3]; + this.u = new int[15]; + this.x = new int[16]; + } + else + { + bool flag2 = this.v.Length < vsize; + if (flag2) + { + this.v = new int[vsize]; + } + Array.Clear(this.v, 0, vsize); + Array.Clear(this.c, 0, 16); + this.r[0] = 0; + this.r[1] = 0; + this.r[2] = 0; + Array.Clear(this.u, 0, 15); + Array.Clear(this.x, 0, 16); + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib/InfTree.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib/InfTree.cs.meta new file mode 100644 index 00000000..dbfe8274 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib/InfTree.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: a743f4b4ce524c6498d107954ee73f5e +timeCreated: 1611465737 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib/InflateBlocks.cs b/Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib/InflateBlocks.cs new file mode 100644 index 00000000..7945ea84 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib/InflateBlocks.cs @@ -0,0 +1,740 @@ +using System; + +namespace Ionic.Zlib +{ + internal sealed class InflateBlocks + { + private const int MANY = 1440; + + internal static readonly int[] border = new int[] + { + 16, + 17, + 18, + 0, + 8, + 7, + 9, + 6, + 10, + 5, + 11, + 4, + 12, + 3, + 13, + 2, + 14, + 1, + 15 + }; + + private InflateBlocks.InflateBlockMode mode; + + internal int left; + + internal int table; + + internal int index; + + internal int[] blens; + + internal int[] bb = new int[1]; + + internal int[] tb = new int[1]; + + internal InflateCodes codes = new InflateCodes(); + + internal int last; + + internal ZlibCodec _codec; + + internal int bitk; + + internal int bitb; + + internal int[] hufts; + + internal byte[] window; + + internal int end; + + internal int readAt; + + internal int writeAt; + + internal object checkfn; + + internal uint check; + + internal InfTree inftree = new InfTree(); + + private enum InflateBlockMode + { + TYPE, + LENS, + STORED, + TABLE, + BTREE, + DTREE, + CODES, + DRY, + DONE, + BAD + } + + internal InflateBlocks(ZlibCodec codec, object checkfn, int w) + { + this._codec = codec; + this.hufts = new int[4320]; + this.window = new byte[w]; + this.end = w; + this.checkfn = checkfn; + this.mode = InflateBlocks.InflateBlockMode.TYPE; + this.Reset(); + } + + internal uint Reset() + { + uint result = this.check; + this.mode = InflateBlocks.InflateBlockMode.TYPE; + this.bitk = 0; + this.bitb = 0; + this.readAt = (this.writeAt = 0); + bool flag = this.checkfn != null; + if (flag) + { + this._codec._Adler32 = (this.check = Adler.Adler32(0u, null, 0, 0)); + } + return result; + } + + internal int Process(int r) + { + int num = this._codec.NextIn; + int num2 = this._codec.AvailableBytesIn; + int num3 = this.bitb; + int i = this.bitk; + int num4 = this.writeAt; + int num5 = (num4 < this.readAt) ? (this.readAt - num4 - 1) : (this.end - num4); + int num6; + for (;;) + { + switch (this.mode) + { + case InflateBlocks.InflateBlockMode.TYPE: + while (i < 3) + { + bool flag = num2 != 0; + if (!flag) + { + goto IL_AC; + } + r = 0; + num2--; + num3 |= (int)(this._codec.InputBuffer[num++] & byte.MaxValue) << i; + i += 8; + } + num6 = (num3 & 7); + this.last = (num6 & 1); + switch ((uint)num6 >> 1) + { + case 0u: + num3 >>= 3; + i -= 3; + num6 = (i & 7); + num3 >>= num6; + i -= num6; + this.mode = InflateBlocks.InflateBlockMode.LENS; + break; + case 1u: + { + int[] array = new int[1]; + int[] array2 = new int[1]; + int[][] array3 = new int[1][]; + int[][] array4 = new int[1][]; + InfTree.inflate_trees_fixed(array, array2, array3, array4, this._codec); + this.codes.Init(array[0], array2[0], array3[0], 0, array4[0], 0); + num3 >>= 3; + i -= 3; + this.mode = InflateBlocks.InflateBlockMode.CODES; + break; + } + case 2u: + num3 >>= 3; + i -= 3; + this.mode = InflateBlocks.InflateBlockMode.TABLE; + break; + case 3u: + goto IL_20C; + } + continue; + case InflateBlocks.InflateBlockMode.LENS: + { + while (i < 32) + { + bool flag2 = num2 != 0; + if (!flag2) + { + goto IL_2AA; + } + r = 0; + num2--; + num3 |= (int)(this._codec.InputBuffer[num++] & byte.MaxValue) << i; + i += 8; + } + bool flag3 = (~num3 >> 16 & 65535) != (num3 & 65535); + if (flag3) + { + goto Block_8; + } + this.left = (num3 & 65535); + i = (num3 = 0); + this.mode = ((this.left != 0) ? InflateBlocks.InflateBlockMode.STORED : ((this.last != 0) ? InflateBlocks.InflateBlockMode.DRY : InflateBlocks.InflateBlockMode.TYPE)); + continue; + } + case InflateBlocks.InflateBlockMode.STORED: + { + bool flag4 = num2 == 0; + if (flag4) + { + goto Block_11; + } + bool flag5 = num5 == 0; + if (flag5) + { + bool flag6 = num4 == this.end && this.readAt != 0; + if (flag6) + { + num4 = 0; + num5 = ((num4 < this.readAt) ? (this.readAt - num4 - 1) : (this.end - num4)); + } + bool flag7 = num5 == 0; + if (flag7) + { + this.writeAt = num4; + r = this.Flush(r); + num4 = this.writeAt; + num5 = ((num4 < this.readAt) ? (this.readAt - num4 - 1) : (this.end - num4)); + bool flag8 = num4 == this.end && this.readAt != 0; + if (flag8) + { + num4 = 0; + num5 = ((num4 < this.readAt) ? (this.readAt - num4 - 1) : (this.end - num4)); + } + bool flag9 = num5 == 0; + if (flag9) + { + goto Block_21; + } + } + } + r = 0; + num6 = this.left; + bool flag10 = num6 > num2; + if (flag10) + { + num6 = num2; + } + bool flag11 = num6 > num5; + if (flag11) + { + num6 = num5; + } + Array.Copy(this._codec.InputBuffer, num, this.window, num4, num6); + num += num6; + num2 -= num6; + num4 += num6; + num5 -= num6; + bool flag12 = (this.left -= num6) != 0; + if (flag12) + { + continue; + } + this.mode = ((this.last != 0) ? InflateBlocks.InflateBlockMode.DRY : InflateBlocks.InflateBlockMode.TYPE); + continue; + } + case InflateBlocks.InflateBlockMode.TABLE: + { + while (i < 14) + { + bool flag13 = num2 != 0; + if (!flag13) + { + goto IL_665; + } + r = 0; + num2--; + num3 |= (int)(this._codec.InputBuffer[num++] & byte.MaxValue) << i; + i += 8; + } + num6 = (this.table = (num3 & 16383)); + bool flag14 = (num6 & 31) > 29 || (num6 >> 5 & 31) > 29; + if (flag14) + { + goto Block_29; + } + num6 = 258 + (num6 & 31) + (num6 >> 5 & 31); + bool flag15 = this.blens == null || this.blens.Length < num6; + if (flag15) + { + this.blens = new int[num6]; + } + else + { + Array.Clear(this.blens, 0, num6); + } + num3 >>= 14; + i -= 14; + this.index = 0; + this.mode = InflateBlocks.InflateBlockMode.BTREE; + goto IL_807; + } + case InflateBlocks.InflateBlockMode.BTREE: + goto IL_807; + case InflateBlocks.InflateBlockMode.DTREE: + goto IL_A03; + case InflateBlocks.InflateBlockMode.CODES: + goto IL_E92; + case InflateBlocks.InflateBlockMode.DRY: + goto IL_F85; + case InflateBlocks.InflateBlockMode.DONE: + goto IL_103E; + case InflateBlocks.InflateBlockMode.BAD: + goto IL_109E; + } + break; + continue; + IL_E92: + this.bitb = num3; + this.bitk = i; + this._codec.AvailableBytesIn = num2; + this._codec.TotalBytesIn += (long)(num - this._codec.NextIn); + this._codec.NextIn = num; + this.writeAt = num4; + r = this.codes.Process(this, r); + bool flag16 = r != 1; + if (flag16) + { + goto Block_53; + } + r = 0; + num = this._codec.NextIn; + num2 = this._codec.AvailableBytesIn; + num3 = this.bitb; + i = this.bitk; + num4 = this.writeAt; + num5 = ((num4 < this.readAt) ? (this.readAt - num4 - 1) : (this.end - num4)); + bool flag17 = this.last == 0; + if (flag17) + { + this.mode = InflateBlocks.InflateBlockMode.TYPE; + continue; + } + goto IL_F7C; + IL_A03: + for (;;) + { + num6 = this.table; + bool flag18 = this.index >= 258 + (num6 & 31) + (num6 >> 5 & 31); + if (flag18) + { + break; + } + num6 = this.bb[0]; + while (i < num6) + { + bool flag19 = num2 != 0; + if (!flag19) + { + goto IL_A59; + } + r = 0; + num2--; + num3 |= (int)(this._codec.InputBuffer[num++] & byte.MaxValue) << i; + i += 8; + } + num6 = this.hufts[(this.tb[0] + (num3 & InternalInflateConstants.InflateMask[num6])) * 3 + 1]; + int num7 = this.hufts[(this.tb[0] + (num3 & InternalInflateConstants.InflateMask[num6])) * 3 + 2]; + bool flag20 = num7 < 16; + if (flag20) + { + num3 >>= num6; + i -= num6; + int[] array5 = this.blens; + int num8 = this.index; + this.index = num8 + 1; + array5[num8] = num7; + } + else + { + int num9 = (num7 == 18) ? 7 : (num7 - 14); + int num10 = (num7 == 18) ? 11 : 3; + while (i < num6 + num9) + { + bool flag21 = num2 != 0; + if (!flag21) + { + goto IL_B9C; + } + r = 0; + num2--; + num3 |= (int)(this._codec.InputBuffer[num++] & byte.MaxValue) << i; + i += 8; + } + num3 >>= num6; + i -= num6; + num10 += (num3 & InternalInflateConstants.InflateMask[num9]); + num3 >>= num9; + i -= num9; + num9 = this.index; + num6 = this.table; + bool flag22 = num9 + num10 > 258 + (num6 & 31) + (num6 >> 5 & 31) || (num7 == 16 && num9 < 1); + if (flag22) + { + goto Block_48; + } + num7 = ((num7 == 16) ? this.blens[num9 - 1] : 0); + do + { + this.blens[num9++] = num7; + } + while (--num10 != 0); + this.index = num9; + } + } + this.tb[0] = -1; + int[] array6 = new int[] + { + 9 + }; + int[] array7 = new int[] + { + 6 + }; + int[] array8 = new int[1]; + int[] array9 = new int[1]; + num6 = this.table; + num6 = this.inftree.inflate_trees_dynamic(257 + (num6 & 31), 1 + (num6 >> 5 & 31), this.blens, array6, array7, array8, array9, this.hufts, this._codec); + bool flag23 = num6 != 0; + if (flag23) + { + goto Block_51; + } + this.codes.Init(array6[0], array7[0], this.hufts, array8[0], this.hufts, array9[0]); + this.mode = InflateBlocks.InflateBlockMode.CODES; + goto IL_E92; + IL_807: + while (this.index < 4 + (this.table >> 10)) + { + while (i < 3) + { + bool flag24 = num2 != 0; + if (!flag24) + { + goto IL_825; + } + r = 0; + num2--; + num3 |= (int)(this._codec.InputBuffer[num++] & byte.MaxValue) << i; + i += 8; + } + int[] array10 = this.blens; + int[] array11 = InflateBlocks.border; + int num8 = this.index; + this.index = num8 + 1; + array10[array11[num8]] = (num3 & 7); + num3 >>= 3; + i -= 3; + } + while (this.index < 19) + { + int[] array12 = this.blens; + int[] array13 = InflateBlocks.border; + int num8 = this.index; + this.index = num8 + 1; + array12[array13[num8]] = 0; + } + this.bb[0] = 7; + num6 = this.inftree.inflate_trees_bits(this.blens, this.bb, this.tb, this.hufts, this._codec); + bool flag25 = num6 != 0; + if (flag25) + { + goto Block_36; + } + this.index = 0; + this.mode = InflateBlocks.InflateBlockMode.DTREE; + goto IL_A03; + } + r = -2; + this.bitb = num3; + this.bitk = i; + this._codec.AvailableBytesIn = num2; + this._codec.TotalBytesIn += (long)(num - this._codec.NextIn); + this._codec.NextIn = num; + this.writeAt = num4; + return this.Flush(r); + IL_AC: + this.bitb = num3; + this.bitk = i; + this._codec.AvailableBytesIn = num2; + this._codec.TotalBytesIn += (long)(num - this._codec.NextIn); + this._codec.NextIn = num; + this.writeAt = num4; + return this.Flush(r); + IL_20C: + num3 >>= 3; + i -= 3; + this.mode = InflateBlocks.InflateBlockMode.BAD; + this._codec.Message = "invalid block type"; + r = -3; + this.bitb = num3; + this.bitk = i; + this._codec.AvailableBytesIn = num2; + this._codec.TotalBytesIn += (long)(num - this._codec.NextIn); + this._codec.NextIn = num; + this.writeAt = num4; + return this.Flush(r); + IL_2AA: + this.bitb = num3; + this.bitk = i; + this._codec.AvailableBytesIn = num2; + this._codec.TotalBytesIn += (long)(num - this._codec.NextIn); + this._codec.NextIn = num; + this.writeAt = num4; + return this.Flush(r); + Block_8: + this.mode = InflateBlocks.InflateBlockMode.BAD; + this._codec.Message = "invalid stored block lengths"; + r = -3; + this.bitb = num3; + this.bitk = i; + this._codec.AvailableBytesIn = num2; + this._codec.TotalBytesIn += (long)(num - this._codec.NextIn); + this._codec.NextIn = num; + this.writeAt = num4; + return this.Flush(r); + Block_11: + this.bitb = num3; + this.bitk = i; + this._codec.AvailableBytesIn = num2; + this._codec.TotalBytesIn += (long)(num - this._codec.NextIn); + this._codec.NextIn = num; + this.writeAt = num4; + return this.Flush(r); + Block_21: + this.bitb = num3; + this.bitk = i; + this._codec.AvailableBytesIn = num2; + this._codec.TotalBytesIn += (long)(num - this._codec.NextIn); + this._codec.NextIn = num; + this.writeAt = num4; + return this.Flush(r); + IL_665: + this.bitb = num3; + this.bitk = i; + this._codec.AvailableBytesIn = num2; + this._codec.TotalBytesIn += (long)(num - this._codec.NextIn); + this._codec.NextIn = num; + this.writeAt = num4; + return this.Flush(r); + Block_29: + this.mode = InflateBlocks.InflateBlockMode.BAD; + this._codec.Message = "too many length or distance symbols"; + r = -3; + this.bitb = num3; + this.bitk = i; + this._codec.AvailableBytesIn = num2; + this._codec.TotalBytesIn += (long)(num - this._codec.NextIn); + this._codec.NextIn = num; + this.writeAt = num4; + return this.Flush(r); + IL_825: + this.bitb = num3; + this.bitk = i; + this._codec.AvailableBytesIn = num2; + this._codec.TotalBytesIn += (long)(num - this._codec.NextIn); + this._codec.NextIn = num; + this.writeAt = num4; + return this.Flush(r); + Block_36: + r = num6; + bool flag26 = r == -3; + if (flag26) + { + this.blens = null; + this.mode = InflateBlocks.InflateBlockMode.BAD; + } + this.bitb = num3; + this.bitk = i; + this._codec.AvailableBytesIn = num2; + this._codec.TotalBytesIn += (long)(num - this._codec.NextIn); + this._codec.NextIn = num; + this.writeAt = num4; + return this.Flush(r); + IL_A59: + this.bitb = num3; + this.bitk = i; + this._codec.AvailableBytesIn = num2; + this._codec.TotalBytesIn += (long)(num - this._codec.NextIn); + this._codec.NextIn = num; + this.writeAt = num4; + return this.Flush(r); + IL_B9C: + this.bitb = num3; + this.bitk = i; + this._codec.AvailableBytesIn = num2; + this._codec.TotalBytesIn += (long)(num - this._codec.NextIn); + this._codec.NextIn = num; + this.writeAt = num4; + return this.Flush(r); + Block_48: + this.blens = null; + this.mode = InflateBlocks.InflateBlockMode.BAD; + this._codec.Message = "invalid bit length repeat"; + r = -3; + this.bitb = num3; + this.bitk = i; + this._codec.AvailableBytesIn = num2; + this._codec.TotalBytesIn += (long)(num - this._codec.NextIn); + this._codec.NextIn = num; + this.writeAt = num4; + return this.Flush(r); + Block_51: + bool flag27 = num6 == -3; + if (flag27) + { + this.blens = null; + this.mode = InflateBlocks.InflateBlockMode.BAD; + } + r = num6; + this.bitb = num3; + this.bitk = i; + this._codec.AvailableBytesIn = num2; + this._codec.TotalBytesIn += (long)(num - this._codec.NextIn); + this._codec.NextIn = num; + this.writeAt = num4; + return this.Flush(r); + Block_53: + return this.Flush(r); + IL_F7C: + this.mode = InflateBlocks.InflateBlockMode.DRY; + IL_F85: + this.writeAt = num4; + r = this.Flush(r); + num4 = this.writeAt; + int num11 = (num4 < this.readAt) ? (this.readAt - num4 - 1) : (this.end - num4); + bool flag28 = this.readAt != this.writeAt; + if (flag28) + { + this.bitb = num3; + this.bitk = i; + this._codec.AvailableBytesIn = num2; + this._codec.TotalBytesIn += (long)(num - this._codec.NextIn); + this._codec.NextIn = num; + this.writeAt = num4; + return this.Flush(r); + } + this.mode = InflateBlocks.InflateBlockMode.DONE; + IL_103E: + r = 1; + this.bitb = num3; + this.bitk = i; + this._codec.AvailableBytesIn = num2; + this._codec.TotalBytesIn += (long)(num - this._codec.NextIn); + this._codec.NextIn = num; + this.writeAt = num4; + return this.Flush(r); + IL_109E: + r = -3; + this.bitb = num3; + this.bitk = i; + this._codec.AvailableBytesIn = num2; + this._codec.TotalBytesIn += (long)(num - this._codec.NextIn); + this._codec.NextIn = num; + this.writeAt = num4; + return this.Flush(r); + } + + internal void Free() + { + this.Reset(); + this.window = null; + this.hufts = null; + } + + internal void SetDictionary(byte[] d, int start, int n) + { + Array.Copy(d, start, this.window, 0, n); + this.writeAt = n; + this.readAt = n; + } + + internal int SyncPoint() + { + return (this.mode == InflateBlocks.InflateBlockMode.LENS) ? 1 : 0; + } + + internal int Flush(int r) + { + for (int i = 0; i < 2; i++) + { + bool flag = i == 0; + int num; + if (flag) + { + num = ((this.readAt <= this.writeAt) ? this.writeAt : this.end) - this.readAt; + } + else + { + num = this.writeAt - this.readAt; + } + bool flag2 = num == 0; + if (flag2) + { + bool flag3 = r == -5; + if (flag3) + { + r = 0; + } + return r; + } + bool flag4 = num > this._codec.AvailableBytesOut; + if (flag4) + { + num = this._codec.AvailableBytesOut; + } + bool flag5 = num != 0 && r == -5; + if (flag5) + { + r = 0; + } + this._codec.AvailableBytesOut -= num; + this._codec.TotalBytesOut += (long)num; + bool flag6 = this.checkfn != null; + if (flag6) + { + this._codec._Adler32 = (this.check = Adler.Adler32(this.check, this.window, this.readAt, num)); + } + Array.Copy(this.window, this.readAt, this._codec.OutputBuffer, this._codec.NextOut, num); + this._codec.NextOut += num; + this.readAt += num; + bool flag7 = this.readAt == this.end && i == 0; + if (flag7) + { + this.readAt = 0; + bool flag8 = this.writeAt == this.end; + if (flag8) + { + this.writeAt = 0; + } + } + else + { + i++; + } + } + return r; + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib/InflateBlocks.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib/InflateBlocks.cs.meta new file mode 100644 index 00000000..ddd00b95 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib/InflateBlocks.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: c47f2c3c076620d4e92b1d9eb79bcb84 +timeCreated: 1611465754 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib/InflateCodes.cs b/Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib/InflateCodes.cs new file mode 100644 index 00000000..0ff5ced7 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib/InflateCodes.cs @@ -0,0 +1,696 @@ +using System; + +namespace Ionic.Zlib +{ + internal sealed class InflateCodes + { + private const int START = 0; + + private const int LEN = 1; + + private const int LENEXT = 2; + + private const int DIST = 3; + + private const int DISTEXT = 4; + + private const int COPY = 5; + + private const int LIT = 6; + + private const int WASH = 7; + + private const int END = 8; + + private const int BADCODE = 9; + + internal int mode; + + internal int len; + + internal int[] tree; + + internal int tree_index = 0; + + internal int need; + + internal int lit; + + internal int bitsToGet; + + internal int dist; + + internal byte lbits; + + internal byte dbits; + + internal int[] ltree; + + internal int ltree_index; + + internal int[] dtree; + + internal int dtree_index; + + internal InflateCodes() + { + } + + internal void Init(int bl, int bd, int[] tl, int tl_index, int[] td, int td_index) + { + this.mode = 0; + this.lbits = (byte)bl; + this.dbits = (byte)bd; + this.ltree = tl; + this.ltree_index = tl_index; + this.dtree = td; + this.dtree_index = td_index; + this.tree = null; + } + + internal int Process(InflateBlocks blocks, int r) + { + ZlibCodec codec = blocks._codec; + int num = codec.NextIn; + int num2 = codec.AvailableBytesIn; + int num3 = blocks.bitb; + int i = blocks.bitk; + int num4 = blocks.writeAt; + int num5 = (num4 < blocks.readAt) ? (blocks.readAt - num4 - 1) : (blocks.end - num4); + for (;;) + { + int num6; + switch (this.mode) + { + case 0: + { + bool flag = num5 >= 258 && num2 >= 10; + if (flag) + { + blocks.bitb = num3; + blocks.bitk = i; + codec.AvailableBytesIn = num2; + codec.TotalBytesIn += (long)(num - codec.NextIn); + codec.NextIn = num; + blocks.writeAt = num4; + r = this.InflateFast((int)this.lbits, (int)this.dbits, this.ltree, this.ltree_index, this.dtree, this.dtree_index, blocks, codec); + num = codec.NextIn; + num2 = codec.AvailableBytesIn; + num3 = blocks.bitb; + i = blocks.bitk; + num4 = blocks.writeAt; + num5 = ((num4 < blocks.readAt) ? (blocks.readAt - num4 - 1) : (blocks.end - num4)); + bool flag2 = r != 0; + if (flag2) + { + this.mode = ((r == 1) ? 7 : 9); + continue; + } + } + this.need = (int)this.lbits; + this.tree = this.ltree; + this.tree_index = this.ltree_index; + this.mode = 1; + goto IL_1C6; + } + case 1: + goto IL_1C6; + case 2: + num6 = this.bitsToGet; + while (i < num6) + { + bool flag3 = num2 != 0; + if (!flag3) + { + goto IL_3D0; + } + r = 0; + num2--; + num3 |= (int)(codec.InputBuffer[num++] & byte.MaxValue) << i; + i += 8; + } + this.len += (num3 & InternalInflateConstants.InflateMask[num6]); + num3 >>= num6; + i -= num6; + this.need = (int)this.dbits; + this.tree = this.dtree; + this.tree_index = this.dtree_index; + this.mode = 3; + goto IL_4AA; + case 3: + goto IL_4AA; + case 4: + num6 = this.bitsToGet; + while (i < num6) + { + bool flag4 = num2 != 0; + if (!flag4) + { + goto IL_673; + } + r = 0; + num2--; + num3 |= (int)(codec.InputBuffer[num++] & byte.MaxValue) << i; + i += 8; + } + this.dist += (num3 & InternalInflateConstants.InflateMask[num6]); + num3 >>= num6; + i -= num6; + this.mode = 5; + goto IL_729; + case 5: + goto IL_729; + case 6: + { + bool flag5 = num5 == 0; + if (flag5) + { + bool flag6 = num4 == blocks.end && blocks.readAt != 0; + if (flag6) + { + num4 = 0; + num5 = ((num4 < blocks.readAt) ? (blocks.readAt - num4 - 1) : (blocks.end - num4)); + } + bool flag7 = num5 == 0; + if (flag7) + { + blocks.writeAt = num4; + r = blocks.Flush(r); + num4 = blocks.writeAt; + num5 = ((num4 < blocks.readAt) ? (blocks.readAt - num4 - 1) : (blocks.end - num4)); + bool flag8 = num4 == blocks.end && blocks.readAt != 0; + if (flag8) + { + num4 = 0; + num5 = ((num4 < blocks.readAt) ? (blocks.readAt - num4 - 1) : (blocks.end - num4)); + } + bool flag9 = num5 == 0; + if (flag9) + { + goto Block_44; + } + } + } + r = 0; + blocks.window[num4++] = (byte)this.lit; + num5--; + this.mode = 0; + continue; + } + case 7: + goto IL_A5A; + case 8: + goto IL_B25; + case 9: + goto IL_B78; + } + break; + continue; + IL_1C6: + num6 = this.need; + while (i < num6) + { + bool flag10 = num2 != 0; + if (!flag10) + { + goto IL_1E3; + } + r = 0; + num2--; + num3 |= (int)(codec.InputBuffer[num++] & byte.MaxValue) << i; + i += 8; + } + int num7 = (this.tree_index + (num3 & InternalInflateConstants.InflateMask[num6])) * 3; + num3 >>= this.tree[num7 + 1]; + i -= this.tree[num7 + 1]; + int num8 = this.tree[num7]; + bool flag11 = num8 == 0; + if (flag11) + { + this.lit = this.tree[num7 + 2]; + this.mode = 6; + continue; + } + bool flag12 = (num8 & 16) != 0; + if (flag12) + { + this.bitsToGet = (num8 & 15); + this.len = this.tree[num7 + 2]; + this.mode = 2; + continue; + } + bool flag13 = (num8 & 64) == 0; + if (flag13) + { + this.need = num8; + this.tree_index = num7 / 3 + this.tree[num7 + 2]; + continue; + } + bool flag14 = (num8 & 32) != 0; + if (flag14) + { + this.mode = 7; + continue; + } + goto IL_34B; + IL_4AA: + num6 = this.need; + while (i < num6) + { + bool flag15 = num2 != 0; + if (!flag15) + { + goto IL_4C7; + } + r = 0; + num2--; + num3 |= (int)(codec.InputBuffer[num++] & byte.MaxValue) << i; + i += 8; + } + num7 = (this.tree_index + (num3 & InternalInflateConstants.InflateMask[num6])) * 3; + num3 >>= this.tree[num7 + 1]; + i -= this.tree[num7 + 1]; + num8 = this.tree[num7]; + bool flag16 = (num8 & 16) != 0; + if (flag16) + { + this.bitsToGet = (num8 & 15); + this.dist = this.tree[num7 + 2]; + this.mode = 4; + continue; + } + bool flag17 = (num8 & 64) == 0; + if (flag17) + { + this.need = num8; + this.tree_index = num7 / 3 + this.tree[num7 + 2]; + continue; + } + goto IL_5EE; + IL_729: + int j; + for (j = num4 - this.dist; j < 0; j += blocks.end) + { + } + while (this.len != 0) + { + bool flag18 = num5 == 0; + if (flag18) + { + bool flag19 = num4 == blocks.end && blocks.readAt != 0; + if (flag19) + { + num4 = 0; + num5 = ((num4 < blocks.readAt) ? (blocks.readAt - num4 - 1) : (blocks.end - num4)); + } + bool flag20 = num5 == 0; + if (flag20) + { + blocks.writeAt = num4; + r = blocks.Flush(r); + num4 = blocks.writeAt; + num5 = ((num4 < blocks.readAt) ? (blocks.readAt - num4 - 1) : (blocks.end - num4)); + bool flag21 = num4 == blocks.end && blocks.readAt != 0; + if (flag21) + { + num4 = 0; + num5 = ((num4 < blocks.readAt) ? (blocks.readAt - num4 - 1) : (blocks.end - num4)); + } + bool flag22 = num5 == 0; + if (flag22) + { + goto Block_32; + } + } + } + blocks.window[num4++] = blocks.window[j++]; + num5--; + bool flag23 = j == blocks.end; + if (flag23) + { + j = 0; + } + this.len--; + } + this.mode = 0; + } + r = -2; + blocks.bitb = num3; + blocks.bitk = i; + codec.AvailableBytesIn = num2; + codec.TotalBytesIn += (long)(num - codec.NextIn); + codec.NextIn = num; + blocks.writeAt = num4; + return blocks.Flush(r); + IL_1E3: + blocks.bitb = num3; + blocks.bitk = i; + codec.AvailableBytesIn = num2; + codec.TotalBytesIn += (long)(num - codec.NextIn); + codec.NextIn = num; + blocks.writeAt = num4; + return blocks.Flush(r); + IL_34B: + this.mode = 9; + codec.Message = "invalid literal/length code"; + r = -3; + blocks.bitb = num3; + blocks.bitk = i; + codec.AvailableBytesIn = num2; + codec.TotalBytesIn += (long)(num - codec.NextIn); + codec.NextIn = num; + blocks.writeAt = num4; + return blocks.Flush(r); + IL_3D0: + blocks.bitb = num3; + blocks.bitk = i; + codec.AvailableBytesIn = num2; + codec.TotalBytesIn += (long)(num - codec.NextIn); + codec.NextIn = num; + blocks.writeAt = num4; + return blocks.Flush(r); + IL_4C7: + blocks.bitb = num3; + blocks.bitk = i; + codec.AvailableBytesIn = num2; + codec.TotalBytesIn += (long)(num - codec.NextIn); + codec.NextIn = num; + blocks.writeAt = num4; + return blocks.Flush(r); + IL_5EE: + this.mode = 9; + codec.Message = "invalid distance code"; + r = -3; + blocks.bitb = num3; + blocks.bitk = i; + codec.AvailableBytesIn = num2; + codec.TotalBytesIn += (long)(num - codec.NextIn); + codec.NextIn = num; + blocks.writeAt = num4; + return blocks.Flush(r); + IL_673: + blocks.bitb = num3; + blocks.bitk = i; + codec.AvailableBytesIn = num2; + codec.TotalBytesIn += (long)(num - codec.NextIn); + codec.NextIn = num; + blocks.writeAt = num4; + return blocks.Flush(r); + Block_32: + blocks.bitb = num3; + blocks.bitk = i; + codec.AvailableBytesIn = num2; + codec.TotalBytesIn += (long)(num - codec.NextIn); + codec.NextIn = num; + blocks.writeAt = num4; + return blocks.Flush(r); + Block_44: + blocks.bitb = num3; + blocks.bitk = i; + codec.AvailableBytesIn = num2; + codec.TotalBytesIn += (long)(num - codec.NextIn); + codec.NextIn = num; + blocks.writeAt = num4; + return blocks.Flush(r); + IL_A5A: + bool flag24 = i > 7; + if (flag24) + { + i -= 8; + num2++; + num--; + } + blocks.writeAt = num4; + r = blocks.Flush(r); + num4 = blocks.writeAt; + int num9 = (num4 < blocks.readAt) ? (blocks.readAt - num4 - 1) : (blocks.end - num4); + bool flag25 = blocks.readAt != blocks.writeAt; + if (flag25) + { + blocks.bitb = num3; + blocks.bitk = i; + codec.AvailableBytesIn = num2; + codec.TotalBytesIn += (long)(num - codec.NextIn); + codec.NextIn = num; + blocks.writeAt = num4; + return blocks.Flush(r); + } + this.mode = 8; + IL_B25: + r = 1; + blocks.bitb = num3; + blocks.bitk = i; + codec.AvailableBytesIn = num2; + codec.TotalBytesIn += (long)(num - codec.NextIn); + codec.NextIn = num; + blocks.writeAt = num4; + return blocks.Flush(r); + IL_B78: + r = -3; + blocks.bitb = num3; + blocks.bitk = i; + codec.AvailableBytesIn = num2; + codec.TotalBytesIn += (long)(num - codec.NextIn); + codec.NextIn = num; + blocks.writeAt = num4; + return blocks.Flush(r); + } + + internal int InflateFast(int bl, int bd, int[] tl, int tl_index, int[] td, int td_index, InflateBlocks s, ZlibCodec z) + { + int num = z.NextIn; + int num2 = z.AvailableBytesIn; + int num3 = s.bitb; + int i = s.bitk; + int num4 = s.writeAt; + int num5 = (num4 < s.readAt) ? (s.readAt - num4 - 1) : (s.end - num4); + int num6 = InternalInflateConstants.InflateMask[bl]; + int num7 = InternalInflateConstants.InflateMask[bd]; + int num10; + int num11; + for (;;) + { + while (i < 20) + { + num2--; + num3 |= (int)(z.InputBuffer[num++] & byte.MaxValue) << i; + i += 8; + } + int num8 = num3 & num6; + int num9 = (tl_index + num8) * 3; + bool flag = (num10 = tl[num9]) == 0; + if (flag) + { + num3 >>= tl[num9 + 1]; + i -= tl[num9 + 1]; + s.window[num4++] = (byte)tl[num9 + 2]; + num5--; + } + else + { + for (;;) + { + num3 >>= tl[num9 + 1]; + i -= tl[num9 + 1]; + bool flag2 = (num10 & 16) != 0; + if (flag2) + { + goto Block_4; + } + bool flag3 = (num10 & 64) == 0; + if (!flag3) + { + goto IL_56B; + } + num8 += tl[num9 + 2]; + num8 += (num3 & InternalInflateConstants.InflateMask[num10]); + num9 = (tl_index + num8) * 3; + bool flag4 = (num10 = tl[num9]) == 0; + if (flag4) + { + goto Block_20; + } + } + IL_699: + goto IL_69A; + Block_20: + num3 >>= tl[num9 + 1]; + i -= tl[num9 + 1]; + s.window[num4++] = (byte)tl[num9 + 2]; + num5--; + goto IL_699; + Block_4: + num10 &= 15; + num11 = tl[num9 + 2] + (num3 & InternalInflateConstants.InflateMask[num10]); + num3 >>= num10; + for (i -= num10; i < 15; i += 8) + { + num2--; + num3 |= (int)(z.InputBuffer[num++] & byte.MaxValue) << i; + } + num8 = (num3 & num7); + num9 = (td_index + num8) * 3; + num10 = td[num9]; + for (;;) + { + num3 >>= td[num9 + 1]; + i -= td[num9 + 1]; + bool flag5 = (num10 & 16) != 0; + if (flag5) + { + break; + } + bool flag6 = (num10 & 64) == 0; + if (!flag6) + { + goto IL_451; + } + num8 += td[num9 + 2]; + num8 += (num3 & InternalInflateConstants.InflateMask[num10]); + num9 = (td_index + num8) * 3; + num10 = td[num9]; + } + num10 &= 15; + while (i < num10) + { + num2--; + num3 |= (int)(z.InputBuffer[num++] & byte.MaxValue) << i; + i += 8; + } + int num12 = td[num9 + 2] + (num3 & InternalInflateConstants.InflateMask[num10]); + num3 >>= num10; + i -= num10; + num5 -= num11; + bool flag7 = num4 >= num12; + int num13; + if (flag7) + { + num13 = num4 - num12; + bool flag8 = num4 - num13 > 0 && 2 > num4 - num13; + if (flag8) + { + s.window[num4++] = s.window[num13++]; + s.window[num4++] = s.window[num13++]; + num11 -= 2; + } + else + { + Array.Copy(s.window, num13, s.window, num4, 2); + num4 += 2; + num13 += 2; + num11 -= 2; + } + } + else + { + num13 = num4 - num12; + do + { + num13 += s.end; + } + while (num13 < 0); + num10 = s.end - num13; + bool flag9 = num11 > num10; + if (flag9) + { + num11 -= num10; + bool flag10 = num4 - num13 > 0 && num10 > num4 - num13; + if (flag10) + { + do + { + s.window[num4++] = s.window[num13++]; + } + while (--num10 != 0); + } + else + { + Array.Copy(s.window, num13, s.window, num4, num10); + num4 += num10; + num13 += num10; + } + num13 = 0; + } + } + bool flag11 = num4 - num13 > 0 && num11 > num4 - num13; + if (flag11) + { + do + { + s.window[num4++] = s.window[num13++]; + } + while (--num11 != 0); + } + else + { + Array.Copy(s.window, num13, s.window, num4, num11); + num4 += num11; + num13 += num11; + } + } + IL_69A: + if (num5 < 258 || num2 < 10) + { + goto Block_25; + } + } + IL_451: + z.Message = "invalid distance code"; + num11 = z.AvailableBytesIn - num2; + num11 = ((i >> 3 < num11) ? (i >> 3) : num11); + num2 += num11; + num -= num11; + i -= num11 << 3; + s.bitb = num3; + s.bitk = i; + z.AvailableBytesIn = num2; + z.TotalBytesIn += (long)(num - z.NextIn); + z.NextIn = num; + s.writeAt = num4; + return -3; + IL_56B: + bool flag12 = (num10 & 32) != 0; + if (flag12) + { + num11 = z.AvailableBytesIn - num2; + num11 = ((i >> 3 < num11) ? (i >> 3) : num11); + num2 += num11; + num -= num11; + i -= num11 << 3; + s.bitb = num3; + s.bitk = i; + z.AvailableBytesIn = num2; + z.TotalBytesIn += (long)(num - z.NextIn); + z.NextIn = num; + s.writeAt = num4; + return 1; + } + z.Message = "invalid literal/length code"; + num11 = z.AvailableBytesIn - num2; + num11 = ((i >> 3 < num11) ? (i >> 3) : num11); + num2 += num11; + num -= num11; + i -= num11 << 3; + s.bitb = num3; + s.bitk = i; + z.AvailableBytesIn = num2; + z.TotalBytesIn += (long)(num - z.NextIn); + z.NextIn = num; + s.writeAt = num4; + return -3; + Block_25: + num11 = z.AvailableBytesIn - num2; + num11 = ((i >> 3 < num11) ? (i >> 3) : num11); + num2 += num11; + num -= num11; + i -= num11 << 3; + s.bitb = num3; + s.bitk = i; + z.AvailableBytesIn = num2; + z.TotalBytesIn += (long)(num - z.NextIn); + z.NextIn = num; + s.writeAt = num4; + return 0; + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib/InflateCodes.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib/InflateCodes.cs.meta new file mode 100644 index 00000000..ae1072d6 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib/InflateCodes.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 7146d212caa78a24bbd76178120abbec +timeCreated: 1611465687 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib/InflateManager.cs b/Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib/InflateManager.cs new file mode 100644 index 00000000..e3dc05d5 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib/InflateManager.cs @@ -0,0 +1,523 @@ +using System; + +namespace Ionic.Zlib +{ + internal sealed class InflateManager + { + internal bool HandleRfc1950HeaderBytes + { + get + { + return this._handleRfc1950HeaderBytes; + } + set + { + this._handleRfc1950HeaderBytes = value; + } + } + + private const int PRESET_DICT = 32; + + private const int Z_DEFLATED = 8; + + private InflateManager.InflateManagerMode mode; + + internal ZlibCodec _codec; + + internal int method; + + internal uint computedCheck; + + internal uint expectedCheck; + + internal int marker; + + private bool _handleRfc1950HeaderBytes = true; + + internal int wbits; + + internal InflateBlocks blocks; + + private static readonly byte[] mark = new byte[] + { + 0, + 0, + byte.MaxValue, + byte.MaxValue + }; + + private enum InflateManagerMode + { + METHOD, + FLAG, + DICT4, + DICT3, + DICT2, + DICT1, + DICT0, + BLOCKS, + CHECK4, + CHECK3, + CHECK2, + CHECK1, + DONE, + BAD + } + + public InflateManager() + { + } + + public InflateManager(bool expectRfc1950HeaderBytes) + { + this._handleRfc1950HeaderBytes = expectRfc1950HeaderBytes; + } + + public int Reset() + { + this._codec.TotalBytesIn = (this._codec.TotalBytesOut = 0L); + this._codec.Message = null; + this.mode = (this.HandleRfc1950HeaderBytes ? InflateManager.InflateManagerMode.METHOD : InflateManager.InflateManagerMode.BLOCKS); + this.blocks.Reset(); + return 0; + } + + internal int End() + { + bool flag = this.blocks != null; + if (flag) + { + this.blocks.Free(); + } + this.blocks = null; + return 0; + } + + internal int Initialize(ZlibCodec codec, int w) + { + this._codec = codec; + this._codec.Message = null; + this.blocks = null; + bool flag = w < 8 || w > 15; + if (flag) + { + this.End(); + throw new ZlibException("Bad window size."); + } + this.wbits = w; + this.blocks = new InflateBlocks(codec, this.HandleRfc1950HeaderBytes ? this : null, 1 << w); + this.Reset(); + return 0; + } + + internal int Inflate(FlushType flush) + { + bool flag = this._codec.InputBuffer == null; + if (flag) + { + throw new ZlibException("InputBuffer is null. "); + } + int num = 0; + int num2 = -5; + int nextIn; + for (;;) + { + switch (this.mode) + { + case InflateManager.InflateManagerMode.METHOD: + { + bool flag2 = this._codec.AvailableBytesIn == 0; + if (flag2) + { + goto Block_3; + } + num2 = num; + this._codec.AvailableBytesIn--; + this._codec.TotalBytesIn += 1L; + byte[] inputBuffer = this._codec.InputBuffer; + ZlibCodec codec = this._codec; + nextIn = codec.NextIn; + codec.NextIn = nextIn + 1; + bool flag3 = ((this.method = inputBuffer[nextIn]) & 15) != 8; + if (flag3) + { + this.mode = InflateManager.InflateManagerMode.BAD; + this._codec.Message = string.Format("unknown compression method (0x{0:X2})", this.method); + this.marker = 5; + continue; + } + bool flag4 = (this.method >> 4) + 8 > this.wbits; + if (flag4) + { + this.mode = InflateManager.InflateManagerMode.BAD; + this._codec.Message = string.Format("invalid window size ({0})", (this.method >> 4) + 8); + this.marker = 5; + continue; + } + this.mode = InflateManager.InflateManagerMode.FLAG; + continue; + } + case InflateManager.InflateManagerMode.FLAG: + { + bool flag5 = this._codec.AvailableBytesIn == 0; + if (flag5) + { + goto Block_6; + } + num2 = num; + this._codec.AvailableBytesIn--; + this._codec.TotalBytesIn += 1L; + byte[] inputBuffer2 = this._codec.InputBuffer; + ZlibCodec codec2 = this._codec; + nextIn = codec2.NextIn; + codec2.NextIn = nextIn + 1; + int num3 = inputBuffer2[nextIn] & 255; + bool flag6 = ((this.method << 8) + num3) % 31 != 0; + if (flag6) + { + this.mode = InflateManager.InflateManagerMode.BAD; + this._codec.Message = "incorrect header check"; + this.marker = 5; + continue; + } + this.mode = (((num3 & 32) == 0) ? InflateManager.InflateManagerMode.BLOCKS : InflateManager.InflateManagerMode.DICT4); + continue; + } + case InflateManager.InflateManagerMode.DICT4: + { + bool flag7 = this._codec.AvailableBytesIn == 0; + if (flag7) + { + goto Block_9; + } + num2 = num; + this._codec.AvailableBytesIn--; + this._codec.TotalBytesIn += 1L; + byte[] inputBuffer3 = this._codec.InputBuffer; + ZlibCodec codec3 = this._codec; + nextIn = codec3.NextIn; + codec3.NextIn = nextIn + 1; + //! + this.expectedCheck = (uint)(inputBuffer3[nextIn] << 24 & (long)(/*(ulong)*/-16777216)); + this.mode = InflateManager.InflateManagerMode.DICT3; + continue; + } + case InflateManager.InflateManagerMode.DICT3: + { + bool flag8 = this._codec.AvailableBytesIn == 0; + if (flag8) + { + goto Block_10; + } + num2 = num; + this._codec.AvailableBytesIn--; + this._codec.TotalBytesIn += 1L; + uint num4 = this.expectedCheck; + byte[] inputBuffer4 = this._codec.InputBuffer; + ZlibCodec codec4 = this._codec; + nextIn = codec4.NextIn; + codec4.NextIn = nextIn + 1; + //! + this.expectedCheck = (uint) ( num4 + (inputBuffer4[nextIn] << 16 & 16711680u)); + this.mode = InflateManager.InflateManagerMode.DICT2; + continue; + } + case InflateManager.InflateManagerMode.DICT2: + { + bool flag9 = this._codec.AvailableBytesIn == 0; + if (flag9) + { + goto Block_11; + } + num2 = num; + this._codec.AvailableBytesIn--; + this._codec.TotalBytesIn += 1L; + uint num5 = this.expectedCheck; + byte[] inputBuffer5 = this._codec.InputBuffer; + ZlibCodec codec5 = this._codec; + nextIn = codec5.NextIn; + codec5.NextIn = nextIn + 1; + this.expectedCheck = (uint) (num5 + (inputBuffer5[nextIn] << 8 & 65280u)); //! + this.mode = InflateManager.InflateManagerMode.DICT1; + continue; + } + case InflateManager.InflateManagerMode.DICT1: + goto IL_3EB; + case InflateManager.InflateManagerMode.DICT0: + goto IL_488; + case InflateManager.InflateManagerMode.BLOCKS: + { + num2 = this.blocks.Process(num2); + bool flag10 = num2 == -3; + if (flag10) + { + this.mode = InflateManager.InflateManagerMode.BAD; + this.marker = 0; + continue; + } + bool flag11 = num2 == 0; + if (flag11) + { + num2 = num; + } + bool flag12 = num2 != 1; + if (flag12) + { + goto Block_15; + } + num2 = num; + this.computedCheck = this.blocks.Reset(); + bool flag13 = !this.HandleRfc1950HeaderBytes; + if (flag13) + { + goto Block_16; + } + this.mode = InflateManager.InflateManagerMode.CHECK4; + continue; + } + case InflateManager.InflateManagerMode.CHECK4: + { + bool flag14 = this._codec.AvailableBytesIn == 0; + if (flag14) + { + goto Block_17; + } + num2 = num; + this._codec.AvailableBytesIn--; + this._codec.TotalBytesIn += 1L; + byte[] inputBuffer6 = this._codec.InputBuffer; + ZlibCodec codec6 = this._codec; + nextIn = codec6.NextIn; + codec6.NextIn = nextIn + 1; + //! + this.expectedCheck = (uint)(inputBuffer6[nextIn] << 24 & (long)(-16777216)); + this.mode = InflateManager.InflateManagerMode.CHECK3; + continue; + } + case InflateManager.InflateManagerMode.CHECK3: + { + bool flag15 = this._codec.AvailableBytesIn == 0; + if (flag15) + { + goto Block_18; + } + num2 = num; + this._codec.AvailableBytesIn--; + this._codec.TotalBytesIn += 1L; + uint num6 = this.expectedCheck; + byte[] inputBuffer7 = this._codec.InputBuffer; + ZlibCodec codec7 = this._codec; + nextIn = codec7.NextIn; + codec7.NextIn = nextIn + 1; + this.expectedCheck = (uint) (num6 + (inputBuffer7[nextIn] << 16 & 16711680u)); //! + this.mode = InflateManager.InflateManagerMode.CHECK2; + continue; + } + case InflateManager.InflateManagerMode.CHECK2: + { + bool flag16 = this._codec.AvailableBytesIn == 0; + if (flag16) + { + goto Block_19; + } + num2 = num; + this._codec.AvailableBytesIn--; + this._codec.TotalBytesIn += 1L; + uint num7 = this.expectedCheck; + byte[] inputBuffer8 = this._codec.InputBuffer; + ZlibCodec codec8 = this._codec; + nextIn = codec8.NextIn; + codec8.NextIn = nextIn + 1; + this.expectedCheck = (uint) ( num7 + (inputBuffer8[nextIn] << 8 & 65280u) ); + this.mode = InflateManager.InflateManagerMode.CHECK1; + continue; + } + case InflateManager.InflateManagerMode.CHECK1: + { + bool flag17 = this._codec.AvailableBytesIn == 0; + if (flag17) + { + goto Block_20; + } + num2 = num; + this._codec.AvailableBytesIn--; + this._codec.TotalBytesIn += 1L; + uint num8 = this.expectedCheck; + byte[] inputBuffer9 = this._codec.InputBuffer; + ZlibCodec codec9 = this._codec; + nextIn = codec9.NextIn; + codec9.NextIn = nextIn + 1; + this.expectedCheck = num8 + (inputBuffer9[nextIn] & 255u); + bool flag18 = this.computedCheck != this.expectedCheck; + if (flag18) + { + this.mode = InflateManager.InflateManagerMode.BAD; + this._codec.Message = "incorrect data check"; + this.marker = 5; + continue; + } + goto IL_795; + } + case InflateManager.InflateManagerMode.DONE: + goto IL_7A2; + case InflateManager.InflateManagerMode.BAD: + goto IL_7A7; + } + break; + } + throw new ZlibException("Stream error."); + Block_3: + return num2; + Block_6: + return num2; + Block_9: + return num2; + Block_10: + return num2; + Block_11: + return num2; + IL_3EB: + bool flag19 = this._codec.AvailableBytesIn == 0; + if (flag19) + { + return num2; + } + this._codec.AvailableBytesIn--; + this._codec.TotalBytesIn += 1L; + uint num9 = this.expectedCheck; + byte[] inputBuffer10 = this._codec.InputBuffer; + ZlibCodec codec10 = this._codec; + nextIn = codec10.NextIn; + codec10.NextIn = nextIn + 1; + this.expectedCheck = num9 + (inputBuffer10[nextIn] & 255u); + this._codec._Adler32 = this.expectedCheck; + this.mode = InflateManager.InflateManagerMode.DICT0; + return 2; + IL_488: + this.mode = InflateManager.InflateManagerMode.BAD; + this._codec.Message = "need dictionary"; + this.marker = 0; + return -2; + Block_15: + return num2; + Block_16: + this.mode = InflateManager.InflateManagerMode.DONE; + return 1; + Block_17: + return num2; + Block_18: + return num2; + Block_19: + return num2; + Block_20: + return num2; + IL_795: + this.mode = InflateManager.InflateManagerMode.DONE; + return 1; + IL_7A2: + return 1; + IL_7A7: + throw new ZlibException(string.Format("Bad state ({0})", this._codec.Message)); + } + + internal int SetDictionary(byte[] dictionary) + { + int start = 0; + int num = dictionary.Length; + bool flag = this.mode != InflateManager.InflateManagerMode.DICT0; + if (flag) + { + throw new ZlibException("Stream error."); + } + bool flag2 = Adler.Adler32(1u, dictionary, 0, dictionary.Length) != this._codec._Adler32; + int result; + if (flag2) + { + result = -3; + } + else + { + this._codec._Adler32 = Adler.Adler32(0u, null, 0, 0); + bool flag3 = num >= 1 << this.wbits; + if (flag3) + { + num = (1 << this.wbits) - 1; + start = dictionary.Length - num; + } + this.blocks.SetDictionary(dictionary, start, num); + this.mode = InflateManager.InflateManagerMode.BLOCKS; + result = 0; + } + return result; + } + + internal int Sync() + { + bool flag = this.mode != InflateManager.InflateManagerMode.BAD; + if (flag) + { + this.mode = InflateManager.InflateManagerMode.BAD; + this.marker = 0; + } + int num; + bool flag2 = (num = this._codec.AvailableBytesIn) == 0; + int result; + if (flag2) + { + result = -5; + } + else + { + int num2 = this._codec.NextIn; + int num3 = this.marker; + while (num != 0 && num3 < 4) + { + bool flag3 = this._codec.InputBuffer[num2] == InflateManager.mark[num3]; + if (flag3) + { + num3++; + } + else + { + bool flag4 = this._codec.InputBuffer[num2] > 0; + if (flag4) + { + num3 = 0; + } + else + { + num3 = 4 - num3; + } + } + num2++; + num--; + } + this._codec.TotalBytesIn += (long)(num2 - this._codec.NextIn); + this._codec.NextIn = num2; + this._codec.AvailableBytesIn = num; + this.marker = num3; + bool flag5 = num3 != 4; + if (flag5) + { + result = -3; + } + else + { + long totalBytesIn = this._codec.TotalBytesIn; + long totalBytesOut = this._codec.TotalBytesOut; + this.Reset(); + this._codec.TotalBytesIn = totalBytesIn; + this._codec.TotalBytesOut = totalBytesOut; + this.mode = InflateManager.InflateManagerMode.BLOCKS; + result = 0; + } + } + return result; + } + + internal int SyncPoint(ZlibCodec z) + { + return this.blocks.SyncPoint(); + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib/InflateManager.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib/InflateManager.cs.meta new file mode 100644 index 00000000..d0c021f6 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib/InflateManager.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 067f6f4507768274b962d8b6ecf1a9b5 +timeCreated: 1611465286 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib/InternalConstants.cs b/Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib/InternalConstants.cs new file mode 100644 index 00000000..7eb8f69e --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib/InternalConstants.cs @@ -0,0 +1,27 @@ +using System; + +namespace Ionic.Zlib +{ + internal static class InternalConstants + { + internal static readonly int MAX_BITS = 15; + + internal static readonly int BL_CODES = 19; + + internal static readonly int D_CODES = 30; + + internal static readonly int LITERALS = 256; + + internal static readonly int LENGTH_CODES = 29; + + internal static readonly int L_CODES = InternalConstants.LITERALS + 1 + InternalConstants.LENGTH_CODES; + + internal static readonly int MAX_BL_BITS = 7; + + internal static readonly int REP_3_6 = 16; + + internal static readonly int REPZ_3_10 = 17; + + internal static readonly int REPZ_11_138 = 18; + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib/InternalConstants.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib/InternalConstants.cs.meta new file mode 100644 index 00000000..e2814867 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib/InternalConstants.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: a045e41eef9254546a865c9391b0e933 +timeCreated: 1611465711 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib/InternalInflateConstants.cs b/Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib/InternalInflateConstants.cs new file mode 100644 index 00000000..82fb9442 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib/InternalInflateConstants.cs @@ -0,0 +1,28 @@ +using System; + +namespace Ionic.Zlib +{ + internal static class InternalInflateConstants + { + internal static readonly int[] InflateMask = new int[] + { + 0, + 1, + 3, + 7, + 15, + 31, + 63, + 127, + 255, + 511, + 1023, + 2047, + 4095, + 8191, + 16383, + 32767, + 65535 + }; + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib/InternalInflateConstants.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib/InternalInflateConstants.cs.meta new file mode 100644 index 00000000..8fd090bf --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib/InternalInflateConstants.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: b7bb2a04b5a738b4587181846913dfbc +timeCreated: 1611465747 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib/ParallelDeflateOutputStream.cs b/Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib/ParallelDeflateOutputStream.cs new file mode 100644 index 00000000..eed1a9f3 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib/ParallelDeflateOutputStream.cs @@ -0,0 +1,630 @@ +using System; +using System.Collections.Generic; +using System.Diagnostics; +using System.IO; +using System.Threading; +using Ionic.Crc; + +namespace Ionic.Zlib +{ + public class ParallelDeflateOutputStream : Stream + { + public CompressionStrategy Strategy { get; private set; } + + public int MaxBufferPairs + { + get + { + return this._maxBufferPairs; + } + set + { + bool flag = value < 4; + if (flag) + { + throw new ArgumentException("MaxBufferPairs", "Value must be 4 or greater."); + } + this._maxBufferPairs = value; + } + } + + public int BufferSize + { + get + { + return this._bufferSize; + } + set + { + bool flag = value < 1024; + if (flag) + { + throw new ArgumentOutOfRangeException("BufferSize", "BufferSize must be greater than 1024 bytes"); + } + this._bufferSize = value; + } + } + + public int Crc32 + { + get + { + return this._Crc32; + } + } + + public long BytesProcessed + { + get + { + return this._totalBytesProcessed; + } + } + + public override bool CanSeek + { + get + { + return false; + } + } + + public override bool CanRead + { + get + { + return false; + } + } + + public override bool CanWrite + { + get + { + return this._outStream.CanWrite; + } + } + + public override long Length + { + get + { + throw new NotSupportedException(); + } + } + + public override long Position + { + get + { + return this._outStream.Position; + } + set + { + throw new NotSupportedException(); + } + } + + private static readonly int IO_BUFFER_SIZE_DEFAULT = 65536; + + private static readonly int BufferPairsPerCore = 4; + + private List _pool; + + private bool _leaveOpen; + + private bool emitting; + + private Stream _outStream; + + private int _maxBufferPairs; + + private int _bufferSize = ParallelDeflateOutputStream.IO_BUFFER_SIZE_DEFAULT; + + private AutoResetEvent _newlyCompressedBlob; + + private object _outputLock = new object(); + + private bool _isClosed; + + private bool _firstWriteDone; + + private int _currentlyFilling; + + private int _lastFilled; + + private int _lastWritten; + + private int _latestCompressed; + + private int _Crc32; + + private CRC32 _runningCrc; + + private object _latestLock = new object(); + + private Queue _toWrite; + + private Queue _toFill; + + private long _totalBytesProcessed; + + private CompressionLevel _compressLevel; + + private volatile Exception _pendingException; + + private bool _handlingException; + + private object _eLock = new object(); + + private ParallelDeflateOutputStream.TraceBits _DesiredTrace = ParallelDeflateOutputStream.TraceBits.EmitLock | ParallelDeflateOutputStream.TraceBits.EmitEnter | ParallelDeflateOutputStream.TraceBits.EmitBegin | ParallelDeflateOutputStream.TraceBits.EmitDone | ParallelDeflateOutputStream.TraceBits.EmitSkip | ParallelDeflateOutputStream.TraceBits.Session | ParallelDeflateOutputStream.TraceBits.Compress | ParallelDeflateOutputStream.TraceBits.WriteEnter | ParallelDeflateOutputStream.TraceBits.WriteTake; + + [Flags] + private enum TraceBits : uint + { + None = 0u, + NotUsed1 = 1u, + EmitLock = 2u, + EmitEnter = 4u, + EmitBegin = 8u, + EmitDone = 16u, + EmitSkip = 32u, + EmitAll = 58u, + Flush = 64u, + Lifecycle = 128u, + Session = 256u, + Synch = 512u, + Instance = 1024u, + Compress = 2048u, + Write = 4096u, + WriteEnter = 8192u, + WriteTake = 16384u, + All = 4294967295u + } + + public ParallelDeflateOutputStream(Stream stream) : this(stream, CompressionLevel.Default, CompressionStrategy.Default, false) + { + } + + public ParallelDeflateOutputStream(Stream stream, CompressionLevel level) : this(stream, level, CompressionStrategy.Default, false) + { + } + + public ParallelDeflateOutputStream(Stream stream, bool leaveOpen) : this(stream, CompressionLevel.Default, CompressionStrategy.Default, leaveOpen) + { + } + + public ParallelDeflateOutputStream(Stream stream, CompressionLevel level, bool leaveOpen) : this(stream, CompressionLevel.Default, CompressionStrategy.Default, leaveOpen) + { + } + + public ParallelDeflateOutputStream(Stream stream, CompressionLevel level, CompressionStrategy strategy, bool leaveOpen) + { + this._outStream = stream; + this._compressLevel = level; + this.Strategy = strategy; + this._leaveOpen = leaveOpen; + this.MaxBufferPairs = 16; + } + + private void _InitializePoolOfWorkItems() + { + this._toWrite = new Queue(); + this._toFill = new Queue(); + this._pool = new List(); + int num = ParallelDeflateOutputStream.BufferPairsPerCore * Environment.ProcessorCount; + num = Math.Min(num, this._maxBufferPairs); + for (int i = 0; i < num; i++) + { + this._pool.Add(new WorkItem(this._bufferSize, this._compressLevel, this.Strategy, i)); + this._toFill.Enqueue(i); + } + this._newlyCompressedBlob = new AutoResetEvent(false); + this._runningCrc = new CRC32(); + this._currentlyFilling = -1; + this._lastFilled = -1; + this._lastWritten = -1; + this._latestCompressed = -1; + } + + public override void Write(byte[] buffer, int offset, int count) + { + bool mustWait = false; + bool isClosed = this._isClosed; + if (isClosed) + { + throw new InvalidOperationException(); + } + bool flag = this._pendingException != null; + if (flag) + { + this._handlingException = true; + Exception pendingException = this._pendingException; + this._pendingException = null; + throw pendingException; + } + bool flag2 = count == 0; + if (!flag2) + { + bool flag3 = !this._firstWriteDone; + if (flag3) + { + this._InitializePoolOfWorkItems(); + this._firstWriteDone = true; + } + for (;;) + { + this.EmitPendingBuffers(false, mustWait); + mustWait = false; + bool flag4 = this._currentlyFilling >= 0; + int num; + if (flag4) + { + num = this._currentlyFilling; + goto IL_D2; + } + bool flag5 = this._toFill.Count == 0; + if (!flag5) + { + num = this._toFill.Dequeue(); + this._lastFilled++; + goto IL_D2; + } + mustWait = true; + IL_1A9: + if (count <= 0) + { + return; + } + continue; + IL_D2: + WorkItem workItem = this._pool[num]; + int num2 = (workItem.buffer.Length - workItem.inputBytesAvailable > count) ? count : (workItem.buffer.Length - workItem.inputBytesAvailable); + workItem.ordinal = this._lastFilled; + Buffer.BlockCopy(buffer, offset, workItem.buffer, workItem.inputBytesAvailable, num2); + count -= num2; + offset += num2; + workItem.inputBytesAvailable += num2; + bool flag6 = workItem.inputBytesAvailable == workItem.buffer.Length; + if (flag6) + { + bool flag7 = !ThreadPool.QueueUserWorkItem(new WaitCallback(this._DeflateOne), workItem); + if (flag7) + { + break; + } + this._currentlyFilling = -1; + } + else + { + this._currentlyFilling = num; + } + bool flag8 = count > 0; + if (flag8) + { + } + goto IL_1A9; + } + throw new Exception("Cannot enqueue workitem"); + } + } + + private void _FlushFinish() + { + byte[] array = new byte[128]; + ZlibCodec zlibCodec = new ZlibCodec(); + int num = zlibCodec.InitializeDeflate(this._compressLevel, false); + zlibCodec.InputBuffer = null; + zlibCodec.NextIn = 0; + zlibCodec.AvailableBytesIn = 0; + zlibCodec.OutputBuffer = array; + zlibCodec.NextOut = 0; + zlibCodec.AvailableBytesOut = array.Length; + num = zlibCodec.Deflate(FlushType.Finish); + bool flag = num != 1 && num != 0; + if (flag) + { + throw new Exception("deflating: " + zlibCodec.Message); + } + bool flag2 = array.Length - zlibCodec.AvailableBytesOut > 0; + if (flag2) + { + this._outStream.Write(array, 0, array.Length - zlibCodec.AvailableBytesOut); + } + zlibCodec.EndDeflate(); + this._Crc32 = this._runningCrc.Crc32Result; + } + + private void _Flush(bool lastInput) + { + bool isClosed = this._isClosed; + if (isClosed) + { + throw new InvalidOperationException(); + } + bool flag = this.emitting; + if (!flag) + { + bool flag2 = this._currentlyFilling >= 0; + if (flag2) + { + WorkItem wi = this._pool[this._currentlyFilling]; + this._DeflateOne(wi); + this._currentlyFilling = -1; + } + if (lastInput) + { + this.EmitPendingBuffers(true, false); + this._FlushFinish(); + } + else + { + this.EmitPendingBuffers(false, false); + } + } + } + + public override void Flush() + { + bool flag = this._pendingException != null; + if (flag) + { + this._handlingException = true; + Exception pendingException = this._pendingException; + this._pendingException = null; + throw pendingException; + } + bool handlingException = this._handlingException; + if (!handlingException) + { + this._Flush(false); + } + } + + public override void Close() + { + bool flag = this._pendingException != null; + if (flag) + { + this._handlingException = true; + Exception pendingException = this._pendingException; + this._pendingException = null; + throw pendingException; + } + bool handlingException = this._handlingException; + if (!handlingException) + { + bool isClosed = this._isClosed; + if (!isClosed) + { + this._Flush(true); + bool flag2 = !this._leaveOpen; + if (flag2) + { + this._outStream.Close(); + } + this._isClosed = true; + } + } + } + + public new void Dispose() + { + this.Close(); + this._pool = null; + this.Dispose(true); + } + + protected override void Dispose(bool disposing) + { + base.Dispose(disposing); + } + + public void Reset(Stream stream) + { + bool flag = !this._firstWriteDone; + if (!flag) + { + this._toWrite.Clear(); + this._toFill.Clear(); + foreach (WorkItem workItem in this._pool) + { + this._toFill.Enqueue(workItem.index); + workItem.ordinal = -1; + } + this._firstWriteDone = false; + this._totalBytesProcessed = 0L; + this._runningCrc = new CRC32(); + this._isClosed = false; + this._currentlyFilling = -1; + this._lastFilled = -1; + this._lastWritten = -1; + this._latestCompressed = -1; + this._outStream = stream; + } + } + + private void EmitPendingBuffers(bool doAll, bool mustWait) + { + bool flag = this.emitting; + if (!flag) + { + this.emitting = true; + bool flag2 = doAll || mustWait; + if (flag2) + { + this._newlyCompressedBlob.WaitOne(); + } + do + { + int num = -1; + int num2 = doAll ? 200 : (mustWait ? -1 : 0); + int num3 = -1; + for (;;) + { + bool flag3 = Monitor.TryEnter(this._toWrite, num2); + if (flag3) + { + num3 = -1; + try + { + bool flag4 = this._toWrite.Count > 0; + if (flag4) + { + num3 = this._toWrite.Dequeue(); + } + } + finally + { + Monitor.Exit(this._toWrite); + } + bool flag5 = num3 >= 0; + if (flag5) + { + WorkItem workItem = this._pool[num3]; + bool flag6 = workItem.ordinal != this._lastWritten + 1; + if (flag6) + { + Queue toWrite = this._toWrite; + lock (toWrite) + { + this._toWrite.Enqueue(num3); + } + bool flag7 = num == num3; + if (flag7) + { + this._newlyCompressedBlob.WaitOne(); + num = -1; + } + else + { + bool flag8 = num == -1; + if (flag8) + { + num = num3; + } + } + } + else + { + num = -1; + this._outStream.Write(workItem.compressed, 0, workItem.compressedBytesAvailable); + this._runningCrc.Combine(workItem.crc, workItem.inputBytesAvailable); + this._totalBytesProcessed += (long)workItem.inputBytesAvailable; + workItem.inputBytesAvailable = 0; + this._lastWritten = workItem.ordinal; + this._toFill.Enqueue(workItem.index); + bool flag9 = num2 == -1; + if (flag9) + { + num2 = 0; + } + } + } + } + else + { + num3 = -1; + } + IL_1AE: + if (num3 < 0) + { + break; + } + continue; + goto IL_1AE; + } + } + while (doAll && this._lastWritten != this._latestCompressed); + this.emitting = false; + } + } + + private void _DeflateOne(object wi) + { + WorkItem workItem = (WorkItem)wi; + try + { + int index = workItem.index; + CRC32 crc = new CRC32(); + crc.SlurpBlock(workItem.buffer, 0, workItem.inputBytesAvailable); + this.DeflateOneSegment(workItem); + workItem.crc = crc.Crc32Result; + object latestLock = this._latestLock; + lock (latestLock) + { + bool flag = workItem.ordinal > this._latestCompressed; + if (flag) + { + this._latestCompressed = workItem.ordinal; + } + } + Queue toWrite = this._toWrite; + lock (toWrite) + { + this._toWrite.Enqueue(workItem.index); + } + this._newlyCompressedBlob.Set(); + } + catch (Exception pendingException) + { + object eLock = this._eLock; + lock (eLock) + { + bool flag2 = this._pendingException != null; + if (flag2) + { + this._pendingException = pendingException; + } + } + } + } + + private bool DeflateOneSegment(WorkItem workitem) + { + ZlibCodec compressor = workitem.compressor; + compressor.ResetDeflate(true); + compressor.NextIn = 0; + compressor.AvailableBytesIn = workitem.inputBytesAvailable; + compressor.NextOut = 0; + compressor.AvailableBytesOut = workitem.compressed.Length; + do + { + compressor.Deflate(FlushType.None); + } + while (compressor.AvailableBytesIn > 0 || compressor.AvailableBytesOut == 0); + int num = compressor.Deflate(FlushType.Sync); + workitem.compressedBytesAvailable = (int)compressor.TotalBytesOut; + return true; + } + + [Conditional("Trace")] + private void TraceOutput(ParallelDeflateOutputStream.TraceBits bits, string format, params object[] varParams) + { + bool flag = (bits & this._DesiredTrace) > ParallelDeflateOutputStream.TraceBits.None; + if (flag) + { + object outputLock = this._outputLock; + lock (outputLock) + { + int hashCode = Thread.CurrentThread.GetHashCode(); + } + } + } + + public override int Read(byte[] buffer, int offset, int count) + { + throw new NotSupportedException(); + } + + public override long Seek(long offset, SeekOrigin origin) + { + throw new NotSupportedException(); + } + + public override void SetLength(long value) + { + throw new NotSupportedException(); + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib/ParallelDeflateOutputStream.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib/ParallelDeflateOutputStream.cs.meta new file mode 100644 index 00000000..569f26aa --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib/ParallelDeflateOutputStream.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 624c5482b54eed04185749806883eb5f +timeCreated: 1611465653 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib/SharedUtils.cs b/Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib/SharedUtils.cs new file mode 100644 index 00000000..6ad43d38 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib/SharedUtils.cs @@ -0,0 +1,53 @@ +using System; +using System.IO; +using System.Text; + +namespace Ionic.Zlib +{ + internal class SharedUtils + { + public static int URShift(int number, int bits) + { + return (int)((uint)number >> bits); + } + + public static int ReadInput(TextReader sourceTextReader, byte[] target, int start, int count) + { + bool flag = target.Length == 0; + int result; + if (flag) + { + result = 0; + } + else + { + char[] array = new char[target.Length]; + int num = sourceTextReader.Read(array, start, count); + bool flag2 = num == 0; + if (flag2) + { + result = -1; + } + else + { + for (int i = start; i < start + num; i++) + { + target[i] = (byte)array[i]; + } + result = num; + } + } + return result; + } + + internal static byte[] ToByteArray(string sourceString) + { + return Encoding.UTF8.GetBytes(sourceString); + } + + internal static char[] ToCharArray(byte[] byteArray) + { + return Encoding.UTF8.GetChars(byteArray); + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib/SharedUtils.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib/SharedUtils.cs.meta new file mode 100644 index 00000000..aa3a40e8 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib/SharedUtils.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 486d9679f2103ca48ae52263d256f3a6 +timeCreated: 1611465639 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib/StaticTree.cs b/Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib/StaticTree.cs new file mode 100644 index 00000000..e1511cbc --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib/StaticTree.cs @@ -0,0 +1,676 @@ +using System; + +namespace Ionic.Zlib +{ + internal sealed class StaticTree + { + internal static readonly short[] lengthAndLiteralsTreeCodes = new short[] + { + 12, + 8, + 140, + 8, + 76, + 8, + 204, + 8, + 44, + 8, + 172, + 8, + 108, + 8, + 236, + 8, + 28, + 8, + 156, + 8, + 92, + 8, + 220, + 8, + 60, + 8, + 188, + 8, + 124, + 8, + 252, + 8, + 2, + 8, + 130, + 8, + 66, + 8, + 194, + 8, + 34, + 8, + 162, + 8, + 98, + 8, + 226, + 8, + 18, + 8, + 146, + 8, + 82, + 8, + 210, + 8, + 50, + 8, + 178, + 8, + 114, + 8, + 242, + 8, + 10, + 8, + 138, + 8, + 74, + 8, + 202, + 8, + 42, + 8, + 170, + 8, + 106, + 8, + 234, + 8, + 26, + 8, + 154, + 8, + 90, + 8, + 218, + 8, + 58, + 8, + 186, + 8, + 122, + 8, + 250, + 8, + 6, + 8, + 134, + 8, + 70, + 8, + 198, + 8, + 38, + 8, + 166, + 8, + 102, + 8, + 230, + 8, + 22, + 8, + 150, + 8, + 86, + 8, + 214, + 8, + 54, + 8, + 182, + 8, + 118, + 8, + 246, + 8, + 14, + 8, + 142, + 8, + 78, + 8, + 206, + 8, + 46, + 8, + 174, + 8, + 110, + 8, + 238, + 8, + 30, + 8, + 158, + 8, + 94, + 8, + 222, + 8, + 62, + 8, + 190, + 8, + 126, + 8, + 254, + 8, + 1, + 8, + 129, + 8, + 65, + 8, + 193, + 8, + 33, + 8, + 161, + 8, + 97, + 8, + 225, + 8, + 17, + 8, + 145, + 8, + 81, + 8, + 209, + 8, + 49, + 8, + 177, + 8, + 113, + 8, + 241, + 8, + 9, + 8, + 137, + 8, + 73, + 8, + 201, + 8, + 41, + 8, + 169, + 8, + 105, + 8, + 233, + 8, + 25, + 8, + 153, + 8, + 89, + 8, + 217, + 8, + 57, + 8, + 185, + 8, + 121, + 8, + 249, + 8, + 5, + 8, + 133, + 8, + 69, + 8, + 197, + 8, + 37, + 8, + 165, + 8, + 101, + 8, + 229, + 8, + 21, + 8, + 149, + 8, + 85, + 8, + 213, + 8, + 53, + 8, + 181, + 8, + 117, + 8, + 245, + 8, + 13, + 8, + 141, + 8, + 77, + 8, + 205, + 8, + 45, + 8, + 173, + 8, + 109, + 8, + 237, + 8, + 29, + 8, + 157, + 8, + 93, + 8, + 221, + 8, + 61, + 8, + 189, + 8, + 125, + 8, + 253, + 8, + 19, + 9, + 275, + 9, + 147, + 9, + 403, + 9, + 83, + 9, + 339, + 9, + 211, + 9, + 467, + 9, + 51, + 9, + 307, + 9, + 179, + 9, + 435, + 9, + 115, + 9, + 371, + 9, + 243, + 9, + 499, + 9, + 11, + 9, + 267, + 9, + 139, + 9, + 395, + 9, + 75, + 9, + 331, + 9, + 203, + 9, + 459, + 9, + 43, + 9, + 299, + 9, + 171, + 9, + 427, + 9, + 107, + 9, + 363, + 9, + 235, + 9, + 491, + 9, + 27, + 9, + 283, + 9, + 155, + 9, + 411, + 9, + 91, + 9, + 347, + 9, + 219, + 9, + 475, + 9, + 59, + 9, + 315, + 9, + 187, + 9, + 443, + 9, + 123, + 9, + 379, + 9, + 251, + 9, + 507, + 9, + 7, + 9, + 263, + 9, + 135, + 9, + 391, + 9, + 71, + 9, + 327, + 9, + 199, + 9, + 455, + 9, + 39, + 9, + 295, + 9, + 167, + 9, + 423, + 9, + 103, + 9, + 359, + 9, + 231, + 9, + 487, + 9, + 23, + 9, + 279, + 9, + 151, + 9, + 407, + 9, + 87, + 9, + 343, + 9, + 215, + 9, + 471, + 9, + 55, + 9, + 311, + 9, + 183, + 9, + 439, + 9, + 119, + 9, + 375, + 9, + 247, + 9, + 503, + 9, + 15, + 9, + 271, + 9, + 143, + 9, + 399, + 9, + 79, + 9, + 335, + 9, + 207, + 9, + 463, + 9, + 47, + 9, + 303, + 9, + 175, + 9, + 431, + 9, + 111, + 9, + 367, + 9, + 239, + 9, + 495, + 9, + 31, + 9, + 287, + 9, + 159, + 9, + 415, + 9, + 95, + 9, + 351, + 9, + 223, + 9, + 479, + 9, + 63, + 9, + 319, + 9, + 191, + 9, + 447, + 9, + 127, + 9, + 383, + 9, + 255, + 9, + 511, + 9, + 0, + 7, + 64, + 7, + 32, + 7, + 96, + 7, + 16, + 7, + 80, + 7, + 48, + 7, + 112, + 7, + 8, + 7, + 72, + 7, + 40, + 7, + 104, + 7, + 24, + 7, + 88, + 7, + 56, + 7, + 120, + 7, + 4, + 7, + 68, + 7, + 36, + 7, + 100, + 7, + 20, + 7, + 84, + 7, + 52, + 7, + 116, + 7, + 3, + 8, + 131, + 8, + 67, + 8, + 195, + 8, + 35, + 8, + 163, + 8, + 99, + 8, + 227, + 8 + }; + + internal static readonly short[] distTreeCodes = new short[] + { + 0, + 5, + 16, + 5, + 8, + 5, + 24, + 5, + 4, + 5, + 20, + 5, + 12, + 5, + 28, + 5, + 2, + 5, + 18, + 5, + 10, + 5, + 26, + 5, + 6, + 5, + 22, + 5, + 14, + 5, + 30, + 5, + 1, + 5, + 17, + 5, + 9, + 5, + 25, + 5, + 5, + 5, + 21, + 5, + 13, + 5, + 29, + 5, + 3, + 5, + 19, + 5, + 11, + 5, + 27, + 5, + 7, + 5, + 23, + 5 + }; + + internal static readonly StaticTree Literals = new StaticTree(StaticTree.lengthAndLiteralsTreeCodes, Tree.ExtraLengthBits, InternalConstants.LITERALS + 1, InternalConstants.L_CODES, InternalConstants.MAX_BITS); + + internal static readonly StaticTree Distances = new StaticTree(StaticTree.distTreeCodes, Tree.ExtraDistanceBits, 0, InternalConstants.D_CODES, InternalConstants.MAX_BITS); + + internal static readonly StaticTree BitLengths = new StaticTree(null, Tree.extra_blbits, 0, InternalConstants.BL_CODES, InternalConstants.MAX_BL_BITS); + + internal short[] treeCodes; + + internal int[] extraBits; + + internal int extraBase; + + internal int elems; + + internal int maxLength; + + private StaticTree(short[] treeCodes, int[] extraBits, int extraBase, int elems, int maxLength) + { + this.treeCodes = treeCodes; + this.extraBits = extraBits; + this.extraBase = extraBase; + this.elems = elems; + this.maxLength = maxLength; + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib/StaticTree.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib/StaticTree.cs.meta new file mode 100644 index 00000000..b2d37050 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib/StaticTree.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: dcac8c430eedb60499be0d97dc3228f1 +timeCreated: 1611465796 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib/Tree.cs b/Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib/Tree.cs new file mode 100644 index 00000000..5f250c1b --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib/Tree.cs @@ -0,0 +1,1184 @@ +using System; + +namespace Ionic.Zlib +{ + internal sealed class Tree + { + private static readonly int HEAP_SIZE = 2 * InternalConstants.L_CODES + 1; + + internal static readonly int[] ExtraLengthBits = new int[] + { + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 1, + 1, + 1, + 2, + 2, + 2, + 2, + 3, + 3, + 3, + 3, + 4, + 4, + 4, + 4, + 5, + 5, + 5, + 5, + 0 + }; + + internal static readonly int[] ExtraDistanceBits = new int[] + { + 0, + 0, + 0, + 0, + 1, + 1, + 2, + 2, + 3, + 3, + 4, + 4, + 5, + 5, + 6, + 6, + 7, + 7, + 8, + 8, + 9, + 9, + 10, + 10, + 11, + 11, + 12, + 12, + 13, + 13 + }; + + internal static readonly int[] extra_blbits = new int[] + { + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 3, + 7 + }; + + internal static readonly sbyte[] bl_order = new sbyte[] + { + 16, + 17, + 18, + 0, + 8, + 7, + 9, + 6, + 10, + 5, + 11, + 4, + 12, + 3, + 13, + 2, + 14, + 1, + 15 + }; + + internal const int Buf_size = 16; + + private static readonly sbyte[] _dist_code = new sbyte[] + { + 0, + 1, + 2, + 3, + 4, + 4, + 5, + 5, + 6, + 6, + 6, + 6, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 10, + 10, + 10, + 10, + 10, + 10, + 10, + 10, + 10, + 10, + 10, + 10, + 10, + 10, + 10, + 10, + 11, + 11, + 11, + 11, + 11, + 11, + 11, + 11, + 11, + 11, + 11, + 11, + 11, + 11, + 11, + 11, + 12, + 12, + 12, + 12, + 12, + 12, + 12, + 12, + 12, + 12, + 12, + 12, + 12, + 12, + 12, + 12, + 12, + 12, + 12, + 12, + 12, + 12, + 12, + 12, + 12, + 12, + 12, + 12, + 12, + 12, + 12, + 12, + 13, + 13, + 13, + 13, + 13, + 13, + 13, + 13, + 13, + 13, + 13, + 13, + 13, + 13, + 13, + 13, + 13, + 13, + 13, + 13, + 13, + 13, + 13, + 13, + 13, + 13, + 13, + 13, + 13, + 13, + 13, + 13, + 14, + 14, + 14, + 14, + 14, + 14, + 14, + 14, + 14, + 14, + 14, + 14, + 14, + 14, + 14, + 14, + 14, + 14, + 14, + 14, + 14, + 14, + 14, + 14, + 14, + 14, + 14, + 14, + 14, + 14, + 14, + 14, + 14, + 14, + 14, + 14, + 14, + 14, + 14, + 14, + 14, + 14, + 14, + 14, + 14, + 14, + 14, + 14, + 14, + 14, + 14, + 14, + 14, + 14, + 14, + 14, + 14, + 14, + 14, + 14, + 14, + 14, + 14, + 14, + 15, + 15, + 15, + 15, + 15, + 15, + 15, + 15, + 15, + 15, + 15, + 15, + 15, + 15, + 15, + 15, + 15, + 15, + 15, + 15, + 15, + 15, + 15, + 15, + 15, + 15, + 15, + 15, + 15, + 15, + 15, + 15, + 15, + 15, + 15, + 15, + 15, + 15, + 15, + 15, + 15, + 15, + 15, + 15, + 15, + 15, + 15, + 15, + 15, + 15, + 15, + 15, + 15, + 15, + 15, + 15, + 15, + 15, + 15, + 15, + 15, + 15, + 15, + 15, + 0, + 0, + 16, + 17, + 18, + 18, + 19, + 19, + 20, + 20, + 20, + 20, + 21, + 21, + 21, + 21, + 22, + 22, + 22, + 22, + 22, + 22, + 22, + 22, + 23, + 23, + 23, + 23, + 23, + 23, + 23, + 23, + 24, + 24, + 24, + 24, + 24, + 24, + 24, + 24, + 24, + 24, + 24, + 24, + 24, + 24, + 24, + 24, + 25, + 25, + 25, + 25, + 25, + 25, + 25, + 25, + 25, + 25, + 25, + 25, + 25, + 25, + 25, + 25, + 26, + 26, + 26, + 26, + 26, + 26, + 26, + 26, + 26, + 26, + 26, + 26, + 26, + 26, + 26, + 26, + 26, + 26, + 26, + 26, + 26, + 26, + 26, + 26, + 26, + 26, + 26, + 26, + 26, + 26, + 26, + 26, + 27, + 27, + 27, + 27, + 27, + 27, + 27, + 27, + 27, + 27, + 27, + 27, + 27, + 27, + 27, + 27, + 27, + 27, + 27, + 27, + 27, + 27, + 27, + 27, + 27, + 27, + 27, + 27, + 27, + 27, + 27, + 27, + 28, + 28, + 28, + 28, + 28, + 28, + 28, + 28, + 28, + 28, + 28, + 28, + 28, + 28, + 28, + 28, + 28, + 28, + 28, + 28, + 28, + 28, + 28, + 28, + 28, + 28, + 28, + 28, + 28, + 28, + 28, + 28, + 28, + 28, + 28, + 28, + 28, + 28, + 28, + 28, + 28, + 28, + 28, + 28, + 28, + 28, + 28, + 28, + 28, + 28, + 28, + 28, + 28, + 28, + 28, + 28, + 28, + 28, + 28, + 28, + 28, + 28, + 28, + 28, + 29, + 29, + 29, + 29, + 29, + 29, + 29, + 29, + 29, + 29, + 29, + 29, + 29, + 29, + 29, + 29, + 29, + 29, + 29, + 29, + 29, + 29, + 29, + 29, + 29, + 29, + 29, + 29, + 29, + 29, + 29, + 29, + 29, + 29, + 29, + 29, + 29, + 29, + 29, + 29, + 29, + 29, + 29, + 29, + 29, + 29, + 29, + 29, + 29, + 29, + 29, + 29, + 29, + 29, + 29, + 29, + 29, + 29, + 29, + 29, + 29, + 29, + 29, + 29 + }; + + internal static readonly sbyte[] LengthCode = new sbyte[] + { + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 8, + 9, + 9, + 10, + 10, + 11, + 11, + 12, + 12, + 12, + 12, + 13, + 13, + 13, + 13, + 14, + 14, + 14, + 14, + 15, + 15, + 15, + 15, + 16, + 16, + 16, + 16, + 16, + 16, + 16, + 16, + 17, + 17, + 17, + 17, + 17, + 17, + 17, + 17, + 18, + 18, + 18, + 18, + 18, + 18, + 18, + 18, + 19, + 19, + 19, + 19, + 19, + 19, + 19, + 19, + 20, + 20, + 20, + 20, + 20, + 20, + 20, + 20, + 20, + 20, + 20, + 20, + 20, + 20, + 20, + 20, + 21, + 21, + 21, + 21, + 21, + 21, + 21, + 21, + 21, + 21, + 21, + 21, + 21, + 21, + 21, + 21, + 22, + 22, + 22, + 22, + 22, + 22, + 22, + 22, + 22, + 22, + 22, + 22, + 22, + 22, + 22, + 22, + 23, + 23, + 23, + 23, + 23, + 23, + 23, + 23, + 23, + 23, + 23, + 23, + 23, + 23, + 23, + 23, + 24, + 24, + 24, + 24, + 24, + 24, + 24, + 24, + 24, + 24, + 24, + 24, + 24, + 24, + 24, + 24, + 24, + 24, + 24, + 24, + 24, + 24, + 24, + 24, + 24, + 24, + 24, + 24, + 24, + 24, + 24, + 24, + 25, + 25, + 25, + 25, + 25, + 25, + 25, + 25, + 25, + 25, + 25, + 25, + 25, + 25, + 25, + 25, + 25, + 25, + 25, + 25, + 25, + 25, + 25, + 25, + 25, + 25, + 25, + 25, + 25, + 25, + 25, + 25, + 26, + 26, + 26, + 26, + 26, + 26, + 26, + 26, + 26, + 26, + 26, + 26, + 26, + 26, + 26, + 26, + 26, + 26, + 26, + 26, + 26, + 26, + 26, + 26, + 26, + 26, + 26, + 26, + 26, + 26, + 26, + 26, + 27, + 27, + 27, + 27, + 27, + 27, + 27, + 27, + 27, + 27, + 27, + 27, + 27, + 27, + 27, + 27, + 27, + 27, + 27, + 27, + 27, + 27, + 27, + 27, + 27, + 27, + 27, + 27, + 27, + 27, + 27, + 28 + }; + + internal static readonly int[] LengthBase = new int[] + { + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 10, + 12, + 14, + 16, + 20, + 24, + 28, + 32, + 40, + 48, + 56, + 64, + 80, + 96, + 112, + 128, + 160, + 192, + 224, + 0 + }; + + internal static readonly int[] DistanceBase = new int[] + { + 0, + 1, + 2, + 3, + 4, + 6, + 8, + 12, + 16, + 24, + 32, + 48, + 64, + 96, + 128, + 192, + 256, + 384, + 512, + 768, + 1024, + 1536, + 2048, + 3072, + 4096, + 6144, + 8192, + 12288, + 16384, + 24576 + }; + + internal short[] dyn_tree; + + internal int max_code; + + internal StaticTree staticTree; + + internal static int DistanceCode(int dist) + { + return (int)((dist < 256) ? Tree._dist_code[dist] : Tree._dist_code[256 + SharedUtils.URShift(dist, 7)]); + } + + internal void gen_bitlen(DeflateManager s) + { + short[] array = this.dyn_tree; + short[] treeCodes = this.staticTree.treeCodes; + int[] extraBits = this.staticTree.extraBits; + int extraBase = this.staticTree.extraBase; + int maxLength = this.staticTree.maxLength; + int num = 0; + for (int i = 0; i <= InternalConstants.MAX_BITS; i++) + { + s.bl_count[i] = 0; + } + array[s.heap[s.heap_max] * 2 + 1] = 0; + int j; + for (j = s.heap_max + 1; j < Tree.HEAP_SIZE; j++) + { + int k = s.heap[j]; + int i = (int)(array[(int)(array[k * 2 + 1] * 2 + 1)] + 1); + bool flag = i > maxLength; + if (flag) + { + i = maxLength; + num++; + } + array[k * 2 + 1] = (short)i; + bool flag2 = k > this.max_code; + if (!flag2) + { + short[] bl_count = s.bl_count; + int num2 = i; + bl_count[num2] += 1; + int num3 = 0; + bool flag3 = k >= extraBase; + if (flag3) + { + num3 = extraBits[k - extraBase]; + } + short num4 = array[k * 2]; + s.opt_len += (int)num4 * (i + num3); + bool flag4 = treeCodes != null; + if (flag4) + { + s.static_len += (int)num4 * ((int)treeCodes[k * 2 + 1] + num3); + } + } + } + bool flag5 = num == 0; + if (!flag5) + { + do + { + int i = maxLength - 1; + while (s.bl_count[i] == 0) + { + i--; + } + short[] bl_count2 = s.bl_count; + int num5 = i; + bl_count2[num5] -= 1; + s.bl_count[i + 1] = (short) ( s.bl_count[i + 1] + 2 ); + short[] bl_count3 = s.bl_count; + int num6 = maxLength; + bl_count3[num6] -= 1; + num -= 2; + } + while (num > 0); + for (int i = maxLength; i != 0; i--) + { + int k = (int)s.bl_count[i]; + while (k != 0) + { + int num7 = s.heap[--j]; + bool flag6 = num7 > this.max_code; + if (!flag6) + { + bool flag7 = (int)array[num7 * 2 + 1] != i; + if (flag7) + { + s.opt_len = (int)((long)s.opt_len + ((long)i - (long)array[num7 * 2 + 1]) * (long)array[num7 * 2]); + array[num7 * 2 + 1] = (short)i; + } + k--; + } + } + } + } + } + + internal void build_tree(DeflateManager s) + { + short[] array = this.dyn_tree; + short[] treeCodes = this.staticTree.treeCodes; + int elems = this.staticTree.elems; + int num = -1; + s.heap_len = 0; + s.heap_max = Tree.HEAP_SIZE; + int num2; + for (int i = 0; i < elems; i++) + { + bool flag = array[i * 2] != 0; + if (flag) + { + int[] heap = s.heap; + num2 = s.heap_len + 1; + s.heap_len = num2; + num = (heap[num2] = i); + s.depth[i] = 0; + } + else + { + array[i * 2 + 1] = 0; + } + } + int num3; + while (s.heap_len < 2) + { + int[] heap2 = s.heap; + num2 = s.heap_len + 1; + s.heap_len = num2; + num3 = (heap2[num2] = ((num < 2) ? (++num) : 0)); + array[num3 * 2] = 1; + s.depth[num3] = 0; + s.opt_len--; + bool flag2 = treeCodes != null; + if (flag2) + { + s.static_len -= (int)treeCodes[num3 * 2 + 1]; + } + } + this.max_code = num; + for (int i = s.heap_len / 2; i >= 1; i--) + { + s.pqdownheap(array, i); + } + num3 = elems; + do + { + int i = s.heap[1]; + int[] heap3 = s.heap; + int num4 = 1; + int[] heap4 = s.heap; + num2 = s.heap_len; + s.heap_len = num2 - 1; + heap3[num4] = heap4[num2]; + s.pqdownheap(array, 1); + int num5 = s.heap[1]; + int[] heap5 = s.heap; + num2 = s.heap_max - 1; + s.heap_max = num2; + heap5[num2] = i; + int[] heap6 = s.heap; + num2 = s.heap_max - 1; + s.heap_max = num2; + heap6[num2] = num5; + array[num3 * 2] = (short) ( array[i * 2] + array[num5 * 2] ); + s.depth[num3] = (sbyte)(Math.Max((byte)s.depth[i], (byte)s.depth[num5]) + 1); + array[i * 2 + 1] = (array[num5 * 2 + 1] = (short)num3); + s.heap[1] = num3++; + s.pqdownheap(array, 1); + } + while (s.heap_len >= 2); + int[] heap7 = s.heap; + num2 = s.heap_max - 1; + s.heap_max = num2; + heap7[num2] = s.heap[1]; + this.gen_bitlen(s); + Tree.gen_codes(array, num, s.bl_count); + } + + internal static void gen_codes(short[] tree, int max_code, short[] bl_count) + { + short[] array = new short[InternalConstants.MAX_BITS + 1]; + short num = 0; + for (int i = 1; i <= InternalConstants.MAX_BITS; i++) + { + num = (array[i] = (short)(num + bl_count[i - 1] << 1)); + } + for (int j = 0; j <= max_code; j++) + { + int num2 = (int)tree[j * 2 + 1]; + bool flag = num2 == 0; + if (!flag) + { + int num3 = j * 2; + short[] array2 = array; + int num4 = num2; + short num5 = array2[num4]; + array2[num4] = (short) ( num5 + 1 ); + tree[num3] = (short)Tree.bi_reverse((int)num5, num2); + } + } + } + + internal static int bi_reverse(int code, int len) + { + int num = 0; + do + { + num |= (code & 1); + code >>= 1; + num <<= 1; + } + while (--len > 0); + return num >> 1; + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib/Tree.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib/Tree.cs.meta new file mode 100644 index 00000000..68f72769 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib/Tree.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 82ccf969c9ce78c49974c4eecebda087 +timeCreated: 1611465694 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib/WorkItem.cs b/Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib/WorkItem.cs new file mode 100644 index 00000000..ba802f8e --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib/WorkItem.cs @@ -0,0 +1,35 @@ +using System; + +namespace Ionic.Zlib +{ + internal class WorkItem + { + public byte[] buffer; + + public byte[] compressed; + + public int crc; + + public int index; + + public int ordinal; + + public int inputBytesAvailable; + + public int compressedBytesAvailable; + + public ZlibCodec compressor; + + public WorkItem(int size, CompressionLevel compressLevel, CompressionStrategy strategy, int ix) + { + this.buffer = new byte[size]; + int num = size + (size / 32768 + 1) * 5 * 2; + this.compressed = new byte[num]; + this.compressor = new ZlibCodec(); + this.compressor.InitializeDeflate(compressLevel, false); + this.compressor.OutputBuffer = this.compressed; + this.compressor.InputBuffer = this.buffer; + this.index = ix; + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib/WorkItem.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib/WorkItem.cs.meta new file mode 100644 index 00000000..d059e3ff --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib/WorkItem.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 23c52360d96dd6049935c0bd40dbba80 +timeCreated: 1611465300 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib/ZlibBaseStream.cs b/Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib/ZlibBaseStream.cs new file mode 100644 index 00000000..18a76dca --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib/ZlibBaseStream.cs @@ -0,0 +1,718 @@ +using System; +using System.Collections.Generic; +using System.IO; +using System.Text; +using Ionic.Crc; + +namespace Ionic.Zlib +{ + internal class ZlibBaseStream : Stream + { + internal int Crc32 + { + get + { + bool flag = this.crc == null; + int result; + if (flag) + { + result = 0; + } + else + { + result = this.crc.Crc32Result; + } + return result; + } + } + + protected internal bool _wantCompress + { + get + { + return this._compressionMode == CompressionMode.Compress; + } + } + + private ZlibCodec z + { + get + { + bool flag = this._z == null; + if (flag) + { + bool flag2 = this._flavor == ZlibStreamFlavor.ZLIB; + this._z = new ZlibCodec(); + bool flag3 = this._compressionMode == CompressionMode.Decompress; + if (flag3) + { + this._z.InitializeInflate(flag2); + } + else + { + this._z.Strategy = this.Strategy; + this._z.InitializeDeflate(this._level, flag2); + } + } + return this._z; + } + } + + private byte[] workingBuffer + { + get + { + bool flag = this._workingBuffer == null; + if (flag) + { + this._workingBuffer = new byte[this._bufferSize]; + } + return this._workingBuffer; + } + } + + public override bool CanRead + { + get + { + return this._stream.CanRead; + } + } + + public override bool CanSeek + { + get + { + return this._stream.CanSeek; + } + } + + public override bool CanWrite + { + get + { + return this._stream.CanWrite; + } + } + + public override long Length + { + get + { + return this._stream.Length; + } + } + + public override long Position + { + get + { + throw new NotImplementedException(); + } + set + { + throw new NotImplementedException(); + } + } + + protected internal ZlibCodec _z = null; + + protected internal ZlibBaseStream.StreamMode _streamMode = ZlibBaseStream.StreamMode.Undefined; + + protected internal FlushType _flushMode; + + protected internal ZlibStreamFlavor _flavor; + + protected internal CompressionMode _compressionMode; + + protected internal CompressionLevel _level; + + protected internal bool _leaveOpen; + + protected internal byte[] _workingBuffer; + + protected internal int _bufferSize = 16384; + + protected internal byte[] _buf1 = new byte[1]; + + protected internal Stream _stream; + + protected internal CompressionStrategy Strategy = CompressionStrategy.Default; + + private CRC32 crc; + + protected internal string _GzipFileName; + + protected internal string _GzipComment; + + protected internal DateTime _GzipMtime; + + protected internal int _gzipHeaderByteCount; + + private bool nomoreinput = false; + + internal enum StreamMode + { + Writer, + Reader, + Undefined + } + + public ZlibBaseStream(Stream stream, CompressionMode compressionMode, CompressionLevel level, ZlibStreamFlavor flavor, bool leaveOpen) + { + this._flushMode = FlushType.None; + this._stream = stream; + this._leaveOpen = leaveOpen; + this._compressionMode = compressionMode; + this._flavor = flavor; + this._level = level; + bool flag = flavor == ZlibStreamFlavor.GZIP; + if (flag) + { + this.crc = new CRC32(); + } + } + + public override void Write(byte[] buffer, int offset, int count) + { + bool flag = this.crc != null; + if (flag) + { + this.crc.SlurpBlock(buffer, offset, count); + } + bool flag2 = this._streamMode == ZlibBaseStream.StreamMode.Undefined; + if (flag2) + { + this._streamMode = ZlibBaseStream.StreamMode.Writer; + } + else + { + bool flag3 = this._streamMode > ZlibBaseStream.StreamMode.Writer; + if (flag3) + { + throw new ZlibException("Cannot Write after Reading."); + } + } + bool flag4 = count == 0; + if (!flag4) + { + this.z.InputBuffer = buffer; + this._z.Reset(); + this._z.NextIn = offset; + this._z.AvailableBytesIn = count; + for (;;) + { + this._z.OutputBuffer = this.workingBuffer; + this._z.NextOut = 0; + this._z.AvailableBytesOut = this._workingBuffer.Length; + int num = this._wantCompress ? this._z.Deflate(this._flushMode) : this._z.Inflate(this._flushMode); + bool flag5 = num != 0 && num != 1; + if (flag5) + { + break; + } + this._stream.Write(this._workingBuffer, 0, this._workingBuffer.Length - this._z.AvailableBytesOut); + bool flag6 = this._z.AvailableBytesIn == 0 && this._z.AvailableBytesOut != 0; + bool flag7 = this._flavor == ZlibStreamFlavor.GZIP && !this._wantCompress; + if (flag7) + { + flag6 = (this._z.AvailableBytesIn == 8 && this._z.AvailableBytesOut != 0); + } + if (flag6) + { + return; + } + } + throw new ZlibException((this._wantCompress ? "de" : "in") + "flating: " + this._z.Message); + } + } + + private void finish() + { + bool flag = this._z == null; + if (!flag) + { + bool flag2 = this._streamMode == ZlibBaseStream.StreamMode.Writer; + if (flag2) + { + int num; + for (;;) + { + this._z.OutputBuffer = this.workingBuffer; + this._z.NextOut = 0; + this._z.AvailableBytesOut = this._workingBuffer.Length; + num = (this._wantCompress ? this._z.Deflate(FlushType.Finish) : this._z.Inflate(FlushType.Finish)); + bool flag3 = num != 1 && num != 0; + if (flag3) + { + break; + } + bool flag4 = this._workingBuffer.Length - this._z.AvailableBytesOut > 0; + if (flag4) + { + this._stream.Write(this._workingBuffer, 0, this._workingBuffer.Length - this._z.AvailableBytesOut); + } + bool flag5 = this._z.AvailableBytesIn == 0 && this._z.AvailableBytesOut != 0; + bool flag6 = this._flavor == ZlibStreamFlavor.GZIP && !this._wantCompress; + if (flag6) + { + flag5 = (this._z.AvailableBytesIn == 8 && this._z.AvailableBytesOut != 0); + } + if (flag5) + { + goto Block_12; + } + } + string text = (this._wantCompress ? "de" : "in") + "flating"; + bool flag7 = this._z.Message == null; + if (flag7) + { + throw new ZlibException(string.Format("{0}: (rc = {1})", text, num)); + } + throw new ZlibException(text + ": " + this._z.Message); + Block_12: + this.Flush(); + bool flag8 = this._flavor == ZlibStreamFlavor.GZIP; + if (flag8) + { + bool wantCompress = this._wantCompress; + if (!wantCompress) + { + throw new ZlibException("Writing with decompression is not supported."); + } + int crc32Result = this.crc.Crc32Result; + this._stream.Write(BitConverter.GetBytes(crc32Result), 0, 4); + int value = (int)(this.crc.TotalBytesRead & (long)(-1)); //! + this._stream.Write(BitConverter.GetBytes(value), 0, 4); + } + } + else + { + bool flag9 = this._streamMode == ZlibBaseStream.StreamMode.Reader; + if (flag9) + { + bool flag10 = this._flavor == ZlibStreamFlavor.GZIP; + if (flag10) + { + bool flag11 = !this._wantCompress; + if (!flag11) + { + throw new ZlibException("Reading with compression is not supported."); + } + bool flag12 = this._z.TotalBytesOut == 0L; + if (!flag12) + { + byte[] array = new byte[8]; + bool flag13 = this._z.AvailableBytesIn < 8; + if (flag13) + { + Array.Copy(this._z.InputBuffer, this._z.NextIn, array, 0, this._z.AvailableBytesIn); + int num2 = 8 - this._z.AvailableBytesIn; + int num3 = this._stream.Read(array, this._z.AvailableBytesIn, num2); + bool flag14 = num2 != num3; + if (flag14) + { + throw new ZlibException(string.Format("Missing or incomplete GZIP trailer. Expected 8 bytes, got {0}.", this._z.AvailableBytesIn + num3)); + } + } + else + { + Array.Copy(this._z.InputBuffer, this._z.NextIn, array, 0, array.Length); + } + int num4 = BitConverter.ToInt32(array, 0); + int crc32Result2 = this.crc.Crc32Result; + int num5 = BitConverter.ToInt32(array, 4); + int num6 = (int)(this._z.TotalBytesOut & (long)(-1)); //! + bool flag15 = crc32Result2 != num4; + if (flag15) + { + throw new ZlibException(string.Format("Bad CRC32 in GZIP trailer. (actual({0:X8})!=expected({1:X8}))", crc32Result2, num4)); + } + bool flag16 = num6 != num5; + if (flag16) + { + throw new ZlibException(string.Format("Bad size in GZIP trailer. (actual({0})!=expected({1}))", num6, num5)); + } + } + } + } + } + } + } + + private void end() + { + bool flag = this.z == null; + if (!flag) + { + bool wantCompress = this._wantCompress; + if (wantCompress) + { + this._z.EndDeflate(); + } + else + { + this._z.EndInflate(); + } + this._z = null; + } + } + + public override void Close() + { + bool flag = this._stream == null; + if (!flag) + { + try + { + this.finish(); + } + finally + { + this.end(); + bool flag2 = !this._leaveOpen; + if (flag2) + { + this._stream.Close(); + } + this._stream = null; + } + } + } + + public override void Flush() + { + this._stream.Flush(); + } + + public override long Seek(long offset, SeekOrigin origin) + { + return this._stream.Seek(offset, origin); + } + + public override void SetLength(long value) + { + this._stream.SetLength(value); + } + + private string ReadZeroTerminatedString() + { + List list = new List(); + bool flag = false; + for (;;) + { + int num = this._stream.Read(this._buf1, 0, 1); + bool flag2 = num != 1; + if (flag2) + { + break; + } + bool flag3 = this._buf1[0] == 0; + if (flag3) + { + flag = true; + } + else + { + list.Add(this._buf1[0]); + } + if (flag) + { + goto Block_3; + } + } + throw new ZlibException("Unexpected EOF reading GZIP header."); + Block_3: + byte[] array = list.ToArray(); + return GZipStream.iso8859dash1.GetString(array, 0, array.Length); + } + + private int _ReadAndValidateGzipHeader() + { + int num = 0; + byte[] array = new byte[10]; + int num2 = this._stream.Read(array, 0, array.Length); + bool flag = num2 == 0; + int result; + if (flag) + { + result = 0; + } + else + { + bool flag2 = num2 != 10; + if (flag2) + { + throw new ZlibException("Not a valid GZIP stream."); + } + bool flag3 = array[0] != 31 || array[1] != 139 || array[2] != 8; + if (flag3) + { + throw new ZlibException("Bad GZIP header."); + } + int num3 = BitConverter.ToInt32(array, 4); + this._GzipMtime = GZipStream._unixEpoch.AddSeconds((double)num3); + num += num2; + bool flag4 = (array[3] & 4) == 4; + if (flag4) + { + num2 = this._stream.Read(array, 0, 2); + num += num2; + short num4 = (short)((int)array[0] + (int)array[1] * 256); + byte[] array2 = new byte[(int)num4]; + num2 = this._stream.Read(array2, 0, array2.Length); + bool flag5 = num2 != (int)num4; + if (flag5) + { + throw new ZlibException("Unexpected end-of-file reading GZIP header."); + } + num += num2; + } + bool flag6 = (array[3] & 8) == 8; + if (flag6) + { + this._GzipFileName = this.ReadZeroTerminatedString(); + } + bool flag7 = (array[3] & 16) == 16; + if (flag7) + { + this._GzipComment = this.ReadZeroTerminatedString(); + } + bool flag8 = (array[3] & 2) == 2; + if (flag8) + { + this.Read(this._buf1, 0, 1); + } + result = num; + } + return result; + } + + public override int Read(byte[] buffer, int offset, int count) + { + bool flag = this._streamMode == ZlibBaseStream.StreamMode.Undefined; + if (flag) + { + bool flag2 = !this._stream.CanRead; + if (flag2) + { + throw new ZlibException("The stream is not readable."); + } + this._streamMode = ZlibBaseStream.StreamMode.Reader; + this.z.AvailableBytesIn = 0; + bool flag3 = this._flavor == ZlibStreamFlavor.GZIP; + if (flag3) + { + this._gzipHeaderByteCount = this._ReadAndValidateGzipHeader(); + bool flag4 = this._gzipHeaderByteCount == 0; + if (flag4) + { + return 0; + } + } + } + bool flag5 = this._streamMode != ZlibBaseStream.StreamMode.Reader; + if (flag5) + { + throw new ZlibException("Cannot Read after Writing."); + } + bool flag6 = count == 0; + int result = 0; + if (flag6) + { + result = 0; + } + else + { + bool flag7 = this.nomoreinput && this._wantCompress; + if (flag7) + { + result = 0; + } + else + { + bool flag8 = buffer == null; + if (flag8) + { + throw new ArgumentNullException("buffer"); + } + bool flag9 = count < 0; + if (flag9) + { + throw new ArgumentOutOfRangeException("count"); + } + bool flag10 = offset < buffer.GetLowerBound(0); + if (flag10) + { + throw new ArgumentOutOfRangeException("offset"); + } + bool flag11 = offset + count > buffer.GetLength(0); + if (flag11) + { + throw new ArgumentOutOfRangeException("count"); + } + this._z.OutputBuffer = buffer; + this._z.NextOut = offset; + this._z.AvailableBytesOut = count; + this._z.InputBuffer = this.workingBuffer; + int num; + for (;;) + { + bool flag12 = this._z.AvailableBytesIn == 0 && !this.nomoreinput; + if (flag12) + { + this._z.NextIn = 0; + this._z.AvailableBytesIn = this._stream.Read(this._workingBuffer, 0, this._workingBuffer.Length); + bool flag13 = this._z.AvailableBytesIn == 0; + if (flag13) + { + this.nomoreinput = true; + } + } + num = (this._wantCompress ? this._z.Deflate(this._flushMode) : this._z.Inflate(this._flushMode)); + bool flag14 = this.nomoreinput && num == -5; + if (flag14) + { + break; + } + bool flag15 = num != 0 && num != 1; + if (flag15) + { + goto Block_20; + } + bool flag16 = (this.nomoreinput || num == 1) && this._z.AvailableBytesOut == count; + if (flag16) + { + goto Block_23; + } + if (this._z.AvailableBytesOut <= 0 || this.nomoreinput || num != 0) + { + goto IL_2AA; + } + } + return 0; + Block_20: + throw new ZlibException(string.Format("{0}flating: rc={1} msg={2}", this._wantCompress ? "de" : "in", num, this._z.Message)); + Block_23: + IL_2AA: + bool flag17 = this._z.AvailableBytesOut > 0; + if (flag17) + { + bool flag18 = num == 0 && this._z.AvailableBytesIn == 0; + if (flag18) + { + } + bool flag19 = this.nomoreinput; + if (flag19) + { + bool wantCompress = this._wantCompress; + if (wantCompress) + { + num = this._z.Deflate(FlushType.Finish); + bool flag20 = num != 0 && num != 1; + if (flag20) + { + throw new ZlibException(string.Format("Deflating: rc={0} msg={1}", num, this._z.Message)); + } + } + } + } + num = count - this._z.AvailableBytesOut; + bool flag21 = this.crc != null; + if (flag21) + { + this.crc.SlurpBlock(buffer, offset, num); + } + result = num; + } + } + return result; + } + + public static void CompressString(string s, Stream compressor) + { + byte[] bytes = Encoding.UTF8.GetBytes(s); + try + { + compressor.Write(bytes, 0, bytes.Length); + } + finally + { + if (compressor != null) + { + ((IDisposable)compressor).Dispose(); + } + } + } + + public static void CompressBuffer(byte[] b, Stream compressor) + { + try + { + compressor.Write(b, 0, b.Length); + } + finally + { + if (compressor != null) + { + ((IDisposable)compressor).Dispose(); + } + } + } + + public static string UncompressString(byte[] compressed, Stream decompressor) + { + byte[] array = new byte[1024]; + Encoding utf = Encoding.UTF8; + string result; + using (MemoryStream memoryStream = new MemoryStream()) + { + try + { + int count; + while ((count = decompressor.Read(array, 0, array.Length)) != 0) + { + memoryStream.Write(array, 0, count); + } + } + finally + { + if (decompressor != null) + { + ((IDisposable)decompressor).Dispose(); + } + } + memoryStream.Seek(0L, SeekOrigin.Begin); + StreamReader streamReader = new StreamReader(memoryStream, utf); + result = streamReader.ReadToEnd(); + } + return result; + } + + public static byte[] UncompressBuffer(byte[] compressed, Stream decompressor) + { + byte[] array = new byte[1024]; + byte[] result; + using (MemoryStream memoryStream = new MemoryStream()) + { + try + { + int count; + while ((count = decompressor.Read(array, 0, array.Length)) != 0) + { + memoryStream.Write(array, 0, count); + } + } + finally + { + if (decompressor != null) + { + ((IDisposable)decompressor).Dispose(); + } + } + result = memoryStream.ToArray(); + } + return result; + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib/ZlibBaseStream.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib/ZlibBaseStream.cs.meta new file mode 100644 index 00000000..c6027272 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib/ZlibBaseStream.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: ea148a1efaffee94ba8043fda34961dc +timeCreated: 1611465804 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib/ZlibCodec.cs b/Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib/ZlibCodec.cs new file mode 100644 index 00000000..397d505e --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib/ZlibCodec.cs @@ -0,0 +1,315 @@ +using System; +using System.Runtime.InteropServices; + +namespace Ionic.Zlib +{ + [Guid("ebc25cf6-9120-4283-b972-0e5520d0000D")] + [ComVisible(true)] + [ClassInterface(ClassInterfaceType.AutoDispatch)] + public sealed class ZlibCodec + { + public int Adler32 + { + get + { + return (int)this._Adler32; + } + } + + public byte[] InputBuffer; + + public int NextIn; + + public int AvailableBytesIn; + + public long TotalBytesIn; + + public byte[] OutputBuffer; + + public int NextOut; + + public int AvailableBytesOut; + + public long TotalBytesOut; + + public string Message; + + internal DeflateManager dstate; + + internal InflateManager istate; + + internal uint _Adler32; + + public CompressionLevel CompressLevel = CompressionLevel.Default; + + public int WindowBits = 15; + + public CompressionStrategy Strategy = CompressionStrategy.Default; + + public ZlibCodec() + { + } + + public ZlibCodec(CompressionMode mode) + { + bool flag = mode == CompressionMode.Compress; + if (flag) + { + int num = this.InitializeDeflate(); + bool flag2 = num != 0; + if (flag2) + { + throw new ZlibException("Cannot initialize for deflate."); + } + } + else + { + bool flag3 = mode == CompressionMode.Decompress; + if (!flag3) + { + throw new ZlibException("Invalid ZlibStreamFlavor."); + } + int num2 = this.InitializeInflate(); + bool flag4 = num2 != 0; + if (flag4) + { + throw new ZlibException("Cannot initialize for inflate."); + } + } + } + + public int InitializeInflate() + { + return this.InitializeInflate(this.WindowBits); + } + + public int InitializeInflate(bool expectRfc1950Header) + { + return this.InitializeInflate(this.WindowBits, expectRfc1950Header); + } + + public int InitializeInflate(int windowBits) + { + this.WindowBits = windowBits; + return this.InitializeInflate(windowBits, true); + } + + public int InitializeInflate(int windowBits, bool expectRfc1950Header) + { + this.WindowBits = windowBits; + bool flag = this.dstate != null; + if (flag) + { + throw new ZlibException("You may not call InitializeInflate() after calling InitializeDeflate()."); + } + this.istate = new InflateManager(expectRfc1950Header); + return this.istate.Initialize(this, windowBits); + } + + public int Inflate(FlushType flush) + { + bool flag = this.istate == null; + if (flag) + { + throw new ZlibException("No Inflate State!"); + } + return this.istate.Inflate(flush); + } + + public void Reset() + { + bool flag = this.istate == null; + if (flag) + { + throw new ZlibException("No Inflate State!"); + } + this.istate.Reset(); + } + + public int EndInflate() + { + bool flag = this.istate == null; + if (flag) + { + throw new ZlibException("No Inflate State!"); + } + int result = this.istate.End(); + this.istate = null; + return result; + } + + public int SyncInflate() + { + bool flag = this.istate == null; + if (flag) + { + throw new ZlibException("No Inflate State!"); + } + return this.istate.Sync(); + } + + public int InitializeDeflate() + { + return this._InternalInitializeDeflate(true); + } + + public int InitializeDeflate(CompressionLevel level) + { + this.CompressLevel = level; + return this._InternalInitializeDeflate(true); + } + + public int InitializeDeflate(CompressionLevel level, bool wantRfc1950Header) + { + this.CompressLevel = level; + return this._InternalInitializeDeflate(wantRfc1950Header); + } + + public int InitializeDeflate(CompressionLevel level, int bits) + { + this.CompressLevel = level; + this.WindowBits = bits; + return this._InternalInitializeDeflate(true); + } + + public int InitializeDeflate(CompressionLevel level, int bits, bool wantRfc1950Header) + { + this.CompressLevel = level; + this.WindowBits = bits; + return this._InternalInitializeDeflate(wantRfc1950Header); + } + + private int _InternalInitializeDeflate(bool wantRfc1950Header) + { + bool flag = this.istate != null; + if (flag) + { + throw new ZlibException("You may not call InitializeDeflate() after calling InitializeInflate()."); + } + this.dstate = new DeflateManager(); + this.dstate.WantRfc1950HeaderBytes = wantRfc1950Header; + return this.dstate.Initialize(this, this.CompressLevel, this.WindowBits, this.Strategy); + } + + public int Deflate(FlushType flush) + { + bool flag = this.dstate == null; + if (flag) + { + throw new ZlibException("No Deflate State!"); + } + return this.dstate.Deflate(flush); + } + + public int EndDeflate() + { + bool flag = this.dstate == null; + if (flag) + { + throw new ZlibException("No Deflate State!"); + } + this.dstate = null; + return 0; + } + + public void ResetDeflate(bool setDeflater) + { + bool flag = this.dstate == null; + if (flag) + { + throw new ZlibException("No Deflate State!"); + } + this.dstate.Reset(setDeflater); + } + + public int SetDeflateParams(CompressionLevel level, CompressionStrategy strategy) + { + bool flag = this.dstate == null; + if (flag) + { + throw new ZlibException("No Deflate State!"); + } + return this.dstate.SetParams(level, strategy); + } + + public int SetDictionary(byte[] dictionary) + { + bool flag = this.istate != null; + int result; + if (flag) + { + result = this.istate.SetDictionary(dictionary); + } + else + { + bool flag2 = this.dstate != null; + if (!flag2) + { + throw new ZlibException("No Inflate or Deflate state!"); + } + result = this.dstate.SetDictionary(dictionary); + } + return result; + } + + internal void flush_pending() + { + int num = this.dstate.pendingCount; + bool flag = num > this.AvailableBytesOut; + if (flag) + { + num = this.AvailableBytesOut; + } + bool flag2 = num == 0; + if (!flag2) + { + bool flag3 = this.dstate.pending.Length <= this.dstate.nextPending || this.OutputBuffer.Length <= this.NextOut || this.dstate.pending.Length < this.dstate.nextPending + num || this.OutputBuffer.Length < this.NextOut + num; + if (flag3) + { + throw new ZlibException(string.Format("Invalid State. (pending.Length={0}, pendingCount={1})", this.dstate.pending.Length, this.dstate.pendingCount)); + } + Array.Copy(this.dstate.pending, this.dstate.nextPending, this.OutputBuffer, this.NextOut, num); + this.NextOut += num; + this.dstate.nextPending += num; + this.TotalBytesOut += (long)num; + this.AvailableBytesOut -= num; + this.dstate.pendingCount -= num; + bool flag4 = this.dstate.pendingCount == 0; + if (flag4) + { + this.dstate.nextPending = 0; + } + } + } + + internal int read_buf(byte[] buf, int start, int size) + { + int num = this.AvailableBytesIn; + bool flag = num > size; + if (flag) + { + num = size; + } + bool flag2 = num == 0; + int result; + if (flag2) + { + result = 0; + } + else + { + this.AvailableBytesIn -= num; + bool wantRfc1950HeaderBytes = this.dstate.WantRfc1950HeaderBytes; + if (wantRfc1950HeaderBytes) + { + this._Adler32 = Adler.Adler32(this._Adler32, this.InputBuffer, this.NextIn, num); + } + Array.Copy(this.InputBuffer, this.NextIn, buf, start, num); + this.NextIn += num; + this.TotalBytesIn += (long)num; + result = num; + } + return result; + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib/ZlibCodec.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib/ZlibCodec.cs.meta new file mode 100644 index 00000000..639608e1 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib/ZlibCodec.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 84107389f7258db47818e7391949c909 +timeCreated: 1611465695 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib/ZlibConstants.cs b/Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib/ZlibConstants.cs new file mode 100644 index 00000000..e3c12391 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib/ZlibConstants.cs @@ -0,0 +1,27 @@ +using System; + +namespace Ionic.Zlib +{ + public static class ZlibConstants + { + public const int WindowBitsMax = 15; + + public const int WindowBitsDefault = 15; + + public const int Z_OK = 0; + + public const int Z_STREAM_END = 1; + + public const int Z_NEED_DICT = 2; + + public const int Z_STREAM_ERROR = -2; + + public const int Z_DATA_ERROR = -3; + + public const int Z_BUF_ERROR = -5; + + public const int WorkingBufferSizeDefault = 16384; + + public const int WorkingBufferSizeMin = 1024; + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib/ZlibConstants.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib/ZlibConstants.cs.meta new file mode 100644 index 00000000..99fdf51b --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib/ZlibConstants.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 3e9a7110134a02a4995d4a82c892bb90 +timeCreated: 1611465633 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib/ZlibException.cs b/Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib/ZlibException.cs new file mode 100644 index 00000000..4ee93238 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib/ZlibException.cs @@ -0,0 +1,17 @@ +using System; +using System.Runtime.InteropServices; + +namespace Ionic.Zlib +{ + [Guid("ebc25cf6-9120-4283-b972-0e5520d0000E")] + public class ZlibException : Exception + { + public ZlibException() + { + } + + public ZlibException(string s) : base(s) + { + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib/ZlibException.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib/ZlibException.cs.meta new file mode 100644 index 00000000..34b64195 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib/ZlibException.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: d0ec851ab9fb6b74aa0f4fc8ab253579 +timeCreated: 1611465760 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib/ZlibStream.cs b/Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib/ZlibStream.cs new file mode 100644 index 00000000..83ca3ae8 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib/ZlibStream.cs @@ -0,0 +1,278 @@ +using System; +using System.IO; + +namespace Ionic.Zlib +{ + public class ZlibStream : Stream + { + public virtual FlushType FlushMode + { + get + { + return this._baseStream._flushMode; + } + set + { + bool disposed = this._disposed; + if (disposed) + { + throw new ObjectDisposedException("ZlibStream"); + } + this._baseStream._flushMode = value; + } + } + + public int BufferSize + { + get + { + return this._baseStream._bufferSize; + } + set + { + bool disposed = this._disposed; + if (disposed) + { + throw new ObjectDisposedException("ZlibStream"); + } + bool flag = this._baseStream._workingBuffer != null; + if (flag) + { + throw new ZlibException("The working buffer is already set."); + } + bool flag2 = value < 1024; + if (flag2) + { + throw new ZlibException(string.Format("Don't be silly. {0} bytes?? Use a bigger buffer, at least {1}.", value, 1024)); + } + this._baseStream._bufferSize = value; + } + } + + public virtual long TotalIn + { + get + { + return this._baseStream._z.TotalBytesIn; + } + } + + public virtual long TotalOut + { + get + { + return this._baseStream._z.TotalBytesOut; + } + } + + public override bool CanRead + { + get + { + bool disposed = this._disposed; + if (disposed) + { + throw new ObjectDisposedException("ZlibStream"); + } + return this._baseStream._stream.CanRead; + } + } + + public override bool CanSeek + { + get + { + return false; + } + } + + public override bool CanWrite + { + get + { + bool disposed = this._disposed; + if (disposed) + { + throw new ObjectDisposedException("ZlibStream"); + } + return this._baseStream._stream.CanWrite; + } + } + + public override long Length + { + get + { + throw new NotSupportedException(); + } + } + + public override long Position + { + get + { + bool flag = this._baseStream._streamMode == ZlibBaseStream.StreamMode.Writer; + long result; + if (flag) + { + result = this._baseStream._z.TotalBytesOut; + } + else + { + bool flag2 = this._baseStream._streamMode == ZlibBaseStream.StreamMode.Reader; + if (flag2) + { + result = this._baseStream._z.TotalBytesIn; + } + else + { + result = 0L; + } + } + return result; + } + set + { + throw new NotSupportedException(); + } + } + + internal ZlibBaseStream _baseStream; + + private bool _disposed; + + public ZlibStream(Stream stream, CompressionMode mode) : this(stream, mode, CompressionLevel.Default, false) + { + } + + public ZlibStream(Stream stream, CompressionMode mode, CompressionLevel level) : this(stream, mode, level, false) + { + } + + public ZlibStream(Stream stream, CompressionMode mode, bool leaveOpen) : this(stream, mode, CompressionLevel.Default, leaveOpen) + { + } + + public ZlibStream(Stream stream, CompressionMode mode, CompressionLevel level, bool leaveOpen) + { + this._baseStream = new ZlibBaseStream(stream, mode, level, ZlibStreamFlavor.ZLIB, leaveOpen); + } + + protected override void Dispose(bool disposing) + { + try + { + bool flag = !this._disposed; + if (flag) + { + bool flag2 = disposing && this._baseStream != null; + if (flag2) + { + this._baseStream.Close(); + } + this._disposed = true; + } + } + finally + { + base.Dispose(disposing); + } + } + + public override void Flush() + { + bool disposed = this._disposed; + if (disposed) + { + throw new ObjectDisposedException("ZlibStream"); + } + this._baseStream.Flush(); + } + + public override int Read(byte[] buffer, int offset, int count) + { + bool disposed = this._disposed; + if (disposed) + { + throw new ObjectDisposedException("ZlibStream"); + } + return this._baseStream.Read(buffer, offset, count); + } + + public override long Seek(long offset, SeekOrigin origin) + { + bool disposed = this._disposed; + if (disposed) + { + throw new ObjectDisposedException("ZlibStream"); + } + return this._baseStream.Seek(offset, origin); + } + + public override void SetLength(long value) + { + bool disposed = this._disposed; + if (disposed) + { + throw new ObjectDisposedException("ZlibStream"); + } + this._baseStream.SetLength(value); + } + + public override void Write(byte[] buffer, int offset, int count) + { + bool disposed = this._disposed; + if (disposed) + { + throw new ObjectDisposedException("ZlibStream"); + } + this._baseStream.Write(buffer, offset, count); + } + + public static byte[] CompressString(string s) + { + byte[] result; + using (MemoryStream memoryStream = new MemoryStream()) + { + Stream compressor = new ZlibStream(memoryStream, CompressionMode.Compress, CompressionLevel.BestCompression); + ZlibBaseStream.CompressString(s, compressor); + result = memoryStream.ToArray(); + } + return result; + } + + public static byte[] CompressBuffer(byte[] b) + { + byte[] result; + using (MemoryStream memoryStream = new MemoryStream()) + { + Stream compressor = new ZlibStream(memoryStream, CompressionMode.Compress, CompressionLevel.BestCompression); + ZlibBaseStream.CompressBuffer(b, compressor); + result = memoryStream.ToArray(); + } + return result; + } + + public static string UncompressString(byte[] compressed) + { + string result; + using (MemoryStream memoryStream = new MemoryStream(compressed)) + { + Stream decompressor = new ZlibStream(memoryStream, CompressionMode.Decompress); + result = ZlibBaseStream.UncompressString(compressed, decompressor); + } + return result; + } + + public static byte[] UncompressBuffer(byte[] compressed) + { + byte[] result; + using (MemoryStream memoryStream = new MemoryStream(compressed)) + { + Stream decompressor = new ZlibStream(memoryStream, CompressionMode.Decompress); + result = ZlibBaseStream.UncompressBuffer(compressed, decompressor); + } + return result; + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib/ZlibStream.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib/ZlibStream.cs.meta new file mode 100644 index 00000000..b0df5733 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib/ZlibStream.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 436494bec9d2c4d4b818c8381eb96b76 +timeCreated: 1611465636 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib/ZlibStreamFlavor.cs b/Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib/ZlibStreamFlavor.cs new file mode 100644 index 00000000..15e26ff1 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib/ZlibStreamFlavor.cs @@ -0,0 +1,11 @@ +using System; + +namespace Ionic.Zlib +{ + internal enum ZlibStreamFlavor + { + ZLIB = 1950, + DEFLATE, + GZIP + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib/ZlibStreamFlavor.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib/ZlibStreamFlavor.cs.meta new file mode 100644 index 00000000..3a7b453b --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/Ionic/Zlib/ZlibStreamFlavor.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 7702df6401ca07347999769e435fe3da +timeCreated: 1611465690 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/ItemBackTable.cs b/Client/Assets/Scripts/XUtliPoolLib/ItemBackTable.cs new file mode 100644 index 00000000..6b3b07da --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/ItemBackTable.cs @@ -0,0 +1,64 @@ +using System; + +namespace XUtliPoolLib +{ + public class ItemBackTable : CVSReader + { + public ItemBackTable.RowData[] Table = null; + + public class RowData + { + public int ID; + + public string SystemName; + + public SeqListRef ItemGold; + + public SeqListRef ItemDragonCoin; + + public int count; + + public string Desc; + + public int FindBackDays; + + public bool IsWeekBack; + } + + protected override void ReadLine(XBinaryReader reader) + { + ItemBackTable.RowData rowData = new ItemBackTable.RowData(); + base.Read(reader, ref rowData.ID, CVSReader.intParse); + this.columnno = 0; + base.Read(reader, ref rowData.SystemName, CVSReader.stringParse); + this.columnno = 2; + rowData.ItemGold.Read(reader, this.m_DataHandler); + this.columnno = 4; + rowData.ItemDragonCoin.Read(reader, this.m_DataHandler); + this.columnno = 6; + base.Read(reader, ref rowData.count, CVSReader.intParse); + this.columnno = 7; + base.Read(reader, ref rowData.Desc, CVSReader.stringParse); + this.columnno = 8; + base.Read(reader, ref rowData.FindBackDays, CVSReader.intParse); + this.columnno = 10; + base.Read(reader, ref rowData.IsWeekBack, CVSReader.boolParse); + this.columnno = 11; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new ItemBackTable.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/ItemBackTable.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/ItemBackTable.cs.meta new file mode 100644 index 00000000..6fa3343a --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/ItemBackTable.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: b8b9440533865c440883f747366c533e +timeCreated: 1611465748 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/ItemBuffTable.cs b/Client/Assets/Scripts/XUtliPoolLib/ItemBuffTable.cs new file mode 100644 index 00000000..288b2139 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/ItemBuffTable.cs @@ -0,0 +1,67 @@ +using System; + +namespace XUtliPoolLib +{ + public class ItemBuffTable : CVSReader + { + public ItemBuffTable.RowData[] Table = null; + + public class RowData + { + public uint ItemId; + + public SeqListRef Buffs; + + public string Name; + } + + public ItemBuffTable.RowData GetByItemId(uint key) + { + bool flag = this.Table == null || this.Table.Length == 0; + ItemBuffTable.RowData result; + if (flag) + { + result = null; + } + else + { + for (int i = 0; i < this.Table.Length; i++) + { + bool flag2 = this.Table[i].ItemId == key; + if (flag2) + { + return this.Table[i]; + } + } + result = null; + } + return result; + } + + protected override void ReadLine(XBinaryReader reader) + { + ItemBuffTable.RowData rowData = new ItemBuffTable.RowData(); + base.Read(reader, ref rowData.ItemId, CVSReader.uintParse); + this.columnno = 0; + rowData.Buffs.Read(reader, this.m_DataHandler); + this.columnno = 1; + base.Read(reader, ref rowData.Name, CVSReader.stringParse); + this.columnno = 2; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new ItemBuffTable.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/ItemBuffTable.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/ItemBuffTable.cs.meta new file mode 100644 index 00000000..98eec691 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/ItemBuffTable.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: a1c9e60ced977cc4eb0aebdc22cf8b6e +timeCreated: 1611465736 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/ItemComposeTable.cs b/Client/Assets/Scripts/XUtliPoolLib/ItemComposeTable.cs new file mode 100644 index 00000000..c1d30c24 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/ItemComposeTable.cs @@ -0,0 +1,145 @@ +using System; + +namespace XUtliPoolLib +{ + public class ItemComposeTable : CVSReader + { + public ItemComposeTable.RowData[] Table = null; + + public class RowData + { + public int ItemID; + + public SeqRef SrcItem1; + + public SeqRef SrcItem2; + + public SeqRef SrcItem3; + + public int ID; + + public int Coin; + + public int Level; + + public bool IsBind; + + public SeqRef SrcItem4; + + public int Type; + } + + public ItemComposeTable.RowData GetByID(int key) + { + bool flag = this.Table == null || this.Table.Length == 0; + ItemComposeTable.RowData result; + if (flag) + { + result = null; + } + else + { + result = this.BinarySearchID(key); + } + return result; + } + + private ItemComposeTable.RowData BinarySearchID(int key) + { + int num = 0; + int num2 = this.Table.Length - 1; + ItemComposeTable.RowData rowData; + ItemComposeTable.RowData rowData2; + ItemComposeTable.RowData rowData3; + for (;;) + { + rowData = this.Table[num]; + bool flag = rowData.ID == key; + if (flag) + { + break; + } + rowData2 = this.Table[num2]; + bool flag2 = rowData2.ID == key; + if (flag2) + { + goto Block_2; + } + bool flag3 = num2 - num <= 1; + if (flag3) + { + goto Block_3; + } + int num3 = num + (num2 - num) / 2; + rowData3 = this.Table[num3]; + bool flag4 = rowData3.ID.CompareTo(key) > 0; + if (flag4) + { + num2 = num3; + } + else + { + bool flag5 = rowData3.ID.CompareTo(key) < 0; + if (!flag5) + { + goto IL_B1; + } + num = num3; + } + if (num >= num2) + { + goto Block_6; + } + } + return rowData; + Block_2: + return rowData2; + Block_3: + return null; + IL_B1: + return rowData3; + Block_6: + return null; + } + + protected override void ReadLine(XBinaryReader reader) + { + ItemComposeTable.RowData rowData = new ItemComposeTable.RowData(); + base.Read(reader, ref rowData.ItemID, CVSReader.intParse); + this.columnno = 0; + rowData.SrcItem1.Read(reader, this.m_DataHandler); + this.columnno = 1; + rowData.SrcItem2.Read(reader, this.m_DataHandler); + this.columnno = 2; + rowData.SrcItem3.Read(reader, this.m_DataHandler); + this.columnno = 3; + base.Read(reader, ref rowData.ID, CVSReader.intParse); + this.columnno = 4; + base.Read(reader, ref rowData.Coin, CVSReader.intParse); + this.columnno = 5; + base.Read(reader, ref rowData.Level, CVSReader.intParse); + this.columnno = 6; + base.Read(reader, ref rowData.IsBind, CVSReader.boolParse); + this.columnno = 7; + rowData.SrcItem4.Read(reader, this.m_DataHandler); + this.columnno = 8; + base.Read(reader, ref rowData.Type, CVSReader.intParse); + this.columnno = 9; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new ItemComposeTable.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/ItemComposeTable.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/ItemComposeTable.cs.meta new file mode 100644 index 00000000..549c33bd --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/ItemComposeTable.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: fb67aad261ad78446877f6a8417ad23f +timeCreated: 1611465811 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/ItemList.cs b/Client/Assets/Scripts/XUtliPoolLib/ItemList.cs new file mode 100644 index 00000000..d8ecab0b --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/ItemList.cs @@ -0,0 +1,229 @@ +using System; + +namespace XUtliPoolLib +{ + public class ItemList : CVSReader + { + public ItemList.RowData[] Table = null; + + public class RowData + { + public int ItemID; + + public string[] ItemName; + + public string ItemDescription; + + public string[] ItemIcon; + + public byte ItemType; + + public byte ItemQuality; + + public short ReqLevel; + + public int SortID; + + public string[] ItemAtlas; + + public string DoodadFx; + + public SeqListRef Access; + + public byte ShowTips; + + public string[] ItemAtlas1; + + public string[] ItemIcon1; + + public bool CanTrade; + + public byte[] AuctionType; + + public int OverCnt; + + public uint AuctPriceRecommend; + + public byte Profession; + + public string NumberName; + + public uint TimeLimit; + + public SeqListRef Decompose; + + public string ItemEffect; + + public byte AuctionGroup; + + public byte IsNeedShowTipsPanel; + + public float[] IconTransform; + + public SeqRef AuctionRange; + + public byte IsCanRecycle; + + public SeqRef Sell; + + public byte BagType; + + public short AuctionUpperLimit; + } + + public ItemList.RowData GetByItemID(int key) + { + bool flag = this.Table == null || this.Table.Length == 0; + ItemList.RowData result; + if (flag) + { + result = null; + } + else + { + result = this.BinarySearchItemID(key); + } + return result; + } + + private ItemList.RowData BinarySearchItemID(int key) + { + int num = 0; + int num2 = this.Table.Length - 1; + ItemList.RowData rowData; + ItemList.RowData rowData2; + ItemList.RowData rowData3; + for (;;) + { + rowData = this.Table[num]; + bool flag = rowData.ItemID == key; + if (flag) + { + break; + } + rowData2 = this.Table[num2]; + bool flag2 = rowData2.ItemID == key; + if (flag2) + { + goto Block_2; + } + bool flag3 = num2 - num <= 1; + if (flag3) + { + goto Block_3; + } + int num3 = num + (num2 - num) / 2; + rowData3 = this.Table[num3]; + bool flag4 = rowData3.ItemID.CompareTo(key) > 0; + if (flag4) + { + num2 = num3; + } + else + { + bool flag5 = rowData3.ItemID.CompareTo(key) < 0; + if (!flag5) + { + goto IL_B1; + } + num = num3; + } + if (num >= num2) + { + goto Block_6; + } + } + return rowData; + Block_2: + return rowData2; + Block_3: + return null; + IL_B1: + return rowData3; + Block_6: + return null; + } + + protected override void ReadLine(XBinaryReader reader) + { + ItemList.RowData rowData = new ItemList.RowData(); + base.Read(reader, ref rowData.ItemID, CVSReader.intParse); + this.columnno = 0; + base.ReadArray(reader, ref rowData.ItemName, CVSReader.stringParse); + this.columnno = 1; + base.Read(reader, ref rowData.ItemDescription, CVSReader.stringParse); + this.columnno = 2; + base.ReadArray(reader, ref rowData.ItemIcon, CVSReader.stringParse); + this.columnno = 3; + base.Read(reader, ref rowData.ItemType, CVSReader.byteParse); + this.columnno = 4; + base.Read(reader, ref rowData.ItemQuality, CVSReader.byteParse); + this.columnno = 5; + base.Read(reader, ref rowData.ReqLevel, CVSReader.shortParse); + this.columnno = 6; + base.Read(reader, ref rowData.SortID, CVSReader.intParse); + this.columnno = 8; + base.ReadArray(reader, ref rowData.ItemAtlas, CVSReader.stringParse); + this.columnno = 9; + base.Read(reader, ref rowData.DoodadFx, CVSReader.stringParse); + this.columnno = 10; + rowData.Access.Read(reader, this.m_DataHandler); + this.columnno = 11; + base.Read(reader, ref rowData.ShowTips, CVSReader.byteParse); + this.columnno = 12; + base.ReadArray(reader, ref rowData.ItemAtlas1, CVSReader.stringParse); + this.columnno = 13; + base.ReadArray(reader, ref rowData.ItemIcon1, CVSReader.stringParse); + this.columnno = 14; + base.Read(reader, ref rowData.CanTrade, CVSReader.boolParse); + this.columnno = 15; + base.ReadArray(reader, ref rowData.AuctionType, CVSReader.byteParse); + this.columnno = 16; + base.Read(reader, ref rowData.OverCnt, CVSReader.intParse); + this.columnno = 17; + base.Read(reader, ref rowData.AuctPriceRecommend, CVSReader.uintParse); + this.columnno = 18; + base.Read(reader, ref rowData.Profession, CVSReader.byteParse); + this.columnno = 19; + base.Read(reader, ref rowData.NumberName, CVSReader.stringParse); + this.columnno = 21; + base.Read(reader, ref rowData.TimeLimit, CVSReader.uintParse); + this.columnno = 22; + rowData.Decompose.Read(reader, this.m_DataHandler); + this.columnno = 23; + base.Read(reader, ref rowData.ItemEffect, CVSReader.stringParse); + this.columnno = 24; + base.Read(reader, ref rowData.AuctionGroup, CVSReader.byteParse); + this.columnno = 26; + base.Read(reader, ref rowData.IsNeedShowTipsPanel, CVSReader.byteParse); + this.columnno = 27; + base.ReadArray(reader, ref rowData.IconTransform, CVSReader.floatParse); + this.columnno = 28; + rowData.AuctionRange.Read(reader, this.m_DataHandler); + this.columnno = 29; + base.Read(reader, ref rowData.IsCanRecycle, CVSReader.byteParse); + this.columnno = 30; + rowData.Sell.Read(reader, this.m_DataHandler); + this.columnno = 31; + base.Read(reader, ref rowData.BagType, CVSReader.byteParse); + this.columnno = 32; + base.Read(reader, ref rowData.AuctionUpperLimit, CVSReader.shortParse); + this.columnno = 33; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new ItemList.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/ItemList.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/ItemList.cs.meta new file mode 100644 index 00000000..b425c2de --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/ItemList.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 8fd685a941515ec429776b94391e1a08 +timeCreated: 1611465703 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/ItemTransform.cs b/Client/Assets/Scripts/XUtliPoolLib/ItemTransform.cs new file mode 100644 index 00000000..9bd4fe5a --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/ItemTransform.cs @@ -0,0 +1,117 @@ +using System; + +namespace XUtliPoolLib +{ + public class ItemTransform : CVSReader + { + public ItemTransform.RowData[] Table = null; + + public class RowData + { + public uint itemid; + + public uint type; + + public string time; + } + + public ItemTransform.RowData GetByitemid(uint key) + { + bool flag = this.Table == null || this.Table.Length == 0; + ItemTransform.RowData result; + if (flag) + { + result = null; + } + else + { + result = this.BinarySearchitemid(key); + } + return result; + } + + private ItemTransform.RowData BinarySearchitemid(uint key) + { + int num = 0; + int num2 = this.Table.Length - 1; + ItemTransform.RowData rowData; + ItemTransform.RowData rowData2; + ItemTransform.RowData rowData3; + for (;;) + { + rowData = this.Table[num]; + bool flag = rowData.itemid == key; + if (flag) + { + break; + } + rowData2 = this.Table[num2]; + bool flag2 = rowData2.itemid == key; + if (flag2) + { + goto Block_2; + } + bool flag3 = num2 - num <= 1; + if (flag3) + { + goto Block_3; + } + int num3 = num + (num2 - num) / 2; + rowData3 = this.Table[num3]; + bool flag4 = rowData3.itemid.CompareTo(key) > 0; + if (flag4) + { + num2 = num3; + } + else + { + bool flag5 = rowData3.itemid.CompareTo(key) < 0; + if (!flag5) + { + goto IL_B1; + } + num = num3; + } + if (num >= num2) + { + goto Block_6; + } + } + return rowData; + Block_2: + return rowData2; + Block_3: + return null; + IL_B1: + return rowData3; + Block_6: + return null; + } + + protected override void ReadLine(XBinaryReader reader) + { + ItemTransform.RowData rowData = new ItemTransform.RowData(); + base.Read(reader, ref rowData.itemid, CVSReader.uintParse); + this.columnno = 0; + base.Read(reader, ref rowData.type, CVSReader.uintParse); + this.columnno = 2; + base.Read(reader, ref rowData.time, CVSReader.stringParse); + this.columnno = 3; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new ItemTransform.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/ItemTransform.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/ItemTransform.cs.meta new file mode 100644 index 00000000..db881d9e --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/ItemTransform.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 271ded1146762d1468e8e0999da0efea +timeCreated: 1611465302 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/ItemUseButtonList.cs b/Client/Assets/Scripts/XUtliPoolLib/ItemUseButtonList.cs new file mode 100644 index 00000000..49afac1a --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/ItemUseButtonList.cs @@ -0,0 +1,48 @@ +using System; + +namespace XUtliPoolLib +{ + public class ItemUseButtonList : CVSReader + { + public ItemUseButtonList.RowData[] Table = null; + + public class RowData + { + public uint ItemID; + + public string ButtonName; + + public uint SystemID; + + public uint TypeID; + } + + protected override void ReadLine(XBinaryReader reader) + { + ItemUseButtonList.RowData rowData = new ItemUseButtonList.RowData(); + base.Read(reader, ref rowData.ItemID, CVSReader.uintParse); + this.columnno = 0; + base.Read(reader, ref rowData.ButtonName, CVSReader.stringParse); + this.columnno = 2; + base.Read(reader, ref rowData.SystemID, CVSReader.uintParse); + this.columnno = 3; + base.Read(reader, ref rowData.TypeID, CVSReader.uintParse); + this.columnno = 4; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new ItemUseButtonList.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/ItemUseButtonList.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/ItemUseButtonList.cs.meta new file mode 100644 index 00000000..1c6fb212 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/ItemUseButtonList.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 832525e733c892d4eb37c232e88f6b4e +timeCreated: 1611465694 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/JadeGroupTable.cs b/Client/Assets/Scripts/XUtliPoolLib/JadeGroupTable.cs new file mode 100644 index 00000000..aac42b48 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/JadeGroupTable.cs @@ -0,0 +1,40 @@ +using System; + +namespace XUtliPoolLib +{ + public class JadeGroupTable : CVSReader + { + public JadeGroupTable.RowData[] Table = null; + + public class RowData + { + public uint JadeID; + + public uint GroupID; + } + + protected override void ReadLine(XBinaryReader reader) + { + JadeGroupTable.RowData rowData = new JadeGroupTable.RowData(); + base.Read(reader, ref rowData.JadeID, CVSReader.uintParse); + this.columnno = 0; + base.Read(reader, ref rowData.GroupID, CVSReader.uintParse); + this.columnno = 1; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new JadeGroupTable.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/JadeGroupTable.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/JadeGroupTable.cs.meta new file mode 100644 index 00000000..c761af80 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/JadeGroupTable.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 56df4d8516183ca428df4400c7d17fb0 +timeCreated: 1611465646 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/JadeSealTable.cs b/Client/Assets/Scripts/XUtliPoolLib/JadeSealTable.cs new file mode 100644 index 00000000..a7274063 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/JadeSealTable.cs @@ -0,0 +1,76 @@ +using System; + +namespace XUtliPoolLib +{ + public class JadeSealTable : CVSReader + { + public JadeSealTable.RowData[] Table = null; + + public class RowData + { + public uint SealID; + + public uint[] SealJob; + + public uint[] SealEquip; + + public uint SealNum; + + public string SealName; + + public uint SealLevel; + + public uint SealQuality; + + public SeqListRef SealAttributes; + + public uint[] SealSuit; + + public uint SealWeight; + + public SeqListRef SealBuff; + } + + protected override void ReadLine(XBinaryReader reader) + { + JadeSealTable.RowData rowData = new JadeSealTable.RowData(); + base.Read(reader, ref rowData.SealID, CVSReader.uintParse); + this.columnno = 0; + base.ReadArray(reader, ref rowData.SealJob, CVSReader.uintParse); + this.columnno = 1; + base.ReadArray(reader, ref rowData.SealEquip, CVSReader.uintParse); + this.columnno = 2; + base.Read(reader, ref rowData.SealNum, CVSReader.uintParse); + this.columnno = 3; + base.Read(reader, ref rowData.SealName, CVSReader.stringParse); + this.columnno = 4; + base.Read(reader, ref rowData.SealLevel, CVSReader.uintParse); + this.columnno = 5; + base.Read(reader, ref rowData.SealQuality, CVSReader.uintParse); + this.columnno = 6; + rowData.SealAttributes.Read(reader, this.m_DataHandler); + this.columnno = 7; + base.ReadArray(reader, ref rowData.SealSuit, CVSReader.uintParse); + this.columnno = 8; + base.Read(reader, ref rowData.SealWeight, CVSReader.uintParse); + this.columnno = 9; + rowData.SealBuff.Read(reader, this.m_DataHandler); + this.columnno = 10; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new JadeSealTable.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/JadeSealTable.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/JadeSealTable.cs.meta new file mode 100644 index 00000000..041ed763 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/JadeSealTable.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 072544ad2df029d47ab7b7b22cc573ac +timeCreated: 1611465286 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/JadeSlotTable.cs b/Client/Assets/Scripts/XUtliPoolLib/JadeSlotTable.cs new file mode 100644 index 00000000..3667980a --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/JadeSlotTable.cs @@ -0,0 +1,63 @@ +using System; + +namespace XUtliPoolLib +{ + public class JadeSlotTable : CVSReader + { + public JadeSlotTable.RowData[] Table = null; + + public class RowData + { + public byte EquipSlot; + + public SeqListRef JadeSlotAndLevel; + } + + public JadeSlotTable.RowData GetByEquipSlot(byte key) + { + bool flag = this.Table == null || this.Table.Length == 0; + JadeSlotTable.RowData result; + if (flag) + { + result = null; + } + else + { + for (int i = 0; i < this.Table.Length; i++) + { + bool flag2 = this.Table[i].EquipSlot == key; + if (flag2) + { + return this.Table[i]; + } + } + result = null; + } + return result; + } + + protected override void ReadLine(XBinaryReader reader) + { + JadeSlotTable.RowData rowData = new JadeSlotTable.RowData(); + base.Read(reader, ref rowData.EquipSlot, CVSReader.byteParse); + this.columnno = 0; + rowData.JadeSlotAndLevel.Read(reader, this.m_DataHandler); + this.columnno = 1; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new JadeSlotTable.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/JadeSlotTable.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/JadeSlotTable.cs.meta new file mode 100644 index 00000000..1f596c34 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/JadeSlotTable.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 91ce9ee6999f0ad46b17e179f40bbf16 +timeCreated: 1611465705 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/JadeTable.cs b/Client/Assets/Scripts/XUtliPoolLib/JadeTable.cs new file mode 100644 index 00000000..89d64f31 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/JadeTable.cs @@ -0,0 +1,129 @@ +using System; + +namespace XUtliPoolLib +{ + public class JadeTable : CVSReader + { + public JadeTable.RowData[] Table = null; + + public class RowData + { + public uint JadeID; + + public uint JadeEquip; + + public SeqListRef JadeAttributes; + + public SeqRef JadeCompose; + + public uint JadeLevel; + + public string MosaicPlace; + } + + public JadeTable.RowData GetByJadeID(uint key) + { + bool flag = this.Table == null || this.Table.Length == 0; + JadeTable.RowData result; + if (flag) + { + result = null; + } + else + { + result = this.BinarySearchJadeID(key); + } + return result; + } + + private JadeTable.RowData BinarySearchJadeID(uint key) + { + int num = 0; + int num2 = this.Table.Length - 1; + JadeTable.RowData rowData; + JadeTable.RowData rowData2; + JadeTable.RowData rowData3; + for (;;) + { + rowData = this.Table[num]; + bool flag = rowData.JadeID == key; + if (flag) + { + break; + } + rowData2 = this.Table[num2]; + bool flag2 = rowData2.JadeID == key; + if (flag2) + { + goto Block_2; + } + bool flag3 = num2 - num <= 1; + if (flag3) + { + goto Block_3; + } + int num3 = num + (num2 - num) / 2; + rowData3 = this.Table[num3]; + bool flag4 = rowData3.JadeID.CompareTo(key) > 0; + if (flag4) + { + num2 = num3; + } + else + { + bool flag5 = rowData3.JadeID.CompareTo(key) < 0; + if (!flag5) + { + goto IL_B1; + } + num = num3; + } + if (num >= num2) + { + goto Block_6; + } + } + return rowData; + Block_2: + return rowData2; + Block_3: + return null; + IL_B1: + return rowData3; + Block_6: + return null; + } + + protected override void ReadLine(XBinaryReader reader) + { + JadeTable.RowData rowData = new JadeTable.RowData(); + base.Read(reader, ref rowData.JadeID, CVSReader.uintParse); + this.columnno = 0; + base.Read(reader, ref rowData.JadeEquip, CVSReader.uintParse); + this.columnno = 1; + rowData.JadeAttributes.Read(reader, this.m_DataHandler); + this.columnno = 2; + rowData.JadeCompose.Read(reader, this.m_DataHandler); + this.columnno = 3; + base.Read(reader, ref rowData.JadeLevel, CVSReader.uintParse); + this.columnno = 4; + base.Read(reader, ref rowData.MosaicPlace, CVSReader.stringParse); + this.columnno = 5; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new JadeTable.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/JadeTable.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/JadeTable.cs.meta new file mode 100644 index 00000000..daadf32d --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/JadeTable.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 834c36f6b09426645aef35596ed86e5f +timeCreated: 1611465695 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/JsonUtil.cs b/Client/Assets/Scripts/XUtliPoolLib/JsonUtil.cs new file mode 100644 index 00000000..e940ea78 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/JsonUtil.cs @@ -0,0 +1,164 @@ +using System; +using System.Collections.Generic; +using XUtliPoolLib; + +public class JsonUtil +{ + public static float ParseFloat(object val, float defVal = 0f) + { + return (val == null) ? defVal : float.Parse(val.ToString()); + } + + public static int ParseInt(object val, int defVal = 0) + { + return (val == null) ? defVal : int.Parse(val.ToString()); + } + + public static bool ParseBool(object val, bool defVal = false) + { + bool flag = val == null; + bool result; + if (flag) + { + result = defVal; + } + else + { + try + { + result = (JsonUtil.ParseInt(val, defVal ? 1 : 0) != 0); + } + catch (Exception) + { + try + { + result = bool.Parse(val.ToString()); + } + catch (Exception) + { + result = defVal; + } + } + } + return result; + } + + public static DateTime ParseDateTime(object val) + { + return DateTime.Parse(val.ToString()); + } + + public static string ReadString(IDictionary dic, string key, string defVal = "") + { + bool flag = dic != null && dic.ContainsKey(key); + string result; + if (flag) + { + result = ((dic[key] == null) ? defVal : dic[key].ToString()); + } + else + { + result = defVal; + } + return result; + } + + public static int ReadInt(IDictionary dic, string key, int defVal = 0) + { + bool flag = dic != null && dic.ContainsKey(key); + int result; + if (flag) + { + result = JsonUtil.ParseInt(dic[key], defVal); + } + else + { + result = defVal; + } + return result; + } + + public static bool ReadBool(IDictionary dic, string key, bool defVal = false) + { + bool flag = dic != null && dic.ContainsKey(key); + bool result; + if (flag) + { + result = JsonUtil.ParseBool(dic[key], defVal); + } + else + { + result = defVal; + } + return result; + } + + public static float ReadFloat(IDictionary dic, string key, float defVal = 0f) + { + bool flag = dic != null && dic.ContainsKey(key); + float result; + if (flag) + { + result = JsonUtil.ParseFloat(dic[key], defVal); + } + else + { + result = defVal; + } + return result; + } + + public static DateTime ReadDateTime(IDictionary dic, string key) + { + return JsonUtil.ReadDateTime(dic, key, new DateTime(1, 1, 1, 0, 0, 0)); + } + + public static DateTime ReadDateTime(IDictionary dic, string key, DateTime defVal) + { + bool flag = dic != null && dic.ContainsKey(key); + if (flag) + { + try + { + return JsonUtil.ParseDateTime(dic[key]); + } + catch (Exception ex) + { + XSingleton.singleton.AddErrorLog(ex.Message, null, null, null, null, null); + return defVal; + } + } + return defVal; + } + + public static string ListToJsonStr(List list) + { + bool flag = list == null || list.Count < 1; + string result; + if (flag) + { + result = "[]"; + } + else + { + bool flag2 = true; + string text = "["; + foreach (string str in list) + { + bool flag3 = flag2; + if (flag3) + { + flag2 = false; + } + else + { + text += ","; + } + text += str; + } + text += "]"; + result = text; + } + return result; + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/JsonUtil.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/JsonUtil.cs.meta new file mode 100644 index 00000000..8be4cbc6 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/JsonUtil.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 9caab0fbd1fb8fb498ca7937dfaf80c8 +timeCreated: 1611465711 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/LeagueRankReward.cs b/Client/Assets/Scripts/XUtliPoolLib/LeagueRankReward.cs new file mode 100644 index 00000000..7965e093 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/LeagueRankReward.cs @@ -0,0 +1,40 @@ +using System; + +namespace XUtliPoolLib +{ + public class LeagueRankReward : CVSReader + { + public LeagueRankReward.RowData[] Table = null; + + public class RowData + { + public SeqRef rank; + + public SeqListRef reward; + } + + protected override void ReadLine(XBinaryReader reader) + { + LeagueRankReward.RowData rowData = new LeagueRankReward.RowData(); + rowData.rank.Read(reader, this.m_DataHandler); + this.columnno = 0; + rowData.reward.Read(reader, this.m_DataHandler); + this.columnno = 1; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new LeagueRankReward.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/LeagueRankReward.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/LeagueRankReward.cs.meta new file mode 100644 index 00000000..29a7082e --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/LeagueRankReward.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 62827b45b9f2c3d44a73475f8f86e9d0 +timeCreated: 1611465653 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/LevelSealNewFunctionTable.cs b/Client/Assets/Scripts/XUtliPoolLib/LevelSealNewFunctionTable.cs new file mode 100644 index 00000000..926d05e8 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/LevelSealNewFunctionTable.cs @@ -0,0 +1,48 @@ +using System; + +namespace XUtliPoolLib +{ + public class LevelSealNewFunctionTable : CVSReader + { + public LevelSealNewFunctionTable.RowData[] Table = null; + + public class RowData + { + public int Type; + + public int OpenLevel; + + public string Tag; + + public string IconName; + } + + protected override void ReadLine(XBinaryReader reader) + { + LevelSealNewFunctionTable.RowData rowData = new LevelSealNewFunctionTable.RowData(); + base.Read(reader, ref rowData.Type, CVSReader.intParse); + this.columnno = 0; + base.Read(reader, ref rowData.OpenLevel, CVSReader.intParse); + this.columnno = 1; + base.Read(reader, ref rowData.Tag, CVSReader.stringParse); + this.columnno = 2; + base.Read(reader, ref rowData.IconName, CVSReader.stringParse); + this.columnno = 3; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new LevelSealNewFunctionTable.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/LevelSealNewFunctionTable.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/LevelSealNewFunctionTable.cs.meta new file mode 100644 index 00000000..5d568e63 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/LevelSealNewFunctionTable.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 5134cd77f1d66e7468d5163cc0ad5cd4 +timeCreated: 1611465643 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/LevelSealTypeTable.cs b/Client/Assets/Scripts/XUtliPoolLib/LevelSealTypeTable.cs new file mode 100644 index 00000000..cfbd688d --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/LevelSealTypeTable.cs @@ -0,0 +1,107 @@ +using System; + +namespace XUtliPoolLib +{ + public class LevelSealTypeTable : CVSReader + { + public LevelSealTypeTable.RowData[] Table = null; + + public class RowData + { + public uint Type; + + public uint Level; + + public uint Time; + + public string UnlockBossName; + + public uint UnlockBossCount; + + public string NowSealImage; + + public string NextSealImageL; + + public string NextSealImageR; + + public string NextSealImageBig; + + public SeqRef ExchangeInfo; + + public SeqListRef CollectAward; + + public SeqListRef PlayerAward; + + public int ApplyStudentLevel; + } + + public LevelSealTypeTable.RowData GetByType(uint key) + { + bool flag = this.Table == null || this.Table.Length == 0; + LevelSealTypeTable.RowData result; + if (flag) + { + result = null; + } + else + { + for (int i = 0; i < this.Table.Length; i++) + { + bool flag2 = this.Table[i].Type == key; + if (flag2) + { + return this.Table[i]; + } + } + result = null; + } + return result; + } + + protected override void ReadLine(XBinaryReader reader) + { + LevelSealTypeTable.RowData rowData = new LevelSealTypeTable.RowData(); + base.Read(reader, ref rowData.Type, CVSReader.uintParse); + this.columnno = 0; + base.Read(reader, ref rowData.Level, CVSReader.uintParse); + this.columnno = 1; + base.Read(reader, ref rowData.Time, CVSReader.uintParse); + this.columnno = 2; + base.Read(reader, ref rowData.UnlockBossName, CVSReader.stringParse); + this.columnno = 4; + base.Read(reader, ref rowData.UnlockBossCount, CVSReader.uintParse); + this.columnno = 5; + base.Read(reader, ref rowData.NowSealImage, CVSReader.stringParse); + this.columnno = 6; + base.Read(reader, ref rowData.NextSealImageL, CVSReader.stringParse); + this.columnno = 7; + base.Read(reader, ref rowData.NextSealImageR, CVSReader.stringParse); + this.columnno = 8; + base.Read(reader, ref rowData.NextSealImageBig, CVSReader.stringParse); + this.columnno = 9; + rowData.ExchangeInfo.Read(reader, this.m_DataHandler); + this.columnno = 13; + rowData.CollectAward.Read(reader, this.m_DataHandler); + this.columnno = 14; + rowData.PlayerAward.Read(reader, this.m_DataHandler); + this.columnno = 16; + base.Read(reader, ref rowData.ApplyStudentLevel, CVSReader.intParse); + this.columnno = 19; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new LevelSealTypeTable.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/LevelSealTypeTable.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/LevelSealTypeTable.cs.meta new file mode 100644 index 00000000..d2c590c6 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/LevelSealTypeTable.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 93790e4811251f3409caa2e6894117a0 +timeCreated: 1611465707 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/ListPool.cs b/Client/Assets/Scripts/XUtliPoolLib/ListPool.cs new file mode 100644 index 00000000..1abbc72f --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/ListPool.cs @@ -0,0 +1,31 @@ +using System; +using System.Collections.Generic; + +namespace XUtliPoolLib +{ + public class ListPool + { + private static readonly ObjectPool> s_Pool = new ObjectPool>(new ObjectPool>.CreateObj(ListPool.Create), delegate(List l) + { + l.Clear(); + }, delegate(List l) + { + l.Clear(); + }); + + public static List Create() + { + return new List(); + } + + public static List Get() + { + return ListPool.s_Pool.Get(); + } + + public static void Release(List toRelease) + { + ListPool.s_Pool.Release(toRelease); + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/ListPool.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/ListPool.cs.meta new file mode 100644 index 00000000..6b9f2959 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/ListPool.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: eb9a5367ef2844b41a8f7260093c719e +timeCreated: 1611465804 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/LiveTable.cs b/Client/Assets/Scripts/XUtliPoolLib/LiveTable.cs new file mode 100644 index 00000000..1c66d511 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/LiveTable.cs @@ -0,0 +1,71 @@ +using System; + +namespace XUtliPoolLib +{ + public class LiveTable : CVSReader + { + public LiveTable.RowData[] Table = null; + + public class RowData + { + public int Type; + + public int SceneType; + + public int ShowWatch; + + public int ShowPraise; + } + + public LiveTable.RowData GetBySceneType(int key) + { + bool flag = this.Table == null || this.Table.Length == 0; + LiveTable.RowData result; + if (flag) + { + result = null; + } + else + { + for (int i = 0; i < this.Table.Length; i++) + { + bool flag2 = this.Table[i].SceneType == key; + if (flag2) + { + return this.Table[i]; + } + } + result = null; + } + return result; + } + + protected override void ReadLine(XBinaryReader reader) + { + LiveTable.RowData rowData = new LiveTable.RowData(); + base.Read(reader, ref rowData.Type, CVSReader.intParse); + this.columnno = 0; + base.Read(reader, ref rowData.SceneType, CVSReader.intParse); + this.columnno = 3; + base.Read(reader, ref rowData.ShowWatch, CVSReader.intParse); + this.columnno = 7; + base.Read(reader, ref rowData.ShowPraise, CVSReader.intParse); + this.columnno = 8; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new LiveTable.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/LiveTable.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/LiveTable.cs.meta new file mode 100644 index 00000000..5a3b284a --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/LiveTable.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 3f68a9d68d145584c894d3c41e53c7c1 +timeCreated: 1611465634 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/LoadAsyncTask.cs b/Client/Assets/Scripts/XUtliPoolLib/LoadAsyncTask.cs new file mode 100644 index 00000000..f728914b --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/LoadAsyncTask.cs @@ -0,0 +1,238 @@ +using System; +using System.Collections.Generic; +using UnityEngine; +using XUpdater; + +namespace XUtliPoolLib +{ + public class LoadAsyncTask + { + public EAsyncLoadState loadState = EAsyncLoadState.EFree; + + public Type loadType = null; + + public uint hash = 0u; + + public string location = ""; + + public string ext = ""; + + public bool isSharedRes = true; + + public UnityEngine.Object asset = null; + + public List loadCbList = new List(); + + private AssetBundleInfo assetBundleInfo = null; + + public object cbObj = null; + + public void Clear() + { + this.loadState = EAsyncLoadState.EFree; + this.location = ""; + this.hash = 0u; + this.asset = null; + this.loadCbList.Clear(); + this.loadType = null; + this.assetBundleInfo = null; + this.cbObj = null; + } + + public bool Update() + { + bool result; + switch (this.loadState) + { + case EAsyncLoadState.EFree: + result = false; + break; + case EAsyncLoadState.EPreLoading: + { + bool flag = XSingleton.singleton.ABManager != null; + if (flag) + { + this.assetBundleInfo = XSingleton.singleton.ABManager.LoadImm(this.hash, this.location, this.ext, null); + } + bool flag2 = this.assetBundleInfo == null; + if (flag2) + { + this.asset = Resources.Load(this.location, this.loadType); + XResourceLoaderMgr.resourceLoadCount++; + } + else + { + int num = this.location.LastIndexOf("/"); + bool flag3 = num > 0 && num + 1 < this.location.Length; + if (flag3) + { + string text = this.location.Substring(num + 1); + } + else + { + string text = this.location; + } + this.asset = this.assetBundleInfo.mainObject; + XResourceLoaderMgr.abLoadCount++; + } + this.loadState = EAsyncLoadState.ELoading; + result = false; + break; + } + case EAsyncLoadState.ELoading: + this.LoadComplete(); + this.loadState = EAsyncLoadState.EFree; + result = true; + break; + case EAsyncLoadState.EInstance: + { + bool flag4 = this.asset != null; + if (flag4) + { + int i = 0; + int count = this.loadCbList.Count; + while (i < count) + { + LoadInfo loadInfo = this.loadCbList[i]; + bool flag5 = loadInfo.loadCb != null; + if (flag5) + { + GameObject gameObject = XCommon.Instantiate(this.asset) as GameObject; + XResourceLoaderMgr.instanceCount++; + XSingleton.singleton.AssetsRefRetain(this.hash); + XSingleton.singleton.LogReverseID(gameObject, this.hash); + loadInfo.loadCb(gameObject, this.cbObj); + } + i++; + } + this.loadCbList.Clear(); + } + result = true; + break; + } + default: + result = false; + break; + } + return result; + } + + public void CancelLoad(LoadCallBack cb) + { + int count = this.loadCbList.Count; + for (int i = count - 1; i >= 0; i--) + { + LoadInfo loadInfo = this.loadCbList[i]; + bool flag = loadInfo.loadCb == cb; + if (flag) + { + this.loadCbList.RemoveAt(i); + } + } + } + + private void ReturnNull() + { + int i = 0; + int count = this.loadCbList.Count; + while (i < count) + { + LoadInfo loadInfo = this.loadCbList[i]; + bool flag = loadInfo.loadCb != null; + if (flag) + { + loadInfo.loadCb(null, this.cbObj); + } + i++; + } + this.loadCbList.Clear(); + } + + private void LoadComplete() + { + bool flag = this.asset == null; + if (flag) + { + XResourceLoaderMgr.LoadErrorLog(this.location); + this.ReturnNull(); + } + else + { + bool useNewMgr = XSingleton.singleton.useNewMgr; + if (useNewMgr) + { + XResourceLoaderMgr.UniteObjectInfo uniteObjectInfo; + bool uoiasync = XSingleton.singleton.GetUOIAsync(this.location, this.hash, null, this.assetBundleInfo, this.isSharedRes, out uniteObjectInfo); + bool flag2 = uniteObjectInfo != null; + if (flag2) + { + int i = 0; + int count = this.loadCbList.Count; + while (i < count) + { + LoadInfo loadInfo = this.loadCbList[i]; + bool flag3 = loadInfo.loadCb != null; + if (flag3) + { + UnityEngine.Object uoi = XSingleton.singleton.GetUOI(uniteObjectInfo, this.isSharedRes, loadInfo.usePool); + loadInfo.loadCb(uoi, this.cbObj); + } + i++; + } + this.loadCbList.Clear(); + } + } + else + { + XSingleton.singleton.AddAssetInPool(this.asset, this.hash, this.assetBundleInfo); + int j = 0; + int count2 = this.loadCbList.Count; + while (j < count2) + { + LoadInfo loadInfo2 = this.loadCbList[j]; + bool flag4 = loadInfo2.loadCb != null; + if (flag4) + { + bool flag5 = this.isSharedRes; + if (flag5) + { + this.GetSharedResourceCb(loadInfo2.loadCb, this.assetBundleInfo); + } + else + { + UnityEngine.Object obj = null; + bool flag6 = loadInfo2.usePool && XSingleton.singleton.GetInObjectPool(ref obj, this.hash); + if (flag6) + { + loadInfo2.loadCb(obj, this.cbObj); + } + else + { + this.CreateFromPrefabCb(loadInfo2.loadCb, this.assetBundleInfo); + } + } + } + j++; + } + this.loadCbList.Clear(); + } + } + } + + private void GetSharedResourceCb(LoadCallBack loadCb, AssetBundleInfo info = null) + { + UnityEngine.Object assetInPool = XSingleton.singleton.GetAssetInPool(this.hash); + XSingleton.singleton.AssetsRefRetain(this.hash); + loadCb(assetInPool, this.cbObj); + } + + private void CreateFromPrefabCb(LoadCallBack loadCb, AssetBundleInfo info = null) + { + UnityEngine.Object assetInPool = XSingleton.singleton.GetAssetInPool(this.hash); + GameObject gameObject = XCommon.Instantiate(assetInPool) as GameObject; + XSingleton.singleton.AssetsRefRetain(this.hash); + XSingleton.singleton.LogReverseID(gameObject, this.hash); + loadCb(gameObject, this.cbObj); + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/LoadAsyncTask.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/LoadAsyncTask.cs.meta new file mode 100644 index 00000000..2822b328 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/LoadAsyncTask.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: c81890ae0532a8047bbfd1cc96755993 +timeCreated: 1611465756 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/LoadCallBack.cs b/Client/Assets/Scripts/XUtliPoolLib/LoadCallBack.cs new file mode 100644 index 00000000..1d7cdbc8 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/LoadCallBack.cs @@ -0,0 +1,7 @@ +using System; +using UnityEngine; + +namespace XUtliPoolLib +{ + public delegate void LoadCallBack(UnityEngine.Object obj, object cbOjb); +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/LoadCallBack.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/LoadCallBack.cs.meta new file mode 100644 index 00000000..7179ed4a --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/LoadCallBack.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: a66571d618b71b543aa951b94b01bd80 +timeCreated: 1611465736 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/LoadCallback.2.cs b/Client/Assets/Scripts/XUtliPoolLib/LoadCallback.2.cs new file mode 100644 index 00000000..466f26bc --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/LoadCallback.2.cs @@ -0,0 +1,6 @@ +using System; + +namespace XUtliPoolLib +{ + public delegate void LoadCallback(XGameObject gameObject); +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/LoadCallback.2.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/LoadCallback.2.cs.meta new file mode 100644 index 00000000..c188abcb --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/LoadCallback.2.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 014e333f994ae214aa24ee9e2c55a070 +timeCreated: 1611465284 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/LoadFrom.cs b/Client/Assets/Scripts/XUtliPoolLib/LoadFrom.cs new file mode 100644 index 00000000..2f63ba65 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/LoadFrom.cs @@ -0,0 +1,10 @@ +using System; + +namespace XUtliPoolLib +{ + public enum LoadFrom + { + Local, + AssetBundle + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/LoadFrom.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/LoadFrom.cs.meta new file mode 100644 index 00000000..89403fc7 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/LoadFrom.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 14930b8a80953074ab983ae0f2c548bf +timeCreated: 1611465293 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/LoadInfo.cs b/Client/Assets/Scripts/XUtliPoolLib/LoadInfo.cs new file mode 100644 index 00000000..4e8442d2 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/LoadInfo.cs @@ -0,0 +1,11 @@ +using System; + +namespace XUtliPoolLib +{ + public struct LoadInfo + { + public bool usePool; + + public LoadCallBack loadCb; + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/LoadInfo.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/LoadInfo.cs.meta new file mode 100644 index 00000000..34e1388d --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/LoadInfo.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 595d416c517ae1544b439ce4ac924faa +timeCreated: 1611465646 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/LoadState.cs b/Client/Assets/Scripts/XUtliPoolLib/LoadState.cs new file mode 100644 index 00000000..a2bb4351 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/LoadState.cs @@ -0,0 +1,13 @@ +using System; + +namespace XUtliPoolLib +{ + public enum LoadState + { + State_None, + State_LoadingAsync, + State_Loading, + State_Error, + State_Complete + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/LoadState.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/LoadState.cs.meta new file mode 100644 index 00000000..c7c8fc97 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/LoadState.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: eb0f430a10592254f91ba0a160f12902 +timeCreated: 1611465804 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/LoopItemData.cs b/Client/Assets/Scripts/XUtliPoolLib/LoopItemData.cs new file mode 100644 index 00000000..b68a3205 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/LoopItemData.cs @@ -0,0 +1,9 @@ +using System; + +namespace XUtliPoolLib +{ + public class LoopItemData + { + public uint LoopID { get; set; } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/LoopItemData.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/LoopItemData.cs.meta new file mode 100644 index 00000000..c98daa68 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/LoopItemData.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 69e2686f91c72b44a815ea6953f2d43e +timeCreated: 1611465684 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/MarriageLevel.cs b/Client/Assets/Scripts/XUtliPoolLib/MarriageLevel.cs new file mode 100644 index 00000000..e4219661 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/MarriageLevel.cs @@ -0,0 +1,83 @@ +using System; + +namespace XUtliPoolLib +{ + public class MarriageLevel : CVSReader + { + public MarriageLevel.RowData[] Table = null; + + public class RowData + { + public int Level; + + public int NeedIntimacyValue; + + public uint PrerogativeID; + + public SeqRef PrerogativeItems; + + public SeqRef PrivilegeBuffs; + + public string BuffIcon; + + public string Desc; + } + + public MarriageLevel.RowData GetByLevel(int key) + { + bool flag = this.Table == null || this.Table.Length == 0; + MarriageLevel.RowData result; + if (flag) + { + result = null; + } + else + { + for (int i = 0; i < this.Table.Length; i++) + { + bool flag2 = this.Table[i].Level == key; + if (flag2) + { + return this.Table[i]; + } + } + result = null; + } + return result; + } + + protected override void ReadLine(XBinaryReader reader) + { + MarriageLevel.RowData rowData = new MarriageLevel.RowData(); + base.Read(reader, ref rowData.Level, CVSReader.intParse); + this.columnno = 0; + base.Read(reader, ref rowData.NeedIntimacyValue, CVSReader.intParse); + this.columnno = 1; + base.Read(reader, ref rowData.PrerogativeID, CVSReader.uintParse); + this.columnno = 2; + rowData.PrerogativeItems.Read(reader, this.m_DataHandler); + this.columnno = 3; + rowData.PrivilegeBuffs.Read(reader, this.m_DataHandler); + this.columnno = 4; + base.Read(reader, ref rowData.BuffIcon, CVSReader.stringParse); + this.columnno = 5; + base.Read(reader, ref rowData.Desc, CVSReader.stringParse); + this.columnno = 6; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new MarriageLevel.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/MarriageLevel.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/MarriageLevel.cs.meta new file mode 100644 index 00000000..c2c4f49d --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/MarriageLevel.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 01d3c4e7ec3dee74e9b7b705e307986c +timeCreated: 1611465285 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/MemoryPool.cs b/Client/Assets/Scripts/XUtliPoolLib/MemoryPool.cs new file mode 100644 index 00000000..a5aefc1a --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/MemoryPool.cs @@ -0,0 +1,193 @@ +using System; + +namespace XUtliPoolLib +{ + public class MemoryPool + { + private short m_blockSize = 0; + + private int m_chunkSize = 0; + + private MemoryPool.MemoryChunk m_root = null; + + private MemoryPool.MemoryChunk m_last = null; + + private MemoryPool.MemoryChunk m_lastFreeChunk = null; + + private MemoryPool.MemoryBlock m_freeMemBlock = null; + + private MemoryPool.AllocMemoryBlock m_freeAllocBlock = null; + + public class MemoryChunk + { + public T[] mem = null; + + public MemoryPool.MemoryChunk next = null; + + public uint blockBit = 0u; + } + + public class MemoryBlock + { + public MemoryPool.MemoryChunk chunk = null; + + public short start = -1; + + public MemoryPool.MemoryBlock next = null; + } + + public class AllocMemoryBlock + { + public MemoryPool.MemoryBlock[] mem = new MemoryPool.MemoryBlock[32]; + + public MemoryPool.AllocMemoryBlock next = null; + } + + private void Expand() + { + MemoryPool.MemoryChunk memoryChunk = new MemoryPool.MemoryChunk(); + memoryChunk.mem = new T[this.m_chunkSize]; + bool flag = this.m_root == null; + if (flag) + { + bool flag2 = this.m_last != null; + if (flag2) + { + XSingleton.singleton.AddErrorLog("root null but last not null!", null, null, null, null, null); + } + this.m_root = memoryChunk; + this.m_last = this.m_root; + } + else + { + this.m_last.next = memoryChunk; + this.m_last = memoryChunk; + } + } + + private void IndexLastFreeChunk() + { + bool flag = this.m_lastFreeChunk == null; + if (flag) + { + this.Expand(); + this.m_lastFreeChunk = this.m_last; + } + } + + private MemoryPool.MemoryBlock GetMemoryBlock() + { + bool flag = this.m_freeMemBlock == null; + MemoryPool.MemoryBlock result; + if (flag) + { + result = new MemoryPool.MemoryBlock(); + } + else + { + MemoryPool.MemoryBlock freeMemBlock = this.m_freeMemBlock; + this.m_freeMemBlock = this.m_freeMemBlock.next; + result = freeMemBlock; + } + return result; + } + + public void Init(short blockSize, int initChunkCount) + { + this.m_blockSize = blockSize; + this.m_chunkSize = (int)(this.m_blockSize * 32); + for (int i = 0; i < initChunkCount; i++) + { + this.Expand(); + } + this.m_lastFreeChunk = this.m_root; + } + + public MemoryPool.AllocMemoryBlock Alloc(int blockCount) + { + bool flag = this.m_freeAllocBlock == null; + MemoryPool.AllocMemoryBlock allocMemoryBlock; + if (flag) + { + allocMemoryBlock = new MemoryPool.AllocMemoryBlock(); + } + else + { + allocMemoryBlock = this.m_freeAllocBlock; + this.m_freeAllocBlock = this.m_freeAllocBlock.next; + allocMemoryBlock.next = null; + } + this.IndexLastFreeChunk(); + int num = 0; + do + { + uint num2 = 1u; + short num3 = 0; + while ((int)num3 < this.m_chunkSize && num < blockCount) + { + bool flag2 = (this.m_lastFreeChunk.blockBit & num2) == 0u; + if (flag2) + { + MemoryPool.MemoryBlock memoryBlock = this.GetMemoryBlock(); + memoryBlock.chunk = this.m_lastFreeChunk; + memoryBlock.start = num3; + memoryBlock.next = null; + allocMemoryBlock.mem[num] = memoryBlock; + this.m_lastFreeChunk.blockBit |= num2; + num++; + } + num2 <<= 1; + num3 += this.m_blockSize; + } + bool flag3 = num2 == uint.MaxValue; + if (flag3) + { + this.m_lastFreeChunk = this.m_lastFreeChunk.next; + } + this.IndexLastFreeChunk(); + } + while (num < blockCount); + return allocMemoryBlock; + } + + public void Dealloc(MemoryPool.AllocMemoryBlock amb) + { + for (int i = 0; i < amb.mem.Length; i++) + { + MemoryPool.MemoryBlock memoryBlock = amb.mem[i]; + bool flag = memoryBlock != null; + if (flag) + { + MemoryPool.MemoryChunk chunk = memoryBlock.chunk; + bool flag2 = chunk != null; + if (flag2) + { + uint num = 1u << (int)(memoryBlock.start / this.m_blockSize); + chunk.blockBit &= ~num; + } + amb.mem[i] = null; + bool flag3 = this.m_freeMemBlock == null; + if (flag3) + { + this.m_freeMemBlock = memoryBlock; + } + else + { + memoryBlock.next = this.m_freeMemBlock; + this.m_freeMemBlock = memoryBlock; + } + } + bool flag4 = this.m_freeAllocBlock == null; + if (flag4) + { + this.m_freeAllocBlock = amb; + } + else + { + amb.next = this.m_freeAllocBlock; + this.m_freeAllocBlock = amb; + } + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/MemoryPool.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/MemoryPool.cs.meta new file mode 100644 index 00000000..7ad36016 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/MemoryPool.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 9067cfdc66cd2b3468942077c18177e5 +timeCreated: 1611465704 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/MentorCompleteRewardTable.cs b/Client/Assets/Scripts/XUtliPoolLib/MentorCompleteRewardTable.cs new file mode 100644 index 00000000..a147d9b1 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/MentorCompleteRewardTable.cs @@ -0,0 +1,67 @@ +using System; + +namespace XUtliPoolLib +{ + public class MentorCompleteRewardTable : CVSReader + { + public MentorCompleteRewardTable.RowData[] Table = null; + + public class RowData + { + public int Type; + + public SeqListRef MasterReward; + + public SeqListRef StudentReward; + } + + public MentorCompleteRewardTable.RowData GetByType(int key) + { + bool flag = this.Table == null || this.Table.Length == 0; + MentorCompleteRewardTable.RowData result; + if (flag) + { + result = null; + } + else + { + for (int i = 0; i < this.Table.Length; i++) + { + bool flag2 = this.Table[i].Type == key; + if (flag2) + { + return this.Table[i]; + } + } + result = null; + } + return result; + } + + protected override void ReadLine(XBinaryReader reader) + { + MentorCompleteRewardTable.RowData rowData = new MentorCompleteRewardTable.RowData(); + base.Read(reader, ref rowData.Type, CVSReader.intParse); + this.columnno = 0; + rowData.MasterReward.Read(reader, this.m_DataHandler); + this.columnno = 1; + rowData.StudentReward.Read(reader, this.m_DataHandler); + this.columnno = 2; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new MentorCompleteRewardTable.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/MentorCompleteRewardTable.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/MentorCompleteRewardTable.cs.meta new file mode 100644 index 00000000..a62249e3 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/MentorCompleteRewardTable.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: c8863f5b0df22d544ba847d6847ed81a +timeCreated: 1611465756 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/MentorTaskTable.cs b/Client/Assets/Scripts/XUtliPoolLib/MentorTaskTable.cs new file mode 100644 index 00000000..57bd3990 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/MentorTaskTable.cs @@ -0,0 +1,79 @@ +using System; + +namespace XUtliPoolLib +{ + public class MentorTaskTable : CVSReader + { + public MentorTaskTable.RowData[] Table = null; + + public class RowData + { + public uint TaskID; + + public uint TaskType; + + public string TaskName; + + public SeqRef TaskVar; + + public SeqListRef MasterReward; + + public SeqListRef StudentReward; + } + + public MentorTaskTable.RowData GetByTaskID(uint key) + { + bool flag = this.Table == null || this.Table.Length == 0; + MentorTaskTable.RowData result; + if (flag) + { + result = null; + } + else + { + for (int i = 0; i < this.Table.Length; i++) + { + bool flag2 = this.Table[i].TaskID == key; + if (flag2) + { + return this.Table[i]; + } + } + result = null; + } + return result; + } + + protected override void ReadLine(XBinaryReader reader) + { + MentorTaskTable.RowData rowData = new MentorTaskTable.RowData(); + base.Read(reader, ref rowData.TaskID, CVSReader.uintParse); + this.columnno = 0; + base.Read(reader, ref rowData.TaskType, CVSReader.uintParse); + this.columnno = 1; + base.Read(reader, ref rowData.TaskName, CVSReader.stringParse); + this.columnno = 2; + rowData.TaskVar.Read(reader, this.m_DataHandler); + this.columnno = 3; + rowData.MasterReward.Read(reader, this.m_DataHandler); + this.columnno = 4; + rowData.StudentReward.Read(reader, this.m_DataHandler); + this.columnno = 5; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new MentorTaskTable.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/MentorTaskTable.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/MentorTaskTable.cs.meta new file mode 100644 index 00000000..db44f1b0 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/MentorTaskTable.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: aadf3796cd3517b409120203e39ae14e +timeCreated: 1611465741 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/MilitaryRankByExploit.cs b/Client/Assets/Scripts/XUtliPoolLib/MilitaryRankByExploit.cs new file mode 100644 index 00000000..50aa1e6e --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/MilitaryRankByExploit.cs @@ -0,0 +1,83 @@ +using System; + +namespace XUtliPoolLib +{ + public class MilitaryRankByExploit : CVSReader + { + public MilitaryRankByExploit.RowData[] Table = null; + + public class RowData + { + public uint MilitaryRank; + + public string Name; + + public SeqRef MilitaryExploit; + + public SeqListRef Reward; + + public string Icon; + + public string ShowRange; + + public string RewardTips; + } + + public MilitaryRankByExploit.RowData GetByMilitaryRank(uint key) + { + bool flag = this.Table == null || this.Table.Length == 0; + MilitaryRankByExploit.RowData result; + if (flag) + { + result = null; + } + else + { + for (int i = 0; i < this.Table.Length; i++) + { + bool flag2 = this.Table[i].MilitaryRank == key; + if (flag2) + { + return this.Table[i]; + } + } + result = null; + } + return result; + } + + protected override void ReadLine(XBinaryReader reader) + { + MilitaryRankByExploit.RowData rowData = new MilitaryRankByExploit.RowData(); + base.Read(reader, ref rowData.MilitaryRank, CVSReader.uintParse); + this.columnno = 0; + base.Read(reader, ref rowData.Name, CVSReader.stringParse); + this.columnno = 1; + rowData.MilitaryExploit.Read(reader, this.m_DataHandler); + this.columnno = 2; + rowData.Reward.Read(reader, this.m_DataHandler); + this.columnno = 3; + base.Read(reader, ref rowData.Icon, CVSReader.stringParse); + this.columnno = 4; + base.Read(reader, ref rowData.ShowRange, CVSReader.stringParse); + this.columnno = 5; + base.Read(reader, ref rowData.RewardTips, CVSReader.stringParse); + this.columnno = 6; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new MilitaryRankByExploit.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/MilitaryRankByExploit.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/MilitaryRankByExploit.cs.meta new file mode 100644 index 00000000..bf4a1209 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/MilitaryRankByExploit.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 45fe776593924dd4095e9b1a6e0c7e6d +timeCreated: 1611465638 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/MilitaryRankReward.cs b/Client/Assets/Scripts/XUtliPoolLib/MilitaryRankReward.cs new file mode 100644 index 00000000..13e48996 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/MilitaryRankReward.cs @@ -0,0 +1,40 @@ +using System; + +namespace XUtliPoolLib +{ + public class MilitaryRankReward : CVSReader + { + public MilitaryRankReward.RowData[] Table = null; + + public class RowData + { + public SeqRef Rank; + + public SeqListRef Reward; + } + + protected override void ReadLine(XBinaryReader reader) + { + MilitaryRankReward.RowData rowData = new MilitaryRankReward.RowData(); + rowData.Rank.Read(reader, this.m_DataHandler); + this.columnno = 0; + rowData.Reward.Read(reader, this.m_DataHandler); + this.columnno = 2; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new MilitaryRankReward.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/MilitaryRankReward.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/MilitaryRankReward.cs.meta new file mode 100644 index 00000000..6391cbd9 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/MilitaryRankReward.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 90a6ccc67bc0b3342b7e63c81627d667 +timeCreated: 1611465704 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/MiniJSON.meta b/Client/Assets/Scripts/XUtliPoolLib/MiniJSON.meta new file mode 100644 index 00000000..df955d6c --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/MiniJSON.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 69eb1d33f8db4724f9b63092548ecbfc +folderAsset: yes +timeCreated: 1611465282 +licenseType: Free +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/MiniJSON/Json.cs b/Client/Assets/Scripts/XUtliPoolLib/MiniJSON/Json.cs new file mode 100644 index 00000000..ac3e1d5e --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/MiniJSON/Json.cs @@ -0,0 +1,638 @@ +using System; +using System.Collections; +using System.Collections.Generic; +using System.IO; +using System.Text; + +namespace MiniJSON +{ + public static class Json + { + private sealed class Parser : IDisposable + { + private char PeekChar + { + get + { + return Convert.ToChar(this.json.Peek()); + } + } + + private char NextChar + { + get + { + return Convert.ToChar(this.json.Read()); + } + } + + private string NextWord + { + get + { + StringBuilder stringBuilder = new StringBuilder(); + while (!Json.Parser.IsWordBreak(this.PeekChar)) + { + stringBuilder.Append(this.NextChar); + bool flag = this.json.Peek() == -1; + if (flag) + { + break; + } + } + return stringBuilder.ToString(); + } + } + + private Json.Parser.TOKEN NextToken + { + get + { + this.EatWhitespace(); + bool flag = this.json.Peek() == -1; + Json.Parser.TOKEN result; + if (flag) + { + result = Json.Parser.TOKEN.NONE; + } + else + { + char peekChar = this.PeekChar; + if (peekChar <= '[') + { + switch (peekChar) + { + case '"': + return Json.Parser.TOKEN.STRING; + case '#': + case '$': + case '%': + case '&': + case '\'': + case '(': + case ')': + case '*': + case '+': + case '.': + case '/': + break; + case ',': + this.json.Read(); + return Json.Parser.TOKEN.COMMA; + case '-': + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': + return Json.Parser.TOKEN.NUMBER; + case ':': + return Json.Parser.TOKEN.COLON; + default: + if (peekChar == '[') + { + return Json.Parser.TOKEN.SQUARED_OPEN; + } + break; + } + } + else + { + if (peekChar == ']') + { + this.json.Read(); + return Json.Parser.TOKEN.SQUARED_CLOSE; + } + if (peekChar == '{') + { + return Json.Parser.TOKEN.CURLY_OPEN; + } + if (peekChar == '}') + { + this.json.Read(); + return Json.Parser.TOKEN.CURLY_CLOSE; + } + } + string nextWord = this.NextWord; + if (!(nextWord == "false")) + { + if (!(nextWord == "true")) + { + if (!(nextWord == "null")) + { + result = Json.Parser.TOKEN.NONE; + } + else + { + result = Json.Parser.TOKEN.NULL; + } + } + else + { + result = Json.Parser.TOKEN.TRUE; + } + } + else + { + result = Json.Parser.TOKEN.FALSE; + } + } + return result; + } + } + + private const string WORD_BREAK = "{}[],:\""; + + private StringReader json; + + private enum TOKEN + { + NONE, + CURLY_OPEN, + CURLY_CLOSE, + SQUARED_OPEN, + SQUARED_CLOSE, + COLON, + COMMA, + STRING, + NUMBER, + TRUE, + FALSE, + NULL + } + + public static bool IsWordBreak(char c) + { + return char.IsWhiteSpace(c) || "{}[],:\"".IndexOf(c) != -1; + } + + private Parser(string jsonString) + { + this.json = new StringReader(jsonString); + } + + public static object Parse(string jsonString) + { + object result; + using (Json.Parser parser = new Json.Parser(jsonString)) + { + result = parser.ParseValue(); + } + return result; + } + + public void Dispose() + { + this.json.Dispose(); + this.json = null; + } + + private Dictionary ParseObject() + { + Dictionary dictionary = new Dictionary(); + this.json.Read(); + for (;;) + { + Json.Parser.TOKEN nextToken = this.NextToken; + if (nextToken == Json.Parser.TOKEN.NONE) + { + break; + } + if (nextToken == Json.Parser.TOKEN.CURLY_CLOSE) + { + goto IL_34; + } + if (nextToken != Json.Parser.TOKEN.COMMA) + { + string text = this.ParseString(); + bool flag = text == null; + if (flag) + { + goto Block_4; + } + bool flag2 = this.NextToken != Json.Parser.TOKEN.COLON; + if (flag2) + { + goto Block_5; + } + this.json.Read(); + dictionary[text] = this.ParseValue(); + } + } + return null; + IL_34: + return dictionary; + Block_4: + return null; + Block_5: + return null; + } + + private List ParseArray() + { + List list = new List(); + this.json.Read(); + bool flag = true; + while (flag) + { + Json.Parser.TOKEN nextToken = this.NextToken; + Json.Parser.TOKEN token = nextToken; + if (token == Json.Parser.TOKEN.NONE) + { + return null; + } + if (token != Json.Parser.TOKEN.SQUARED_CLOSE) + { + if (token != Json.Parser.TOKEN.COMMA) + { + object item = this.ParseByToken(nextToken); + list.Add(item); + } + } + else + { + flag = false; + } + } + return list; + } + + private object ParseValue() + { + Json.Parser.TOKEN nextToken = this.NextToken; + return this.ParseByToken(nextToken); + } + + private object ParseByToken(Json.Parser.TOKEN token) + { + switch (token) + { + case Json.Parser.TOKEN.CURLY_OPEN: + return this.ParseObject(); + case Json.Parser.TOKEN.SQUARED_OPEN: + return this.ParseArray(); + case Json.Parser.TOKEN.STRING: + return this.ParseString(); + case Json.Parser.TOKEN.NUMBER: + return this.ParseNumber(); + case Json.Parser.TOKEN.TRUE: + return true; + case Json.Parser.TOKEN.FALSE: + return false; + case Json.Parser.TOKEN.NULL: + return null; + } + return null; + } + + private string ParseString() + { + StringBuilder stringBuilder = new StringBuilder(); + this.json.Read(); + bool flag = true; + while (flag) + { + bool flag2 = this.json.Peek() == -1; + if (flag2) + { + break; + } + char nextChar = this.NextChar; + char c = nextChar; + if (c != '"') + { + if (c != '\\') + { + stringBuilder.Append(nextChar); + } + else + { + bool flag3 = this.json.Peek() == -1; + if (flag3) + { + flag = false; + } + else + { + nextChar = this.NextChar; + char c2 = nextChar; + if (c2 <= '\\') + { + if (c2 == '"' || c2 == '/' || c2 == '\\') + { + stringBuilder.Append(nextChar); + } + } + else if (c2 <= 'f') + { + if (c2 != 'b') + { + if (c2 == 'f') + { + stringBuilder.Append('\f'); + } + } + else + { + stringBuilder.Append('\b'); + } + } + else if (c2 != 'n') + { + switch (c2) + { + case 'r': + stringBuilder.Append('\r'); + break; + case 't': + stringBuilder.Append('\t'); + break; + case 'u': + { + char[] array = new char[4]; + for (int i = 0; i < 4; i++) + { + array[i] = this.NextChar; + } + stringBuilder.Append((char)Convert.ToInt32(new string(array), 16)); + break; + } + } + } + else + { + stringBuilder.Append('\n'); + } + } + } + } + else + { + flag = false; + } + } + return stringBuilder.ToString(); + } + + private object ParseNumber() + { + string nextWord = this.NextWord; + bool flag = nextWord.IndexOf('.') == -1; + object result; + if (flag) + { + long num; + long.TryParse(nextWord, out num); + result = num; + } + else + { + double num2; + double.TryParse(nextWord, out num2); + result = num2; + } + return result; + } + + private void EatWhitespace() + { + while (char.IsWhiteSpace(this.PeekChar)) + { + this.json.Read(); + bool flag = this.json.Peek() == -1; + if (flag) + { + break; + } + } + } + } + + private sealed class Serializer + { + private StringBuilder builder; + + private Serializer() + { + this.builder = new StringBuilder(); + } + + public static string Serialize(object obj) + { + Json.Serializer serializer = new Json.Serializer(); + serializer.SerializeValue(obj); + return serializer.builder.ToString(); + } + + private void SerializeValue(object value) + { + bool flag = value == null; + if (flag) + { + this.builder.Append("null"); + } + else + { + string str; + bool flag2 = (str = (value as string)) != null; + if (flag2) + { + this.SerializeString(str); + } + else + { + bool flag3 = value is bool; + if (flag3) + { + this.builder.Append(((bool)value) ? "true" : "false"); + } + else + { + IList anArray; + bool flag4 = (anArray = (value as IList)) != null; + if (flag4) + { + this.SerializeArray(anArray); + } + else + { + IDictionary obj; + bool flag5 = (obj = (value as IDictionary)) != null; + if (flag5) + { + this.SerializeObject(obj); + } + else + { + bool flag6 = value is char; + if (flag6) + { + this.SerializeString(new string((char)value, 1)); + } + else + { + this.SerializeOther(value); + } + } + } + } + } + } + } + + private void SerializeObject(IDictionary obj) + { + bool flag = true; + this.builder.Append('{'); + foreach (object obj2 in obj.Keys) + { + bool flag2 = !flag; + if (flag2) + { + this.builder.Append(','); + } + this.SerializeString(obj2.ToString()); + this.builder.Append(':'); + this.SerializeValue(obj[obj2]); + flag = false; + } + this.builder.Append('}'); + } + + private void SerializeArray(IList anArray) + { + this.builder.Append('['); + bool flag = true; + foreach (object value in anArray) + { + bool flag2 = !flag; + if (flag2) + { + this.builder.Append(','); + } + this.SerializeValue(value); + flag = false; + } + this.builder.Append(']'); + } + + private void SerializeString(string str) + { + this.builder.Append('"'); + char[] array = str.ToCharArray(); + char[] array2 = array; + int i = 0; + while (i < array2.Length) + { + char c = array2[i]; + char c2 = c; + switch (c2) + { + case '\b': + this.builder.Append("\\b"); + break; + case '\t': + this.builder.Append("\\t"); + break; + case '\n': + this.builder.Append("\\n"); + break; + case '\v': + goto IL_F2; + case '\f': + this.builder.Append("\\f"); + break; + case '\r': + this.builder.Append("\\r"); + break; + default: + if (c2 != '"') + { + if (c2 != '\\') + { + goto IL_F2; + } + this.builder.Append("\\\\"); + } + else + { + this.builder.Append("\\\""); + } + break; + } + IL_150: + i++; + continue; + IL_F2: + int num = Convert.ToInt32(c); + bool flag = num >= 32 && num <= 126; + if (flag) + { + this.builder.Append(c); + } + else + { + this.builder.Append("\\u"); + this.builder.Append(num.ToString("x4")); + } + goto IL_150; + } + this.builder.Append('"'); + } + + private void SerializeOther(object value) + { + bool flag = value is float; + if (flag) + { + this.builder.Append(((float)value).ToString("R")); + } + else + { + bool flag2 = value is int || value is uint || value is long || value is sbyte || value is byte || value is short || value is ushort || value is ulong; + if (flag2) + { + this.builder.Append(value); + } + else + { + bool flag3 = value is double || value is decimal; + if (flag3) + { + this.builder.Append(Convert.ToDouble(value).ToString("R")); + } + else + { + this.SerializeString(value.ToString()); + } + } + } + } + } + + public static object Deserialize(string json) + { + bool flag = json == null; + object result; + if (flag) + { + result = null; + } + else + { + result = Json.Parser.Parse(json); + } + return result; + } + + public static string Serialize(object obj) + { + return Json.Serializer.Serialize(obj); + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/MiniJSON/Json.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/MiniJSON/Json.cs.meta new file mode 100644 index 00000000..9e25738a --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/MiniJSON/Json.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: f722e7fd0fb17de438933a6379c0e8cc +timeCreated: 1611465809 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/MobaLevel.cs b/Client/Assets/Scripts/XUtliPoolLib/MobaLevel.cs new file mode 100644 index 00000000..ebcc22aa --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/MobaLevel.cs @@ -0,0 +1,113 @@ +using System; + +namespace XUtliPoolLib +{ + public class MobaLevel : CVSReader + { + public MobaLevel.RowData[] Table = null; + + public class RowData + { + public uint Level; + + public double Exp; + } + + public MobaLevel.RowData GetByLevel(uint key) + { + bool flag = this.Table == null || this.Table.Length == 0; + MobaLevel.RowData result; + if (flag) + { + result = null; + } + else + { + result = this.BinarySearchLevel(key); + } + return result; + } + + private MobaLevel.RowData BinarySearchLevel(uint key) + { + int num = 0; + int num2 = this.Table.Length - 1; + MobaLevel.RowData rowData; + MobaLevel.RowData rowData2; + MobaLevel.RowData rowData3; + for (;;) + { + rowData = this.Table[num]; + bool flag = rowData.Level == key; + if (flag) + { + break; + } + rowData2 = this.Table[num2]; + bool flag2 = rowData2.Level == key; + if (flag2) + { + goto Block_2; + } + bool flag3 = num2 - num <= 1; + if (flag3) + { + goto Block_3; + } + int num3 = num + (num2 - num) / 2; + rowData3 = this.Table[num3]; + bool flag4 = rowData3.Level.CompareTo(key) > 0; + if (flag4) + { + num2 = num3; + } + else + { + bool flag5 = rowData3.Level.CompareTo(key) < 0; + if (!flag5) + { + goto IL_B1; + } + num = num3; + } + if (num >= num2) + { + goto Block_6; + } + } + return rowData; + Block_2: + return rowData2; + Block_3: + return null; + IL_B1: + return rowData3; + Block_6: + return null; + } + + protected override void ReadLine(XBinaryReader reader) + { + MobaLevel.RowData rowData = new MobaLevel.RowData(); + base.Read(reader, ref rowData.Level, CVSReader.uintParse); + this.columnno = 0; + base.Read(reader, ref rowData.Exp, CVSReader.doubleParse); + this.columnno = 1; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new MobaLevel.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/MobaLevel.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/MobaLevel.cs.meta new file mode 100644 index 00000000..cda78cd7 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/MobaLevel.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 01a4792172557c84685474db1e1284cd +timeCreated: 1611465284 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/MobaMiniMap.cs b/Client/Assets/Scripts/XUtliPoolLib/MobaMiniMap.cs new file mode 100644 index 00000000..3f768530 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/MobaMiniMap.cs @@ -0,0 +1,117 @@ +using System; + +namespace XUtliPoolLib +{ + public class MobaMiniMap : CVSReader + { + public MobaMiniMap.RowData[] Table = null; + + public class RowData + { + public uint PosIndex; + + public SeqRef Position; + + public string[] Icon; + } + + public MobaMiniMap.RowData GetByPosIndex(uint key) + { + bool flag = this.Table == null || this.Table.Length == 0; + MobaMiniMap.RowData result; + if (flag) + { + result = null; + } + else + { + result = this.BinarySearchPosIndex(key); + } + return result; + } + + private MobaMiniMap.RowData BinarySearchPosIndex(uint key) + { + int num = 0; + int num2 = this.Table.Length - 1; + MobaMiniMap.RowData rowData; + MobaMiniMap.RowData rowData2; + MobaMiniMap.RowData rowData3; + for (;;) + { + rowData = this.Table[num]; + bool flag = rowData.PosIndex == key; + if (flag) + { + break; + } + rowData2 = this.Table[num2]; + bool flag2 = rowData2.PosIndex == key; + if (flag2) + { + goto Block_2; + } + bool flag3 = num2 - num <= 1; + if (flag3) + { + goto Block_3; + } + int num3 = num + (num2 - num) / 2; + rowData3 = this.Table[num3]; + bool flag4 = rowData3.PosIndex.CompareTo(key) > 0; + if (flag4) + { + num2 = num3; + } + else + { + bool flag5 = rowData3.PosIndex.CompareTo(key) < 0; + if (!flag5) + { + goto IL_B1; + } + num = num3; + } + if (num >= num2) + { + goto Block_6; + } + } + return rowData; + Block_2: + return rowData2; + Block_3: + return null; + IL_B1: + return rowData3; + Block_6: + return null; + } + + protected override void ReadLine(XBinaryReader reader) + { + MobaMiniMap.RowData rowData = new MobaMiniMap.RowData(); + base.Read(reader, ref rowData.PosIndex, CVSReader.uintParse); + this.columnno = 0; + rowData.Position.Read(reader, this.m_DataHandler); + this.columnno = 2; + base.ReadArray(reader, ref rowData.Icon, CVSReader.stringParse); + this.columnno = 3; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new MobaMiniMap.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/MobaMiniMap.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/MobaMiniMap.cs.meta new file mode 100644 index 00000000..b1ac7616 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/MobaMiniMap.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 91e030555eaeb9747978ddd33ccd6bdf +timeCreated: 1611465706 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/MobaSignalTable.cs b/Client/Assets/Scripts/XUtliPoolLib/MobaSignalTable.cs new file mode 100644 index 00000000..04a11774 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/MobaSignalTable.cs @@ -0,0 +1,79 @@ +using System; + +namespace XUtliPoolLib +{ + public class MobaSignalTable : CVSReader + { + public MobaSignalTable.RowData[] Table = null; + + public class RowData + { + public uint ID; + + public string Text; + + public string Icon; + + public string Effect; + + public string Audio; + + public int[] SceneType; + } + + public MobaSignalTable.RowData GetByID(uint key) + { + bool flag = this.Table == null || this.Table.Length == 0; + MobaSignalTable.RowData result; + if (flag) + { + result = null; + } + else + { + for (int i = 0; i < this.Table.Length; i++) + { + bool flag2 = this.Table[i].ID == key; + if (flag2) + { + return this.Table[i]; + } + } + result = null; + } + return result; + } + + protected override void ReadLine(XBinaryReader reader) + { + MobaSignalTable.RowData rowData = new MobaSignalTable.RowData(); + base.Read(reader, ref rowData.ID, CVSReader.uintParse); + this.columnno = 0; + base.Read(reader, ref rowData.Text, CVSReader.stringParse); + this.columnno = 1; + base.Read(reader, ref rowData.Icon, CVSReader.stringParse); + this.columnno = 2; + base.Read(reader, ref rowData.Effect, CVSReader.stringParse); + this.columnno = 3; + base.Read(reader, ref rowData.Audio, CVSReader.stringParse); + this.columnno = 4; + base.ReadArray(reader, ref rowData.SceneType, CVSReader.intParse); + this.columnno = 5; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new MobaSignalTable.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/MobaSignalTable.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/MobaSignalTable.cs.meta new file mode 100644 index 00000000..c4e20b45 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/MobaSignalTable.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: d44a1decc57ae994892fed69d5e85f6c +timeCreated: 1611465762 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/MobaWeekReward.cs b/Client/Assets/Scripts/XUtliPoolLib/MobaWeekReward.cs new file mode 100644 index 00000000..e11a346d --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/MobaWeekReward.cs @@ -0,0 +1,67 @@ +using System; + +namespace XUtliPoolLib +{ + public class MobaWeekReward : CVSReader + { + public MobaWeekReward.RowData[] Table = null; + + public class RowData + { + public uint id; + + public uint winnum; + + public uint[] reward; + } + + public MobaWeekReward.RowData GetByid(uint key) + { + bool flag = this.Table == null || this.Table.Length == 0; + MobaWeekReward.RowData result; + if (flag) + { + result = null; + } + else + { + for (int i = 0; i < this.Table.Length; i++) + { + bool flag2 = this.Table[i].id == key; + if (flag2) + { + return this.Table[i]; + } + } + result = null; + } + return result; + } + + protected override void ReadLine(XBinaryReader reader) + { + MobaWeekReward.RowData rowData = new MobaWeekReward.RowData(); + base.Read(reader, ref rowData.id, CVSReader.uintParse); + this.columnno = 0; + base.Read(reader, ref rowData.winnum, CVSReader.uintParse); + this.columnno = 1; + base.ReadArray(reader, ref rowData.reward, CVSReader.uintParse); + this.columnno = 2; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new MobaWeekReward.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/MobaWeekReward.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/MobaWeekReward.cs.meta new file mode 100644 index 00000000..b3318962 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/MobaWeekReward.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 0390f53bd68032143837d93515e40ab6 +timeCreated: 1611465285 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/MobileAssetBundleLoader.cs b/Client/Assets/Scripts/XUtliPoolLib/MobileAssetBundleLoader.cs new file mode 100644 index 00000000..7d264702 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/MobileAssetBundleLoader.cs @@ -0,0 +1,392 @@ +using System; +using System.Collections; +using System.IO; +using UnityEngine; + +namespace XUtliPoolLib +{ + public class MobileAssetBundleLoader : AssetBundleLoader + { + protected int _currentLoadingDepCount; + + protected AssetBundle _bundle; + + protected bool _hasError; + + protected string _assetBundleCachedFile; + + protected string _assetBundleSourceFile; + + public override void Load() + { + bool hasError = this._hasError; + if (hasError) + { + this.state = LoadState.State_Error; + } + bool flag = this.state == LoadState.State_None; + if (flag) + { + this.state = LoadState.State_LoadingAsync; + this.LoadDepends(); + } + else + { + bool flag2 = this.state == LoadState.State_Error; + if (flag2) + { + this.Error(); + } + else + { + bool flag3 = this.state == LoadState.State_Complete; + if (flag3) + { + this.Complete(); + } + } + } + } + + public override void LoadImm() + { + bool hasError = this._hasError; + if (hasError) + { + this.state = LoadState.State_Error; + } + bool flag = this.state == LoadState.State_None || this.state == LoadState.State_LoadingAsync; + if (flag) + { + this.state = LoadState.State_Loading; + this.LoadDependsImm(); + } + else + { + bool flag2 = this.state == LoadState.State_Error; + if (flag2) + { + this.Error(); + } + else + { + bool flag3 = this.state == LoadState.State_Complete; + if (flag3) + { + this.Complete(); + } + } + } + } + + private void LoadDepends() + { + bool flag = this.depLoaders == null && this.bundleData.dependencies != null && this.bundleData.dependencies.Length != 0; + if (flag) + { + this.depLoaders = new AssetBundleLoader[this.bundleData.dependencies.Length]; + for (int i = 0; i < this.bundleData.dependencies.Length; i++) + { + this.depLoaders[i] = this.bundleManager.CreateLoader(this.bundleData.dependencies[i], null, null, null); + } + } + this._currentLoadingDepCount = 0; + bool flag2 = this.depLoaders != null; + if (flag2) + { + for (int j = 0; j < this.depLoaders.Length; j++) + { + AssetBundleLoader assetBundleLoader = this.depLoaders[j]; + bool flag3 = !assetBundleLoader.isComplete; + if (flag3) + { + this._currentLoadingDepCount++; + AssetBundleLoader assetBundleLoader2 = assetBundleLoader; + assetBundleLoader2.onComplete = (AssetBundleManager.LoadAssetCompleteHandler)Delegate.Combine(assetBundleLoader2.onComplete, new AssetBundleManager.LoadAssetCompleteHandler(this.OnDepComplete)); + assetBundleLoader.Load(); + } + } + } + this.CheckDepComplete(); + } + + private void LoadDependsImm() + { + bool flag = this.depLoaders == null && this.bundleData.dependencies != null && this.bundleData.dependencies.Length != 0; + if (flag) + { + this.depLoaders = new AssetBundleLoader[this.bundleData.dependencies.Length]; + for (int i = 0; i < this.bundleData.dependencies.Length; i++) + { + this.depLoaders[i] = this.bundleManager.CreateLoader(this.bundleData.dependencies[i], null, null, null); + } + } + this._currentLoadingDepCount = 1; + bool flag2 = this.depLoaders != null; + if (flag2) + { + for (int j = 0; j < this.depLoaders.Length; j++) + { + AssetBundleLoader assetBundleLoader = this.depLoaders[j]; + bool flag3 = assetBundleLoader.state != LoadState.State_Error && assetBundleLoader.state != LoadState.State_Complete; + if (flag3) + { + this._currentLoadingDepCount++; + AssetBundleLoader assetBundleLoader2 = assetBundleLoader; + assetBundleLoader2.onComplete = (AssetBundleManager.LoadAssetCompleteHandler)Delegate.Combine(assetBundleLoader2.onComplete, new AssetBundleManager.LoadAssetCompleteHandler(this.OnDepCompleteImm)); + assetBundleLoader.LoadImm(); + } + } + } + this._currentLoadingDepCount--; + this.CheckDepCompleteImm(); + } + + public override void LoadBundle() + { + string text = this.bundleName.ToString() + ".ab"; + this._assetBundleCachedFile = Path.Combine(this.bundleManager.pathResolver.BundleCacheDir, text); + this._assetBundleSourceFile = this.bundleManager.pathResolver.GetBundleSourceFile(text, false); + bool flag = File.Exists(this._assetBundleCachedFile); + if (flag) + { + this.bundleManager.StartCoroutine(this.LoadFromCachedFile()); + } + else + { + this.bundleManager.StartCoroutine(this.LoadFromPackage()); + } + } + + public override void LoadBundleImm() + { + string text = this.bundleName.ToString() + ".ab"; + this._assetBundleCachedFile = Path.Combine(this.bundleManager.pathResolver.BundleCacheDir, text); + this._assetBundleSourceFile = this.bundleManager.pathResolver.GetBundleSourceFile(text, false); + bool flag = File.Exists(this._assetBundleCachedFile); + if (flag) + { + this.LoadFromCachedFileImm(); + } + else + { + this.LoadFromPackageImm(); + } + } + + protected virtual IEnumerator LoadFromCachedFile() + { + bool flag = this.state == LoadState.State_Complete; + if (flag) + { + this.Complete(); + } + else + { + bool flag2 = this.state != LoadState.State_Error; + if (flag2) + { + AssetBundleCreateRequest req = AssetBundle.LoadFromFileAsync(this._assetBundleCachedFile); + while (!req.isDone) + { + yield return null; + } + bool flag3 = this._bundle == null; + if (flag3) + { + this._bundle = req.assetBundle; + } + bool flag4 = this.state != LoadState.State_Complete && base.UnloadNotLoadingBundle(this._bundle); + if (flag4) + { + req = AssetBundle.LoadFromFileAsync(this._assetBundleCachedFile); + while (!req.isDone) + { + yield return null; + } + bool flag5 = this._bundle == null; + if (flag5) + { + this._bundle = req.assetBundle; + } + } + this.Complete(); + req = null; + } + } + yield break; + } + + protected virtual void LoadFromCachedFileImm() + { + bool flag = this.state == LoadState.State_Complete; + if (flag) + { + this.Complete(); + } + else + { + bool flag2 = this.state != LoadState.State_Error; + if (flag2) + { + bool flag3 = this._bundle == null; + if (flag3) + { + this._bundle = AssetBundle.LoadFromFile(this._assetBundleCachedFile); + } + bool flag4 = this.state != LoadState.State_Complete && base.UnloadNotLoadingBundle(this._bundle); + if (flag4) + { + bool flag5 = this._bundle == null; + if (flag5) + { + this._bundle = AssetBundle.LoadFromFile(this._assetBundleCachedFile); + } + } + this.Complete(); + } + } + } + + protected virtual IEnumerator LoadFromPackage() + { + bool flag = this.state == LoadState.State_Complete; + if (flag) + { + this.Complete(); + } + else + { + bool flag2 = this.state != LoadState.State_Error; + if (flag2) + { + AssetBundleCreateRequest req = AssetBundle.LoadFromFileAsync(this._assetBundleSourceFile); + while (!req.isDone) + { + yield return null; + } + bool flag3 = this._bundle == null; + if (flag3) + { + this._bundle = req.assetBundle; + } + bool flag4 = this.state != LoadState.State_Complete && base.UnloadNotLoadingBundle(this._bundle); + if (flag4) + { + req = AssetBundle.LoadFromFileAsync(this._assetBundleSourceFile); + while (!req.isDone) + { + yield return null; + } + bool flag5 = this._bundle == null; + if (flag5) + { + this._bundle = req.assetBundle; + } + } + this.Complete(); + req = null; + } + } + yield break; + } + + protected virtual void LoadFromPackageImm() + { + bool flag = this.state == LoadState.State_Complete; + if (flag) + { + this.Complete(); + } + else + { + bool flag2 = this.state != LoadState.State_Error; + if (flag2) + { + bool flag3 = this._bundle == null; + if (flag3) + { + this._bundle = AssetBundle.LoadFromFile(this._assetBundleSourceFile); + } + bool flag4 = this.state != LoadState.State_Complete && base.UnloadNotLoadingBundle(this._bundle); + if (flag4) + { + bool flag5 = this._bundle == null; + if (flag5) + { + this._bundle = AssetBundle.LoadFromFile(this._assetBundleSourceFile); + } + } + this.Complete(); + } + } + } + + private void OnDepComplete(AssetBundleInfo abi, int handlerID) + { + this._currentLoadingDepCount--; + this.CheckDepComplete(); + } + + private void OnDepCompleteImm(AssetBundleInfo abi, int handlerID) + { + this._currentLoadingDepCount--; + this.CheckDepCompleteImm(); + } + + private void CheckDepComplete() + { + bool flag = this._currentLoadingDepCount == 0; + if (flag) + { + this.bundleManager.RequestLoadBundle(this); + } + } + + private void CheckDepCompleteImm() + { + bool flag = this._currentLoadingDepCount == 0; + if (flag) + { + this.bundleManager.RequestLoadBundleImm(this); + } + } + + protected override void Complete() + { + bool flag = this.bundleInfo == null && this.state != LoadState.State_Complete; + if (flag) + { + this.state = LoadState.State_Complete; + this.bundleInfo = this.bundleManager.CreateBundleInfo(this, null, this._bundle); + this.bundleInfo.isReady = true; + this.bundleInfo.onUnloaded = new AssetBundleInfo.OnUnloadedHandler(this.OnBundleUnload); + bool flag2 = this.depLoaders != null; + if (flag2) + { + for (int i = 0; i < this.depLoaders.Length; i++) + { + AssetBundleLoader assetBundleLoader = this.depLoaders[i]; + this.bundleInfo.AddDependency(assetBundleLoader.bundleInfo); + } + } + this._bundle = null; + } + base.Complete(); + } + + private void OnBundleUnload(AssetBundleInfo abi) + { + this.bundleInfo = null; + this.state = LoadState.State_None; + } + + protected override void Error() + { + this._hasError = true; + this.state = LoadState.State_Error; + this.bundleInfo = null; + base.Error(); + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/MobileAssetBundleLoader.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/MobileAssetBundleLoader.cs.meta new file mode 100644 index 00000000..e660c0bd --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/MobileAssetBundleLoader.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: f2261727f47e7ef48a3be15a59024796 +timeCreated: 1611465807 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/MultiActivityList.cs b/Client/Assets/Scripts/XUtliPoolLib/MultiActivityList.cs new file mode 100644 index 00000000..21814364 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/MultiActivityList.cs @@ -0,0 +1,111 @@ +using System; + +namespace XUtliPoolLib +{ + public class MultiActivityList : CVSReader + { + public MultiActivityList.RowData[] Table = null; + + public class RowData + { + public int ID; + + public string Name; + + public SeqListRef OpenDayTime; + + public uint GuildLevel; + + public int DayCountMax; + + public int SystemID; + + public string RewardTips; + + public string OpenDayTips; + + public string Icon; + + public bool NeedOpenAgain; + + public uint OpenServerWeek; + + public SeqListRef DropItems; + + public bool HadShop; + + public string AtlasPath; + } + + public MultiActivityList.RowData GetByID(int key) + { + bool flag = this.Table == null || this.Table.Length == 0; + MultiActivityList.RowData result; + if (flag) + { + result = null; + } + else + { + for (int i = 0; i < this.Table.Length; i++) + { + bool flag2 = this.Table[i].ID == key; + if (flag2) + { + return this.Table[i]; + } + } + result = null; + } + return result; + } + + protected override void ReadLine(XBinaryReader reader) + { + MultiActivityList.RowData rowData = new MultiActivityList.RowData(); + base.Read(reader, ref rowData.ID, CVSReader.intParse); + this.columnno = 0; + base.Read(reader, ref rowData.Name, CVSReader.stringParse); + this.columnno = 1; + rowData.OpenDayTime.Read(reader, this.m_DataHandler); + this.columnno = 3; + base.Read(reader, ref rowData.GuildLevel, CVSReader.uintParse); + this.columnno = 4; + base.Read(reader, ref rowData.DayCountMax, CVSReader.intParse); + this.columnno = 5; + base.Read(reader, ref rowData.SystemID, CVSReader.intParse); + this.columnno = 6; + base.Read(reader, ref rowData.RewardTips, CVSReader.stringParse); + this.columnno = 7; + base.Read(reader, ref rowData.OpenDayTips, CVSReader.stringParse); + this.columnno = 8; + base.Read(reader, ref rowData.Icon, CVSReader.stringParse); + this.columnno = 9; + base.Read(reader, ref rowData.NeedOpenAgain, CVSReader.boolParse); + this.columnno = 10; + base.Read(reader, ref rowData.OpenServerWeek, CVSReader.uintParse); + this.columnno = 12; + rowData.DropItems.Read(reader, this.m_DataHandler); + this.columnno = 14; + base.Read(reader, ref rowData.HadShop, CVSReader.boolParse); + this.columnno = 15; + base.Read(reader, ref rowData.AtlasPath, CVSReader.stringParse); + this.columnno = 17; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new MultiActivityList.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/MultiActivityList.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/MultiActivityList.cs.meta new file mode 100644 index 00000000..6c481ea1 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/MultiActivityList.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 49c7cda12ab73a8409320f7b1c6dbecd +timeCreated: 1611465639 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/NestListTable.cs b/Client/Assets/Scripts/XUtliPoolLib/NestListTable.cs new file mode 100644 index 00000000..4b742485 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/NestListTable.cs @@ -0,0 +1,67 @@ +using System; + +namespace XUtliPoolLib +{ + public class NestListTable : CVSReader + { + public NestListTable.RowData[] Table = null; + + public class RowData + { + public int NestID; + + public int Type; + + public int Difficulty; + } + + public NestListTable.RowData GetByNestID(int key) + { + bool flag = this.Table == null || this.Table.Length == 0; + NestListTable.RowData result; + if (flag) + { + result = null; + } + else + { + for (int i = 0; i < this.Table.Length; i++) + { + bool flag2 = this.Table[i].NestID == key; + if (flag2) + { + return this.Table[i]; + } + } + result = null; + } + return result; + } + + protected override void ReadLine(XBinaryReader reader) + { + NestListTable.RowData rowData = new NestListTable.RowData(); + base.Read(reader, ref rowData.NestID, CVSReader.intParse); + this.columnno = 0; + base.Read(reader, ref rowData.Type, CVSReader.intParse); + this.columnno = 1; + base.Read(reader, ref rowData.Difficulty, CVSReader.intParse); + this.columnno = 2; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new NestListTable.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/NestListTable.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/NestListTable.cs.meta new file mode 100644 index 00000000..b5ac055b --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/NestListTable.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: b57e17c4f24a7f946bbd8d258e7607ab +timeCreated: 1611465746 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/NestStarReward.cs b/Client/Assets/Scripts/XUtliPoolLib/NestStarReward.cs new file mode 100644 index 00000000..7cb31f7b --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/NestStarReward.cs @@ -0,0 +1,52 @@ +using System; + +namespace XUtliPoolLib +{ + public class NestStarReward : CVSReader + { + public NestStarReward.RowData[] Table = null; + + public class RowData + { + public uint Type; + + public uint Stars; + + public uint IsHadTittle; + + public string Tittle; + + public SeqListRef Reward; + } + + protected override void ReadLine(XBinaryReader reader) + { + NestStarReward.RowData rowData = new NestStarReward.RowData(); + base.Read(reader, ref rowData.Type, CVSReader.uintParse); + this.columnno = 0; + base.Read(reader, ref rowData.Stars, CVSReader.uintParse); + this.columnno = 1; + base.Read(reader, ref rowData.IsHadTittle, CVSReader.uintParse); + this.columnno = 2; + base.Read(reader, ref rowData.Tittle, CVSReader.stringParse); + this.columnno = 3; + rowData.Reward.Read(reader, this.m_DataHandler); + this.columnno = 4; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new NestStarReward.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/NestStarReward.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/NestStarReward.cs.meta new file mode 100644 index 00000000..2702cf97 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/NestStarReward.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 7bd488eae174546409ff3e61db13093f +timeCreated: 1611465692 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/NestTypeTable.cs b/Client/Assets/Scripts/XUtliPoolLib/NestTypeTable.cs new file mode 100644 index 00000000..e8d1b8e8 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/NestTypeTable.cs @@ -0,0 +1,75 @@ +using System; + +namespace XUtliPoolLib +{ + public class NestTypeTable : CVSReader + { + public NestTypeTable.RowData[] Table = null; + + public class RowData + { + public int TypeID; + + public string TypeName; + + public string TypeBg; + + public string TypeIcon; + + public float[] TypeBgTransform; + } + + public NestTypeTable.RowData GetByTypeID(int key) + { + bool flag = this.Table == null || this.Table.Length == 0; + NestTypeTable.RowData result; + if (flag) + { + result = null; + } + else + { + for (int i = 0; i < this.Table.Length; i++) + { + bool flag2 = this.Table[i].TypeID == key; + if (flag2) + { + return this.Table[i]; + } + } + result = null; + } + return result; + } + + protected override void ReadLine(XBinaryReader reader) + { + NestTypeTable.RowData rowData = new NestTypeTable.RowData(); + base.Read(reader, ref rowData.TypeID, CVSReader.intParse); + this.columnno = 0; + base.Read(reader, ref rowData.TypeName, CVSReader.stringParse); + this.columnno = 1; + base.Read(reader, ref rowData.TypeBg, CVSReader.stringParse); + this.columnno = 2; + base.Read(reader, ref rowData.TypeIcon, CVSReader.stringParse); + this.columnno = 3; + base.ReadArray(reader, ref rowData.TypeBgTransform, CVSReader.floatParse); + this.columnno = 4; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new NestTypeTable.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/NestTypeTable.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/NestTypeTable.cs.meta new file mode 100644 index 00000000..59dce30d --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/NestTypeTable.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: bc534ecc72cdcc440b7276917fc95406 +timeCreated: 1611465749 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/NoticeTable.cs b/Client/Assets/Scripts/XUtliPoolLib/NoticeTable.cs new file mode 100644 index 00000000..d42cebb8 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/NoticeTable.cs @@ -0,0 +1,125 @@ +using System; + +namespace XUtliPoolLib +{ + public class NoticeTable : CVSReader + { + public NoticeTable.RowData[] Table = null; + + public class RowData + { + public uint id; + + public int channel; + + public string info; + + public uint linkparam; + + public string linkcontent; + } + + public NoticeTable.RowData GetByid(uint key) + { + bool flag = this.Table == null || this.Table.Length == 0; + NoticeTable.RowData result; + if (flag) + { + result = null; + } + else + { + result = this.BinarySearchid(key); + } + return result; + } + + private NoticeTable.RowData BinarySearchid(uint key) + { + int num = 0; + int num2 = this.Table.Length - 1; + NoticeTable.RowData rowData; + NoticeTable.RowData rowData2; + NoticeTable.RowData rowData3; + for (;;) + { + rowData = this.Table[num]; + bool flag = rowData.id == key; + if (flag) + { + break; + } + rowData2 = this.Table[num2]; + bool flag2 = rowData2.id == key; + if (flag2) + { + goto Block_2; + } + bool flag3 = num2 - num <= 1; + if (flag3) + { + goto Block_3; + } + int num3 = num + (num2 - num) / 2; + rowData3 = this.Table[num3]; + bool flag4 = rowData3.id.CompareTo(key) > 0; + if (flag4) + { + num2 = num3; + } + else + { + bool flag5 = rowData3.id.CompareTo(key) < 0; + if (!flag5) + { + goto IL_B1; + } + num = num3; + } + if (num >= num2) + { + goto Block_6; + } + } + return rowData; + Block_2: + return rowData2; + Block_3: + return null; + IL_B1: + return rowData3; + Block_6: + return null; + } + + protected override void ReadLine(XBinaryReader reader) + { + NoticeTable.RowData rowData = new NoticeTable.RowData(); + base.Read(reader, ref rowData.id, CVSReader.uintParse); + this.columnno = 0; + base.Read(reader, ref rowData.channel, CVSReader.intParse); + this.columnno = 1; + base.Read(reader, ref rowData.info, CVSReader.stringParse); + this.columnno = 2; + base.Read(reader, ref rowData.linkparam, CVSReader.uintParse); + this.columnno = 7; + base.Read(reader, ref rowData.linkcontent, CVSReader.stringParse); + this.columnno = 8; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new NoticeTable.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/NoticeTable.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/NoticeTable.cs.meta new file mode 100644 index 00000000..a5d95cd8 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/NoticeTable.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 0fefee5b5302e15429843084eeb03d44 +timeCreated: 1611465290 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/NpcFeeling.cs b/Client/Assets/Scripts/XUtliPoolLib/NpcFeeling.cs new file mode 100644 index 00000000..800e1240 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/NpcFeeling.cs @@ -0,0 +1,124 @@ +using System; + +namespace XUtliPoolLib +{ + public class NpcFeeling : CVSReader + { + public NpcFeeling.RowData[] Table = null; + + public class RowData + { + public uint npcId; + + public string name; + + public string introduction; + + public uint openLevel; + + public SeqRef feelingLevel; + + public SeqListRef likeItem; + + public SeqListRef randomItem; + + public SeqListRef favorItem; + + public SeqListRef clientItem; + + public SeqListRef exchangeGive; + + public SeqListRef exchangeGet; + + public SeqListRef npcReturn; + + public string[] giveWords; + + public string[] giveSuccessWords; + + public string[] exchangeWords; + + public string[] exchangeSuccessWords; + + public uint npcReturnMailConf; + + public string icon; + + public uint unionId; + + public string relicsName; + + public string relicsIcon; + + public string relicsDesc; + + public uint xnpclistid; + } + + protected override void ReadLine(XBinaryReader reader) + { + NpcFeeling.RowData rowData = new NpcFeeling.RowData(); + base.Read(reader, ref rowData.npcId, CVSReader.uintParse); + this.columnno = 0; + base.Read(reader, ref rowData.name, CVSReader.stringParse); + this.columnno = 1; + base.Read(reader, ref rowData.introduction, CVSReader.stringParse); + this.columnno = 2; + base.Read(reader, ref rowData.openLevel, CVSReader.uintParse); + this.columnno = 3; + rowData.feelingLevel.Read(reader, this.m_DataHandler); + this.columnno = 4; + rowData.likeItem.Read(reader, this.m_DataHandler); + this.columnno = 5; + rowData.randomItem.Read(reader, this.m_DataHandler); + this.columnno = 6; + rowData.favorItem.Read(reader, this.m_DataHandler); + this.columnno = 7; + rowData.clientItem.Read(reader, this.m_DataHandler); + this.columnno = 8; + rowData.exchangeGive.Read(reader, this.m_DataHandler); + this.columnno = 9; + rowData.exchangeGet.Read(reader, this.m_DataHandler); + this.columnno = 10; + rowData.npcReturn.Read(reader, this.m_DataHandler); + this.columnno = 11; + base.ReadArray(reader, ref rowData.giveWords, CVSReader.stringParse); + this.columnno = 12; + base.ReadArray(reader, ref rowData.giveSuccessWords, CVSReader.stringParse); + this.columnno = 13; + base.ReadArray(reader, ref rowData.exchangeWords, CVSReader.stringParse); + this.columnno = 14; + base.ReadArray(reader, ref rowData.exchangeSuccessWords, CVSReader.stringParse); + this.columnno = 15; + base.Read(reader, ref rowData.npcReturnMailConf, CVSReader.uintParse); + this.columnno = 16; + base.Read(reader, ref rowData.icon, CVSReader.stringParse); + this.columnno = 17; + base.Read(reader, ref rowData.unionId, CVSReader.uintParse); + this.columnno = 18; + base.Read(reader, ref rowData.relicsName, CVSReader.stringParse); + this.columnno = 19; + base.Read(reader, ref rowData.relicsIcon, CVSReader.stringParse); + this.columnno = 20; + base.Read(reader, ref rowData.relicsDesc, CVSReader.stringParse); + this.columnno = 21; + base.Read(reader, ref rowData.xnpclistid, CVSReader.uintParse); + this.columnno = 22; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new NpcFeeling.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/NpcFeeling.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/NpcFeeling.cs.meta new file mode 100644 index 00000000..ff1d6c99 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/NpcFeeling.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 0bdf18a2fea1c8e47a5cad7820f8e156 +timeCreated: 1611465287 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/NpcFeelingAttr.cs b/Client/Assets/Scripts/XUtliPoolLib/NpcFeelingAttr.cs new file mode 100644 index 00000000..588cfd3c --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/NpcFeelingAttr.cs @@ -0,0 +1,52 @@ +using System; + +namespace XUtliPoolLib +{ + public class NpcFeelingAttr : CVSReader + { + public NpcFeelingAttr.RowData[] Table = null; + + public class RowData + { + public uint npcId; + + public uint level; + + public uint needExp; + + public SeqListRef Attr; + + public string RelicsDesc; + } + + protected override void ReadLine(XBinaryReader reader) + { + NpcFeelingAttr.RowData rowData = new NpcFeelingAttr.RowData(); + base.Read(reader, ref rowData.npcId, CVSReader.uintParse); + this.columnno = 0; + base.Read(reader, ref rowData.level, CVSReader.uintParse); + this.columnno = 1; + base.Read(reader, ref rowData.needExp, CVSReader.uintParse); + this.columnno = 2; + rowData.Attr.Read(reader, this.m_DataHandler); + this.columnno = 3; + base.Read(reader, ref rowData.RelicsDesc, CVSReader.stringParse); + this.columnno = 4; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new NpcFeelingAttr.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/NpcFeelingAttr.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/NpcFeelingAttr.cs.meta new file mode 100644 index 00000000..846cba33 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/NpcFeelingAttr.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 33cf7f49fb7216247aba0acf33a13920 +timeCreated: 1611465311 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/NpcFeelingSpecial.cs b/Client/Assets/Scripts/XUtliPoolLib/NpcFeelingSpecial.cs new file mode 100644 index 00000000..7a149302 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/NpcFeelingSpecial.cs @@ -0,0 +1,40 @@ +using System; + +namespace XUtliPoolLib +{ + public class NpcFeelingSpecial : CVSReader + { + public NpcFeelingSpecial.RowData[] Table = null; + + public class RowData + { + public uint npcId; + + public SeqListRef enhanceReduce; + } + + protected override void ReadLine(XBinaryReader reader) + { + NpcFeelingSpecial.RowData rowData = new NpcFeelingSpecial.RowData(); + base.Read(reader, ref rowData.npcId, CVSReader.uintParse); + this.columnno = 0; + rowData.enhanceReduce.Read(reader, this.m_DataHandler); + this.columnno = 1; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new NpcFeelingSpecial.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/NpcFeelingSpecial.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/NpcFeelingSpecial.cs.meta new file mode 100644 index 00000000..81c0e436 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/NpcFeelingSpecial.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 288aaadf744a63a498d99d000ae6fd6b +timeCreated: 1611465302 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/NpcUniteAttr.cs b/Client/Assets/Scripts/XUtliPoolLib/NpcUniteAttr.cs new file mode 100644 index 00000000..acfa5fd5 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/NpcUniteAttr.cs @@ -0,0 +1,56 @@ +using System; + +namespace XUtliPoolLib +{ + public class NpcUniteAttr : CVSReader + { + public NpcUniteAttr.RowData[] Table = null; + + public class RowData + { + public uint id; + + public uint[] npcId; + + public uint level; + + public SeqListRef Attr; + + public string Name; + + public string Icon; + } + + protected override void ReadLine(XBinaryReader reader) + { + NpcUniteAttr.RowData rowData = new NpcUniteAttr.RowData(); + base.Read(reader, ref rowData.id, CVSReader.uintParse); + this.columnno = 0; + base.ReadArray(reader, ref rowData.npcId, CVSReader.uintParse); + this.columnno = 1; + base.Read(reader, ref rowData.level, CVSReader.uintParse); + this.columnno = 2; + rowData.Attr.Read(reader, this.m_DataHandler); + this.columnno = 3; + base.Read(reader, ref rowData.Name, CVSReader.stringParse); + this.columnno = 4; + base.Read(reader, ref rowData.Icon, CVSReader.stringParse); + this.columnno = 5; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new NpcUniteAttr.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/NpcUniteAttr.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/NpcUniteAttr.cs.meta new file mode 100644 index 00000000..037d6fa5 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/NpcUniteAttr.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 78b16fa8b0762444586943f07734e6b2 +timeCreated: 1611465691 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/ObjectPool.cs b/Client/Assets/Scripts/XUtliPoolLib/ObjectPool.cs new file mode 100644 index 00000000..e4a7931b --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/ObjectPool.cs @@ -0,0 +1,81 @@ +using System; +using System.Collections.Generic; +using UnityEngine.Events; + +namespace XUtliPoolLib +{ + public class ObjectPool : IObjectPool + { + public int countAll { get; private set; } + + public int countActive + { + get + { + return this.countAll - this.countInactive; + } + } + + public int countInactive + { + get + { + return this.m_Stack.Count; + } + } + + private readonly Stack m_Stack = new Stack(); + + private readonly UnityAction m_ActionOnGet; + + private readonly UnityAction m_ActionOnRelease; + + private ObjectPool.CreateObj m_objCreator = null; + + public delegate T CreateObj(); + + public ObjectPool(ObjectPool.CreateObj creator, UnityAction actionOnGet, UnityAction actionOnRelease) + { + this.m_objCreator = creator; + this.m_ActionOnGet = actionOnGet; + this.m_ActionOnRelease = actionOnRelease; + ObjectPoolCache.s_AllPool.Add(this); + } + + public T Get() + { + bool flag = this.m_Stack.Count == 0; + T t; + if (flag) + { + t = this.m_objCreator(); + int countAll = this.countAll; + this.countAll = countAll + 1; + } + else + { + t = this.m_Stack.Pop(); + } + bool flag2 = this.m_ActionOnGet != null; + if (flag2) + { + this.m_ActionOnGet.Invoke(t); + } + return t; + } + + public void Release(T element) + { + bool flag = element != null; + if (flag) + { + bool flag2 = this.m_ActionOnRelease != null; + if (flag2) + { + this.m_ActionOnRelease.Invoke(element); + } + this.m_Stack.Push(element); + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/ObjectPool.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/ObjectPool.cs.meta new file mode 100644 index 00000000..4cda5538 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/ObjectPool.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 873295f2d9375a74b9f05dab6ac4a459 +timeCreated: 1611465696 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/ObjectPoolCache.cs b/Client/Assets/Scripts/XUtliPoolLib/ObjectPoolCache.cs new file mode 100644 index 00000000..535922e5 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/ObjectPoolCache.cs @@ -0,0 +1,15 @@ +using System; +using System.Collections.Generic; + +namespace XUtliPoolLib +{ + public class ObjectPoolCache + { + public static readonly List s_AllPool = new List(); + + public static void Clear() + { + ObjectPoolCache.s_AllPool.Clear(); + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/ObjectPoolCache.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/ObjectPoolCache.cs.meta new file mode 100644 index 00000000..17406e48 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/ObjectPoolCache.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 1ed875c2e03fe814cae7084e6c6c1802 +timeCreated: 1611465299 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/OnFxDestroyed.cs b/Client/Assets/Scripts/XUtliPoolLib/OnFxDestroyed.cs new file mode 100644 index 00000000..41ab1455 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/OnFxDestroyed.cs @@ -0,0 +1,6 @@ +using System; + +namespace XUtliPoolLib +{ + public delegate void OnFxDestroyed(XFx fx); +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/OnFxDestroyed.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/OnFxDestroyed.cs.meta new file mode 100644 index 00000000..8fd20f58 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/OnFxDestroyed.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 15268214f9939c244974d13fdaf24dc9 +timeCreated: 1611465294 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/OnLoadedCallback.cs b/Client/Assets/Scripts/XUtliPoolLib/OnLoadedCallback.cs new file mode 100644 index 00000000..e871d268 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/OnLoadedCallback.cs @@ -0,0 +1,6 @@ +using System; + +namespace XUtliPoolLib +{ + public delegate void OnLoadedCallback(); +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/OnLoadedCallback.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/OnLoadedCallback.cs.meta new file mode 100644 index 00000000..41fc28b6 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/OnLoadedCallback.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: d7bb93b837fbe4546af4332c8a14af9a +timeCreated: 1611465764 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/OnlineRewardTable.cs b/Client/Assets/Scripts/XUtliPoolLib/OnlineRewardTable.cs new file mode 100644 index 00000000..50661437 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/OnlineRewardTable.cs @@ -0,0 +1,67 @@ +using System; + +namespace XUtliPoolLib +{ + public class OnlineRewardTable : CVSReader + { + public OnlineRewardTable.RowData[] Table = null; + + public class RowData + { + public uint time; + + public SeqListRef reward; + + public string RewardTip; + } + + public OnlineRewardTable.RowData GetBytime(uint key) + { + bool flag = this.Table == null || this.Table.Length == 0; + OnlineRewardTable.RowData result; + if (flag) + { + result = null; + } + else + { + for (int i = 0; i < this.Table.Length; i++) + { + bool flag2 = this.Table[i].time == key; + if (flag2) + { + return this.Table[i]; + } + } + result = null; + } + return result; + } + + protected override void ReadLine(XBinaryReader reader) + { + OnlineRewardTable.RowData rowData = new OnlineRewardTable.RowData(); + base.Read(reader, ref rowData.time, CVSReader.uintParse); + this.columnno = 0; + rowData.reward.Read(reader, this.m_DataHandler); + this.columnno = 1; + base.Read(reader, ref rowData.RewardTip, CVSReader.stringParse); + this.columnno = 2; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new OnlineRewardTable.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/OnlineRewardTable.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/OnlineRewardTable.cs.meta new file mode 100644 index 00000000..ebe4a63d --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/OnlineRewardTable.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 86bb010f5c1c3244db48188db68e4117 +timeCreated: 1611465696 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/OpenServerActivity.cs b/Client/Assets/Scripts/XUtliPoolLib/OpenServerActivity.cs new file mode 100644 index 00000000..1e222f6f --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/OpenServerActivity.cs @@ -0,0 +1,113 @@ +using System; + +namespace XUtliPoolLib +{ + public class OpenServerActivity : CVSReader + { + public OpenServerActivity.RowData[] Table = null; + + public class RowData + { + public uint ServerLevel; + + public uint[] TaskIDs; + } + + public OpenServerActivity.RowData GetByServerLevel(uint key) + { + bool flag = this.Table == null || this.Table.Length == 0; + OpenServerActivity.RowData result; + if (flag) + { + result = null; + } + else + { + result = this.BinarySearchServerLevel(key); + } + return result; + } + + private OpenServerActivity.RowData BinarySearchServerLevel(uint key) + { + int num = 0; + int num2 = this.Table.Length - 1; + OpenServerActivity.RowData rowData; + OpenServerActivity.RowData rowData2; + OpenServerActivity.RowData rowData3; + for (;;) + { + rowData = this.Table[num]; + bool flag = rowData.ServerLevel == key; + if (flag) + { + break; + } + rowData2 = this.Table[num2]; + bool flag2 = rowData2.ServerLevel == key; + if (flag2) + { + goto Block_2; + } + bool flag3 = num2 - num <= 1; + if (flag3) + { + goto Block_3; + } + int num3 = num + (num2 - num) / 2; + rowData3 = this.Table[num3]; + bool flag4 = rowData3.ServerLevel.CompareTo(key) > 0; + if (flag4) + { + num2 = num3; + } + else + { + bool flag5 = rowData3.ServerLevel.CompareTo(key) < 0; + if (!flag5) + { + goto IL_B1; + } + num = num3; + } + if (num >= num2) + { + goto Block_6; + } + } + return rowData; + Block_2: + return rowData2; + Block_3: + return null; + IL_B1: + return rowData3; + Block_6: + return null; + } + + protected override void ReadLine(XBinaryReader reader) + { + OpenServerActivity.RowData rowData = new OpenServerActivity.RowData(); + base.Read(reader, ref rowData.ServerLevel, CVSReader.uintParse); + this.columnno = 0; + base.ReadArray(reader, ref rowData.TaskIDs, CVSReader.uintParse); + this.columnno = 1; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new OpenServerActivity.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/OpenServerActivity.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/OpenServerActivity.cs.meta new file mode 100644 index 00000000..5dd29c34 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/OpenServerActivity.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: d1e645a71437c8747b18c55d90cfe52c +timeCreated: 1611465761 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/OpenSystemTable.cs b/Client/Assets/Scripts/XUtliPoolLib/OpenSystemTable.cs new file mode 100644 index 00000000..61e05744 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/OpenSystemTable.cs @@ -0,0 +1,157 @@ +using System; + +namespace XUtliPoolLib +{ + public class OpenSystemTable : CVSReader + { + public OpenSystemTable.RowData[] Table = null; + + public class RowData + { + public int PlayerLevel; + + public int SystemID; + + public string SystemDescription; + + public string Icon; + + public int Priority; + + public int[] TitanItems; + + public uint[] NoRedPointLevel; + + public uint OpenDay; + + public SeqListRef BackServerOpenDay; + + public bool InNotice; + + public SeqListRef NoticeText; + + public SeqListRef NoticeIcon; + + public string[] NoticeEffect; + } + + public OpenSystemTable.RowData GetBySystemID(int key) + { + bool flag = this.Table == null || this.Table.Length == 0; + OpenSystemTable.RowData result; + if (flag) + { + result = null; + } + else + { + result = this.BinarySearchSystemID(key); + } + return result; + } + + private OpenSystemTable.RowData BinarySearchSystemID(int key) + { + int num = 0; + int num2 = this.Table.Length - 1; + OpenSystemTable.RowData rowData; + OpenSystemTable.RowData rowData2; + OpenSystemTable.RowData rowData3; + for (;;) + { + rowData = this.Table[num]; + bool flag = rowData.SystemID == key; + if (flag) + { + break; + } + rowData2 = this.Table[num2]; + bool flag2 = rowData2.SystemID == key; + if (flag2) + { + goto Block_2; + } + bool flag3 = num2 - num <= 1; + if (flag3) + { + goto Block_3; + } + int num3 = num + (num2 - num) / 2; + rowData3 = this.Table[num3]; + bool flag4 = rowData3.SystemID.CompareTo(key) > 0; + if (flag4) + { + num2 = num3; + } + else + { + bool flag5 = rowData3.SystemID.CompareTo(key) < 0; + if (!flag5) + { + goto IL_B1; + } + num = num3; + } + if (num >= num2) + { + goto Block_6; + } + } + return rowData; + Block_2: + return rowData2; + Block_3: + return null; + IL_B1: + return rowData3; + Block_6: + return null; + } + + protected override void ReadLine(XBinaryReader reader) + { + OpenSystemTable.RowData rowData = new OpenSystemTable.RowData(); + base.Read(reader, ref rowData.PlayerLevel, CVSReader.intParse); + this.columnno = 1; + base.Read(reader, ref rowData.SystemID, CVSReader.intParse); + this.columnno = 2; + base.Read(reader, ref rowData.SystemDescription, CVSReader.stringParse); + this.columnno = 4; + base.Read(reader, ref rowData.Icon, CVSReader.stringParse); + this.columnno = 5; + base.Read(reader, ref rowData.Priority, CVSReader.intParse); + this.columnno = 6; + base.ReadArray(reader, ref rowData.TitanItems, CVSReader.intParse); + this.columnno = 7; + base.ReadArray(reader, ref rowData.NoRedPointLevel, CVSReader.uintParse); + this.columnno = 8; + base.Read(reader, ref rowData.OpenDay, CVSReader.uintParse); + this.columnno = 11; + rowData.BackServerOpenDay.Read(reader, this.m_DataHandler); + this.columnno = 13; + base.Read(reader, ref rowData.InNotice, CVSReader.boolParse); + this.columnno = 14; + rowData.NoticeText.Read(reader, this.m_DataHandler); + this.columnno = 15; + rowData.NoticeIcon.Read(reader, this.m_DataHandler); + this.columnno = 16; + base.ReadArray(reader, ref rowData.NoticeEffect, CVSReader.stringParse); + this.columnno = 17; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new OpenSystemTable.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/OpenSystemTable.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/OpenSystemTable.cs.meta new file mode 100644 index 00000000..2143d1d0 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/OpenSystemTable.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: ac22931dc6c39c64782949360fbf7a4f +timeCreated: 1611465741 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/OperatingActivity.cs b/Client/Assets/Scripts/XUtliPoolLib/OperatingActivity.cs new file mode 100644 index 00000000..4910a537 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/OperatingActivity.cs @@ -0,0 +1,64 @@ +using System; + +namespace XUtliPoolLib +{ + public class OperatingActivity : CVSReader + { + public OperatingActivity.RowData[] Table = null; + + public class RowData + { + public uint OrderId; + + public string SysEnum; + + public uint SysID; + + public string TabName; + + public string TabIcon; + + public bool IsPandoraTab; + + public string[] OpenTime; + + public uint Level; + } + + protected override void ReadLine(XBinaryReader reader) + { + OperatingActivity.RowData rowData = new OperatingActivity.RowData(); + base.Read(reader, ref rowData.OrderId, CVSReader.uintParse); + this.columnno = 0; + base.Read(reader, ref rowData.SysEnum, CVSReader.stringParse); + this.columnno = 1; + base.Read(reader, ref rowData.SysID, CVSReader.uintParse); + this.columnno = 2; + base.Read(reader, ref rowData.TabName, CVSReader.stringParse); + this.columnno = 3; + base.Read(reader, ref rowData.TabIcon, CVSReader.stringParse); + this.columnno = 4; + base.Read(reader, ref rowData.IsPandoraTab, CVSReader.boolParse); + this.columnno = 5; + base.ReadArray(reader, ref rowData.OpenTime, CVSReader.stringParse); + this.columnno = 6; + base.Read(reader, ref rowData.Level, CVSReader.uintParse); + this.columnno = 7; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new OperatingActivity.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/OperatingActivity.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/OperatingActivity.cs.meta new file mode 100644 index 00000000..2d799010 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/OperatingActivity.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: ba1b7fc3ab8b57842b4e9c3c529a3b30 +timeCreated: 1611465748 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/OperationRecord.cs b/Client/Assets/Scripts/XUtliPoolLib/OperationRecord.cs new file mode 100644 index 00000000..20f90577 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/OperationRecord.cs @@ -0,0 +1,40 @@ +using System; + +namespace XUtliPoolLib +{ + public class OperationRecord : CVSReader + { + public OperationRecord.RowData[] Table = null; + + public class RowData + { + public string WindowName; + + public uint RecordID; + } + + protected override void ReadLine(XBinaryReader reader) + { + OperationRecord.RowData rowData = new OperationRecord.RowData(); + base.Read(reader, ref rowData.WindowName, CVSReader.stringParse); + this.columnno = 0; + base.Read(reader, ref rowData.RecordID, CVSReader.uintParse); + this.columnno = 1; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new OperationRecord.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/OperationRecord.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/OperationRecord.cs.meta new file mode 100644 index 00000000..e4dc2d1f --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/OperationRecord.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: af5400af10accfc4b82948fcff23fe04 +timeCreated: 1611465743 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/OverWatchTable.cs b/Client/Assets/Scripts/XUtliPoolLib/OverWatchTable.cs new file mode 100644 index 00000000..fa077c32 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/OverWatchTable.cs @@ -0,0 +1,123 @@ +using System; + +namespace XUtliPoolLib +{ + public class OverWatchTable : CVSReader + { + public OverWatchTable.RowData[] Table = null; + + public class RowData + { + public uint HeroID; + + public uint[] StatisticsID; + + public SeqRef Price; + + public string Name; + + public string Icon; + + public string Description; + + public string CutSceneAniamtion; + + public string CutSceneIdleAni; + + public int SortID; + + public string Motto; + + public string MiniMapIcon; + + public float[] MobaAttributes; + + public string SelectAnim; + + public string[] SelectFx; + + public string HeroUseTips; + + public string MobaUseTips; + + public string IconAtlas; + } + + public OverWatchTable.RowData GetByHeroID(uint key) + { + bool flag = this.Table == null || this.Table.Length == 0; + OverWatchTable.RowData result; + if (flag) + { + result = null; + } + else + { + for (int i = 0; i < this.Table.Length; i++) + { + bool flag2 = this.Table[i].HeroID == key; + if (flag2) + { + return this.Table[i]; + } + } + result = null; + } + return result; + } + + protected override void ReadLine(XBinaryReader reader) + { + OverWatchTable.RowData rowData = new OverWatchTable.RowData(); + base.Read(reader, ref rowData.HeroID, CVSReader.uintParse); + this.columnno = 0; + base.ReadArray(reader, ref rowData.StatisticsID, CVSReader.uintParse); + this.columnno = 1; + rowData.Price.Read(reader, this.m_DataHandler); + this.columnno = 3; + base.Read(reader, ref rowData.Name, CVSReader.stringParse); + this.columnno = 4; + base.Read(reader, ref rowData.Icon, CVSReader.stringParse); + this.columnno = 5; + base.Read(reader, ref rowData.Description, CVSReader.stringParse); + this.columnno = 6; + base.Read(reader, ref rowData.CutSceneAniamtion, CVSReader.stringParse); + this.columnno = 7; + base.Read(reader, ref rowData.CutSceneIdleAni, CVSReader.stringParse); + this.columnno = 8; + base.Read(reader, ref rowData.SortID, CVSReader.intParse); + this.columnno = 10; + base.Read(reader, ref rowData.Motto, CVSReader.stringParse); + this.columnno = 11; + base.Read(reader, ref rowData.MiniMapIcon, CVSReader.stringParse); + this.columnno = 12; + base.ReadArray(reader, ref rowData.MobaAttributes, CVSReader.floatParse); + this.columnno = 13; + base.Read(reader, ref rowData.SelectAnim, CVSReader.stringParse); + this.columnno = 14; + base.ReadArray(reader, ref rowData.SelectFx, CVSReader.stringParse); + this.columnno = 15; + base.Read(reader, ref rowData.HeroUseTips, CVSReader.stringParse); + this.columnno = 16; + base.Read(reader, ref rowData.MobaUseTips, CVSReader.stringParse); + this.columnno = 17; + base.Read(reader, ref rowData.IconAtlas, CVSReader.stringParse); + this.columnno = 18; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new OverWatchTable.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/OverWatchTable.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/OverWatchTable.cs.meta new file mode 100644 index 00000000..9c575115 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/OverWatchTable.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 134d2b878c28fb74188536417ac18632 +timeCreated: 1611465292 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/OverrideAnimCallback.cs b/Client/Assets/Scripts/XUtliPoolLib/OverrideAnimCallback.cs new file mode 100644 index 00000000..bf5471c4 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/OverrideAnimCallback.cs @@ -0,0 +1,6 @@ +using System; + +namespace XUtliPoolLib +{ + public delegate void OverrideAnimCallback(XAnimationClip clip); +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/OverrideAnimCallback.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/OverrideAnimCallback.cs.meta new file mode 100644 index 00000000..ffcb75b7 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/OverrideAnimCallback.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 5880a69d0700ef348954e2b3ea0fe7eb +timeCreated: 1611465646 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/PDatabase.cs b/Client/Assets/Scripts/XUtliPoolLib/PDatabase.cs new file mode 100644 index 00000000..bb88b9d9 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/PDatabase.cs @@ -0,0 +1,486 @@ +using System; +using System.Collections.Generic; +using MiniJSON; + +namespace XUtliPoolLib +{ + public class PDatabase : XSingleton + { + public PlayerInfo playerInfo; + + public FriendInfo friendsInfo; + + public WXGroupInfo wxGroupInfo; + + public ShareCallBackType shareCallbackType = ShareCallBackType.Normal; + + public WXGroupCallBackType wxGroupCallbackType = WXGroupCallBackType.Guild; + + public void HandleExData(string msg) + { + XSingleton.singleton.AddLog("[PDatabase]HandleExData msg" + msg, null, null, null, null, null, XDebugColor.XDebug_None); + switch (this.GetApiId(msg)) + { + case 1: + this.SerialPlayerInfo(msg); + break; + case 2: + this.SerialFriendsInfo(msg); + break; + case 6: + this.SerialGuildGroupResult(msg); + break; + case 7: + this.SerialGuildGroupInfo(msg); + break; + case 8: + this.SerialGuildGroupResult(msg); + break; + case 9: + this.SerialShareResult(msg); + break; + case 12: + this.SerialHandleReplay(msg); + break; + case 16: + this.SerialQQVipPayInfo(msg); + break; + case 17: + this.SerialPaySubscribeInfo(msg); + break; + case 18: + this.SerialMarketingInfo(msg); + break; + case 19: + this.SerialGameCenterLaunch(msg); + break; + case 20: + this.SerialHandle3DTouch(msg); + break; + case 21: + this.SerialHandleScreenLock(msg); + break; + case 22: + this.SerialBuyGoodsInfo(msg); + break; + case 23: + this.SerialPandoraSDKBuyGoodsInfo(msg); + break; + } + } + + private int GetApiId(string msg) + { + Dictionary dictionary = Json.Deserialize(msg) as Dictionary; + int result = 1; + int.TryParse(dictionary["apiId"].ToString(), out result); + return result; + } + + public void SerialPlayerInfo(string msg) + { + this.playerInfo = XSingleton.singleton.Deserialize(msg); + } + + public void SerialFriendsInfo(string msg) + { + this.friendsInfo = XSingleton.singleton.Deserialize(msg); + IUiUtility @interface = XSingleton.singleton.GetInterface(XSingleton.singleton.XHash("IUiUtility")); + bool flag = @interface == null; + if (flag) + { + XSingleton.singleton.AddLog("[PDatabase]SerialFriendsInfo entrance == null", null, null, null, null, null, XDebugColor.XDebug_None); + } + else + { + @interface.OnGetPlatFriendsInfo(); + } + } + + public void SerialGuildGroupResult(string msg) + { + XSingleton.singleton.AddLog("[PDatabase]SerialGuildGroupResult msg" + msg, null, null, null, null, null, XDebugColor.XDebug_None); + WXGroupResult wxgroupResult = XSingleton.singleton.Deserialize(msg); + bool flag = wxgroupResult == null; + if (flag) + { + XSingleton.singleton.AddLog("[PDatabase]SerialGuildGroupResult wxGroupResult == null", null, null, null, null, null, XDebugColor.XDebug_None); + } + else + { + IUiUtility @interface = XSingleton.singleton.GetInterface(XSingleton.singleton.XHash("IUiUtility")); + bool flag2 = @interface == null; + if (flag2) + { + XSingleton.singleton.AddLog("[PDatabase]SerialGuildGroupResult entrance == null", null, null, null, null, null, XDebugColor.XDebug_None); + } + else + { + @interface.OnWXGroupResult(wxgroupResult.apiId.ToString(), wxgroupResult.data.flag, wxgroupResult.data.errorCode, this.wxGroupCallbackType); + } + } + } + + public void SerialGuildGroupInfo(string msg) + { + XSingleton.singleton.AddLog("[PDatabase]SerialGuildGroupInfo msg" + msg, null, null, null, null, null, XDebugColor.XDebug_None); + this.wxGroupInfo = XSingleton.singleton.Deserialize(msg); + bool flag = this.wxGroupInfo == null; + if (flag) + { + XSingleton.singleton.AddLog("[PDatabase]SerialGuildGroupInfo wxGroupInfo == null", null, null, null, null, null, XDebugColor.XDebug_None); + } + else + { + IUiUtility @interface = XSingleton.singleton.GetInterface(XSingleton.singleton.XHash("IUiUtility")); + bool flag2 = @interface == null; + if (flag2) + { + XSingleton.singleton.AddLog("[PDatabase]SerialGuildGroupInfo entrance == null", null, null, null, null, null, XDebugColor.XDebug_None); + } + else + { + @interface.RefreshWXGroupBtn(this.wxGroupCallbackType); + } + } + } + + public void SerialShareResult(string msg) + { + XSingleton.singleton.AddLog("[PDatabase]SerialShareResult msg" + msg, null, null, null, null, null, XDebugColor.XDebug_None); + Dictionary dictionary = Json.Deserialize(msg) as Dictionary; + bool flag = dictionary == null; + if (flag) + { + XSingleton.singleton.AddLog("[PDatabase]SerialShareResult dict == null", null, null, null, null, null, XDebugColor.XDebug_None); + } + else + { + object obj = null; + bool flag2 = dictionary.TryGetValue("data", out obj); + if (flag2) + { + IUiUtility @interface = XSingleton.singleton.GetInterface(XSingleton.singleton.XHash("IUiUtility")); + bool flag3 = @interface != null; + if (flag3) + { + @interface.NoticeShareResult(obj.ToString(), this.shareCallbackType); + } + } + this.shareCallbackType = ShareCallBackType.Normal; + } + } + + public void SerialQQVipPayInfo(string msg) + { + XSingleton.singleton.AddLog("[PDatabase]SerialQQVipPayInfo msg" + msg, null, null, null, null, null, XDebugColor.XDebug_None); + Dictionary dictionary = Json.Deserialize(msg) as Dictionary; + bool flag = dictionary == null; + if (flag) + { + XSingleton.singleton.AddLog("[PDatabase]SerialQQVipPayInfo dict == null", null, null, null, null, null, XDebugColor.XDebug_None); + } + else + { + IUiUtility @interface = XSingleton.singleton.GetInterface(XSingleton.singleton.XHash("IUiUtility")); + object obj; + bool flag2 = dictionary.TryGetValue("data", out obj); + if (flag2) + { + Dictionary dictionary2 = obj as Dictionary; + object obj2; + bool flag3 = dictionary2.TryGetValue("flag", out obj2); + if (flag3) + { + bool flag4 = @interface != null; + if (flag4) + { + XSingleton.singleton.AddLog("[PDatabase]SerialQQVipPayInfo result =" + obj2.ToString(), null, null, null, null, null, XDebugColor.XDebug_None); + @interface.OnQQVipPayCallback(obj2.ToString()); + } + } + } + } + } + + private void SerialGameCenterLaunch(string msg) + { + XSingleton.singleton.AddLog("[PDatabase]SerialGameCenterLaunch msg" + msg, null, null, null, null, null, XDebugColor.XDebug_None); + Dictionary dictionary = Json.Deserialize(msg) as Dictionary; + bool flag = dictionary == null; + if (flag) + { + XSingleton.singleton.AddLog("[PDatabase]SerialGameCenterLaunch dict == null", null, null, null, null, null, XDebugColor.XDebug_None); + } + else + { + IUiUtility @interface = XSingleton.singleton.GetInterface(XSingleton.singleton.XHash("IUiUtility")); + object obj; + bool flag2 = dictionary.TryGetValue("data", out obj) && @interface != null; + if (flag2) + { + Dictionary dictionary2 = obj as Dictionary; + object obj2 = null; + bool flag3 = dictionary2 != null && dictionary2.TryGetValue("wakeup_platform", out obj2); + if (flag3) + { + XSingleton.singleton.AddLog("[SerialGameCenterLaunch] platform: " + obj2.ToString(), null, null, null, null, null, XDebugColor.XDebug_None); + bool flag4 = (long)obj2 == 1L; + if (flag4) + { + XSingleton.singleton.AddLog("[SerialGameCenterLaunch] platform == 1", null, null, null, null, null, XDebugColor.XDebug_None); + object obj3 = null; + bool flag5 = dictionary2.TryGetValue("wakeup_wx_extInfo", out obj3); + if (flag5) + { + bool flag6 = obj3.ToString() == "WX_GameCenter"; + if (flag6) + { + @interface.OnGameCenterWakeUp(3); + XSingleton.singleton.AddLog("[SerialGameCenterLaunch] StartUpType.StartUp_WX", null, null, null, null, null, XDebugColor.XDebug_None); + } + } + } + else + { + bool flag7 = (long)obj2 == 2L; + if (flag7) + { + XSingleton.singleton.AddLog("[SerialGameCenterLaunch] platform == 2", null, null, null, null, null, XDebugColor.XDebug_None); + object obj4 = null; + bool flag8 = dictionary2.TryGetValue("wakeup_qq_extInfo", out obj4); + if (flag8) + { + bool flag9 = obj4.ToString() == "sq_gamecenter"; + if (flag9) + { + @interface.OnGameCenterWakeUp(2); + XSingleton.singleton.AddLog("[SerialGameCenterLaunch] StartUpType.StartUp_QQ", null, null, null, null, null, XDebugColor.XDebug_None); + } + } + } + } + } + } + } + } + + private void SerialHandle3DTouch(string msg) + { + IUiUtility @interface = XSingleton.singleton.GetInterface(XSingleton.singleton.XHash("IUiUtility")); + bool flag = @interface != null; + if (flag) + { + @interface.SerialHandle3DTouch(msg); + } + } + + private void SerialHandleScreenLock(string msg) + { + IUiUtility @interface = XSingleton.singleton.GetInterface(XSingleton.singleton.XHash("IUiUtility")); + bool flag = @interface != null; + if (flag) + { + @interface.SerialHandleScreenLock(msg); + } + } + + private void SerialMarketingInfo(string msg) + { + XSingleton.singleton.AddLog("[PDatabase]SerialMarketingInfo msg" + msg, null, null, null, null, null, XDebugColor.XDebug_None); + Dictionary dictionary = Json.Deserialize(msg) as Dictionary; + bool flag = dictionary == null; + if (flag) + { + XSingleton.singleton.AddLog("[PDatabase]SerialMarketingInfo dict == null", null, null, null, null, null, XDebugColor.XDebug_None); + } + else + { + IUiUtility @interface = XSingleton.singleton.GetInterface(XSingleton.singleton.XHash("IUiUtility")); + object obj; + bool flag2 = dictionary.TryGetValue("data", out obj) && @interface != null; + if (flag2) + { + XSingleton.singleton.AddLog("[PDatabase]SerialMarketingInfo data", null, null, null, null, null, XDebugColor.XDebug_None); + Dictionary dictionary2 = obj as Dictionary; + object obj2 = null; + bool flag3 = dictionary2 != null && dictionary2.TryGetValue("flag", out obj2); + if (flag3) + { + XSingleton.singleton.AddLog("[PDatabase]SerialMarketingInfo flag", null, null, null, null, null, XDebugColor.XDebug_None); + bool flag4 = obj2.ToString() == "Success"; + if (flag4) + { + object obj3 = null; + bool flag5 = dictionary2 != null && dictionary2.TryGetValue("mpinfo", out obj3); + if (flag5) + { + XSingleton.singleton.AddLog("[PDatabase]SerialMarketingInfo mpinfo", null, null, null, null, null, XDebugColor.XDebug_None); + List list = obj3 as List; + bool flag6 = list != null; + if (flag6) + { + XSingleton.singleton.AddLog("[PDatabase]SerialMarketingInfo array != null", null, null, null, null, null, XDebugColor.XDebug_None); + List list2 = new List(); + for (int i = 0; i < list.Count; i++) + { + object obj4 = list[i]; + Dictionary dictionary3 = obj4 as Dictionary; + PayMarketingInfo payMarketingInfo = new PayMarketingInfo(); + object obj5 = null; + bool flag7 = dictionary3 != null && dictionary3.TryGetValue("num", out obj5); + if (flag7) + { + XSingleton.singleton.AddLog("[PDatabase]SerialMarketingInfo num = " + obj5.ToString(), null, null, null, null, null, XDebugColor.XDebug_None); + payMarketingInfo.diamondCount = int.Parse(obj5.ToString()); + } + object obj6 = null; + bool flag8 = dictionary3 != null && dictionary3.TryGetValue("send_num", out obj6); + if (flag8) + { + XSingleton.singleton.AddLog("[PDatabase]SerialMarketingInfo send_num = " + obj6.ToString(), null, null, null, null, null, XDebugColor.XDebug_None); + payMarketingInfo.sendCount = int.Parse(obj6.ToString()); + } + object obj7 = null; + bool flag9 = dictionary3 != null && dictionary3.TryGetValue("send_ext", out obj7); + if (flag9) + { + XSingleton.singleton.AddLog("[PDatabase]SerialMarketingInfo send_ext = " + obj7.ToString(), null, null, null, null, null, XDebugColor.XDebug_None); + payMarketingInfo.sendExt = obj7.ToString(); + } + list2.Add(payMarketingInfo); + } + @interface.OnPayMarketingInfo(list2); + } + } + } + } + } + } + } + + private void SerialPaySubscribeInfo(string msg) + { + XSingleton.singleton.AddLog("[PDatabase]SerialPaySubscribeInfo msg" + msg, null, null, null, null, null, XDebugColor.XDebug_None); + Dictionary dictionary = Json.Deserialize(msg) as Dictionary; + bool flag = dictionary == null; + if (flag) + { + XSingleton.singleton.AddLog("[PDatabase]SerialPaySubscribeInfo dict == null", null, null, null, null, null, XDebugColor.XDebug_None); + } + else + { + IUiUtility @interface = XSingleton.singleton.GetInterface(XSingleton.singleton.XHash("IUiUtility")); + object obj; + bool flag2 = dictionary.TryGetValue("data", out obj); + if (flag2) + { + Dictionary dictionary2 = obj as Dictionary; + object obj2 = null; + bool flag3 = dictionary2 != null && dictionary2.TryGetValue("flag", out obj2); + if (flag3) + { + bool flag4 = @interface != null; + if (flag4) + { + XSingleton.singleton.AddLog("[PDatabase]SerialPaySubscribeInfo result =" + obj2.ToString(), null, null, null, null, null, XDebugColor.XDebug_None); + @interface.OnPayCallback(obj2.ToString()); + return; + } + } + } + bool flag5 = @interface != null; + if (flag5) + { + @interface.OnPayCallback("Failure"); + } + } + } + + private void SerialBuyGoodsInfo(string msg) + { + XSingleton.singleton.AddLog("[PDatabase]SerialBuyGoodsInfo msg" + msg, null, null, null, null, null, XDebugColor.XDebug_None); + Dictionary dictionary = Json.Deserialize(msg) as Dictionary; + bool flag = dictionary == null; + if (flag) + { + XSingleton.singleton.AddLog("[PDatabase]SerialBuyGoodsInfo dict == null", null, null, null, null, null, XDebugColor.XDebug_None); + } + else + { + IUiUtility @interface = XSingleton.singleton.GetInterface(XSingleton.singleton.XHash("IUiUtility")); + object obj; + bool flag2 = dictionary.TryGetValue("data", out obj); + if (flag2) + { + Dictionary dictionary2 = obj as Dictionary; + object obj2 = null; + bool flag3 = dictionary2 != null && dictionary2.TryGetValue("flag", out obj2); + if (flag3) + { + bool flag4 = @interface != null; + if (flag4) + { + XSingleton.singleton.AddLog("[PDatabase]SerialBuyGoodsInfo result =" + obj2.ToString(), null, null, null, null, null, XDebugColor.XDebug_None); + @interface.OnPayCallback(obj2.ToString()); + return; + } + } + } + bool flag5 = @interface != null; + if (flag5) + { + @interface.OnPayCallback("Failure"); + } + } + } + + private void SerialPandoraSDKBuyGoodsInfo(string msg) + { + XSingleton.singleton.AddLog("[PDatabase]SerialPandoraSDKBuyGoodsInfo msg" + msg, null, null, null, null, null, XDebugColor.XDebug_None); + Dictionary dictionary = Json.Deserialize(msg) as Dictionary; + bool flag = dictionary == null; + if (flag) + { + XSingleton.singleton.AddLog("[PDatabase]SerialPandoraSDKBuyGoodsInfo dict == null", null, null, null, null, null, XDebugColor.XDebug_None); + } + else + { + IUiUtility @interface = XSingleton.singleton.GetInterface(XSingleton.singleton.XHash("IUiUtility")); + object obj; + bool flag2 = dictionary.TryGetValue("data", out obj); + if (flag2) + { + Dictionary dictionary2 = obj as Dictionary; + object obj2 = null; + bool flag3 = dictionary2 != null && dictionary2.TryGetValue("flag", out obj2); + if (flag3) + { + bool flag4 = @interface != null; + if (flag4) + { + XSingleton.singleton.AddLog("[PDatabase]SerialBuyGoodsInfo result =" + obj2.ToString(), null, null, null, null, null, XDebugColor.XDebug_None); + @interface.OnPayCallback(obj2.ToString()); + return; + } + } + } + bool flag5 = @interface != null; + if (flag5) + { + @interface.OnPayCallback("Failure"); + } + } + } + + private void SerialHandleReplay(string msg) + { + IUiUtility @interface = XSingleton.singleton.GetInterface(XSingleton.singleton.XHash("IUiUtility")); + bool flag = @interface != null; + if (flag) + { + @interface.OnReplayStart(); + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/PDatabase.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/PDatabase.cs.meta new file mode 100644 index 00000000..6adc21ca --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/PDatabase.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 2ef717fd4ce59044689548b3a2691e04 +timeCreated: 1611465306 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/PInfo.cs b/Client/Assets/Scripts/XUtliPoolLib/PInfo.cs new file mode 100644 index 00000000..f9672137 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/PInfo.cs @@ -0,0 +1,11 @@ +using System; + +namespace XUtliPoolLib +{ + public class PInfo + { + public int apiId; + + public object data; + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/PInfo.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/PInfo.cs.meta new file mode 100644 index 00000000..4cb60cf0 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/PInfo.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 76afc9a2cc527064dbd927c3b73eeb6c +timeCreated: 1611465690 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/PUtil.cs b/Client/Assets/Scripts/XUtliPoolLib/PUtil.cs new file mode 100644 index 00000000..20ad4d6a --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/PUtil.cs @@ -0,0 +1,58 @@ +using System; +using System.Collections; +using System.Text; +using DeJson; + +namespace XUtliPoolLib +{ + public class PUtil : XSingleton + { + public Deserializer deserial + { + get + { + bool flag = this._deserial == null; + if (flag) + { + this._deserial = new Deserializer(); + } + return this._deserial; + } + } + + private Deserializer _deserial; + + public T Deserialize(string str) + { + return this.deserial.Deserialize(str); + } + + public T Deserialize(object o) + { + return this.deserial.Deserialize(o); + } + + public string SerializeArray(IList array) + { + StringBuilder stringBuilder = new StringBuilder(); + stringBuilder.Append('['); + int num = 0; + foreach (object value in array) + { + num++; + bool flag = num < array.Count; + if (flag) + { + stringBuilder.Append(value); + stringBuilder.Append(','); + } + else + { + stringBuilder.Append(value); + } + } + stringBuilder.Append(']'); + return stringBuilder.ToString(); + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/PUtil.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/PUtil.cs.meta new file mode 100644 index 00000000..b230e79a --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/PUtil.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 537c785ba30f7fc419d081ddc41c1f6c +timeCreated: 1611465644 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/PVEAttrModify.cs b/Client/Assets/Scripts/XUtliPoolLib/PVEAttrModify.cs new file mode 100644 index 00000000..f5fd8612 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/PVEAttrModify.cs @@ -0,0 +1,109 @@ +using System; + +namespace XUtliPoolLib +{ + public class PVEAttrModify : CVSReader + { + public PVEAttrModify.RowData[] Table = null; + + public class RowData + { + public uint SceneID; + } + + public PVEAttrModify.RowData GetBySceneID(uint key) + { + bool flag = this.Table == null || this.Table.Length == 0; + PVEAttrModify.RowData result; + if (flag) + { + result = null; + } + else + { + result = this.BinarySearchSceneID(key); + } + return result; + } + + private PVEAttrModify.RowData BinarySearchSceneID(uint key) + { + int num = 0; + int num2 = this.Table.Length - 1; + PVEAttrModify.RowData rowData; + PVEAttrModify.RowData rowData2; + PVEAttrModify.RowData rowData3; + for (;;) + { + rowData = this.Table[num]; + bool flag = rowData.SceneID == key; + if (flag) + { + break; + } + rowData2 = this.Table[num2]; + bool flag2 = rowData2.SceneID == key; + if (flag2) + { + goto Block_2; + } + bool flag3 = num2 - num <= 1; + if (flag3) + { + goto Block_3; + } + int num3 = num + (num2 - num) / 2; + rowData3 = this.Table[num3]; + bool flag4 = rowData3.SceneID.CompareTo(key) > 0; + if (flag4) + { + num2 = num3; + } + else + { + bool flag5 = rowData3.SceneID.CompareTo(key) < 0; + if (!flag5) + { + goto IL_B1; + } + num = num3; + } + if (num >= num2) + { + goto Block_6; + } + } + return rowData; + Block_2: + return rowData2; + Block_3: + return null; + IL_B1: + return rowData3; + Block_6: + return null; + } + + protected override void ReadLine(XBinaryReader reader) + { + PVEAttrModify.RowData rowData = new PVEAttrModify.RowData(); + base.Read(reader, ref rowData.SceneID, CVSReader.uintParse); + this.columnno = 0; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new PVEAttrModify.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/PVEAttrModify.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/PVEAttrModify.cs.meta new file mode 100644 index 00000000..1194fb13 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/PVEAttrModify.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 888216d7f256c8549a7c4db7c28f24bc +timeCreated: 1611465698 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/PVPActivityList.cs b/Client/Assets/Scripts/XUtliPoolLib/PVPActivityList.cs new file mode 100644 index 00000000..7b72b9fa --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/PVPActivityList.cs @@ -0,0 +1,67 @@ +using System; + +namespace XUtliPoolLib +{ + public class PVPActivityList : CVSReader + { + public PVPActivityList.RowData[] Table = null; + + public class RowData + { + public uint SysID; + + public string Description; + + public string Icon; + } + + public PVPActivityList.RowData GetBySysID(uint key) + { + bool flag = this.Table == null || this.Table.Length == 0; + PVPActivityList.RowData result; + if (flag) + { + result = null; + } + else + { + for (int i = 0; i < this.Table.Length; i++) + { + bool flag2 = this.Table[i].SysID == key; + if (flag2) + { + return this.Table[i]; + } + } + result = null; + } + return result; + } + + protected override void ReadLine(XBinaryReader reader) + { + PVPActivityList.RowData rowData = new PVPActivityList.RowData(); + base.Read(reader, ref rowData.SysID, CVSReader.uintParse); + this.columnno = 0; + base.Read(reader, ref rowData.Description, CVSReader.stringParse); + this.columnno = 2; + base.Read(reader, ref rowData.Icon, CVSReader.stringParse); + this.columnno = 3; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new PVPActivityList.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/PVPActivityList.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/PVPActivityList.cs.meta new file mode 100644 index 00000000..dbe905c2 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/PVPActivityList.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 8a8400263d6451646a94eb61b604ed03 +timeCreated: 1611465700 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/PandoraHeart.cs b/Client/Assets/Scripts/XUtliPoolLib/PandoraHeart.cs new file mode 100644 index 00000000..f4964957 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/PandoraHeart.cs @@ -0,0 +1,80 @@ +using System; + +namespace XUtliPoolLib +{ + public class PandoraHeart : CVSReader + { + public PandoraHeart.RowData[] Table = null; + + public class RowData + { + public uint PandoraID; + + public uint ProfID; + + public uint FireID; + + public uint[] DisplaySlot0; + + public uint[] DisplayAngle0; + + public uint[] DisplaySlot1; + + public uint[] DisplayAngle1; + + public uint[] DisplaySlot2; + + public uint[] DisplayAngle2; + + public string DisplayName0; + + public string DisplayName1; + + public string DisplayName2; + } + + protected override void ReadLine(XBinaryReader reader) + { + PandoraHeart.RowData rowData = new PandoraHeart.RowData(); + base.Read(reader, ref rowData.PandoraID, CVSReader.uintParse); + this.columnno = 0; + base.Read(reader, ref rowData.ProfID, CVSReader.uintParse); + this.columnno = 1; + base.Read(reader, ref rowData.FireID, CVSReader.uintParse); + this.columnno = 2; + base.ReadArray(reader, ref rowData.DisplaySlot0, CVSReader.uintParse); + this.columnno = 4; + base.ReadArray(reader, ref rowData.DisplayAngle0, CVSReader.uintParse); + this.columnno = 5; + base.ReadArray(reader, ref rowData.DisplaySlot1, CVSReader.uintParse); + this.columnno = 6; + base.ReadArray(reader, ref rowData.DisplayAngle1, CVSReader.uintParse); + this.columnno = 7; + base.ReadArray(reader, ref rowData.DisplaySlot2, CVSReader.uintParse); + this.columnno = 8; + base.ReadArray(reader, ref rowData.DisplayAngle2, CVSReader.uintParse); + this.columnno = 9; + base.Read(reader, ref rowData.DisplayName0, CVSReader.stringParse); + this.columnno = 10; + base.Read(reader, ref rowData.DisplayName1, CVSReader.stringParse); + this.columnno = 11; + base.Read(reader, ref rowData.DisplayName2, CVSReader.stringParse); + this.columnno = 12; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new PandoraHeart.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/PandoraHeart.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/PandoraHeart.cs.meta new file mode 100644 index 00000000..930d1b61 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/PandoraHeart.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 2faea046626789b4a87a30065d69a6da +timeCreated: 1611465308 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/PandoraHeartReward.cs b/Client/Assets/Scripts/XUtliPoolLib/PandoraHeartReward.cs new file mode 100644 index 00000000..fc24eca9 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/PandoraHeartReward.cs @@ -0,0 +1,44 @@ +using System; + +namespace XUtliPoolLib +{ + public class PandoraHeartReward : CVSReader + { + public PandoraHeartReward.RowData[] Table = null; + + public class RowData + { + public uint pandoraid; + + public uint itemid; + + public SeqRef showlevel; + } + + protected override void ReadLine(XBinaryReader reader) + { + PandoraHeartReward.RowData rowData = new PandoraHeartReward.RowData(); + base.Read(reader, ref rowData.pandoraid, CVSReader.uintParse); + this.columnno = 0; + base.Read(reader, ref rowData.itemid, CVSReader.uintParse); + this.columnno = 1; + rowData.showlevel.Read(reader, this.m_DataHandler); + this.columnno = 7; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new PandoraHeartReward.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/PandoraHeartReward.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/PandoraHeartReward.cs.meta new file mode 100644 index 00000000..7c8418f7 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/PandoraHeartReward.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 31dc5a6fb394f07458e7b8dd3e369914 +timeCreated: 1611465309 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/PartnerLivenessTable.cs b/Client/Assets/Scripts/XUtliPoolLib/PartnerLivenessTable.cs new file mode 100644 index 00000000..b025df8c --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/PartnerLivenessTable.cs @@ -0,0 +1,52 @@ +using System; + +namespace XUtliPoolLib +{ + public class PartnerLivenessTable : CVSReader + { + public PartnerLivenessTable.RowData[] Table = null; + + public class RowData + { + public uint liveness; + + public SeqRef level; + + public SeqListRef viewabledrop; + + public uint index; + + public string boxPic; + } + + protected override void ReadLine(XBinaryReader reader) + { + PartnerLivenessTable.RowData rowData = new PartnerLivenessTable.RowData(); + base.Read(reader, ref rowData.liveness, CVSReader.uintParse); + this.columnno = 0; + rowData.level.Read(reader, this.m_DataHandler); + this.columnno = 1; + rowData.viewabledrop.Read(reader, this.m_DataHandler); + this.columnno = 4; + base.Read(reader, ref rowData.index, CVSReader.uintParse); + this.columnno = 5; + base.Read(reader, ref rowData.boxPic, CVSReader.stringParse); + this.columnno = 6; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new PartnerLivenessTable.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/PartnerLivenessTable.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/PartnerLivenessTable.cs.meta new file mode 100644 index 00000000..20a80aae --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/PartnerLivenessTable.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: e91796653e6300f4d8dbad80e5a454e5 +timeCreated: 1611465803 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/PartnerTable.cs b/Client/Assets/Scripts/XUtliPoolLib/PartnerTable.cs new file mode 100644 index 00000000..274b5294 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/PartnerTable.cs @@ -0,0 +1,67 @@ +using System; + +namespace XUtliPoolLib +{ + public class PartnerTable : CVSReader + { + public PartnerTable.RowData[] Table = null; + + public class RowData + { + public uint level; + + public uint degree; + + public SeqRef buf; + } + + public PartnerTable.RowData GetBylevel(uint key) + { + bool flag = this.Table == null || this.Table.Length == 0; + PartnerTable.RowData result; + if (flag) + { + result = null; + } + else + { + for (int i = 0; i < this.Table.Length; i++) + { + bool flag2 = this.Table[i].level == key; + if (flag2) + { + return this.Table[i]; + } + } + result = null; + } + return result; + } + + protected override void ReadLine(XBinaryReader reader) + { + PartnerTable.RowData rowData = new PartnerTable.RowData(); + base.Read(reader, ref rowData.level, CVSReader.uintParse); + this.columnno = 0; + base.Read(reader, ref rowData.degree, CVSReader.uintParse); + this.columnno = 1; + rowData.buf.Read(reader, this.m_DataHandler); + this.columnno = 2; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new PartnerTable.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/PartnerTable.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/PartnerTable.cs.meta new file mode 100644 index 00000000..c0e771d4 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/PartnerTable.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 8beca387e64d71246b8b46e5439e871f +timeCreated: 1611465700 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/PartnerWelfare.cs b/Client/Assets/Scripts/XUtliPoolLib/PartnerWelfare.cs new file mode 100644 index 00000000..67e3ca2e --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/PartnerWelfare.cs @@ -0,0 +1,63 @@ +using System; + +namespace XUtliPoolLib +{ + public class PartnerWelfare : CVSReader + { + public PartnerWelfare.RowData[] Table = null; + + public class RowData + { + public uint Id; + + public string ContentTxt; + } + + public PartnerWelfare.RowData GetById(uint key) + { + bool flag = this.Table == null || this.Table.Length == 0; + PartnerWelfare.RowData result; + if (flag) + { + result = null; + } + else + { + for (int i = 0; i < this.Table.Length; i++) + { + bool flag2 = this.Table[i].Id == key; + if (flag2) + { + return this.Table[i]; + } + } + result = null; + } + return result; + } + + protected override void ReadLine(XBinaryReader reader) + { + PartnerWelfare.RowData rowData = new PartnerWelfare.RowData(); + base.Read(reader, ref rowData.Id, CVSReader.uintParse); + this.columnno = 0; + base.Read(reader, ref rowData.ContentTxt, CVSReader.stringParse); + this.columnno = 2; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new PartnerWelfare.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/PartnerWelfare.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/PartnerWelfare.cs.meta new file mode 100644 index 00000000..b344163d --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/PartnerWelfare.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: c5945ec98493421478d412900f39d5d6 +timeCreated: 1611465755 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/PayAileenTable.cs b/Client/Assets/Scripts/XUtliPoolLib/PayAileenTable.cs new file mode 100644 index 00000000..291f6736 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/PayAileenTable.cs @@ -0,0 +1,68 @@ +using System; + +namespace XUtliPoolLib +{ + public class PayAileenTable : CVSReader + { + public PayAileenTable.RowData[] Table = null; + + public class RowData + { + public string ParamID; + + public int Days; + + public int Price; + + public int VipLimit; + + public string Name; + + public string Desc; + + public int[] LevelSealGiftID; + + public int MemberLimit; + + public string ServiceCode; + } + + protected override void ReadLine(XBinaryReader reader) + { + PayAileenTable.RowData rowData = new PayAileenTable.RowData(); + base.Read(reader, ref rowData.ParamID, CVSReader.stringParse); + this.columnno = 0; + base.Read(reader, ref rowData.Days, CVSReader.intParse); + this.columnno = 1; + base.Read(reader, ref rowData.Price, CVSReader.intParse); + this.columnno = 2; + base.Read(reader, ref rowData.VipLimit, CVSReader.intParse); + this.columnno = 3; + base.Read(reader, ref rowData.Name, CVSReader.stringParse); + this.columnno = 4; + base.Read(reader, ref rowData.Desc, CVSReader.stringParse); + this.columnno = 6; + base.ReadArray(reader, ref rowData.LevelSealGiftID, CVSReader.intParse); + this.columnno = 8; + base.Read(reader, ref rowData.MemberLimit, CVSReader.intParse); + this.columnno = 9; + base.Read(reader, ref rowData.ServiceCode, CVSReader.stringParse); + this.columnno = 10; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new PayAileenTable.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/PayAileenTable.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/PayAileenTable.cs.meta new file mode 100644 index 00000000..750f8682 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/PayAileenTable.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 31dff2d559d9e624d863cd8651e51c00 +timeCreated: 1611465309 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/PayCardTable.cs b/Client/Assets/Scripts/XUtliPoolLib/PayCardTable.cs new file mode 100644 index 00000000..07b93222 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/PayCardTable.cs @@ -0,0 +1,64 @@ +using System; + +namespace XUtliPoolLib +{ + public class PayCardTable : CVSReader + { + public PayCardTable.RowData[] Table = null; + + public class RowData + { + public string ParamID; + + public int Price; + + public int Diamond; + + public int Type; + + public int DayAward; + + public string Name; + + public string Icon; + + public string ServiceCode; + } + + protected override void ReadLine(XBinaryReader reader) + { + PayCardTable.RowData rowData = new PayCardTable.RowData(); + base.Read(reader, ref rowData.ParamID, CVSReader.stringParse); + this.columnno = 0; + base.Read(reader, ref rowData.Price, CVSReader.intParse); + this.columnno = 1; + base.Read(reader, ref rowData.Diamond, CVSReader.intParse); + this.columnno = 2; + base.Read(reader, ref rowData.Type, CVSReader.intParse); + this.columnno = 3; + base.Read(reader, ref rowData.DayAward, CVSReader.intParse); + this.columnno = 4; + base.Read(reader, ref rowData.Name, CVSReader.stringParse); + this.columnno = 5; + base.Read(reader, ref rowData.Icon, CVSReader.stringParse); + this.columnno = 6; + base.Read(reader, ref rowData.ServiceCode, CVSReader.stringParse); + this.columnno = 9; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new PayCardTable.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/PayCardTable.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/PayCardTable.cs.meta new file mode 100644 index 00000000..e2556a6a --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/PayCardTable.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 6f2fd8552bc6c9e46adf78d40de177a7 +timeCreated: 1611465686 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/PayFirst.cs b/Client/Assets/Scripts/XUtliPoolLib/PayFirst.cs new file mode 100644 index 00000000..75f8db7e --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/PayFirst.cs @@ -0,0 +1,44 @@ +using System; + +namespace XUtliPoolLib +{ + public class PayFirst : CVSReader + { + public PayFirst.RowData[] Table = null; + + public class RowData + { + public int Money; + + public int Award; + + public int SystemID; + } + + protected override void ReadLine(XBinaryReader reader) + { + PayFirst.RowData rowData = new PayFirst.RowData(); + base.Read(reader, ref rowData.Money, CVSReader.intParse); + this.columnno = 0; + base.Read(reader, ref rowData.Award, CVSReader.intParse); + this.columnno = 1; + base.Read(reader, ref rowData.SystemID, CVSReader.intParse); + this.columnno = 2; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new PayFirst.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/PayFirst.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/PayFirst.cs.meta new file mode 100644 index 00000000..deb9de10 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/PayFirst.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: dc3cb8517db29a74487f8c26f80cb672 +timeCreated: 1611465796 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/PayGiftTable.cs b/Client/Assets/Scripts/XUtliPoolLib/PayGiftTable.cs new file mode 100644 index 00000000..ac74b589 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/PayGiftTable.cs @@ -0,0 +1,60 @@ +using System; + +namespace XUtliPoolLib +{ + public class PayGiftTable : CVSReader + { + public PayGiftTable.RowData[] Table = null; + + public class RowData + { + public uint ID; + + public string ParamID; + + public uint ItemID; + + public uint LimitCount; + + public uint Price; + + public string Name; + + public string Desc; + } + + protected override void ReadLine(XBinaryReader reader) + { + PayGiftTable.RowData rowData = new PayGiftTable.RowData(); + base.Read(reader, ref rowData.ID, CVSReader.uintParse); + this.columnno = 0; + base.Read(reader, ref rowData.ParamID, CVSReader.stringParse); + this.columnno = 1; + base.Read(reader, ref rowData.ItemID, CVSReader.uintParse); + this.columnno = 2; + base.Read(reader, ref rowData.LimitCount, CVSReader.uintParse); + this.columnno = 3; + base.Read(reader, ref rowData.Price, CVSReader.uintParse); + this.columnno = 4; + base.Read(reader, ref rowData.Name, CVSReader.stringParse); + this.columnno = 5; + base.Read(reader, ref rowData.Desc, CVSReader.stringParse); + this.columnno = 6; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new PayGiftTable.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/PayGiftTable.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/PayGiftTable.cs.meta new file mode 100644 index 00000000..bc0dd4b1 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/PayGiftTable.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 0787343ab3952694bb07d30c2173cab1 +timeCreated: 1611465286 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/PayListTable.cs b/Client/Assets/Scripts/XUtliPoolLib/PayListTable.cs new file mode 100644 index 00000000..0a3d1277 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/PayListTable.cs @@ -0,0 +1,83 @@ +using System; + +namespace XUtliPoolLib +{ + public class PayListTable : CVSReader + { + public PayListTable.RowData[] Table = null; + + public class RowData + { + public string ParamID; + + public int Price; + + public int Diamond; + + public string Name; + + public string Icon; + + public string Effect; + + public string Effect2; + } + + public PayListTable.RowData GetByParamID(string key) + { + bool flag = this.Table == null || this.Table.Length == 0; + PayListTable.RowData result; + if (flag) + { + result = null; + } + else + { + for (int i = 0; i < this.Table.Length; i++) + { + bool flag2 = this.Table[i].ParamID == key; + if (flag2) + { + return this.Table[i]; + } + } + result = null; + } + return result; + } + + protected override void ReadLine(XBinaryReader reader) + { + PayListTable.RowData rowData = new PayListTable.RowData(); + base.Read(reader, ref rowData.ParamID, CVSReader.stringParse); + this.columnno = 0; + base.Read(reader, ref rowData.Price, CVSReader.intParse); + this.columnno = 1; + base.Read(reader, ref rowData.Diamond, CVSReader.intParse); + this.columnno = 2; + base.Read(reader, ref rowData.Name, CVSReader.stringParse); + this.columnno = 4; + base.Read(reader, ref rowData.Icon, CVSReader.stringParse); + this.columnno = 5; + base.Read(reader, ref rowData.Effect, CVSReader.stringParse); + this.columnno = 6; + base.Read(reader, ref rowData.Effect2, CVSReader.stringParse); + this.columnno = 7; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new PayListTable.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/PayListTable.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/PayListTable.cs.meta new file mode 100644 index 00000000..0dffd7e4 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/PayListTable.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: aeb72cea6acb9184592097c68f70cf01 +timeCreated: 1611465742 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/PayMarketingInfo.cs b/Client/Assets/Scripts/XUtliPoolLib/PayMarketingInfo.cs new file mode 100644 index 00000000..f76bf27e --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/PayMarketingInfo.cs @@ -0,0 +1,13 @@ +using System; + +namespace XUtliPoolLib +{ + public class PayMarketingInfo + { + public int diamondCount; + + public int sendCount; + + public string sendExt; + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/PayMarketingInfo.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/PayMarketingInfo.cs.meta new file mode 100644 index 00000000..a5104cc4 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/PayMarketingInfo.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: b707c68407ac8144c9562a6ff6a71ce2 +timeCreated: 1611465746 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/PayMemberTable.cs b/Client/Assets/Scripts/XUtliPoolLib/PayMemberTable.cs new file mode 100644 index 00000000..4c9460a4 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/PayMemberTable.cs @@ -0,0 +1,144 @@ +using System; + +namespace XUtliPoolLib +{ + public class PayMemberTable : CVSReader + { + public PayMemberTable.RowData[] Table = null; + + public class RowData + { + public string ParamID; + + public int ID; + + public string Name; + + public int Price; + + public int Days; + + public int ChatCount; + + public int FatigueLimit; + + public int AbyssCount; + + public int ReviveCount; + + public int BossRushCount; + + public int BuyGreenAgateLimit; + + public int[] CheckinDoubleDays; + + public int SuperRiskCount; + + public int SystemID; + + public string Icon; + + public string Desc; + + public string Tip; + + public string Detail; + + public string BuyNtf; + + public int[] CheckinDoubleEvenDays; + + public string ServiceCode; + + public SeqRef Value; + + public int AuctionCount; + + public SeqRef worldBossbuffid; + + public SeqRef guildBossBuffid; + + public int HeroBattleFree; + + public uint NpcFeeling; + + public int ShopRefresh; + } + + protected override void ReadLine(XBinaryReader reader) + { + PayMemberTable.RowData rowData = new PayMemberTable.RowData(); + base.Read(reader, ref rowData.ParamID, CVSReader.stringParse); + this.columnno = 0; + base.Read(reader, ref rowData.ID, CVSReader.intParse); + this.columnno = 1; + base.Read(reader, ref rowData.Name, CVSReader.stringParse); + this.columnno = 2; + base.Read(reader, ref rowData.Price, CVSReader.intParse); + this.columnno = 3; + base.Read(reader, ref rowData.Days, CVSReader.intParse); + this.columnno = 4; + base.Read(reader, ref rowData.ChatCount, CVSReader.intParse); + this.columnno = 7; + base.Read(reader, ref rowData.FatigueLimit, CVSReader.intParse); + this.columnno = 8; + base.Read(reader, ref rowData.AbyssCount, CVSReader.intParse); + this.columnno = 9; + base.Read(reader, ref rowData.ReviveCount, CVSReader.intParse); + this.columnno = 10; + base.Read(reader, ref rowData.BossRushCount, CVSReader.intParse); + this.columnno = 12; + base.Read(reader, ref rowData.BuyGreenAgateLimit, CVSReader.intParse); + this.columnno = 13; + base.ReadArray(reader, ref rowData.CheckinDoubleDays, CVSReader.intParse); + this.columnno = 14; + base.Read(reader, ref rowData.SuperRiskCount, CVSReader.intParse); + this.columnno = 16; + base.Read(reader, ref rowData.SystemID, CVSReader.intParse); + this.columnno = 17; + base.Read(reader, ref rowData.Icon, CVSReader.stringParse); + this.columnno = 18; + base.Read(reader, ref rowData.Desc, CVSReader.stringParse); + this.columnno = 19; + base.Read(reader, ref rowData.Tip, CVSReader.stringParse); + this.columnno = 20; + base.Read(reader, ref rowData.Detail, CVSReader.stringParse); + this.columnno = 22; + base.Read(reader, ref rowData.BuyNtf, CVSReader.stringParse); + this.columnno = 23; + base.ReadArray(reader, ref rowData.CheckinDoubleEvenDays, CVSReader.intParse); + this.columnno = 24; + base.Read(reader, ref rowData.ServiceCode, CVSReader.stringParse); + this.columnno = 25; + rowData.Value.Read(reader, this.m_DataHandler); + this.columnno = 26; + base.Read(reader, ref rowData.AuctionCount, CVSReader.intParse); + this.columnno = 28; + rowData.worldBossbuffid.Read(reader, this.m_DataHandler); + this.columnno = 29; + rowData.guildBossBuffid.Read(reader, this.m_DataHandler); + this.columnno = 30; + base.Read(reader, ref rowData.HeroBattleFree, CVSReader.intParse); + this.columnno = 31; + base.Read(reader, ref rowData.NpcFeeling, CVSReader.uintParse); + this.columnno = 32; + base.Read(reader, ref rowData.ShopRefresh, CVSReader.intParse); + this.columnno = 33; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new PayMemberTable.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/PayMemberTable.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/PayMemberTable.cs.meta new file mode 100644 index 00000000..49a6b8cd --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/PayMemberTable.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 71c1ef7f110e12f47b43344ceeb3e3b5 +timeCreated: 1611465688 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/PayWelfareTable.cs b/Client/Assets/Scripts/XUtliPoolLib/PayWelfareTable.cs new file mode 100644 index 00000000..00a78d1b --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/PayWelfareTable.cs @@ -0,0 +1,44 @@ +using System; + +namespace XUtliPoolLib +{ + public class PayWelfareTable : CVSReader + { + public PayWelfareTable.RowData[] Table = null; + + public class RowData + { + public int SysID; + + public string TabName; + + public string TabIcon; + } + + protected override void ReadLine(XBinaryReader reader) + { + PayWelfareTable.RowData rowData = new PayWelfareTable.RowData(); + base.Read(reader, ref rowData.SysID, CVSReader.intParse); + this.columnno = 1; + base.Read(reader, ref rowData.TabName, CVSReader.stringParse); + this.columnno = 2; + base.Read(reader, ref rowData.TabIcon, CVSReader.stringParse); + this.columnno = 3; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new PayWelfareTable.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/PayWelfareTable.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/PayWelfareTable.cs.meta new file mode 100644 index 00000000..5d813339 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/PayWelfareTable.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 619c1d4780ede14488e2e4fddc4b8d17 +timeCreated: 1611465653 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/PetBubble.cs b/Client/Assets/Scripts/XUtliPoolLib/PetBubble.cs new file mode 100644 index 00000000..8a18e2c7 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/PetBubble.cs @@ -0,0 +1,60 @@ +using System; + +namespace XUtliPoolLib +{ + public class PetBubble : CVSReader + { + public PetBubble.RowData[] Table = null; + + public class RowData + { + public uint id; + + public uint ActionID; + + public string ActionFile; + + public string[] Bubble; + + public float BubbleTime; + + public uint Weights; + + public string SEFile; + } + + protected override void ReadLine(XBinaryReader reader) + { + PetBubble.RowData rowData = new PetBubble.RowData(); + base.Read(reader, ref rowData.id, CVSReader.uintParse); + this.columnno = 0; + base.Read(reader, ref rowData.ActionID, CVSReader.uintParse); + this.columnno = 1; + base.Read(reader, ref rowData.ActionFile, CVSReader.stringParse); + this.columnno = 2; + base.ReadArray(reader, ref rowData.Bubble, CVSReader.stringParse); + this.columnno = 4; + base.Read(reader, ref rowData.BubbleTime, CVSReader.floatParse); + this.columnno = 5; + base.Read(reader, ref rowData.Weights, CVSReader.uintParse); + this.columnno = 6; + base.Read(reader, ref rowData.SEFile, CVSReader.stringParse); + this.columnno = 7; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new PetBubble.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/PetBubble.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/PetBubble.cs.meta new file mode 100644 index 00000000..44738abc --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/PetBubble.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 8261a840b9086ac4ba2ce69fd61eb6b1 +timeCreated: 1611465694 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/PetFoodTable.cs b/Client/Assets/Scripts/XUtliPoolLib/PetFoodTable.cs new file mode 100644 index 00000000..9a3c117a --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/PetFoodTable.cs @@ -0,0 +1,71 @@ +using System; + +namespace XUtliPoolLib +{ + public class PetFoodTable : CVSReader + { + public PetFoodTable.RowData[] Table = null; + + public class RowData + { + public uint itemid; + + public uint exp; + + public string description; + + public uint hungry; + } + + public PetFoodTable.RowData GetByitemid(uint key) + { + bool flag = this.Table == null || this.Table.Length == 0; + PetFoodTable.RowData result; + if (flag) + { + result = null; + } + else + { + for (int i = 0; i < this.Table.Length; i++) + { + bool flag2 = this.Table[i].itemid == key; + if (flag2) + { + return this.Table[i]; + } + } + result = null; + } + return result; + } + + protected override void ReadLine(XBinaryReader reader) + { + PetFoodTable.RowData rowData = new PetFoodTable.RowData(); + base.Read(reader, ref rowData.itemid, CVSReader.uintParse); + this.columnno = 0; + base.Read(reader, ref rowData.exp, CVSReader.uintParse); + this.columnno = 1; + base.Read(reader, ref rowData.description, CVSReader.stringParse); + this.columnno = 2; + base.Read(reader, ref rowData.hungry, CVSReader.uintParse); + this.columnno = 3; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new PetFoodTable.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/PetFoodTable.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/PetFoodTable.cs.meta new file mode 100644 index 00000000..8c7fd97c --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/PetFoodTable.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 6518bdb382af5294d9cddb94b5f702e4 +timeCreated: 1611465682 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/PetInfoTable.cs b/Client/Assets/Scripts/XUtliPoolLib/PetInfoTable.cs new file mode 100644 index 00000000..cf3cf55a --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/PetInfoTable.cs @@ -0,0 +1,115 @@ +using System; + +namespace XUtliPoolLib +{ + public class PetInfoTable : CVSReader + { + public PetInfoTable.RowData[] Table = null; + + public class RowData + { + public uint id; + + public string name; + + public uint quality; + + public uint[] LvRequire; + + public SeqListRef skill1; + + public SeqListRef skill2; + + public SeqListRef skill3; + + public uint SpeedBuff; + + public string icon; + + public uint randSkillMax; + + public uint maxHungry; + + public uint presentID; + + public uint PetType; + + public uint WithWings; + + public string Atlas; + } + + public PetInfoTable.RowData GetByid(uint key) + { + bool flag = this.Table == null || this.Table.Length == 0; + PetInfoTable.RowData result; + if (flag) + { + result = null; + } + else + { + for (int i = 0; i < this.Table.Length; i++) + { + bool flag2 = this.Table[i].id == key; + if (flag2) + { + return this.Table[i]; + } + } + result = null; + } + return result; + } + + protected override void ReadLine(XBinaryReader reader) + { + PetInfoTable.RowData rowData = new PetInfoTable.RowData(); + base.Read(reader, ref rowData.id, CVSReader.uintParse); + this.columnno = 0; + base.Read(reader, ref rowData.name, CVSReader.stringParse); + this.columnno = 1; + base.Read(reader, ref rowData.quality, CVSReader.uintParse); + this.columnno = 2; + base.ReadArray(reader, ref rowData.LvRequire, CVSReader.uintParse); + this.columnno = 10; + rowData.skill1.Read(reader, this.m_DataHandler); + this.columnno = 11; + rowData.skill2.Read(reader, this.m_DataHandler); + this.columnno = 12; + rowData.skill3.Read(reader, this.m_DataHandler); + this.columnno = 13; + base.Read(reader, ref rowData.SpeedBuff, CVSReader.uintParse); + this.columnno = 16; + base.Read(reader, ref rowData.icon, CVSReader.stringParse); + this.columnno = 18; + base.Read(reader, ref rowData.randSkillMax, CVSReader.uintParse); + this.columnno = 19; + base.Read(reader, ref rowData.maxHungry, CVSReader.uintParse); + this.columnno = 21; + base.Read(reader, ref rowData.presentID, CVSReader.uintParse); + this.columnno = 24; + base.Read(reader, ref rowData.PetType, CVSReader.uintParse); + this.columnno = 28; + base.Read(reader, ref rowData.WithWings, CVSReader.uintParse); + this.columnno = 29; + base.Read(reader, ref rowData.Atlas, CVSReader.stringParse); + this.columnno = 30; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new PetInfoTable.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/PetInfoTable.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/PetInfoTable.cs.meta new file mode 100644 index 00000000..519ffaac --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/PetInfoTable.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: a0fc55d8b0932a34c8868c0f1df6d343 +timeCreated: 1611465712 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/PetItemTable.cs b/Client/Assets/Scripts/XUtliPoolLib/PetItemTable.cs new file mode 100644 index 00000000..0bdcc94c --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/PetItemTable.cs @@ -0,0 +1,63 @@ +using System; + +namespace XUtliPoolLib +{ + public class PetItemTable : CVSReader + { + public PetItemTable.RowData[] Table = null; + + public class RowData + { + public uint itemid; + + public uint petid; + } + + public PetItemTable.RowData GetByitemid(uint key) + { + bool flag = this.Table == null || this.Table.Length == 0; + PetItemTable.RowData result; + if (flag) + { + result = null; + } + else + { + for (int i = 0; i < this.Table.Length; i++) + { + bool flag2 = this.Table[i].itemid == key; + if (flag2) + { + return this.Table[i]; + } + } + result = null; + } + return result; + } + + protected override void ReadLine(XBinaryReader reader) + { + PetItemTable.RowData rowData = new PetItemTable.RowData(); + base.Read(reader, ref rowData.itemid, CVSReader.uintParse); + this.columnno = 0; + base.Read(reader, ref rowData.petid, CVSReader.uintParse); + this.columnno = 1; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new PetItemTable.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/PetItemTable.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/PetItemTable.cs.meta new file mode 100644 index 00000000..6644b122 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/PetItemTable.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 903fb8b3d47e6594695fcb9dad3e5e26 +timeCreated: 1611465703 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/PetLevelTable.cs b/Client/Assets/Scripts/XUtliPoolLib/PetLevelTable.cs new file mode 100644 index 00000000..e72a16c2 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/PetLevelTable.cs @@ -0,0 +1,48 @@ +using System; + +namespace XUtliPoolLib +{ + public class PetLevelTable : CVSReader + { + public PetLevelTable.RowData[] Table = null; + + public class RowData + { + public uint PetsID; + + public uint level; + + public uint exp; + + public SeqListRef PetsAttributes; + } + + protected override void ReadLine(XBinaryReader reader) + { + PetLevelTable.RowData rowData = new PetLevelTable.RowData(); + base.Read(reader, ref rowData.PetsID, CVSReader.uintParse); + this.columnno = 0; + base.Read(reader, ref rowData.level, CVSReader.uintParse); + this.columnno = 1; + base.Read(reader, ref rowData.exp, CVSReader.uintParse); + this.columnno = 2; + rowData.PetsAttributes.Read(reader, this.m_DataHandler); + this.columnno = 3; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new PetLevelTable.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/PetLevelTable.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/PetLevelTable.cs.meta new file mode 100644 index 00000000..5f60970a --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/PetLevelTable.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 8143d22306a6f424bba4b30ce830c920 +timeCreated: 1611465694 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/PetMoodTipsTable.cs b/Client/Assets/Scripts/XUtliPoolLib/PetMoodTipsTable.cs new file mode 100644 index 00000000..52ebb28a --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/PetMoodTipsTable.cs @@ -0,0 +1,48 @@ +using System; + +namespace XUtliPoolLib +{ + public class PetMoodTipsTable : CVSReader + { + public PetMoodTipsTable.RowData[] Table = null; + + public class RowData + { + public int value; + + public string tip; + + public string icon; + + public string tips; + } + + protected override void ReadLine(XBinaryReader reader) + { + PetMoodTipsTable.RowData rowData = new PetMoodTipsTable.RowData(); + base.Read(reader, ref rowData.value, CVSReader.intParse); + this.columnno = 1; + base.Read(reader, ref rowData.tip, CVSReader.stringParse); + this.columnno = 2; + base.Read(reader, ref rowData.icon, CVSReader.stringParse); + this.columnno = 3; + base.Read(reader, ref rowData.tips, CVSReader.stringParse); + this.columnno = 6; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new PetMoodTipsTable.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/PetMoodTipsTable.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/PetMoodTipsTable.cs.meta new file mode 100644 index 00000000..e87d6836 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/PetMoodTipsTable.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 0de32e1af8318ab4fa7842e2d02f4ee4 +timeCreated: 1611465289 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/PetPassiveSkillTable.cs b/Client/Assets/Scripts/XUtliPoolLib/PetPassiveSkillTable.cs new file mode 100644 index 00000000..8f991ee3 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/PetPassiveSkillTable.cs @@ -0,0 +1,75 @@ +using System; + +namespace XUtliPoolLib +{ + public class PetPassiveSkillTable : CVSReader + { + public PetPassiveSkillTable.RowData[] Table = null; + + public class RowData + { + public uint id; + + public string name; + + public uint quality; + + public string Icon; + + public string Detail; + } + + public PetPassiveSkillTable.RowData GetByid(uint key) + { + bool flag = this.Table == null || this.Table.Length == 0; + PetPassiveSkillTable.RowData result; + if (flag) + { + result = null; + } + else + { + for (int i = 0; i < this.Table.Length; i++) + { + bool flag2 = this.Table[i].id == key; + if (flag2) + { + return this.Table[i]; + } + } + result = null; + } + return result; + } + + protected override void ReadLine(XBinaryReader reader) + { + PetPassiveSkillTable.RowData rowData = new PetPassiveSkillTable.RowData(); + base.Read(reader, ref rowData.id, CVSReader.uintParse); + this.columnno = 0; + base.Read(reader, ref rowData.name, CVSReader.stringParse); + this.columnno = 1; + base.Read(reader, ref rowData.quality, CVSReader.uintParse); + this.columnno = 2; + base.Read(reader, ref rowData.Icon, CVSReader.stringParse); + this.columnno = 6; + base.Read(reader, ref rowData.Detail, CVSReader.stringParse); + this.columnno = 7; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new PetPassiveSkillTable.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/PetPassiveSkillTable.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/PetPassiveSkillTable.cs.meta new file mode 100644 index 00000000..6e31d58a --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/PetPassiveSkillTable.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 0c77bf644e0309f44aa3aa7230e91aca +timeCreated: 1611465288 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/PetSkillBook.cs b/Client/Assets/Scripts/XUtliPoolLib/PetSkillBook.cs new file mode 100644 index 00000000..64d7302d --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/PetSkillBook.cs @@ -0,0 +1,63 @@ +using System; + +namespace XUtliPoolLib +{ + public class PetSkillBook : CVSReader + { + public PetSkillBook.RowData[] Table = null; + + public class RowData + { + public uint itemid; + + public string Description; + } + + public PetSkillBook.RowData GetByitemid(uint key) + { + bool flag = this.Table == null || this.Table.Length == 0; + PetSkillBook.RowData result; + if (flag) + { + result = null; + } + else + { + for (int i = 0; i < this.Table.Length; i++) + { + bool flag2 = this.Table[i].itemid == key; + if (flag2) + { + return this.Table[i]; + } + } + result = null; + } + return result; + } + + protected override void ReadLine(XBinaryReader reader) + { + PetSkillBook.RowData rowData = new PetSkillBook.RowData(); + base.Read(reader, ref rowData.itemid, CVSReader.uintParse); + this.columnno = 0; + base.Read(reader, ref rowData.Description, CVSReader.stringParse); + this.columnno = 3; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new PetSkillBook.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/PetSkillBook.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/PetSkillBook.cs.meta new file mode 100644 index 00000000..487cbf4e --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/PetSkillBook.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 98ef2a92ed5bbf446851ab780131066d +timeCreated: 1611465709 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/PhotographEffectCfg.cs b/Client/Assets/Scripts/XUtliPoolLib/PhotographEffectCfg.cs new file mode 100644 index 00000000..7f9cfcf0 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/PhotographEffectCfg.cs @@ -0,0 +1,60 @@ +using System; + +namespace XUtliPoolLib +{ + public class PhotographEffectCfg : CVSReader + { + public PhotographEffectCfg.RowData[] Table = null; + + public class RowData + { + public uint EffectID; + + public SeqListRef Condition; + + public string EffectName; + + public string EffectRoute; + + public string ConditionDesc; + + public string desc; + + public uint SystemID; + } + + protected override void ReadLine(XBinaryReader reader) + { + PhotographEffectCfg.RowData rowData = new PhotographEffectCfg.RowData(); + base.Read(reader, ref rowData.EffectID, CVSReader.uintParse); + this.columnno = 0; + rowData.Condition.Read(reader, this.m_DataHandler); + this.columnno = 1; + base.Read(reader, ref rowData.EffectName, CVSReader.stringParse); + this.columnno = 2; + base.Read(reader, ref rowData.EffectRoute, CVSReader.stringParse); + this.columnno = 3; + base.Read(reader, ref rowData.ConditionDesc, CVSReader.stringParse); + this.columnno = 4; + base.Read(reader, ref rowData.desc, CVSReader.stringParse); + this.columnno = 5; + base.Read(reader, ref rowData.SystemID, CVSReader.uintParse); + this.columnno = 6; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new PhotographEffectCfg.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/PhotographEffectCfg.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/PhotographEffectCfg.cs.meta new file mode 100644 index 00000000..718909d1 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/PhotographEffectCfg.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 6547ccbad38e07549aa73cc371774e43 +timeCreated: 1611465683 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/PkPointTable.cs b/Client/Assets/Scripts/XUtliPoolLib/PkPointTable.cs new file mode 100644 index 00000000..c030d726 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/PkPointTable.cs @@ -0,0 +1,44 @@ +using System; + +namespace XUtliPoolLib +{ + public class PkPointTable : CVSReader + { + public PkPointTable.RowData[] Table = null; + + public class RowData + { + public uint point; + + public SeqListRef reward; + + public int IconIndex; + } + + protected override void ReadLine(XBinaryReader reader) + { + PkPointTable.RowData rowData = new PkPointTable.RowData(); + base.Read(reader, ref rowData.point, CVSReader.uintParse); + this.columnno = 0; + rowData.reward.Read(reader, this.m_DataHandler); + this.columnno = 1; + base.Read(reader, ref rowData.IconIndex, CVSReader.intParse); + this.columnno = 3; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new PkPointTable.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/PkPointTable.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/PkPointTable.cs.meta new file mode 100644 index 00000000..c474ebcd --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/PkPointTable.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: bdbc77a6d3ee7ad418ecbc34d5013a7f +timeCreated: 1611465750 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/PkProfessionTable.cs b/Client/Assets/Scripts/XUtliPoolLib/PkProfessionTable.cs new file mode 100644 index 00000000..fef09287 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/PkProfessionTable.cs @@ -0,0 +1,36 @@ +using System; + +namespace XUtliPoolLib +{ + public class PkProfessionTable : CVSReader + { + public PkProfessionTable.RowData[] Table = null; + + public class RowData + { + public byte[] SceneType; + } + + protected override void ReadLine(XBinaryReader reader) + { + PkProfessionTable.RowData rowData = new PkProfessionTable.RowData(); + base.ReadArray(reader, ref rowData.SceneType, CVSReader.byteParse); + this.columnno = 13; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new PkProfessionTable.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/PkProfessionTable.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/PkProfessionTable.cs.meta new file mode 100644 index 00000000..3c034ecc --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/PkProfessionTable.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 0deafab2f894cf24f9514cac531b3838 +timeCreated: 1611465289 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/PkRankTable.cs b/Client/Assets/Scripts/XUtliPoolLib/PkRankTable.cs new file mode 100644 index 00000000..42bb7739 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/PkRankTable.cs @@ -0,0 +1,40 @@ +using System; + +namespace XUtliPoolLib +{ + public class PkRankTable : CVSReader + { + public PkRankTable.RowData[] Table = null; + + public class RowData + { + public SeqRef rank; + + public SeqListRef reward; + } + + protected override void ReadLine(XBinaryReader reader) + { + PkRankTable.RowData rowData = new PkRankTable.RowData(); + rowData.rank.Read(reader, this.m_DataHandler); + this.columnno = 0; + rowData.reward.Read(reader, this.m_DataHandler); + this.columnno = 1; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new PkRankTable.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/PkRankTable.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/PkRankTable.cs.meta new file mode 100644 index 00000000..652587eb --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/PkRankTable.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 24697a3d086d7ee49b307e45f590676e +timeCreated: 1611465300 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/PlantSeed.cs b/Client/Assets/Scripts/XUtliPoolLib/PlantSeed.cs new file mode 100644 index 00000000..eadbad89 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/PlantSeed.cs @@ -0,0 +1,119 @@ +using System; + +namespace XUtliPoolLib +{ + public class PlantSeed : CVSReader + { + public PlantSeed.RowData[] Table = null; + + public class RowData + { + public uint SeedID; + + public string SeedName; + + public SeqRef PlantID; + + public string PlantName; + + public uint GrowUpAmount; + + public uint GrowUpAmountPerMinute; + + public uint PredictGrowUpTime; + + public SeqRef HarvestPlant; + + public SeqRef ExtraDropItem; + + public uint IncreaseGrowUpRate; + + public uint ReduceGrowUpRate; + + public uint PlantStateCD; + + public uint BadStateGrowUpRate; + + public SeqRef StealAward; + + public uint CanStealMaxTimes; + + public uint InitUpAmount; + } + + public PlantSeed.RowData GetBySeedID(uint key) + { + bool flag = this.Table == null || this.Table.Length == 0; + PlantSeed.RowData result; + if (flag) + { + result = null; + } + else + { + for (int i = 0; i < this.Table.Length; i++) + { + bool flag2 = this.Table[i].SeedID == key; + if (flag2) + { + return this.Table[i]; + } + } + result = null; + } + return result; + } + + protected override void ReadLine(XBinaryReader reader) + { + PlantSeed.RowData rowData = new PlantSeed.RowData(); + base.Read(reader, ref rowData.SeedID, CVSReader.uintParse); + this.columnno = 0; + base.Read(reader, ref rowData.SeedName, CVSReader.stringParse); + this.columnno = 1; + rowData.PlantID.Read(reader, this.m_DataHandler); + this.columnno = 2; + base.Read(reader, ref rowData.PlantName, CVSReader.stringParse); + this.columnno = 3; + base.Read(reader, ref rowData.GrowUpAmount, CVSReader.uintParse); + this.columnno = 8; + base.Read(reader, ref rowData.GrowUpAmountPerMinute, CVSReader.uintParse); + this.columnno = 9; + base.Read(reader, ref rowData.PredictGrowUpTime, CVSReader.uintParse); + this.columnno = 10; + rowData.HarvestPlant.Read(reader, this.m_DataHandler); + this.columnno = 12; + rowData.ExtraDropItem.Read(reader, this.m_DataHandler); + this.columnno = 15; + base.Read(reader, ref rowData.IncreaseGrowUpRate, CVSReader.uintParse); + this.columnno = 17; + base.Read(reader, ref rowData.ReduceGrowUpRate, CVSReader.uintParse); + this.columnno = 18; + base.Read(reader, ref rowData.PlantStateCD, CVSReader.uintParse); + this.columnno = 19; + base.Read(reader, ref rowData.BadStateGrowUpRate, CVSReader.uintParse); + this.columnno = 21; + rowData.StealAward.Read(reader, this.m_DataHandler); + this.columnno = 22; + base.Read(reader, ref rowData.CanStealMaxTimes, CVSReader.uintParse); + this.columnno = 27; + base.Read(reader, ref rowData.InitUpAmount, CVSReader.uintParse); + this.columnno = 28; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new PlantSeed.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/PlantSeed.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/PlantSeed.cs.meta new file mode 100644 index 00000000..a2f20536 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/PlantSeed.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: dfc754c3bc676d6479ef3da5274df27e +timeCreated: 1611465799 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/PlantSprite.cs b/Client/Assets/Scripts/XUtliPoolLib/PlantSprite.cs new file mode 100644 index 00000000..58b112d0 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/PlantSprite.cs @@ -0,0 +1,71 @@ +using System; + +namespace XUtliPoolLib +{ + public class PlantSprite : CVSReader + { + public PlantSprite.RowData[] Table = null; + + public class RowData + { + public uint SpriteID; + + public uint ReduceGrowth; + + public uint EffectGrowRate; + + public string[] Dialogues; + } + + public PlantSprite.RowData GetBySpriteID(uint key) + { + bool flag = this.Table == null || this.Table.Length == 0; + PlantSprite.RowData result; + if (flag) + { + result = null; + } + else + { + for (int i = 0; i < this.Table.Length; i++) + { + bool flag2 = this.Table[i].SpriteID == key; + if (flag2) + { + return this.Table[i]; + } + } + result = null; + } + return result; + } + + protected override void ReadLine(XBinaryReader reader) + { + PlantSprite.RowData rowData = new PlantSprite.RowData(); + base.Read(reader, ref rowData.SpriteID, CVSReader.uintParse); + this.columnno = 0; + base.Read(reader, ref rowData.ReduceGrowth, CVSReader.uintParse); + this.columnno = 2; + base.Read(reader, ref rowData.EffectGrowRate, CVSReader.uintParse); + this.columnno = 3; + base.ReadArray(reader, ref rowData.Dialogues, CVSReader.stringParse); + this.columnno = 7; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new PlantSprite.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/PlantSprite.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/PlantSprite.cs.meta new file mode 100644 index 00000000..8e7b57b2 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/PlantSprite.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: c194d517453271d4d9e028983890033c +timeCreated: 1611465753 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/PlayerInfo.cs b/Client/Assets/Scripts/XUtliPoolLib/PlayerInfo.cs new file mode 100644 index 00000000..c5187229 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/PlayerInfo.cs @@ -0,0 +1,30 @@ +using System; + +namespace XUtliPoolLib +{ + public class PlayerInfo + { + public int apiId; + + public PlayerInfo.Data data; + + public struct Data + { + public string nickName; + + public string openId; + + public string gender; + + public string pictureSmall; + + public string pictureMiddle; + + public string pictureLarge; + + public string provice; + + public string city; + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/PlayerInfo.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/PlayerInfo.cs.meta new file mode 100644 index 00000000..7d62886c --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/PlayerInfo.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: d5967c07eddbc6b49a0ae35ea1eb9910 +timeCreated: 1611465763 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/PlayerLevelTable.cs b/Client/Assets/Scripts/XUtliPoolLib/PlayerLevelTable.cs new file mode 100644 index 00000000..ed203a08 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/PlayerLevelTable.cs @@ -0,0 +1,125 @@ +using System; + +namespace XUtliPoolLib +{ + public class PlayerLevelTable : CVSReader + { + public PlayerLevelTable.RowData[] Table = null; + + public class RowData + { + public int Level; + + public long Exp; + + public int AddSkillPoint; + + public double ExpAddition; + + public uint MaxEnhanceLevel; + } + + public PlayerLevelTable.RowData GetByLevel(int key) + { + bool flag = this.Table == null || this.Table.Length == 0; + PlayerLevelTable.RowData result; + if (flag) + { + result = null; + } + else + { + result = this.BinarySearchLevel(key); + } + return result; + } + + private PlayerLevelTable.RowData BinarySearchLevel(int key) + { + int num = 0; + int num2 = this.Table.Length - 1; + PlayerLevelTable.RowData rowData; + PlayerLevelTable.RowData rowData2; + PlayerLevelTable.RowData rowData3; + for (;;) + { + rowData = this.Table[num]; + bool flag = rowData.Level == key; + if (flag) + { + break; + } + rowData2 = this.Table[num2]; + bool flag2 = rowData2.Level == key; + if (flag2) + { + goto Block_2; + } + bool flag3 = num2 - num <= 1; + if (flag3) + { + goto Block_3; + } + int num3 = num + (num2 - num) / 2; + rowData3 = this.Table[num3]; + bool flag4 = rowData3.Level.CompareTo(key) > 0; + if (flag4) + { + num2 = num3; + } + else + { + bool flag5 = rowData3.Level.CompareTo(key) < 0; + if (!flag5) + { + goto IL_B1; + } + num = num3; + } + if (num >= num2) + { + goto Block_6; + } + } + return rowData; + Block_2: + return rowData2; + Block_3: + return null; + IL_B1: + return rowData3; + Block_6: + return null; + } + + protected override void ReadLine(XBinaryReader reader) + { + PlayerLevelTable.RowData rowData = new PlayerLevelTable.RowData(); + base.Read(reader, ref rowData.Level, CVSReader.intParse); + this.columnno = 0; + base.Read(reader, ref rowData.Exp, CVSReader.longParse); + this.columnno = 1; + base.Read(reader, ref rowData.AddSkillPoint, CVSReader.intParse); + this.columnno = 10; + base.Read(reader, ref rowData.ExpAddition, CVSReader.doubleParse); + this.columnno = 11; + base.Read(reader, ref rowData.MaxEnhanceLevel, CVSReader.uintParse); + this.columnno = 12; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new PlayerLevelTable.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/PlayerLevelTable.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/PlayerLevelTable.cs.meta new file mode 100644 index 00000000..0ca3a097 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/PlayerLevelTable.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 99b2a7fbc3719b743be288cd9cfee765 +timeCreated: 1611465710 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/PokerTournamentReward.cs b/Client/Assets/Scripts/XUtliPoolLib/PokerTournamentReward.cs new file mode 100644 index 00000000..ddc07de4 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/PokerTournamentReward.cs @@ -0,0 +1,40 @@ +using System; + +namespace XUtliPoolLib +{ + public class PokerTournamentReward : CVSReader + { + public PokerTournamentReward.RowData[] Table = null; + + public class RowData + { + public SeqRef Rank; + + public SeqListRef Reward; + } + + protected override void ReadLine(XBinaryReader reader) + { + PokerTournamentReward.RowData rowData = new PokerTournamentReward.RowData(); + rowData.Rank.Read(reader, this.m_DataHandler); + this.columnno = 0; + rowData.Reward.Read(reader, this.m_DataHandler); + this.columnno = 1; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new PokerTournamentReward.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/PokerTournamentReward.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/PokerTournamentReward.cs.meta new file mode 100644 index 00000000..c3fc2b83 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/PokerTournamentReward.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 5050360e9c2f242418b0dff42002ed78 +timeCreated: 1611465643 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/PowerPointCoeffTable.cs b/Client/Assets/Scripts/XUtliPoolLib/PowerPointCoeffTable.cs new file mode 100644 index 00000000..34373766 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/PowerPointCoeffTable.cs @@ -0,0 +1,44 @@ +using System; + +namespace XUtliPoolLib +{ + public class PowerPointCoeffTable : CVSReader + { + public PowerPointCoeffTable.RowData[] Table = null; + + public class RowData + { + public int AttributeID; + + public uint Profession; + + public double Weight; + } + + protected override void ReadLine(XBinaryReader reader) + { + PowerPointCoeffTable.RowData rowData = new PowerPointCoeffTable.RowData(); + base.Read(reader, ref rowData.AttributeID, CVSReader.intParse); + this.columnno = 0; + base.Read(reader, ref rowData.Profession, CVSReader.uintParse); + this.columnno = 1; + base.Read(reader, ref rowData.Weight, CVSReader.doubleParse); + this.columnno = 2; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new PowerPointCoeffTable.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/PowerPointCoeffTable.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/PowerPointCoeffTable.cs.meta new file mode 100644 index 00000000..fffda4d3 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/PowerPointCoeffTable.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 1113c2c5c0c5238428c0a0e104f2a4f1 +timeCreated: 1611465291 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/PreloadAnimationList.cs b/Client/Assets/Scripts/XUtliPoolLib/PreloadAnimationList.cs new file mode 100644 index 00000000..da6d4b0c --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/PreloadAnimationList.cs @@ -0,0 +1,40 @@ +using System; + +namespace XUtliPoolLib +{ + public class PreloadAnimationList : CVSReader + { + public PreloadAnimationList.RowData[] Table = null; + + public class RowData + { + public int SceneID; + + public string AnimName; + } + + protected override void ReadLine(XBinaryReader reader) + { + PreloadAnimationList.RowData rowData = new PreloadAnimationList.RowData(); + base.Read(reader, ref rowData.SceneID, CVSReader.intParse); + this.columnno = 0; + base.Read(reader, ref rowData.AnimName, CVSReader.stringParse); + this.columnno = 1; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new PreloadAnimationList.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/PreloadAnimationList.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/PreloadAnimationList.cs.meta new file mode 100644 index 00000000..963de5fc --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/PreloadAnimationList.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: a9e75503ce6391246a77b62e18951c85 +timeCreated: 1611465740 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/Prerogative.cs b/Client/Assets/Scripts/XUtliPoolLib/Prerogative.cs new file mode 100644 index 00000000..0c441ff3 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/Prerogative.cs @@ -0,0 +1,129 @@ +using System; + +namespace XUtliPoolLib +{ + public class Prerogative : CVSReader + { + public Prerogative.RowData[] Table = null; + + public class RowData + { + public uint Level; + + public uint MinDiamond; + + public uint MinScore; + + public string PreSprite; + + public uint[] PreAuthor; + + public SeqRef PreIcon; + } + + public Prerogative.RowData GetByLevel(uint key) + { + bool flag = this.Table == null || this.Table.Length == 0; + Prerogative.RowData result; + if (flag) + { + result = null; + } + else + { + result = this.BinarySearchLevel(key); + } + return result; + } + + private Prerogative.RowData BinarySearchLevel(uint key) + { + int num = 0; + int num2 = this.Table.Length - 1; + Prerogative.RowData rowData; + Prerogative.RowData rowData2; + Prerogative.RowData rowData3; + for (;;) + { + rowData = this.Table[num]; + bool flag = rowData.Level == key; + if (flag) + { + break; + } + rowData2 = this.Table[num2]; + bool flag2 = rowData2.Level == key; + if (flag2) + { + goto Block_2; + } + bool flag3 = num2 - num <= 1; + if (flag3) + { + goto Block_3; + } + int num3 = num + (num2 - num) / 2; + rowData3 = this.Table[num3]; + bool flag4 = rowData3.Level.CompareTo(key) > 0; + if (flag4) + { + num2 = num3; + } + else + { + bool flag5 = rowData3.Level.CompareTo(key) < 0; + if (!flag5) + { + goto IL_B1; + } + num = num3; + } + if (num >= num2) + { + goto Block_6; + } + } + return rowData; + Block_2: + return rowData2; + Block_3: + return null; + IL_B1: + return rowData3; + Block_6: + return null; + } + + protected override void ReadLine(XBinaryReader reader) + { + Prerogative.RowData rowData = new Prerogative.RowData(); + base.Read(reader, ref rowData.Level, CVSReader.uintParse); + this.columnno = 0; + base.Read(reader, ref rowData.MinDiamond, CVSReader.uintParse); + this.columnno = 1; + base.Read(reader, ref rowData.MinScore, CVSReader.uintParse); + this.columnno = 2; + base.Read(reader, ref rowData.PreSprite, CVSReader.stringParse); + this.columnno = 3; + base.ReadArray(reader, ref rowData.PreAuthor, CVSReader.uintParse); + this.columnno = 4; + rowData.PreIcon.Read(reader, this.m_DataHandler); + this.columnno = 5; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new Prerogative.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/Prerogative.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/Prerogative.cs.meta new file mode 100644 index 00000000..5b6bc5f7 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/Prerogative.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: bbd4f2ccaccb5ae4da977047c75e0af2 +timeCreated: 1611465749 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/PrerogativeContent.cs b/Client/Assets/Scripts/XUtliPoolLib/PrerogativeContent.cs new file mode 100644 index 00000000..9f86005c --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/PrerogativeContent.cs @@ -0,0 +1,137 @@ +using System; + +namespace XUtliPoolLib +{ + public class PrerogativeContent : CVSReader + { + public PrerogativeContent.RowData[] Table = null; + + public class RowData + { + public uint ID; + + public uint Type; + + public string Content; + + public uint Normal; + + public string Icon; + + public SeqRef Item; + + public string Name; + + public uint HintID; + } + + public PrerogativeContent.RowData GetByID(uint key) + { + bool flag = this.Table == null || this.Table.Length == 0; + PrerogativeContent.RowData result; + if (flag) + { + result = null; + } + else + { + result = this.BinarySearchID(key); + } + return result; + } + + private PrerogativeContent.RowData BinarySearchID(uint key) + { + int num = 0; + int num2 = this.Table.Length - 1; + PrerogativeContent.RowData rowData; + PrerogativeContent.RowData rowData2; + PrerogativeContent.RowData rowData3; + for (;;) + { + rowData = this.Table[num]; + bool flag = rowData.ID == key; + if (flag) + { + break; + } + rowData2 = this.Table[num2]; + bool flag2 = rowData2.ID == key; + if (flag2) + { + goto Block_2; + } + bool flag3 = num2 - num <= 1; + if (flag3) + { + goto Block_3; + } + int num3 = num + (num2 - num) / 2; + rowData3 = this.Table[num3]; + bool flag4 = rowData3.ID.CompareTo(key) > 0; + if (flag4) + { + num2 = num3; + } + else + { + bool flag5 = rowData3.ID.CompareTo(key) < 0; + if (!flag5) + { + goto IL_B1; + } + num = num3; + } + if (num >= num2) + { + goto Block_6; + } + } + return rowData; + Block_2: + return rowData2; + Block_3: + return null; + IL_B1: + return rowData3; + Block_6: + return null; + } + + protected override void ReadLine(XBinaryReader reader) + { + PrerogativeContent.RowData rowData = new PrerogativeContent.RowData(); + base.Read(reader, ref rowData.ID, CVSReader.uintParse); + this.columnno = 0; + base.Read(reader, ref rowData.Type, CVSReader.uintParse); + this.columnno = 1; + base.Read(reader, ref rowData.Content, CVSReader.stringParse); + this.columnno = 2; + base.Read(reader, ref rowData.Normal, CVSReader.uintParse); + this.columnno = 3; + base.Read(reader, ref rowData.Icon, CVSReader.stringParse); + this.columnno = 4; + rowData.Item.Read(reader, this.m_DataHandler); + this.columnno = 5; + base.Read(reader, ref rowData.Name, CVSReader.stringParse); + this.columnno = 6; + base.Read(reader, ref rowData.HintID, CVSReader.uintParse); + this.columnno = 7; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new PrerogativeContent.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/PrerogativeContent.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/PrerogativeContent.cs.meta new file mode 100644 index 00000000..9d2ad7c1 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/PrerogativeContent.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: a99dc0936a6ae6a47843488bc8954f2d +timeCreated: 1611465739 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/ProfSkillTable.cs b/Client/Assets/Scripts/XUtliPoolLib/ProfSkillTable.cs new file mode 100644 index 00000000..c9b83fc9 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/ProfSkillTable.cs @@ -0,0 +1,139 @@ +using System; + +namespace XUtliPoolLib +{ + public class ProfSkillTable : CVSReader + { + public ProfSkillTable.RowData[] Table = null; + + public class RowData + { + public int ProfID; + + public string ProfName; + + public string Skill1; + + public string Skill2; + + public string Skill3; + + public string Skill4; + + public string ProfIcon; + + public string ProfPic; + + public string ProfHeadIcon; + + public string ProfHeadIcon2; + + public float FixedEnmity; + + public float EnmityCoefficient; + + public string Description; + + public uint PromoteExperienceID; + + public uint OperateLevel; + + public bool PromoteLR; + + public string ProfNameIcon; + + public string ProfIntro; + + public string ProfTypeIntro; + + public string ProfWord1; + + public string ProfWord2; + } + + public ProfSkillTable.RowData GetByProfID(int key) + { + bool flag = this.Table == null || this.Table.Length == 0; + ProfSkillTable.RowData result; + if (flag) + { + result = null; + } + else + { + for (int i = 0; i < this.Table.Length; i++) + { + bool flag2 = this.Table[i].ProfID == key; + if (flag2) + { + return this.Table[i]; + } + } + result = null; + } + return result; + } + + protected override void ReadLine(XBinaryReader reader) + { + ProfSkillTable.RowData rowData = new ProfSkillTable.RowData(); + base.Read(reader, ref rowData.ProfID, CVSReader.intParse); + this.columnno = 0; + base.Read(reader, ref rowData.ProfName, CVSReader.stringParse); + this.columnno = 1; + base.Read(reader, ref rowData.Skill1, CVSReader.stringParse); + this.columnno = 2; + base.Read(reader, ref rowData.Skill2, CVSReader.stringParse); + this.columnno = 3; + base.Read(reader, ref rowData.Skill3, CVSReader.stringParse); + this.columnno = 4; + base.Read(reader, ref rowData.Skill4, CVSReader.stringParse); + this.columnno = 5; + base.Read(reader, ref rowData.ProfIcon, CVSReader.stringParse); + this.columnno = 6; + base.Read(reader, ref rowData.ProfPic, CVSReader.stringParse); + this.columnno = 7; + base.Read(reader, ref rowData.ProfHeadIcon, CVSReader.stringParse); + this.columnno = 8; + base.Read(reader, ref rowData.ProfHeadIcon2, CVSReader.stringParse); + this.columnno = 9; + base.Read(reader, ref rowData.FixedEnmity, CVSReader.floatParse); + this.columnno = 10; + base.Read(reader, ref rowData.EnmityCoefficient, CVSReader.floatParse); + this.columnno = 11; + base.Read(reader, ref rowData.Description, CVSReader.stringParse); + this.columnno = 12; + base.Read(reader, ref rowData.PromoteExperienceID, CVSReader.uintParse); + this.columnno = 13; + base.Read(reader, ref rowData.OperateLevel, CVSReader.uintParse); + this.columnno = 14; + base.Read(reader, ref rowData.PromoteLR, CVSReader.boolParse); + this.columnno = 15; + base.Read(reader, ref rowData.ProfNameIcon, CVSReader.stringParse); + this.columnno = 16; + base.Read(reader, ref rowData.ProfIntro, CVSReader.stringParse); + this.columnno = 17; + base.Read(reader, ref rowData.ProfTypeIntro, CVSReader.stringParse); + this.columnno = 18; + base.Read(reader, ref rowData.ProfWord1, CVSReader.stringParse); + this.columnno = 19; + base.Read(reader, ref rowData.ProfWord2, CVSReader.stringParse); + this.columnno = 20; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new ProfSkillTable.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/ProfSkillTable.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/ProfSkillTable.cs.meta new file mode 100644 index 00000000..9c422ca9 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/ProfSkillTable.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 339ad1055582e5040b50b26f144f800a +timeCreated: 1611465310 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/ProfessionConvertTable.cs b/Client/Assets/Scripts/XUtliPoolLib/ProfessionConvertTable.cs new file mode 100644 index 00000000..ce23e61d --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/ProfessionConvertTable.cs @@ -0,0 +1,76 @@ +using System; + +namespace XUtliPoolLib +{ + public class ProfessionConvertTable : CVSReader + { + public ProfessionConvertTable.RowData[] Table = null; + + public class RowData + { + public int ProfessionID; + + public int AttributeID; + + public double PhysicalAtk; + + public double PhysicalDef; + + public double MagicAtk; + + public double MagicDef; + + public double Critical; + + public double CritResist; + + public double MaxHP; + + public double MaxMP; + + public double CritDamage; + } + + protected override void ReadLine(XBinaryReader reader) + { + ProfessionConvertTable.RowData rowData = new ProfessionConvertTable.RowData(); + base.Read(reader, ref rowData.ProfessionID, CVSReader.intParse); + this.columnno = 0; + base.Read(reader, ref rowData.AttributeID, CVSReader.intParse); + this.columnno = 1; + base.Read(reader, ref rowData.PhysicalAtk, CVSReader.doubleParse); + this.columnno = 2; + base.Read(reader, ref rowData.PhysicalDef, CVSReader.doubleParse); + this.columnno = 3; + base.Read(reader, ref rowData.MagicAtk, CVSReader.doubleParse); + this.columnno = 4; + base.Read(reader, ref rowData.MagicDef, CVSReader.doubleParse); + this.columnno = 5; + base.Read(reader, ref rowData.Critical, CVSReader.doubleParse); + this.columnno = 6; + base.Read(reader, ref rowData.CritResist, CVSReader.doubleParse); + this.columnno = 7; + base.Read(reader, ref rowData.MaxHP, CVSReader.doubleParse); + this.columnno = 12; + base.Read(reader, ref rowData.MaxMP, CVSReader.doubleParse); + this.columnno = 13; + base.Read(reader, ref rowData.CritDamage, CVSReader.doubleParse); + this.columnno = 15; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new ProfessionConvertTable.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/ProfessionConvertTable.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/ProfessionConvertTable.cs.meta new file mode 100644 index 00000000..ec3767d8 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/ProfessionConvertTable.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: d7807ff8a87e1b340beb33382225fdce +timeCreated: 1611465764 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/ProfessionTable.cs b/Client/Assets/Scripts/XUtliPoolLib/ProfessionTable.cs new file mode 100644 index 00000000..e8627785 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/ProfessionTable.cs @@ -0,0 +1,71 @@ +using System; + +namespace XUtliPoolLib +{ + public class ProfessionTable : CVSReader + { + public ProfessionTable.RowData[] Table = null; + + public class RowData + { + public uint ID; + + public uint PresentID; + + public uint AttackType; + + public uint AwakeHair; + } + + public ProfessionTable.RowData GetByProfID(uint key) + { + bool flag = this.Table == null || this.Table.Length == 0; + ProfessionTable.RowData result; + if (flag) + { + result = null; + } + else + { + for (int i = 0; i < this.Table.Length; i++) + { + bool flag2 = this.Table[i].ID == key; + if (flag2) + { + return this.Table[i]; + } + } + result = null; + } + return result; + } + + protected override void ReadLine(XBinaryReader reader) + { + ProfessionTable.RowData rowData = new ProfessionTable.RowData(); + base.Read(reader, ref rowData.ID, CVSReader.uintParse); + this.columnno = 0; + base.Read(reader, ref rowData.PresentID, CVSReader.uintParse); + this.columnno = 3; + base.Read(reader, ref rowData.AttackType, CVSReader.uintParse); + this.columnno = 6; + base.Read(reader, ref rowData.AwakeHair, CVSReader.uintParse); + this.columnno = 8; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new ProfessionTable.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/ProfessionTable.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/ProfessionTable.cs.meta new file mode 100644 index 00000000..50e5e650 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/ProfessionTable.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 82ff2448977168442ac2a516e6c5071e +timeCreated: 1611465694 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/PushMessageTable.cs b/Client/Assets/Scripts/XUtliPoolLib/PushMessageTable.cs new file mode 100644 index 00000000..bbf2b5d9 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/PushMessageTable.cs @@ -0,0 +1,56 @@ +using System; + +namespace XUtliPoolLib +{ + public class PushMessageTable : CVSReader + { + public PushMessageTable.RowData[] Table = null; + + public class RowData + { + public uint Type; + + public string Title; + + public string Content; + + public uint IsCommonGlobal; + + public uint[] Time; + + public uint[] WeekDay; + } + + protected override void ReadLine(XBinaryReader reader) + { + PushMessageTable.RowData rowData = new PushMessageTable.RowData(); + base.Read(reader, ref rowData.Type, CVSReader.uintParse); + this.columnno = 0; + base.Read(reader, ref rowData.Title, CVSReader.stringParse); + this.columnno = 3; + base.Read(reader, ref rowData.Content, CVSReader.stringParse); + this.columnno = 4; + base.Read(reader, ref rowData.IsCommonGlobal, CVSReader.uintParse); + this.columnno = 5; + base.ReadArray(reader, ref rowData.Time, CVSReader.uintParse); + this.columnno = 6; + base.ReadArray(reader, ref rowData.WeekDay, CVSReader.uintParse); + this.columnno = 8; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new PushMessageTable.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/PushMessageTable.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/PushMessageTable.cs.meta new file mode 100644 index 00000000..0690995a --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/PushMessageTable.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 70c722f3fb5797d44ae0e5943f58fe45 +timeCreated: 1611465687 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/PushSetting.cs b/Client/Assets/Scripts/XUtliPoolLib/PushSetting.cs new file mode 100644 index 00000000..96bb7fb1 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/PushSetting.cs @@ -0,0 +1,56 @@ +using System; + +namespace XUtliPoolLib +{ + public class PushSetting : CVSReader + { + public PushSetting.RowData[] Table = null; + + public class RowData + { + public uint Type; + + public string ConfigName; + + public uint TimeOrSystem; + + public string Time; + + public string WeekDay; + + public string ConfigKey; + } + + protected override void ReadLine(XBinaryReader reader) + { + PushSetting.RowData rowData = new PushSetting.RowData(); + base.Read(reader, ref rowData.Type, CVSReader.uintParse); + this.columnno = 0; + base.Read(reader, ref rowData.ConfigName, CVSReader.stringParse); + this.columnno = 1; + base.Read(reader, ref rowData.TimeOrSystem, CVSReader.uintParse); + this.columnno = 2; + base.Read(reader, ref rowData.Time, CVSReader.stringParse); + this.columnno = 3; + base.Read(reader, ref rowData.WeekDay, CVSReader.stringParse); + this.columnno = 4; + base.Read(reader, ref rowData.ConfigKey, CVSReader.stringParse); + this.columnno = 5; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new PushSetting.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/PushSetting.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/PushSetting.cs.meta new file mode 100644 index 00000000..013cb09c --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/PushSetting.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 813bcf01851af5d48aa08621b856e338 +timeCreated: 1611465693 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/PushSubscribeTable.cs b/Client/Assets/Scripts/XUtliPoolLib/PushSubscribeTable.cs new file mode 100644 index 00000000..bfa3ff11 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/PushSubscribeTable.cs @@ -0,0 +1,71 @@ +using System; + +namespace XUtliPoolLib +{ + public class PushSubscribeTable : CVSReader + { + public PushSubscribeTable.RowData[] Table = null; + + public class RowData + { + public uint MsgId; + + public bool IsShow; + + public string SubscribeDescription; + + public string CancelDescription; + } + + public PushSubscribeTable.RowData GetByMsgId(uint key) + { + bool flag = this.Table == null || this.Table.Length == 0; + PushSubscribeTable.RowData result; + if (flag) + { + result = null; + } + else + { + for (int i = 0; i < this.Table.Length; i++) + { + bool flag2 = this.Table[i].MsgId == key; + if (flag2) + { + return this.Table[i]; + } + } + result = null; + } + return result; + } + + protected override void ReadLine(XBinaryReader reader) + { + PushSubscribeTable.RowData rowData = new PushSubscribeTable.RowData(); + base.Read(reader, ref rowData.MsgId, CVSReader.uintParse); + this.columnno = 0; + base.Read(reader, ref rowData.IsShow, CVSReader.boolParse); + this.columnno = 4; + base.Read(reader, ref rowData.SubscribeDescription, CVSReader.stringParse); + this.columnno = 5; + base.Read(reader, ref rowData.CancelDescription, CVSReader.stringParse); + this.columnno = 6; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new PushSubscribeTable.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/PushSubscribeTable.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/PushSubscribeTable.cs.meta new file mode 100644 index 00000000..fe09db38 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/PushSubscribeTable.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 4b25098b593b18a4d978624b28b81fdb +timeCreated: 1611465640 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/PveProfessionTable.cs b/Client/Assets/Scripts/XUtliPoolLib/PveProfessionTable.cs new file mode 100644 index 00000000..c1a5f09b --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/PveProfessionTable.cs @@ -0,0 +1,40 @@ +using System; + +namespace XUtliPoolLib +{ + public class PveProfessionTable : CVSReader + { + public PveProfessionTable.RowData[] Table = null; + + public class RowData + { + public uint SceneID; + + public short ProfessionID; + } + + protected override void ReadLine(XBinaryReader reader) + { + PveProfessionTable.RowData rowData = new PveProfessionTable.RowData(); + base.Read(reader, ref rowData.SceneID, CVSReader.uintParse); + this.columnno = 1; + base.Read(reader, ref rowData.ProfessionID, CVSReader.shortParse); + this.columnno = 14; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new PveProfessionTable.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/PveProfessionTable.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/PveProfessionTable.cs.meta new file mode 100644 index 00000000..a375a9d0 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/PveProfessionTable.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: e834cc6e7cc15e0479e4b18889a34617 +timeCreated: 1611465802 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/QAConditionTable.cs b/Client/Assets/Scripts/XUtliPoolLib/QAConditionTable.cs new file mode 100644 index 00000000..4f092a91 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/QAConditionTable.cs @@ -0,0 +1,63 @@ +using System; + +namespace XUtliPoolLib +{ + public class QAConditionTable : CVSReader + { + public QAConditionTable.RowData[] Table = null; + + public class RowData + { + public int QAType; + + public SeqListRef LevelSection; + } + + public QAConditionTable.RowData GetByQAType(int key) + { + bool flag = this.Table == null || this.Table.Length == 0; + QAConditionTable.RowData result; + if (flag) + { + result = null; + } + else + { + for (int i = 0; i < this.Table.Length; i++) + { + bool flag2 = this.Table[i].QAType == key; + if (flag2) + { + return this.Table[i]; + } + } + result = null; + } + return result; + } + + protected override void ReadLine(XBinaryReader reader) + { + QAConditionTable.RowData rowData = new QAConditionTable.RowData(); + base.Read(reader, ref rowData.QAType, CVSReader.intParse); + this.columnno = 0; + rowData.LevelSection.Read(reader, this.m_DataHandler); + this.columnno = 10; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new QAConditionTable.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/QAConditionTable.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/QAConditionTable.cs.meta new file mode 100644 index 00000000..d627dbe2 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/QAConditionTable.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 560defc3b5baa7b4a817f93abcdf2aed +timeCreated: 1611465645 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/QALevelRewardTable.cs b/Client/Assets/Scripts/XUtliPoolLib/QALevelRewardTable.cs new file mode 100644 index 00000000..63088e18 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/QALevelRewardTable.cs @@ -0,0 +1,79 @@ +using System; + +namespace XUtliPoolLib +{ + public class QALevelRewardTable : CVSReader + { + public QALevelRewardTable.RowData[] Table = null; + + public class RowData + { + public uint ID; + + public uint QAType; + + public uint MinLevel; + + public uint MaxLevel; + + public SeqListRef Reward; + + public SeqListRef ExtraReward; + } + + public QALevelRewardTable.RowData GetByID(uint key) + { + bool flag = this.Table == null || this.Table.Length == 0; + QALevelRewardTable.RowData result; + if (flag) + { + result = null; + } + else + { + for (int i = 0; i < this.Table.Length; i++) + { + bool flag2 = this.Table[i].ID == key; + if (flag2) + { + return this.Table[i]; + } + } + result = null; + } + return result; + } + + protected override void ReadLine(XBinaryReader reader) + { + QALevelRewardTable.RowData rowData = new QALevelRewardTable.RowData(); + base.Read(reader, ref rowData.ID, CVSReader.uintParse); + this.columnno = 0; + base.Read(reader, ref rowData.QAType, CVSReader.uintParse); + this.columnno = 1; + base.Read(reader, ref rowData.MinLevel, CVSReader.uintParse); + this.columnno = 2; + base.Read(reader, ref rowData.MaxLevel, CVSReader.uintParse); + this.columnno = 3; + rowData.Reward.Read(reader, this.m_DataHandler); + this.columnno = 4; + rowData.ExtraReward.Read(reader, this.m_DataHandler); + this.columnno = 5; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new QALevelRewardTable.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/QALevelRewardTable.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/QALevelRewardTable.cs.meta new file mode 100644 index 00000000..180105da --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/QALevelRewardTable.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 9701c3b848b60614e9950bd200599858 +timeCreated: 1611465708 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/QuestionLibraryTable.cs b/Client/Assets/Scripts/XUtliPoolLib/QuestionLibraryTable.cs new file mode 100644 index 00000000..587e04e1 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/QuestionLibraryTable.cs @@ -0,0 +1,121 @@ +using System; + +namespace XUtliPoolLib +{ + public class QuestionLibraryTable : CVSReader + { + public QuestionLibraryTable.RowData[] Table = null; + + public class RowData + { + public int ID; + + public string Question; + + public int TimeLimit; + + public uint Week; + } + + public QuestionLibraryTable.RowData GetByID(int key) + { + bool flag = this.Table == null || this.Table.Length == 0; + QuestionLibraryTable.RowData result; + if (flag) + { + result = null; + } + else + { + result = this.BinarySearchID(key); + } + return result; + } + + private QuestionLibraryTable.RowData BinarySearchID(int key) + { + int num = 0; + int num2 = this.Table.Length - 1; + QuestionLibraryTable.RowData rowData; + QuestionLibraryTable.RowData rowData2; + QuestionLibraryTable.RowData rowData3; + for (;;) + { + rowData = this.Table[num]; + bool flag = rowData.ID == key; + if (flag) + { + break; + } + rowData2 = this.Table[num2]; + bool flag2 = rowData2.ID == key; + if (flag2) + { + goto Block_2; + } + bool flag3 = num2 - num <= 1; + if (flag3) + { + goto Block_3; + } + int num3 = num + (num2 - num) / 2; + rowData3 = this.Table[num3]; + bool flag4 = rowData3.ID.CompareTo(key) > 0; + if (flag4) + { + num2 = num3; + } + else + { + bool flag5 = rowData3.ID.CompareTo(key) < 0; + if (!flag5) + { + goto IL_B1; + } + num = num3; + } + if (num >= num2) + { + goto Block_6; + } + } + return rowData; + Block_2: + return rowData2; + Block_3: + return null; + IL_B1: + return rowData3; + Block_6: + return null; + } + + protected override void ReadLine(XBinaryReader reader) + { + QuestionLibraryTable.RowData rowData = new QuestionLibraryTable.RowData(); + base.Read(reader, ref rowData.ID, CVSReader.intParse); + this.columnno = 0; + base.Read(reader, ref rowData.Question, CVSReader.stringParse); + this.columnno = 2; + base.Read(reader, ref rowData.TimeLimit, CVSReader.intParse); + this.columnno = 4; + base.Read(reader, ref rowData.Week, CVSReader.uintParse); + this.columnno = 7; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new QuestionLibraryTable.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/QuestionLibraryTable.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/QuestionLibraryTable.cs.meta new file mode 100644 index 00000000..91faacfd --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/QuestionLibraryTable.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: f275f66d89c705948be3f46a7ff2d72a +timeCreated: 1611465807 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/QueuePool.cs b/Client/Assets/Scripts/XUtliPoolLib/QueuePool.cs new file mode 100644 index 00000000..397c6010 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/QueuePool.cs @@ -0,0 +1,31 @@ +using System; +using System.Collections.Generic; + +namespace XUtliPoolLib +{ + public class QueuePool + { + private static readonly ObjectPool> s_Pool = new ObjectPool>(new ObjectPool>.CreateObj(QueuePool.Create), delegate(Queue l) + { + l.Clear(); + }, delegate(Queue l) + { + l.Clear(); + }); + + public static Queue Create() + { + return new Queue(); + } + + public static Queue Get() + { + return QueuePool.s_Pool.Get(); + } + + public static void Release(Queue toRelease) + { + QueuePool.s_Pool.Release(toRelease); + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/QueuePool.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/QueuePool.cs.meta new file mode 100644 index 00000000..4a9486eb --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/QueuePool.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 1797fa325921ba14d9d660217412d38f +timeCreated: 1611465295 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/QuickReplyTable.cs b/Client/Assets/Scripts/XUtliPoolLib/QuickReplyTable.cs new file mode 100644 index 00000000..f18941e7 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/QuickReplyTable.cs @@ -0,0 +1,67 @@ +using System; + +namespace XUtliPoolLib +{ + public class QuickReplyTable : CVSReader + { + public QuickReplyTable.RowData[] Table = null; + + public class RowData + { + public int ID; + + public int Type; + + public string Content; + } + + public QuickReplyTable.RowData GetByID(int key) + { + bool flag = this.Table == null || this.Table.Length == 0; + QuickReplyTable.RowData result; + if (flag) + { + result = null; + } + else + { + for (int i = 0; i < this.Table.Length; i++) + { + bool flag2 = this.Table[i].ID == key; + if (flag2) + { + return this.Table[i]; + } + } + result = null; + } + return result; + } + + protected override void ReadLine(XBinaryReader reader) + { + QuickReplyTable.RowData rowData = new QuickReplyTable.RowData(); + base.Read(reader, ref rowData.ID, CVSReader.intParse); + this.columnno = 0; + base.Read(reader, ref rowData.Type, CVSReader.intParse); + this.columnno = 1; + base.Read(reader, ref rowData.Content, CVSReader.stringParse); + this.columnno = 2; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new QuickReplyTable.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/QuickReplyTable.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/QuickReplyTable.cs.meta new file mode 100644 index 00000000..a4708a56 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/QuickReplyTable.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 8ea8cfe3283a07b4ebc690dddb08c866 +timeCreated: 1611465703 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/RandomAttributes.cs b/Client/Assets/Scripts/XUtliPoolLib/RandomAttributes.cs new file mode 100644 index 00000000..f4a48a67 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/RandomAttributes.cs @@ -0,0 +1,56 @@ +using System; + +namespace XUtliPoolLib +{ + public class RandomAttributes : CVSReader + { + public RandomAttributes.RowData[] Table = null; + + public class RowData + { + public uint EquipID; + + public byte Slot; + + public byte AttrID; + + public byte Prob; + + public SeqRef Range; + + public byte CanSmelt; + } + + protected override void ReadLine(XBinaryReader reader) + { + RandomAttributes.RowData rowData = new RandomAttributes.RowData(); + base.Read(reader, ref rowData.EquipID, CVSReader.uintParse); + this.columnno = 0; + base.Read(reader, ref rowData.Slot, CVSReader.byteParse); + this.columnno = 1; + base.Read(reader, ref rowData.AttrID, CVSReader.byteParse); + this.columnno = 2; + base.Read(reader, ref rowData.Prob, CVSReader.byteParse); + this.columnno = 3; + rowData.Range.Read(reader, this.m_DataHandler); + this.columnno = 5; + base.Read(reader, ref rowData.CanSmelt, CVSReader.byteParse); + this.columnno = 10; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new RandomAttributes.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/RandomAttributes.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/RandomAttributes.cs.meta new file mode 100644 index 00000000..1c4eeaab --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/RandomAttributes.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 3b22fcc1fca66e44d9f165616251c867 +timeCreated: 1611465632 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/RandomBossTable.cs b/Client/Assets/Scripts/XUtliPoolLib/RandomBossTable.cs new file mode 100644 index 00000000..22dec19c --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/RandomBossTable.cs @@ -0,0 +1,40 @@ +using System; + +namespace XUtliPoolLib +{ + public class RandomBossTable : CVSReader + { + public RandomBossTable.RowData[] Table = null; + + public class RowData + { + public int RandomID; + + public int EntityID; + } + + protected override void ReadLine(XBinaryReader reader) + { + RandomBossTable.RowData rowData = new RandomBossTable.RowData(); + base.Read(reader, ref rowData.RandomID, CVSReader.intParse); + this.columnno = 0; + base.Read(reader, ref rowData.EntityID, CVSReader.intParse); + this.columnno = 1; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new RandomBossTable.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/RandomBossTable.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/RandomBossTable.cs.meta new file mode 100644 index 00000000..9a71b811 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/RandomBossTable.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 871b6c7a37aec7146ab5beb2b4b272be +timeCreated: 1611465696 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/RandomName.cs b/Client/Assets/Scripts/XUtliPoolLib/RandomName.cs new file mode 100644 index 00000000..889f28df --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/RandomName.cs @@ -0,0 +1,117 @@ +using System; + +namespace XUtliPoolLib +{ + public class RandomName : CVSReader + { + public RandomName.RowData[] Table = null; + + public class RowData + { + public int ID; + + public string FirstName; + + public string LastName; + } + + public RandomName.RowData GetByID(int key) + { + bool flag = this.Table == null || this.Table.Length == 0; + RandomName.RowData result; + if (flag) + { + result = null; + } + else + { + result = this.BinarySearchID(key); + } + return result; + } + + private RandomName.RowData BinarySearchID(int key) + { + int num = 0; + int num2 = this.Table.Length - 1; + RandomName.RowData rowData; + RandomName.RowData rowData2; + RandomName.RowData rowData3; + for (;;) + { + rowData = this.Table[num]; + bool flag = rowData.ID == key; + if (flag) + { + break; + } + rowData2 = this.Table[num2]; + bool flag2 = rowData2.ID == key; + if (flag2) + { + goto Block_2; + } + bool flag3 = num2 - num <= 1; + if (flag3) + { + goto Block_3; + } + int num3 = num + (num2 - num) / 2; + rowData3 = this.Table[num3]; + bool flag4 = rowData3.ID.CompareTo(key) > 0; + if (flag4) + { + num2 = num3; + } + else + { + bool flag5 = rowData3.ID.CompareTo(key) < 0; + if (!flag5) + { + goto IL_B1; + } + num = num3; + } + if (num >= num2) + { + goto Block_6; + } + } + return rowData; + Block_2: + return rowData2; + Block_3: + return null; + IL_B1: + return rowData3; + Block_6: + return null; + } + + protected override void ReadLine(XBinaryReader reader) + { + RandomName.RowData rowData = new RandomName.RowData(); + base.Read(reader, ref rowData.ID, CVSReader.intParse); + this.columnno = 0; + base.Read(reader, ref rowData.FirstName, CVSReader.stringParse); + this.columnno = 1; + base.Read(reader, ref rowData.LastName, CVSReader.stringParse); + this.columnno = 2; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new RandomName.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/RandomName.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/RandomName.cs.meta new file mode 100644 index 00000000..5eb339a0 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/RandomName.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 79c79458a3238c04d89361ffebf05fee +timeCreated: 1611465692 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/RandomSceneTable.cs b/Client/Assets/Scripts/XUtliPoolLib/RandomSceneTable.cs new file mode 100644 index 00000000..62619f35 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/RandomSceneTable.cs @@ -0,0 +1,40 @@ +using System; + +namespace XUtliPoolLib +{ + public class RandomSceneTable : CVSReader + { + public RandomSceneTable.RowData[] Table = null; + + public class RowData + { + public uint RandomID; + + public uint SceneID; + } + + protected override void ReadLine(XBinaryReader reader) + { + RandomSceneTable.RowData rowData = new RandomSceneTable.RowData(); + base.Read(reader, ref rowData.RandomID, CVSReader.uintParse); + this.columnno = 0; + base.Read(reader, ref rowData.SceneID, CVSReader.uintParse); + this.columnno = 1; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new RandomSceneTable.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/RandomSceneTable.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/RandomSceneTable.cs.meta new file mode 100644 index 00000000..777281a6 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/RandomSceneTable.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 79213f508b5ebd142ae90a1354b18006 +timeCreated: 1611465692 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/RandomTaskTable.cs b/Client/Assets/Scripts/XUtliPoolLib/RandomTaskTable.cs new file mode 100644 index 00000000..5286471d --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/RandomTaskTable.cs @@ -0,0 +1,75 @@ +using System; + +namespace XUtliPoolLib +{ + public class RandomTaskTable : CVSReader + { + public RandomTaskTable.RowData[] Table = null; + + public class RowData + { + public int TaskID; + + public string TaskDescription; + + public int TaskCondition; + + public int TaskParam; + + public SeqListRef TaskReward; + } + + public RandomTaskTable.RowData GetByTaskID(int key) + { + bool flag = this.Table == null || this.Table.Length == 0; + RandomTaskTable.RowData result; + if (flag) + { + result = null; + } + else + { + for (int i = 0; i < this.Table.Length; i++) + { + bool flag2 = this.Table[i].TaskID == key; + if (flag2) + { + return this.Table[i]; + } + } + result = null; + } + return result; + } + + protected override void ReadLine(XBinaryReader reader) + { + RandomTaskTable.RowData rowData = new RandomTaskTable.RowData(); + base.Read(reader, ref rowData.TaskID, CVSReader.intParse); + this.columnno = 0; + base.Read(reader, ref rowData.TaskDescription, CVSReader.stringParse); + this.columnno = 2; + base.Read(reader, ref rowData.TaskCondition, CVSReader.intParse); + this.columnno = 3; + base.Read(reader, ref rowData.TaskParam, CVSReader.intParse); + this.columnno = 4; + rowData.TaskReward.Read(reader, this.m_DataHandler); + this.columnno = 5; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new RandomTaskTable.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/RandomTaskTable.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/RandomTaskTable.cs.meta new file mode 100644 index 00000000..93703d52 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/RandomTaskTable.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 6fffbab3e8f8bd64582e9ddc6742bfab +timeCreated: 1611465687 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/RechargeTable.cs b/Client/Assets/Scripts/XUtliPoolLib/RechargeTable.cs new file mode 100644 index 00000000..d5a40902 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/RechargeTable.cs @@ -0,0 +1,64 @@ +using System; + +namespace XUtliPoolLib +{ + public class RechargeTable : CVSReader + { + public RechargeTable.RowData[] Table = null; + + public class RowData + { + public string ParamID; + + public int Price; + + public int Diamond; + + public SeqListRef RoleLevels; + + public SeqListRef LoginDays; + + public int SystemID; + + public string Name; + + public string ServiceCode; + } + + protected override void ReadLine(XBinaryReader reader) + { + RechargeTable.RowData rowData = new RechargeTable.RowData(); + base.Read(reader, ref rowData.ParamID, CVSReader.stringParse); + this.columnno = 0; + base.Read(reader, ref rowData.Price, CVSReader.intParse); + this.columnno = 1; + base.Read(reader, ref rowData.Diamond, CVSReader.intParse); + this.columnno = 2; + rowData.RoleLevels.Read(reader, this.m_DataHandler); + this.columnno = 3; + rowData.LoginDays.Read(reader, this.m_DataHandler); + this.columnno = 4; + base.Read(reader, ref rowData.SystemID, CVSReader.intParse); + this.columnno = 5; + base.Read(reader, ref rowData.Name, CVSReader.stringParse); + this.columnno = 6; + base.Read(reader, ref rowData.ServiceCode, CVSReader.stringParse); + this.columnno = 7; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new RechargeTable.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/RechargeTable.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/RechargeTable.cs.meta new file mode 100644 index 00000000..f17f6976 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/RechargeTable.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: dcca8c7e69ece064cb910996892f2b1e +timeCreated: 1611465796 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/RecommendFightNum.cs b/Client/Assets/Scripts/XUtliPoolLib/RecommendFightNum.cs new file mode 100644 index 00000000..3d112e9b --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/RecommendFightNum.cs @@ -0,0 +1,48 @@ +using System; + +namespace XUtliPoolLib +{ + public class RecommendFightNum : CVSReader + { + public RecommendFightNum.RowData[] Table = null; + + public class RowData + { + public uint Level; + + public uint SystemID; + + public uint Total; + + public uint Point; + } + + protected override void ReadLine(XBinaryReader reader) + { + RecommendFightNum.RowData rowData = new RecommendFightNum.RowData(); + base.Read(reader, ref rowData.Level, CVSReader.uintParse); + this.columnno = 0; + base.Read(reader, ref rowData.SystemID, CVSReader.uintParse); + this.columnno = 1; + base.Read(reader, ref rowData.Total, CVSReader.uintParse); + this.columnno = 2; + base.Read(reader, ref rowData.Point, CVSReader.uintParse); + this.columnno = 3; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new RecommendFightNum.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/RecommendFightNum.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/RecommendFightNum.cs.meta new file mode 100644 index 00000000..5ec6646a --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/RecommendFightNum.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 5573e272dcf9a9542a27011b56539e68 +timeCreated: 1611465645 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/RenameList.cs b/Client/Assets/Scripts/XUtliPoolLib/RenameList.cs new file mode 100644 index 00000000..6a06a9e6 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/RenameList.cs @@ -0,0 +1,63 @@ +using System; + +namespace XUtliPoolLib +{ + public class RenameList : CVSReader + { + public RenameList.RowData[] Table = null; + + public class RowData + { + public int id; + + public int cost; + } + + public RenameList.RowData GetByid(int key) + { + bool flag = this.Table == null || this.Table.Length == 0; + RenameList.RowData result; + if (flag) + { + result = null; + } + else + { + for (int i = 0; i < this.Table.Length; i++) + { + bool flag2 = this.Table[i].id == key; + if (flag2) + { + return this.Table[i]; + } + } + result = null; + } + return result; + } + + protected override void ReadLine(XBinaryReader reader) + { + RenameList.RowData rowData = new RenameList.RowData(); + base.Read(reader, ref rowData.id, CVSReader.intParse); + this.columnno = 0; + base.Read(reader, ref rowData.cost, CVSReader.intParse); + this.columnno = 1; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new RenameList.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/RenameList.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/RenameList.cs.meta new file mode 100644 index 00000000..e983ec18 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/RenameList.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 4e206ada584e31549877df2d9bb69f6b +timeCreated: 1611465642 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/ResetCallback.cs b/Client/Assets/Scripts/XUtliPoolLib/ResetCallback.cs new file mode 100644 index 00000000..c7e302db --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/ResetCallback.cs @@ -0,0 +1,6 @@ +using System; + +namespace XUtliPoolLib +{ + public delegate void ResetCallback(); +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/ResetCallback.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/ResetCallback.cs.meta new file mode 100644 index 00000000..2ce55e92 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/ResetCallback.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 4701ea3effa1db14094c7965db08d05a +timeCreated: 1611465638 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/Rift.cs b/Client/Assets/Scripts/XUtliPoolLib/Rift.cs new file mode 100644 index 00000000..d4fc422f --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/Rift.cs @@ -0,0 +1,64 @@ +using System; + +namespace XUtliPoolLib +{ + public class Rift : CVSReader + { + public Rift.RowData[] Table = null; + + public class RowData + { + public int id; + + public int floor; + + public int attack; + + public int hp; + + public SeqListRef weekfirstpass; + + public SeqListRef weekcommonpass; + + public int buffcounts; + + public uint RecommendPower; + } + + protected override void ReadLine(XBinaryReader reader) + { + Rift.RowData rowData = new Rift.RowData(); + base.Read(reader, ref rowData.id, CVSReader.intParse); + this.columnno = 0; + base.Read(reader, ref rowData.floor, CVSReader.intParse); + this.columnno = 1; + base.Read(reader, ref rowData.attack, CVSReader.intParse); + this.columnno = 2; + base.Read(reader, ref rowData.hp, CVSReader.intParse); + this.columnno = 3; + rowData.weekfirstpass.Read(reader, this.m_DataHandler); + this.columnno = 4; + rowData.weekcommonpass.Read(reader, this.m_DataHandler); + this.columnno = 5; + base.Read(reader, ref rowData.buffcounts, CVSReader.intParse); + this.columnno = 6; + base.Read(reader, ref rowData.RecommendPower, CVSReader.uintParse); + this.columnno = 7; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new Rift.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/Rift.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/Rift.cs.meta new file mode 100644 index 00000000..f8c018e1 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/Rift.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 45f5f309c8d16c54d946ca80a801950a +timeCreated: 1611465638 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/RiftBuffSuitMonsterType.cs b/Client/Assets/Scripts/XUtliPoolLib/RiftBuffSuitMonsterType.cs new file mode 100644 index 00000000..62cb33fa --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/RiftBuffSuitMonsterType.cs @@ -0,0 +1,52 @@ +using System; + +namespace XUtliPoolLib +{ + public class RiftBuffSuitMonsterType : CVSReader + { + public RiftBuffSuitMonsterType.RowData[] Table = null; + + public class RowData + { + public SeqRef buff; + + public uint[] suitmonstertype; + + public string atlas; + + public string icon; + + public string scription; + } + + protected override void ReadLine(XBinaryReader reader) + { + RiftBuffSuitMonsterType.RowData rowData = new RiftBuffSuitMonsterType.RowData(); + rowData.buff.Read(reader, this.m_DataHandler); + this.columnno = 0; + base.ReadArray(reader, ref rowData.suitmonstertype, CVSReader.uintParse); + this.columnno = 1; + base.Read(reader, ref rowData.atlas, CVSReader.stringParse); + this.columnno = 2; + base.Read(reader, ref rowData.icon, CVSReader.stringParse); + this.columnno = 3; + base.Read(reader, ref rowData.scription, CVSReader.stringParse); + this.columnno = 4; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new RiftBuffSuitMonsterType.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/RiftBuffSuitMonsterType.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/RiftBuffSuitMonsterType.cs.meta new file mode 100644 index 00000000..2c542efb --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/RiftBuffSuitMonsterType.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 4562985e3e4c706429d886fac83b92a9 +timeCreated: 1611465637 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/RiftRankReward.cs b/Client/Assets/Scripts/XUtliPoolLib/RiftRankReward.cs new file mode 100644 index 00000000..e7fce59d --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/RiftRankReward.cs @@ -0,0 +1,44 @@ +using System; + +namespace XUtliPoolLib +{ + public class RiftRankReward : CVSReader + { + public RiftRankReward.RowData[] Table = null; + + public class RowData + { + public int levelrange; + + public SeqRef rank; + + public SeqListRef reward; + } + + protected override void ReadLine(XBinaryReader reader) + { + RiftRankReward.RowData rowData = new RiftRankReward.RowData(); + base.Read(reader, ref rowData.levelrange, CVSReader.intParse); + this.columnno = 0; + rowData.rank.Read(reader, this.m_DataHandler); + this.columnno = 1; + rowData.reward.Read(reader, this.m_DataHandler); + this.columnno = 2; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new RiftRankReward.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/RiftRankReward.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/RiftRankReward.cs.meta new file mode 100644 index 00000000..4edbc658 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/RiftRankReward.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: be03289f38fda3b4a957c6d773d47237 +timeCreated: 1611465751 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/RiftType.cs b/Client/Assets/Scripts/XUtliPoolLib/RiftType.cs new file mode 100644 index 00000000..0bbb4138 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/RiftType.cs @@ -0,0 +1,52 @@ +using System; + +namespace XUtliPoolLib +{ + public class RiftType : CVSReader + { + public RiftType.RowData[] Table = null; + + public class RowData + { + public int id; + + public int sceneid; + + public int worldlevel; + + public int bufflibrary; + + public int buffcounts; + } + + protected override void ReadLine(XBinaryReader reader) + { + RiftType.RowData rowData = new RiftType.RowData(); + base.Read(reader, ref rowData.id, CVSReader.intParse); + this.columnno = 0; + base.Read(reader, ref rowData.sceneid, CVSReader.intParse); + this.columnno = 1; + base.Read(reader, ref rowData.worldlevel, CVSReader.intParse); + this.columnno = 2; + base.Read(reader, ref rowData.bufflibrary, CVSReader.intParse); + this.columnno = 3; + base.Read(reader, ref rowData.buffcounts, CVSReader.intParse); + this.columnno = 4; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new RiftType.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/RiftType.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/RiftType.cs.meta new file mode 100644 index 00000000..d6548463 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/RiftType.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 92dd83962a5033c4a98bd5e8b957f44a +timeCreated: 1611465706 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/RiftWelfareReward.cs b/Client/Assets/Scripts/XUtliPoolLib/RiftWelfareReward.cs new file mode 100644 index 00000000..5cc0b425 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/RiftWelfareReward.cs @@ -0,0 +1,44 @@ +using System; + +namespace XUtliPoolLib +{ + public class RiftWelfareReward : CVSReader + { + public RiftWelfareReward.RowData[] Table = null; + + public class RowData + { + public int levelrange; + + public SeqRef floor; + + public SeqListRef reward; + } + + protected override void ReadLine(XBinaryReader reader) + { + RiftWelfareReward.RowData rowData = new RiftWelfareReward.RowData(); + base.Read(reader, ref rowData.levelrange, CVSReader.intParse); + this.columnno = 0; + rowData.floor.Read(reader, this.m_DataHandler); + this.columnno = 1; + rowData.reward.Read(reader, this.m_DataHandler); + this.columnno = 2; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new RiftWelfareReward.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/RiftWelfareReward.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/RiftWelfareReward.cs.meta new file mode 100644 index 00000000..9723bcce --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/RiftWelfareReward.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 5967334a3f8ae0547b7e4046123bb33e +timeCreated: 1611465646 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/RiskMapFile.cs b/Client/Assets/Scripts/XUtliPoolLib/RiskMapFile.cs new file mode 100644 index 00000000..48f3ac67 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/RiskMapFile.cs @@ -0,0 +1,99 @@ +using System; + +namespace XUtliPoolLib +{ + public class RiskMapFile : CVSReader + { + public RiskMapFile.RowData[] Table = null; + + public class RowData + { + public int MapID; + + public int NeedLevel; + + public string FileName; + + public int StepSizeX; + + public int StepSizeY; + + public int StartUIX; + + public int StartUIY; + + public SeqListRef BoxPreview; + + public string MapBgName; + + public string MapTittleName; + + public string MapGridBg; + } + + public RiskMapFile.RowData GetByMapID(int key) + { + bool flag = this.Table == null || this.Table.Length == 0; + RiskMapFile.RowData result; + if (flag) + { + result = null; + } + else + { + for (int i = 0; i < this.Table.Length; i++) + { + bool flag2 = this.Table[i].MapID == key; + if (flag2) + { + return this.Table[i]; + } + } + result = null; + } + return result; + } + + protected override void ReadLine(XBinaryReader reader) + { + RiskMapFile.RowData rowData = new RiskMapFile.RowData(); + base.Read(reader, ref rowData.MapID, CVSReader.intParse); + this.columnno = 0; + base.Read(reader, ref rowData.NeedLevel, CVSReader.intParse); + this.columnno = 1; + base.Read(reader, ref rowData.FileName, CVSReader.stringParse); + this.columnno = 2; + base.Read(reader, ref rowData.StepSizeX, CVSReader.intParse); + this.columnno = 3; + base.Read(reader, ref rowData.StepSizeY, CVSReader.intParse); + this.columnno = 4; + base.Read(reader, ref rowData.StartUIX, CVSReader.intParse); + this.columnno = 5; + base.Read(reader, ref rowData.StartUIY, CVSReader.intParse); + this.columnno = 6; + rowData.BoxPreview.Read(reader, this.m_DataHandler); + this.columnno = 7; + base.Read(reader, ref rowData.MapBgName, CVSReader.stringParse); + this.columnno = 8; + base.Read(reader, ref rowData.MapTittleName, CVSReader.stringParse); + this.columnno = 9; + base.Read(reader, ref rowData.MapGridBg, CVSReader.stringParse); + this.columnno = 10; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new RiskMapFile.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/RiskMapFile.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/RiskMapFile.cs.meta new file mode 100644 index 00000000..d5079017 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/RiskMapFile.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 9769e39acc644fd47a1000a5f008fe39 +timeCreated: 1611465708 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/SceneTable.cs b/Client/Assets/Scripts/XUtliPoolLib/SceneTable.cs new file mode 100644 index 00000000..ca75a7ad --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/SceneTable.cs @@ -0,0 +1,441 @@ +using System; + +namespace XUtliPoolLib +{ + public class SceneTable : CVSReader + { + public SceneTable.RowData[] Table = null; + + public class RowData + { + public int id; + + public byte type; + + public string configFile; + + public SeqListRef StartPos; + + public float[] StartRot; + + public string sceneFile; + + public byte syncMode; + + public string BlockFilePath; + + public short[] UIPos; + + public int Exp; + + public int Money; + + public short Chapter; + + public string Comment; + + public int RecommendPower; + + public byte RequiredLevel; + + public int[] FirstDownDrop; + + public int[] ViewableDropList; + + public SeqListRef FatigueCost; + + public string EndCutScene; + + public float EndCutSceneTime; + + public SeqListRef WinCondition; + + public SeqListRef LoseCondition; + + public short DayLimit; + + public bool CanDrawBox; + + public bool HasFlyOut; + + public uint DayLimitGroupID; + + public string DynamicScene; + + public bool CanPause; + + public short[] OperationSettings; + + public string BGM; + + public bool ShowUp; + + public SeqListRef FirstSSS; + + public int[] PreScene; + + public int SceneChest; + + public short[] BoxUIPos; + + public string[] LoadingTips; + + public string[] LoadingPic; + + public bool SceneCanNavi; + + public float HurtCoef; + + public string MiniMap; + + public short[] MiniMapSize; + + public short MiniMapRotation; + + public short PreTask; + + public bool SwitchToSelf; + + public string SceneAI; + + public bool ShowAutoFight; + + public float GuildExpBounus; + + public string FailText; + + public string RecommendHint; + + public byte TeamInfoDefaultTab; + + public byte CombatType; + + public int SweepNeedPPT; + + public short ReviveNumb; + + public SeqListRef ReviveCost; + + public bool CanRevive; + + public short[] TimeCounter; + + public bool HasComboBuff; + + public byte AutoReturn; + + public uint StoryDriver; + + public SeqListRef ReviveMoneyCost; + + public string LeaveSceneTip; + + public string ReviveBuffTip; + + public bool ShowSkill; + + public string WinConditionTips; + + public float DelayTransfer; + + public SeqRef DPS; + + public bool IsCanQuit; + + public byte CanVIPRevive; + + public bool ShowNormalAttack; + + public bool HideTeamIndicate; + + public string BattleExplainTips; + + public byte[] ShieldSight; + + public string ScenePath; + + public SeqListRef EnvSet; + + public float SpecifiedTargetLocatedRange; + + public float[] StaticMiniMapCenter; + + public byte VipReviveLimit; + + public float[] MiniMapOutSize; + + public bool ShowBattleStatistics; + + public SeqRef PeerBox; + + public SeqRef SelectBoxTime; + + public uint[] SweepTicket; + + public uint CycleLimitTime; + + public SeqListRef AwardRate; + } + + public SceneTable.RowData GetBySceneID(int key) + { + bool flag = this.Table == null || this.Table.Length == 0; + SceneTable.RowData result; + if (flag) + { + result = null; + } + else + { + result = this.BinarySearchSceneID(key); + } + return result; + } + + private SceneTable.RowData BinarySearchSceneID(int key) + { + int num = 0; + int num2 = this.Table.Length - 1; + SceneTable.RowData rowData; + SceneTable.RowData rowData2; + SceneTable.RowData rowData3; + for (;;) + { + rowData = this.Table[num]; + bool flag = rowData.id == key; + if (flag) + { + break; + } + rowData2 = this.Table[num2]; + bool flag2 = rowData2.id == key; + if (flag2) + { + goto Block_2; + } + bool flag3 = num2 - num <= 1; + if (flag3) + { + goto Block_3; + } + int num3 = num + (num2 - num) / 2; + rowData3 = this.Table[num3]; + bool flag4 = rowData3.id.CompareTo(key) > 0; + if (flag4) + { + num2 = num3; + } + else + { + bool flag5 = rowData3.id.CompareTo(key) < 0; + if (!flag5) + { + goto IL_B1; + } + num = num3; + } + if (num >= num2) + { + goto Block_6; + } + } + return rowData; + Block_2: + return rowData2; + Block_3: + return null; + IL_B1: + return rowData3; + Block_6: + return null; + } + + protected override void ReadLine(XBinaryReader reader) + { + SceneTable.RowData rowData = new SceneTable.RowData(); + base.Read(reader, ref rowData.id, CVSReader.intParse); + this.columnno = 0; + base.Read(reader, ref rowData.type, CVSReader.byteParse); + this.columnno = 1; + base.Read(reader, ref rowData.configFile, CVSReader.stringParse); + this.columnno = 2; + rowData.StartPos.Read(reader, this.m_DataHandler); + this.columnno = 3; + base.ReadArray(reader, ref rowData.StartRot, CVSReader.floatParse); + this.columnno = 4; + base.Read(reader, ref rowData.sceneFile, CVSReader.stringParse); + this.columnno = 5; + base.Read(reader, ref rowData.syncMode, CVSReader.byteParse); + this.columnno = 6; + base.Read(reader, ref rowData.BlockFilePath, CVSReader.stringParse); + this.columnno = 7; + base.ReadArray(reader, ref rowData.UIPos, CVSReader.shortParse); + this.columnno = 8; + base.Read(reader, ref rowData.Exp, CVSReader.intParse); + this.columnno = 9; + base.Read(reader, ref rowData.Money, CVSReader.intParse); + this.columnno = 10; + base.Read(reader, ref rowData.Chapter, CVSReader.shortParse); + this.columnno = 12; + base.Read(reader, ref rowData.Comment, CVSReader.stringParse); + this.columnno = 13; + base.Read(reader, ref rowData.RecommendPower, CVSReader.intParse); + this.columnno = 14; + base.Read(reader, ref rowData.RequiredLevel, CVSReader.byteParse); + this.columnno = 20; + base.ReadArray(reader, ref rowData.FirstDownDrop, CVSReader.intParse); + this.columnno = 23; + base.ReadArray(reader, ref rowData.ViewableDropList, CVSReader.intParse); + this.columnno = 25; + rowData.FatigueCost.Read(reader, this.m_DataHandler); + this.columnno = 27; + base.Read(reader, ref rowData.EndCutScene, CVSReader.stringParse); + this.columnno = 28; + base.Read(reader, ref rowData.EndCutSceneTime, CVSReader.floatParse); + this.columnno = 29; + rowData.WinCondition.Read(reader, this.m_DataHandler); + this.columnno = 33; + rowData.LoseCondition.Read(reader, this.m_DataHandler); + this.columnno = 34; + base.Read(reader, ref rowData.DayLimit, CVSReader.shortParse); + this.columnno = 35; + base.Read(reader, ref rowData.CanDrawBox, CVSReader.boolParse); + this.columnno = 36; + base.Read(reader, ref rowData.HasFlyOut, CVSReader.boolParse); + this.columnno = 37; + base.Read(reader, ref rowData.DayLimitGroupID, CVSReader.uintParse); + this.columnno = 38; + base.Read(reader, ref rowData.DynamicScene, CVSReader.stringParse); + this.columnno = 39; + base.Read(reader, ref rowData.CanPause, CVSReader.boolParse); + this.columnno = 42; + base.ReadArray(reader, ref rowData.OperationSettings, CVSReader.shortParse); + this.columnno = 43; + base.Read(reader, ref rowData.BGM, CVSReader.stringParse); + this.columnno = 46; + base.Read(reader, ref rowData.ShowUp, CVSReader.boolParse); + this.columnno = 47; + rowData.FirstSSS.Read(reader, this.m_DataHandler); + this.columnno = 48; + base.ReadArray(reader, ref rowData.PreScene, CVSReader.intParse); + this.columnno = 49; + base.Read(reader, ref rowData.SceneChest, CVSReader.intParse); + this.columnno = 50; + base.ReadArray(reader, ref rowData.BoxUIPos, CVSReader.shortParse); + this.columnno = 51; + base.ReadArray(reader, ref rowData.LoadingTips, CVSReader.stringParse); + this.columnno = 53; + base.ReadArray(reader, ref rowData.LoadingPic, CVSReader.stringParse); + this.columnno = 54; + base.Read(reader, ref rowData.SceneCanNavi, CVSReader.boolParse); + this.columnno = 55; + base.Read(reader, ref rowData.HurtCoef, CVSReader.floatParse); + this.columnno = 59; + base.Read(reader, ref rowData.MiniMap, CVSReader.stringParse); + this.columnno = 60; + base.ReadArray(reader, ref rowData.MiniMapSize, CVSReader.shortParse); + this.columnno = 61; + base.Read(reader, ref rowData.MiniMapRotation, CVSReader.shortParse); + this.columnno = 62; + base.Read(reader, ref rowData.PreTask, CVSReader.shortParse); + this.columnno = 63; + base.Read(reader, ref rowData.SwitchToSelf, CVSReader.boolParse); + this.columnno = 64; + base.Read(reader, ref rowData.SceneAI, CVSReader.stringParse); + this.columnno = 65; + base.Read(reader, ref rowData.ShowAutoFight, CVSReader.boolParse); + this.columnno = 66; + base.Read(reader, ref rowData.GuildExpBounus, CVSReader.floatParse); + this.columnno = 68; + base.Read(reader, ref rowData.FailText, CVSReader.stringParse); + this.columnno = 69; + base.Read(reader, ref rowData.RecommendHint, CVSReader.stringParse); + this.columnno = 71; + base.Read(reader, ref rowData.TeamInfoDefaultTab, CVSReader.byteParse); + this.columnno = 72; + base.Read(reader, ref rowData.CombatType, CVSReader.byteParse); + this.columnno = 73; + base.Read(reader, ref rowData.SweepNeedPPT, CVSReader.intParse); + this.columnno = 74; + base.Read(reader, ref rowData.ReviveNumb, CVSReader.shortParse); + this.columnno = 75; + rowData.ReviveCost.Read(reader, this.m_DataHandler); + this.columnno = 76; + base.Read(reader, ref rowData.CanRevive, CVSReader.boolParse); + this.columnno = 77; + base.ReadArray(reader, ref rowData.TimeCounter, CVSReader.shortParse); + this.columnno = 82; + base.Read(reader, ref rowData.HasComboBuff, CVSReader.boolParse); + this.columnno = 83; + base.Read(reader, ref rowData.AutoReturn, CVSReader.byteParse); + this.columnno = 85; + base.Read(reader, ref rowData.StoryDriver, CVSReader.uintParse); + this.columnno = 86; + rowData.ReviveMoneyCost.Read(reader, this.m_DataHandler); + this.columnno = 88; + base.Read(reader, ref rowData.LeaveSceneTip, CVSReader.stringParse); + this.columnno = 90; + base.Read(reader, ref rowData.ReviveBuffTip, CVSReader.stringParse); + this.columnno = 91; + base.Read(reader, ref rowData.ShowSkill, CVSReader.boolParse); + this.columnno = 93; + base.Read(reader, ref rowData.WinConditionTips, CVSReader.stringParse); + this.columnno = 94; + base.Read(reader, ref rowData.DelayTransfer, CVSReader.floatParse); + this.columnno = 95; + rowData.DPS.Read(reader, this.m_DataHandler); + this.columnno = 97; + base.Read(reader, ref rowData.IsCanQuit, CVSReader.boolParse); + this.columnno = 99; + base.Read(reader, ref rowData.CanVIPRevive, CVSReader.byteParse); + this.columnno = 100; + base.Read(reader, ref rowData.ShowNormalAttack, CVSReader.boolParse); + this.columnno = 101; + base.Read(reader, ref rowData.HideTeamIndicate, CVSReader.boolParse); + this.columnno = 102; + base.Read(reader, ref rowData.BattleExplainTips, CVSReader.stringParse); + this.columnno = 103; + base.ReadArray(reader, ref rowData.ShieldSight, CVSReader.byteParse); + this.columnno = 104; + base.Read(reader, ref rowData.ScenePath, CVSReader.stringParse); + this.columnno = 105; + rowData.EnvSet.Read(reader, this.m_DataHandler); + this.columnno = 106; + base.Read(reader, ref rowData.SpecifiedTargetLocatedRange, CVSReader.floatParse); + this.columnno = 107; + base.ReadArray(reader, ref rowData.StaticMiniMapCenter, CVSReader.floatParse); + this.columnno = 110; + base.Read(reader, ref rowData.VipReviveLimit, CVSReader.byteParse); + this.columnno = 111; + base.ReadArray(reader, ref rowData.MiniMapOutSize, CVSReader.floatParse); + this.columnno = 112; + base.Read(reader, ref rowData.ShowBattleStatistics, CVSReader.boolParse); + this.columnno = 115; + rowData.PeerBox.Read(reader, this.m_DataHandler); + this.columnno = 116; + rowData.SelectBoxTime.Read(reader, this.m_DataHandler); + this.columnno = 117; + base.ReadArray(reader, ref rowData.SweepTicket, CVSReader.uintParse); + this.columnno = 118; + base.Read(reader, ref rowData.CycleLimitTime, CVSReader.uintParse); + this.columnno = 119; + rowData.AwardRate.Read(reader, this.m_DataHandler); + this.columnno = 120; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new SceneTable.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/SceneTable.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/SceneTable.cs.meta new file mode 100644 index 00000000..104733ba --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/SceneTable.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 137a6cb83e8e71c43b8f113a0f038a1b +timeCreated: 1611465293 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/Seq2.cs b/Client/Assets/Scripts/XUtliPoolLib/Seq2.cs new file mode 100644 index 00000000..6d37b109 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/Seq2.cs @@ -0,0 +1,17 @@ +using System; + +namespace XUtliPoolLib +{ + public struct Seq2 + { + public T value0; + + public T value1; + + public Seq2(T v0, T v1) + { + this.value0 = v0; + this.value1 = v1; + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/Seq2.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/Seq2.cs.meta new file mode 100644 index 00000000..821e7f73 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/Seq2.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 65354200bbee9694cb31f6562902270a +timeCreated: 1611465682 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/SeqList.cs b/Client/Assets/Scripts/XUtliPoolLib/SeqList.cs new file mode 100644 index 00000000..d11c6018 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/SeqList.cs @@ -0,0 +1,66 @@ +using System; +using System.Collections.Generic; + +namespace XUtliPoolLib +{ + public class SeqList + { + public short Count + { + get + { + return this.m_count; + } + } + + public short Dim + { + get + { + return this.m_dim; + } + } + + public T this[int index, int dim] + { + get + { + return this.buff[index * (int)this.m_dim + dim]; + } + set + { + this.buff[index * (int)this.m_dim + dim] = value; + } + } + + public List buff; + + private short m_dim = 2; + + private short m_count = 1; + + public SeqList() + { + this.buff = new List(); + this.Reset(2, 1); + } + + public SeqList(short dim, short count) + { + this.buff = new List(); + this.Reset(dim, count); + } + + public void Reset(short dim, short count) + { + this.m_dim = dim; + this.m_count = count; + this.buff.Clear(); + this.buff.Capacity = (int)(this.m_dim * this.m_count); + for (int i = 0; i < this.buff.Capacity; i++) + { + this.buff.Add(default(T)); + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/SeqList.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/SeqList.cs.meta new file mode 100644 index 00000000..0a3b4578 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/SeqList.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 42a96b516a737a04cb8c360cc6f074cd +timeCreated: 1611465635 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/SeqListRef.cs b/Client/Assets/Scripts/XUtliPoolLib/SeqListRef.cs new file mode 100644 index 00000000..16140cb0 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/SeqListRef.cs @@ -0,0 +1,65 @@ +using System; + +namespace XUtliPoolLib +{ + public struct SeqListRef : ISeqListRef, ISeqRef + { + public int Count + { + get + { + return (int)this.count; + } + } + + public T this[int index, int key] + { + get + { + return this.dataHandler.ReadValue(SeqListRef.parser, this.allSameMask, this.startOffset, index, key); + } + } + + public static CVSReader.ValueParse parser; + + public DataHandler dataHandler; + + public byte count; + + public byte allSameMask; + + public ushort startOffset; + + public void Read(XBinaryReader stream, DataHandler dh) + { + this.count = stream.ReadByte(); + this.allSameMask = 1; + this.startOffset = 0; + bool flag = this.count > 0; + if (flag) + { + this.allSameMask = stream.ReadByte(); + this.startOffset = stream.ReadUInt16(); + } + this.dataHandler = dh; + } + + public override string ToString() + { + string text = ""; + for (int i = 0; i < (int)this.count; i++) + { + bool flag = i == (int)(this.count - 1); + if (flag) + { + text += string.Format("{0}={1}", this[i, 0], this[i, 1]); + } + else + { + text += string.Format("{0}={1}|", this[i, 0], this[i, 1]); + } + } + return text; + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/SeqListRef.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/SeqListRef.cs.meta new file mode 100644 index 00000000..2fc6c3ad --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/SeqListRef.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: c55e079344fa0cc409bc20674641a99d +timeCreated: 1611465755 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/SeqRef.cs b/Client/Assets/Scripts/XUtliPoolLib/SeqRef.cs new file mode 100644 index 00000000..582eebb6 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/SeqRef.cs @@ -0,0 +1,39 @@ +using System; + +namespace XUtliPoolLib +{ + public struct SeqRef : ISeqRef, ISeqRef + { + public T this[int key] + { + get + { + return this.bufferRef[(int)this.startOffset + key]; + } + } + + public static CVSReader.ValueParse parser; + + public T[] bufferRef; + + public ushort startOffset; + + public SeqRef(T[] buffer) + { + this.bufferRef = buffer; + this.startOffset = 0; + } + + public void Read(XBinaryReader stream, DataHandler dh) + { + ushort num = stream.ReadUInt16(); + this.bufferRef = SeqRef.parser.GetBuffer(dh); + this.startOffset = num; + } + + public override string ToString() + { + return string.Format("{0}={1}", this[0], this[1]); + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/SeqRef.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/SeqRef.cs.meta new file mode 100644 index 00000000..915c7cf0 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/SeqRef.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: daff2bdb33cb628488b55d209c0bb46f +timeCreated: 1611465794 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/SetRedpointUIHandler.cs b/Client/Assets/Scripts/XUtliPoolLib/SetRedpointUIHandler.cs new file mode 100644 index 00000000..386b590b --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/SetRedpointUIHandler.cs @@ -0,0 +1,7 @@ +using System; +using UnityEngine; + +namespace XUtliPoolLib +{ + public delegate void SetRedpointUIHandler(GameObject go); +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/SetRedpointUIHandler.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/SetRedpointUIHandler.cs.meta new file mode 100644 index 00000000..e2a1a18a --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/SetRedpointUIHandler.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 4d9bca7d7db8f2344bf4bcc0031e2eae +timeCreated: 1611465641 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/SevenImportTable.cs b/Client/Assets/Scripts/XUtliPoolLib/SevenImportTable.cs new file mode 100644 index 00000000..1f9f02f6 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/SevenImportTable.cs @@ -0,0 +1,75 @@ +using System; + +namespace XUtliPoolLib +{ + public class SevenImportTable : CVSReader + { + public SevenImportTable.RowData[] Table = null; + + public class RowData + { + public int ID; + + public int ItemID; + + public string SharedTexture; + + public string SharedIcon; + + public string DialogSharedTexture; + } + + public SevenImportTable.RowData GetByID(int key) + { + bool flag = this.Table == null || this.Table.Length == 0; + SevenImportTable.RowData result; + if (flag) + { + result = null; + } + else + { + for (int i = 0; i < this.Table.Length; i++) + { + bool flag2 = this.Table[i].ID == key; + if (flag2) + { + return this.Table[i]; + } + } + result = null; + } + return result; + } + + protected override void ReadLine(XBinaryReader reader) + { + SevenImportTable.RowData rowData = new SevenImportTable.RowData(); + base.Read(reader, ref rowData.ID, CVSReader.intParse); + this.columnno = 0; + base.Read(reader, ref rowData.ItemID, CVSReader.intParse); + this.columnno = 1; + base.Read(reader, ref rowData.SharedTexture, CVSReader.stringParse); + this.columnno = 2; + base.Read(reader, ref rowData.SharedIcon, CVSReader.stringParse); + this.columnno = 3; + base.Read(reader, ref rowData.DialogSharedTexture, CVSReader.stringParse); + this.columnno = 4; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new SevenImportTable.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/SevenImportTable.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/SevenImportTable.cs.meta new file mode 100644 index 00000000..3758bd09 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/SevenImportTable.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 4a8401f0b24088b49a692d0f5615e79d +timeCreated: 1611465640 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/ShaderManager.cs b/Client/Assets/Scripts/XUtliPoolLib/ShaderManager.cs new file mode 100644 index 00000000..17853dc0 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/ShaderManager.cs @@ -0,0 +1,316 @@ +using System; +using System.IO; +using UnityEngine; + +namespace XUtliPoolLib +{ + public sealed class ShaderManager : XSingleton + { + public static Shader _skin_effect + { + get + { + bool flag = ShaderManager.m_skin_effect == null; + if (flag) + { + ShaderManager.m_skin_effect = XSingleton.singleton.FindShader("Skin-Effect", "Custom/Skin/Effect"); + } + return ShaderManager.m_skin_effect; + } + } + + public static Shader _skin8 + { + get + { + bool flag = ShaderManager.m_skin8 == null; + if (flag) + { + ShaderManager.m_skin8 = XSingleton.singleton.FindShader("Skin-RimLightBlend8", "Custom/Skin/RimlightBlend8"); + } + return ShaderManager.m_skin8; + } + } + + public static Shader _skin_blend + { + get + { + bool flag = ShaderManager.m_skin_blend == null; + if (flag) + { + ShaderManager.m_skin_blend = XSingleton.singleton.FindShader("Skin-RimLightBlend", "Custom/Skin/RimlightBlend"); + } + return ShaderManager.m_skin_blend; + } + } + + public static Shader _skin_cutout + { + get + { + bool flag = ShaderManager.m_skin_cutout == null; + if (flag) + { + ShaderManager.m_skin_cutout = XSingleton.singleton.FindShader("Skin-RimLightBlendCutout", "Custom/Skin/RimlightBlendCutout"); + } + return ShaderManager.m_skin_cutout; + } + } + + public static Shader _skin_cutout4 + { + get + { + bool flag = ShaderManager.m_skin_cutout4 == null; + if (flag) + { + ShaderManager.m_skin_cutout4 = XSingleton.singleton.FindShader("Skin-RimLightBlendCutout4", "Custom/Skin/RimlightBlendCutout4"); + } + return ShaderManager.m_skin_cutout4; + } + } + + public static Shader _fade_maskR_noLight + { + get + { + bool flag = ShaderManager.m_fade_maskR_noLight == null; + if (flag) + { + ShaderManager.m_fade_maskR_noLight = XSingleton.singleton.FindShader("FadeMaskRNoLight", "Custom/Common/FadeMaskRNoLight"); + } + return ShaderManager.m_fade_maskR_noLight; + } + } + + public static Shader _transparentGrayMaskRNoLight + { + get + { + bool flag = ShaderManager.m_transparentGrayMaskRNoLight == null; + if (flag) + { + ShaderManager.m_transparentGrayMaskRNoLight = XSingleton.singleton.FindShader("TransparentGrayMaskRNoLight", "Custom/Common/TransparentGrayMaskRNoLight"); + } + return ShaderManager.m_transparentGrayMaskRNoLight; + } + } + + public static Shader _color + { + get + { + bool flag = ShaderManager.m_color == null; + if (flag) + { + ShaderManager.m_color = Shader.Find("Custom/Effect/Color"); + } + return ShaderManager.m_color; + } + } + + public static Shader _maskR + { + get + { + bool flag = ShaderManager.m_maskR == null; + if (flag) + { + ShaderManager.m_maskR = XSingleton.singleton.FindShader("CustomShadowR", "Custom/Scene/CustomShadowR"); + } + return ShaderManager.m_maskR; + } + } + + public static Shader _radialBlur + { + get + { + bool flag = ShaderManager.m_radialBlur == null; + if (flag) + { + ShaderManager.m_radialBlur = XSingleton.singleton.FindShader("RadialBlur", "Hidden/radialBlur"); + } + return ShaderManager.m_radialBlur; + } + } + + public static Shader _blackWhite + { + get + { + bool flag = ShaderManager.m_blackWhite == null; + if (flag) + { + ShaderManager.m_blackWhite = XSingleton.singleton.FindShader("BlackWhite", "Hidden/blackWhite"); + } + return ShaderManager.m_blackWhite; + } + } + + public static Shader _gausBlur + { + get + { + bool flag = ShaderManager.m_gausBlur == null; + if (flag) + { + ShaderManager.m_gausBlur = XSingleton.singleton.FindShader("BlurEffectConeTaps", "Hidden/BlurEffectConeTap"); + } + return ShaderManager.m_gausBlur; + } + } + + private static Shader m_skin_effect = null; + + private static Shader m_skin8 = null; + + private static Shader m_skin_blend = null; + + private static Shader m_skin_cutout = null; + + private static Shader m_skin_cutout4 = null; + + private static Shader m_fade_maskR_noLight = null; + + private static Shader m_transparentGrayMaskRNoLight = null; + + private static Shader m_color = null; + + private static Shader m_maskR = null; + + public static Shader _maskG; + + public static Shader _maskB; + + public static Shader _maskA; + + private static Shader m_radialBlur = null; + + private static Shader m_blackWhite = null; + + private static Shader m_gausBlur = null; + + private AssetBundle m_ShaderAB = null; + + public static int _ShaderKeyMainTex; + + public static int _ShaderKeyMaskTex; + + public static int _ShaderKeyIDColor0; + + public static int _ShaderKeyIDHairColor; + + public static int _ShaderKeyIDFace; + + public static int _ShaderKeyIDHair; + + public static int _ShaderKeyIDBody; + + public static int _ShaderKeyIDAlpha; + + public static int[] _ShaderKeyIDSkin = new int[8]; + + public bool Awake(RuntimePlatform editorPlatform) + { + ShaderManager._ShaderKeyMainTex = Shader.PropertyToID("_MainTex"); + ShaderManager._ShaderKeyMaskTex = Shader.PropertyToID("_Mask"); + ShaderManager._ShaderKeyIDColor0 = Shader.PropertyToID("_Color"); + ShaderManager._ShaderKeyIDHairColor = Shader.PropertyToID("_HairColor"); + ShaderManager._ShaderKeyIDFace = Shader.PropertyToID("_Face"); + ShaderManager._ShaderKeyIDHair = Shader.PropertyToID("_Hair"); + ShaderManager._ShaderKeyIDBody = Shader.PropertyToID("_Body"); + ShaderManager._ShaderKeyIDAlpha = Shader.PropertyToID("_Alpha"); + for (int i = 0; i < ShaderManager._ShaderKeyIDSkin.Length; i++) + { + ShaderManager._ShaderKeyIDSkin[i] = Shader.PropertyToID("_Tex" + i.ToString()); + } + string text = null; + RuntimePlatform platform = Application.platform; + if ((int) platform != 8) + { + if ((int)platform != 11) + { + if ((int)editorPlatform != 2) + { + if ((int)editorPlatform != 8) + { + if ((int)editorPlatform == 11) + { + text = string.Format("{0}/update/Android/AssetBundles/shaders.ab", Application.streamingAssetsPath); + } + } + else + { + text = string.Format("{0}/update/iOS/AssetBundles/shaders.ab", Application.streamingAssetsPath); + } + } + else + { + text = string.Format("{0}/update/AssetBundles/shaders.ab", Application.streamingAssetsPath); + } + bool flag = !File.Exists(text); + if (flag) + { + text = null; + } + } + else + { + text = string.Format("{0}!assets/update/Android/AssetBundles/shaders.ab", Application.dataPath); + } + } + else + { + text = string.Format("{0}/Raw/update/iOS/AssetBundles/shaders.ab", Application.dataPath); + } + bool flag2 = !string.IsNullOrEmpty(text); + if (flag2) + { + this.m_ShaderAB = AssetBundle.LoadFromFile(text); + } + return true; + } + + public Shader FindShader(string name0, string name1) + { + Shader shader = null; + bool flag = this.m_ShaderAB != null; + if (flag) + { + shader = this.m_ShaderAB.LoadAsset(name0); + } + bool flag2 = shader == null; + if (flag2) + { + shader = Shader.Find(name1); + } + return shader; + } + + public static void SetColor32(MaterialPropertyBlock mpb, Color32 color, int keyID) + { + mpb.SetColor(keyID, color); + } + + public static void SetColor(MaterialPropertyBlock mpb, Color color, int keyID) + { + mpb.SetColor(keyID, color); + } + + public static void SetTexture(MaterialPropertyBlock mpb, Texture tex, int keyID) + { + bool flag = tex != null; + if (flag) + { + mpb.SetTexture(keyID, tex); + } + } + + public static void SetFloat(MaterialPropertyBlock mpb, float value, int keyID) + { + mpb.SetFloat(keyID, value); + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/ShaderManager.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/ShaderManager.cs.meta new file mode 100644 index 00000000..b12b0f08 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/ShaderManager.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: d802b7fd82fc21c4ebd05a2491457a59 +timeCreated: 1611465764 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/ShadowCatReward.cs b/Client/Assets/Scripts/XUtliPoolLib/ShadowCatReward.cs new file mode 100644 index 00000000..0f8fe6da --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/ShadowCatReward.cs @@ -0,0 +1,36 @@ +using System; + +namespace XUtliPoolLib +{ + public class ShadowCatReward : CVSReader + { + public ShadowCatReward.RowData[] Table = null; + + public class RowData + { + public SeqListRef Reward; + } + + protected override void ReadLine(XBinaryReader reader) + { + ShadowCatReward.RowData rowData = new ShadowCatReward.RowData(); + rowData.Reward.Read(reader, this.m_DataHandler); + this.columnno = 0; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new ShadowCatReward.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/ShadowCatReward.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/ShadowCatReward.cs.meta new file mode 100644 index 00000000..b59e2dea --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/ShadowCatReward.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 0cc3bfb5c291b7145a5bb113a697fdc2 +timeCreated: 1611465288 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/ShareBgTexture.cs b/Client/Assets/Scripts/XUtliPoolLib/ShareBgTexture.cs new file mode 100644 index 00000000..67051751 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/ShareBgTexture.cs @@ -0,0 +1,48 @@ +using System; + +namespace XUtliPoolLib +{ + public class ShareBgTexture : CVSReader + { + public ShareBgTexture.RowData[] Table = null; + + public class RowData + { + public int ShareBgType; + + public uint[] SubBgIDList; + + public string[] TexturePathList; + + public string[] Text; + } + + protected override void ReadLine(XBinaryReader reader) + { + ShareBgTexture.RowData rowData = new ShareBgTexture.RowData(); + base.Read(reader, ref rowData.ShareBgType, CVSReader.intParse); + this.columnno = 0; + base.ReadArray(reader, ref rowData.SubBgIDList, CVSReader.uintParse); + this.columnno = 1; + base.ReadArray(reader, ref rowData.TexturePathList, CVSReader.stringParse); + this.columnno = 2; + base.ReadArray(reader, ref rowData.Text, CVSReader.stringParse); + this.columnno = 3; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new ShareBgTexture.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/ShareBgTexture.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/ShareBgTexture.cs.meta new file mode 100644 index 00000000..e45a897c --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/ShareBgTexture.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 4afe70aa2746b4b4dbe41604edef7c91 +timeCreated: 1611465640 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/ShareCallBackType.cs b/Client/Assets/Scripts/XUtliPoolLib/ShareCallBackType.cs new file mode 100644 index 00000000..5b4d0c38 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/ShareCallBackType.cs @@ -0,0 +1,13 @@ +using System; + +namespace XUtliPoolLib +{ + public enum ShareCallBackType + { + Normal, + GloryPic, + DungeonShare, + WeekShare, + AddQQFriend + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/ShareCallBackType.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/ShareCallBackType.cs.meta new file mode 100644 index 00000000..d8257350 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/ShareCallBackType.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 32016ba74a3c63443b2a75c851a7726a +timeCreated: 1611465310 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/ShareTable.cs b/Client/Assets/Scripts/XUtliPoolLib/ShareTable.cs new file mode 100644 index 00000000..1eb5a24f --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/ShareTable.cs @@ -0,0 +1,79 @@ +using System; + +namespace XUtliPoolLib +{ + public class ShareTable : CVSReader + { + public ShareTable.RowData[] Table = null; + + public class RowData + { + public int Condition; + + public string Desc; + + public string Title; + + public string Icon; + + public string Link; + + public uint type; + } + + public ShareTable.RowData GetByCondition(int key) + { + bool flag = this.Table == null || this.Table.Length == 0; + ShareTable.RowData result; + if (flag) + { + result = null; + } + else + { + for (int i = 0; i < this.Table.Length; i++) + { + bool flag2 = this.Table[i].Condition == key; + if (flag2) + { + return this.Table[i]; + } + } + result = null; + } + return result; + } + + protected override void ReadLine(XBinaryReader reader) + { + ShareTable.RowData rowData = new ShareTable.RowData(); + base.Read(reader, ref rowData.Condition, CVSReader.intParse); + this.columnno = 0; + base.Read(reader, ref rowData.Desc, CVSReader.stringParse); + this.columnno = 1; + base.Read(reader, ref rowData.Title, CVSReader.stringParse); + this.columnno = 2; + base.Read(reader, ref rowData.Icon, CVSReader.stringParse); + this.columnno = 3; + base.Read(reader, ref rowData.Link, CVSReader.stringParse); + this.columnno = 4; + base.Read(reader, ref rowData.type, CVSReader.uintParse); + this.columnno = 5; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new ShareTable.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/ShareTable.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/ShareTable.cs.meta new file mode 100644 index 00000000..2a40d704 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/ShareTable.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: a1ce1ec7ab0050a4f9b53b106b0cb2c2 +timeCreated: 1611465736 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/ShopTable.cs b/Client/Assets/Scripts/XUtliPoolLib/ShopTable.cs new file mode 100644 index 00000000..91180eee --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/ShopTable.cs @@ -0,0 +1,173 @@ +using System; + +namespace XUtliPoolLib +{ + public class ShopTable : CVSReader + { + public ShopTable.RowData[] Table = null; + + public class RowData + { + public uint ID; + + public uint ItemId; + + public SeqRef ConsumeItem; + + public uint Type; + + public byte LevelCondition; + + public byte DailyCountCondition; + + public uint CountCondition; + + public SeqRef Benefit; + + public SeqRef LevelShow; + + public bool IsNotBind; + + public byte CookLevel; + + public byte ShopItemType; + + public byte WeekCountCondition; + + public uint ItemOverlap; + + public bool IsPrecious; + + public int PayLimit; + + public uint ShopItemCategory; + } + + public ShopTable.RowData GetByID(uint key) + { + bool flag = this.Table == null || this.Table.Length == 0; + ShopTable.RowData result; + if (flag) + { + result = null; + } + else + { + result = this.BinarySearchID(key); + } + return result; + } + + private ShopTable.RowData BinarySearchID(uint key) + { + int num = 0; + int num2 = this.Table.Length - 1; + ShopTable.RowData rowData; + ShopTable.RowData rowData2; + ShopTable.RowData rowData3; + for (;;) + { + rowData = this.Table[num]; + bool flag = rowData.ID == key; + if (flag) + { + break; + } + rowData2 = this.Table[num2]; + bool flag2 = rowData2.ID == key; + if (flag2) + { + goto Block_2; + } + bool flag3 = num2 - num <= 1; + if (flag3) + { + goto Block_3; + } + int num3 = num + (num2 - num) / 2; + rowData3 = this.Table[num3]; + bool flag4 = rowData3.ID.CompareTo(key) > 0; + if (flag4) + { + num2 = num3; + } + else + { + bool flag5 = rowData3.ID.CompareTo(key) < 0; + if (!flag5) + { + goto IL_B1; + } + num = num3; + } + if (num >= num2) + { + goto Block_6; + } + } + return rowData; + Block_2: + return rowData2; + Block_3: + return null; + IL_B1: + return rowData3; + Block_6: + return null; + } + + protected override void ReadLine(XBinaryReader reader) + { + ShopTable.RowData rowData = new ShopTable.RowData(); + base.Read(reader, ref rowData.ID, CVSReader.uintParse); + this.columnno = 0; + base.Read(reader, ref rowData.ItemId, CVSReader.uintParse); + this.columnno = 1; + rowData.ConsumeItem.Read(reader, this.m_DataHandler); + this.columnno = 2; + base.Read(reader, ref rowData.Type, CVSReader.uintParse); + this.columnno = 3; + base.Read(reader, ref rowData.LevelCondition, CVSReader.byteParse); + this.columnno = 4; + base.Read(reader, ref rowData.DailyCountCondition, CVSReader.byteParse); + this.columnno = 6; + base.Read(reader, ref rowData.CountCondition, CVSReader.uintParse); + this.columnno = 7; + rowData.Benefit.Read(reader, this.m_DataHandler); + this.columnno = 8; + rowData.LevelShow.Read(reader, this.m_DataHandler); + this.columnno = 10; + base.Read(reader, ref rowData.IsNotBind, CVSReader.boolParse); + this.columnno = 16; + base.Read(reader, ref rowData.CookLevel, CVSReader.byteParse); + this.columnno = 17; + base.Read(reader, ref rowData.ShopItemType, CVSReader.byteParse); + this.columnno = 18; + base.Read(reader, ref rowData.WeekCountCondition, CVSReader.byteParse); + this.columnno = 19; + base.Read(reader, ref rowData.ItemOverlap, CVSReader.uintParse); + this.columnno = 21; + base.Read(reader, ref rowData.IsPrecious, CVSReader.boolParse); + this.columnno = 22; + base.Read(reader, ref rowData.PayLimit, CVSReader.intParse); + this.columnno = 23; + base.Read(reader, ref rowData.ShopItemCategory, CVSReader.uintParse); + this.columnno = 24; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new ShopTable.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/ShopTable.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/ShopTable.cs.meta new file mode 100644 index 00000000..50a5551e --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/ShopTable.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 6e03079ac84db194586d08017a3c7e76 +timeCreated: 1611465686 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/ShopTypeTable.cs b/Client/Assets/Scripts/XUtliPoolLib/ShopTypeTable.cs new file mode 100644 index 00000000..04dbd091 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/ShopTypeTable.cs @@ -0,0 +1,118 @@ +using System; + +namespace XUtliPoolLib +{ + public class ShopTypeTable : CVSReader + { + public ShopTypeTable.RowData[] Table = null; + + public class RowData + { + public uint ShopID; + + public string ShopIcon; + + public uint ShopLevel; + + public SeqListRef RefreshCost; + + public uint[] ShopCycle; + + public SeqListRef ShopOpen; + + public string ShopName; + + public uint SystemId; + + public int IsHasTab; + + public SeqRef RefreshCount; + } + + public ShopTypeTable.RowData GetByShopID(uint key) + { + bool flag = this.Table == null || this.Table.Length == 0; + ShopTypeTable.RowData result; + if (flag) + { + result = null; + } + else + { + for (int i = 0; i < this.Table.Length; i++) + { + bool flag2 = this.Table[i].ShopID == key; + if (flag2) + { + return this.Table[i]; + } + } + result = null; + } + return result; + } + + public ShopTypeTable.RowData GetBySystemId(uint key) + { + bool flag = this.Table == null || this.Table.Length == 0; + ShopTypeTable.RowData result; + if (flag) + { + result = null; + } + else + { + for (int i = 0; i < this.Table.Length; i++) + { + bool flag2 = this.Table[i].SystemId == key; + if (flag2) + { + return this.Table[i]; + } + } + result = null; + } + return result; + } + + protected override void ReadLine(XBinaryReader reader) + { + ShopTypeTable.RowData rowData = new ShopTypeTable.RowData(); + base.Read(reader, ref rowData.ShopID, CVSReader.uintParse); + this.columnno = 0; + base.Read(reader, ref rowData.ShopIcon, CVSReader.stringParse); + this.columnno = 1; + base.Read(reader, ref rowData.ShopLevel, CVSReader.uintParse); + this.columnno = 2; + rowData.RefreshCost.Read(reader, this.m_DataHandler); + this.columnno = 3; + base.ReadArray(reader, ref rowData.ShopCycle, CVSReader.uintParse); + this.columnno = 4; + rowData.ShopOpen.Read(reader, this.m_DataHandler); + this.columnno = 5; + base.Read(reader, ref rowData.ShopName, CVSReader.stringParse); + this.columnno = 6; + base.Read(reader, ref rowData.SystemId, CVSReader.uintParse); + this.columnno = 7; + base.Read(reader, ref rowData.IsHasTab, CVSReader.intParse); + this.columnno = 8; + rowData.RefreshCount.Read(reader, this.m_DataHandler); + this.columnno = 9; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new ShopTypeTable.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/ShopTypeTable.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/ShopTypeTable.cs.meta new file mode 100644 index 00000000..4af26dd8 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/ShopTypeTable.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: defd3ea43930aa048973fd8d12376296 +timeCreated: 1611465798 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/SimpleQueue.cs b/Client/Assets/Scripts/XUtliPoolLib/SimpleQueue.cs new file mode 100644 index 00000000..8781c147 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/SimpleQueue.cs @@ -0,0 +1,80 @@ +using System; + +namespace XUtliPoolLib +{ + public class SimpleQueue + { + public bool HasData + { + get + { + return this.Root != null; + } + } + + private IQueueObject Root = null; + + private IQueueObject Last = null; + + public void Clear() + { + IQueueObject next; + for (IQueueObject queueObject = this.Root; queueObject != null; queueObject = next) + { + next = queueObject.next; + queueObject.next = null; + } + this.Root = null; + this.Last = null; + } + + public void Enqueue(IQueueObject obj) + { + bool flag = obj != null; + if (flag) + { + obj.next = null; + bool flag2 = this.Root == null; + if (flag2) + { + this.Root = obj; + this.Last = this.Root; + } + else + { + bool flag3 = this.Last != null; + if (flag3) + { + this.Last.next = obj; + this.Last = obj; + } + else + { + XSingleton.singleton.AddErrorLog("queue state error", null, null, null, null, null); + } + } + } + else + { + XSingleton.singleton.AddWarningLog("can not enqueue null object", null, null, null, null, null); + } + } + + public T Dequeue() where T : IQueueObject, new() + { + IQueueObject queueObject = null; + bool flag = this.Root != null; + if (flag) + { + queueObject = this.Root; + this.Root = this.Root.next; + } + bool flag2 = this.Root == null; + if (flag2) + { + this.Last = null; + } + return (T)((object)queueObject); + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/SimpleQueue.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/SimpleQueue.cs.meta new file mode 100644 index 00000000..9ea56843 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/SimpleQueue.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: d85668ff437879449876e7bee3616be6 +timeCreated: 1611465765 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/SkillCombo.cs b/Client/Assets/Scripts/XUtliPoolLib/SkillCombo.cs new file mode 100644 index 00000000..c8dcf621 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/SkillCombo.cs @@ -0,0 +1,56 @@ +using System; + +namespace XUtliPoolLib +{ + public class SkillCombo : CVSReader + { + public SkillCombo.RowData[] Table = null; + + public class RowData + { + public string skillname; + + public string nextskill0; + + public string nextskill1; + + public string nextskill2; + + public string nextskill3; + + public string nextskill4; + } + + protected override void ReadLine(XBinaryReader reader) + { + SkillCombo.RowData rowData = new SkillCombo.RowData(); + base.Read(reader, ref rowData.skillname, CVSReader.stringParse); + this.columnno = 0; + base.Read(reader, ref rowData.nextskill0, CVSReader.stringParse); + this.columnno = 1; + base.Read(reader, ref rowData.nextskill1, CVSReader.stringParse); + this.columnno = 2; + base.Read(reader, ref rowData.nextskill2, CVSReader.stringParse); + this.columnno = 3; + base.Read(reader, ref rowData.nextskill3, CVSReader.stringParse); + this.columnno = 4; + base.Read(reader, ref rowData.nextskill4, CVSReader.stringParse); + this.columnno = 5; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new SkillCombo.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/SkillCombo.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/SkillCombo.cs.meta new file mode 100644 index 00000000..d80d0e2c --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/SkillCombo.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 7430173f40afa4c4db2bcae2857be229 +timeCreated: 1611465689 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/SkillEmblem.cs b/Client/Assets/Scripts/XUtliPoolLib/SkillEmblem.cs new file mode 100644 index 00000000..6890f54d --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/SkillEmblem.cs @@ -0,0 +1,137 @@ +using System; + +namespace XUtliPoolLib +{ + public class SkillEmblem : CVSReader + { + public SkillEmblem.RowData[] Table = null; + + public class RowData + { + public uint EmblemID; + + public string SkillScript; + + public byte SkillType; + + public byte SkillPercent; + + public string SkillName; + + public uint SkillPPT; + + public string ExSkillScript; + + public string[] OtherSkillScripts; + } + + public SkillEmblem.RowData GetByEmblemID(uint key) + { + bool flag = this.Table == null || this.Table.Length == 0; + SkillEmblem.RowData result; + if (flag) + { + result = null; + } + else + { + result = this.BinarySearchEmblemID(key); + } + return result; + } + + private SkillEmblem.RowData BinarySearchEmblemID(uint key) + { + int num = 0; + int num2 = this.Table.Length - 1; + SkillEmblem.RowData rowData; + SkillEmblem.RowData rowData2; + SkillEmblem.RowData rowData3; + for (;;) + { + rowData = this.Table[num]; + bool flag = rowData.EmblemID == key; + if (flag) + { + break; + } + rowData2 = this.Table[num2]; + bool flag2 = rowData2.EmblemID == key; + if (flag2) + { + goto Block_2; + } + bool flag3 = num2 - num <= 1; + if (flag3) + { + goto Block_3; + } + int num3 = num + (num2 - num) / 2; + rowData3 = this.Table[num3]; + bool flag4 = rowData3.EmblemID.CompareTo(key) > 0; + if (flag4) + { + num2 = num3; + } + else + { + bool flag5 = rowData3.EmblemID.CompareTo(key) < 0; + if (!flag5) + { + goto IL_B1; + } + num = num3; + } + if (num >= num2) + { + goto Block_6; + } + } + return rowData; + Block_2: + return rowData2; + Block_3: + return null; + IL_B1: + return rowData3; + Block_6: + return null; + } + + protected override void ReadLine(XBinaryReader reader) + { + SkillEmblem.RowData rowData = new SkillEmblem.RowData(); + base.Read(reader, ref rowData.EmblemID, CVSReader.uintParse); + this.columnno = 0; + base.Read(reader, ref rowData.SkillScript, CVSReader.stringParse); + this.columnno = 1; + base.Read(reader, ref rowData.SkillType, CVSReader.byteParse); + this.columnno = 2; + base.Read(reader, ref rowData.SkillPercent, CVSReader.byteParse); + this.columnno = 3; + base.Read(reader, ref rowData.SkillName, CVSReader.stringParse); + this.columnno = 4; + base.Read(reader, ref rowData.SkillPPT, CVSReader.uintParse); + this.columnno = 5; + base.Read(reader, ref rowData.ExSkillScript, CVSReader.stringParse); + this.columnno = 7; + base.ReadArray(reader, ref rowData.OtherSkillScripts, CVSReader.stringParse); + this.columnno = 8; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new SkillEmblem.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/SkillEmblem.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/SkillEmblem.cs.meta new file mode 100644 index 00000000..fc794dde --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/SkillEmblem.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 450f3edb463eb8f49a4abeb7b51b5cd3 +timeCreated: 1611465637 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/SkillFxType.cs b/Client/Assets/Scripts/XUtliPoolLib/SkillFxType.cs new file mode 100644 index 00000000..92725a80 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/SkillFxType.cs @@ -0,0 +1,10 @@ +using System; + +namespace XUtliPoolLib +{ + public enum SkillFxType + { + FirerBased, + TargetBased + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/SkillFxType.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/SkillFxType.cs.meta new file mode 100644 index 00000000..788cf3f1 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/SkillFxType.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: bf523d37bf785fc4d9c3c79aab690005 +timeCreated: 1611465752 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/SkillList.cs b/Client/Assets/Scripts/XUtliPoolLib/SkillList.cs new file mode 100644 index 00000000..d7f3eb19 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/SkillList.cs @@ -0,0 +1,280 @@ +using System; + +namespace XUtliPoolLib +{ + public class SkillList : CVSReader + { + public SkillList.RowData[] Table = null; + + public class RowData + { + public string SkillScript; + + public uint SkillScriptHash; + + public byte SkillLevel; + + public string ScriptName; + + public SeqListRef PhysicalRatio; + + public SeqListRef PhysicalFixed; + + public byte[] AddBuffPoint; + + public SeqListRef BuffID; + + public byte HpMaxLimit; + + public byte[] LevelupCost; + + public byte[] UpReqRoleLevel; + + public string CurrentLevelDescription; + + public string NextLevelDescription; + + public string Icon; + + public SeqListRef MagicRatio; + + public SeqListRef MagicFixed; + + public byte Element; + + public int Profession; + + public byte SkillType; + + public int IncreaseSuperArmor; + + public short[] DecreaseSuperArmor; + + public byte IsBasicSkill; + + public SeqRef CostMP; + + public SeqListRef TipsRatio; + + public SeqListRef TipsFixed; + + public string PreSkill; + + public byte XPostion; + + public short YPostion; + + public SeqListRef StartBuffID; + + public SeqRef AuraBuffID; + + public byte HpMinLimit; + + public SeqRef CDRatio; + + public SeqRef PvPCDRatio; + + public uint XEntityStatisticsID; + + public int PvPIncreaseSuperArmor; + + public float[] PvPDecreaseSuperArmor; + + public SeqListRef PvPRatio; + + public SeqListRef PvPFixed; + + public float InitCD; + + public float PvPInitCD; + + public SeqListRef PvPMagicRatio; + + public SeqListRef PvPMagicFixed; + + public string PreviewScript; + + public uint[] MobBuffs; + + public string Atlas; + + public short[] Flag; + + public short PreSkillPoint; + + public string SuperIndureAttack; + + public string SuperIndureDefense; + + public string ExSkillScript; + + public byte UnchangableCD; + + public float EnmityRatio; + + public int EnmityExtValue; + + public SeqListRef PercentDamage; + + public string LinkedSkill; + + public byte LinkType; + + public float RemainingCDNotify; + + public int StrengthValue; + + public byte UsageCount; + + public byte[] ExclusiveMask; + + public string BindSkill; + + public bool IsAwake; + } + + protected override void ReadLine(XBinaryReader reader) + { + SkillList.RowData rowData = new SkillList.RowData(); + base.Read(reader, ref rowData.SkillScript, CVSReader.stringParse); + this.columnno = 0; + base.Read(reader, ref rowData.SkillScriptHash, CVSReader.uintParse); + this.columnno = 0; + base.Read(reader, ref rowData.SkillLevel, CVSReader.byteParse); + this.columnno = 1; + base.Read(reader, ref rowData.ScriptName, CVSReader.stringParse); + this.columnno = 2; + rowData.PhysicalRatio.Read(reader, this.m_DataHandler); + this.columnno = 3; + rowData.PhysicalFixed.Read(reader, this.m_DataHandler); + this.columnno = 4; + base.ReadArray(reader, ref rowData.AddBuffPoint, CVSReader.byteParse); + this.columnno = 6; + rowData.BuffID.Read(reader, this.m_DataHandler); + this.columnno = 7; + base.Read(reader, ref rowData.HpMaxLimit, CVSReader.byteParse); + this.columnno = 8; + base.ReadArray(reader, ref rowData.LevelupCost, CVSReader.byteParse); + this.columnno = 10; + base.ReadArray(reader, ref rowData.UpReqRoleLevel, CVSReader.byteParse); + this.columnno = 11; + base.Read(reader, ref rowData.CurrentLevelDescription, CVSReader.stringParse); + this.columnno = 12; + base.Read(reader, ref rowData.NextLevelDescription, CVSReader.stringParse); + this.columnno = 13; + base.Read(reader, ref rowData.Icon, CVSReader.stringParse); + this.columnno = 14; + rowData.MagicRatio.Read(reader, this.m_DataHandler); + this.columnno = 15; + rowData.MagicFixed.Read(reader, this.m_DataHandler); + this.columnno = 16; + base.Read(reader, ref rowData.Element, CVSReader.byteParse); + this.columnno = 17; + base.Read(reader, ref rowData.Profession, CVSReader.intParse); + this.columnno = 18; + base.Read(reader, ref rowData.SkillType, CVSReader.byteParse); + this.columnno = 19; + base.Read(reader, ref rowData.IncreaseSuperArmor, CVSReader.intParse); + this.columnno = 20; + base.ReadArray(reader, ref rowData.DecreaseSuperArmor, CVSReader.shortParse); + this.columnno = 21; + base.Read(reader, ref rowData.IsBasicSkill, CVSReader.byteParse); + this.columnno = 22; + rowData.CostMP.Read(reader, this.m_DataHandler); + this.columnno = 23; + rowData.TipsRatio.Read(reader, this.m_DataHandler); + this.columnno = 24; + rowData.TipsFixed.Read(reader, this.m_DataHandler); + this.columnno = 25; + base.Read(reader, ref rowData.PreSkill, CVSReader.stringParse); + this.columnno = 26; + base.Read(reader, ref rowData.XPostion, CVSReader.byteParse); + this.columnno = 27; + base.Read(reader, ref rowData.YPostion, CVSReader.shortParse); + this.columnno = 28; + rowData.StartBuffID.Read(reader, this.m_DataHandler); + this.columnno = 29; + rowData.AuraBuffID.Read(reader, this.m_DataHandler); + this.columnno = 33; + base.Read(reader, ref rowData.HpMinLimit, CVSReader.byteParse); + this.columnno = 34; + rowData.CDRatio.Read(reader, this.m_DataHandler); + this.columnno = 35; + rowData.PvPCDRatio.Read(reader, this.m_DataHandler); + this.columnno = 36; + base.Read(reader, ref rowData.XEntityStatisticsID, CVSReader.uintParse); + this.columnno = 39; + base.Read(reader, ref rowData.PvPIncreaseSuperArmor, CVSReader.intParse); + this.columnno = 40; + base.ReadArray(reader, ref rowData.PvPDecreaseSuperArmor, CVSReader.floatParse); + this.columnno = 41; + rowData.PvPRatio.Read(reader, this.m_DataHandler); + this.columnno = 42; + rowData.PvPFixed.Read(reader, this.m_DataHandler); + this.columnno = 43; + base.Read(reader, ref rowData.InitCD, CVSReader.floatParse); + this.columnno = 45; + base.Read(reader, ref rowData.PvPInitCD, CVSReader.floatParse); + this.columnno = 46; + rowData.PvPMagicRatio.Read(reader, this.m_DataHandler); + this.columnno = 48; + rowData.PvPMagicFixed.Read(reader, this.m_DataHandler); + this.columnno = 49; + base.Read(reader, ref rowData.PreviewScript, CVSReader.stringParse); + this.columnno = 50; + base.ReadArray(reader, ref rowData.MobBuffs, CVSReader.uintParse); + this.columnno = 51; + base.Read(reader, ref rowData.Atlas, CVSReader.stringParse); + this.columnno = 52; + base.ReadArray(reader, ref rowData.Flag, CVSReader.shortParse); + this.columnno = 53; + base.Read(reader, ref rowData.PreSkillPoint, CVSReader.shortParse); + this.columnno = 54; + base.Read(reader, ref rowData.SuperIndureAttack, CVSReader.stringParse); + this.columnno = 55; + base.Read(reader, ref rowData.SuperIndureDefense, CVSReader.stringParse); + this.columnno = 56; + base.Read(reader, ref rowData.ExSkillScript, CVSReader.stringParse); + this.columnno = 57; + base.Read(reader, ref rowData.UnchangableCD, CVSReader.byteParse); + this.columnno = 58; + base.Read(reader, ref rowData.EnmityRatio, CVSReader.floatParse); + this.columnno = 59; + base.Read(reader, ref rowData.EnmityExtValue, CVSReader.intParse); + this.columnno = 60; + rowData.PercentDamage.Read(reader, this.m_DataHandler); + this.columnno = 61; + base.Read(reader, ref rowData.LinkedSkill, CVSReader.stringParse); + this.columnno = 62; + base.Read(reader, ref rowData.LinkType, CVSReader.byteParse); + this.columnno = 63; + base.Read(reader, ref rowData.RemainingCDNotify, CVSReader.floatParse); + this.columnno = 64; + base.Read(reader, ref rowData.StrengthValue, CVSReader.intParse); + this.columnno = 65; + base.Read(reader, ref rowData.UsageCount, CVSReader.byteParse); + this.columnno = 66; + base.ReadArray(reader, ref rowData.ExclusiveMask, CVSReader.byteParse); + this.columnno = 67; + base.Read(reader, ref rowData.BindSkill, CVSReader.stringParse); + this.columnno = 69; + base.Read(reader, ref rowData.IsAwake, CVSReader.boolParse); + this.columnno = 70; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new SkillList.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/SkillList.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/SkillList.cs.meta new file mode 100644 index 00000000..462d585f --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/SkillList.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 3b90e288f612b0140808d09404a1671a +timeCreated: 1611465632 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/SkillTreeConfigTable.cs b/Client/Assets/Scripts/XUtliPoolLib/SkillTreeConfigTable.cs new file mode 100644 index 00000000..39925b2a --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/SkillTreeConfigTable.cs @@ -0,0 +1,113 @@ +using System; + +namespace XUtliPoolLib +{ + public class SkillTreeConfigTable : CVSReader + { + public SkillTreeConfigTable.RowData[] Table = null; + + public class RowData + { + public uint Level; + + public int RedPointShowNum; + } + + public SkillTreeConfigTable.RowData GetByLevel(uint key) + { + bool flag = this.Table == null || this.Table.Length == 0; + SkillTreeConfigTable.RowData result; + if (flag) + { + result = null; + } + else + { + result = this.BinarySearchLevel(key); + } + return result; + } + + private SkillTreeConfigTable.RowData BinarySearchLevel(uint key) + { + int num = 0; + int num2 = this.Table.Length - 1; + SkillTreeConfigTable.RowData rowData; + SkillTreeConfigTable.RowData rowData2; + SkillTreeConfigTable.RowData rowData3; + for (;;) + { + rowData = this.Table[num]; + bool flag = rowData.Level == key; + if (flag) + { + break; + } + rowData2 = this.Table[num2]; + bool flag2 = rowData2.Level == key; + if (flag2) + { + goto Block_2; + } + bool flag3 = num2 - num <= 1; + if (flag3) + { + goto Block_3; + } + int num3 = num + (num2 - num) / 2; + rowData3 = this.Table[num3]; + bool flag4 = rowData3.Level.CompareTo(key) > 0; + if (flag4) + { + num2 = num3; + } + else + { + bool flag5 = rowData3.Level.CompareTo(key) < 0; + if (!flag5) + { + goto IL_B1; + } + num = num3; + } + if (num >= num2) + { + goto Block_6; + } + } + return rowData; + Block_2: + return rowData2; + Block_3: + return null; + IL_B1: + return rowData3; + Block_6: + return null; + } + + protected override void ReadLine(XBinaryReader reader) + { + SkillTreeConfigTable.RowData rowData = new SkillTreeConfigTable.RowData(); + base.Read(reader, ref rowData.Level, CVSReader.uintParse); + this.columnno = 0; + base.Read(reader, ref rowData.RedPointShowNum, CVSReader.intParse); + this.columnno = 1; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new SkillTreeConfigTable.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/SkillTreeConfigTable.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/SkillTreeConfigTable.cs.meta new file mode 100644 index 00000000..570570d0 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/SkillTreeConfigTable.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 381de57208b05f142928b4f518325af7 +timeCreated: 1611465631 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/SkyArenaReward.cs b/Client/Assets/Scripts/XUtliPoolLib/SkyArenaReward.cs new file mode 100644 index 00000000..ec8f66b4 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/SkyArenaReward.cs @@ -0,0 +1,44 @@ +using System; + +namespace XUtliPoolLib +{ + public class SkyArenaReward : CVSReader + { + public SkyArenaReward.RowData[] Table = null; + + public class RowData + { + public int LevelSegment; + + public int Floor; + + public SeqListRef Reward; + } + + protected override void ReadLine(XBinaryReader reader) + { + SkyArenaReward.RowData rowData = new SkyArenaReward.RowData(); + base.Read(reader, ref rowData.LevelSegment, CVSReader.intParse); + this.columnno = 0; + base.Read(reader, ref rowData.Floor, CVSReader.intParse); + this.columnno = 1; + rowData.Reward.Read(reader, this.m_DataHandler); + this.columnno = 2; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new SkyArenaReward.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/SkyArenaReward.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/SkyArenaReward.cs.meta new file mode 100644 index 00000000..adf95fab --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/SkyArenaReward.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: e20e8841143761746a913d1f4fec2126 +timeCreated: 1611465800 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/SmallBuffer.cs b/Client/Assets/Scripts/XUtliPoolLib/SmallBuffer.cs new file mode 100644 index 00000000..f9579bb6 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/SmallBuffer.cs @@ -0,0 +1,242 @@ +using System; + +namespace XUtliPoolLib +{ + public struct SmallBuffer + { + public T this[int index] + { + get + { + return (this.bufferRef == null) ? default(T) : this.bufferRef[this.bufferBlock.offset + index]; + } + set + { + bool flag = this.bufferRef != null; + if (flag) + { + this.bufferRef[this.bufferBlock.offset + index] = value; + } + bool flag2 = this.debugBuffer != null; + if (flag2) + { + this.debugBuffer[index] = value; + } + } + } + + public T this[uint index] + { + get + { + return this.bufferRef[(int)(checked((IntPtr)(unchecked((long)this.bufferBlock.offset + (long)((ulong)index)))))]; + } + set + { + this.bufferRef[(int)(checked((IntPtr)(unchecked((long)this.bufferBlock.offset + (long)((ulong)index)))))] = value; + bool flag = this.debugBuffer != null; + if (flag) + { + this.debugBuffer[(int)index] = value; + } + } + } + + public int Count + { + get + { + return (this.bufferRef == null) ? 0 : this.bufferBlock.size; + } + } + + public bool IsInit + { + get + { + return this.bufferRef != null; + } + } + + public T[] OriginalBuff + { + get + { + return this.bufferRef; + } + } + + public int StartOffset + { + get + { + return this.bufferBlock.offset; + } + } + + public BufferBlock bufferBlock; + + private SmallBufferPool poolRef; + + private T[] bufferRef; + + public string debugName; + + private T[] debugBuffer; + + private void Expand(int size) + { + T[] sourceArray = this.bufferRef; + int offset = this.bufferBlock.offset; + int size2 = this.bufferBlock.size; + int capacity = this.bufferBlock.capacity; + this.poolRef.ExpandBlock(ref this, size); + int capacity2 = this.bufferBlock.capacity; + Array.Copy(sourceArray, offset, this.bufferRef, this.bufferBlock.offset, capacity); + this.bufferBlock.size = size2; + } + + private void ReturnBlock() + { + bool flag = this.poolRef != null; + if (flag) + { + this.poolRef.ReturnBlock(ref this); + } + } + + public void Init(BufferBlock bb, SmallBufferPool pool) + { + this.ReturnBlock(); + this.bufferBlock = bb; + this.poolRef = pool; + this.bufferRef = pool.buffer; + this.debugBuffer = new T[this.bufferBlock.capacity]; + } + + public void Init(BufferBlock bb, SmallBufferPool pool, T[] buffer) + { + this.ReturnBlock(); + this.bufferBlock = bb; + this.poolRef = pool; + this.bufferRef = buffer; + this.debugBuffer = new T[this.bufferBlock.capacity]; + } + + public void UnInit() + { + this.poolRef = null; + this.bufferRef = null; + this.debugBuffer = null; + } + + public void Add(T value) + { + bool flag = this.bufferRef != null; + if (flag) + { + bool flag2 = this.bufferBlock.size == this.bufferBlock.capacity; + if (flag2) + { + this.Expand(this.bufferBlock.capacity * 2); + } + int size = this.bufferBlock.size; + this.bufferBlock.size = size + 1; + this[size] = value; + } + } + + public bool Remove(T item) + { + bool flag = this.bufferRef != null; + if (flag) + { + T value = default(T); + for (int i = 0; i < this.bufferBlock.size; i++) + { + T t = this[i]; + bool flag2 = t.Equals(item); + if (flag2) + { + this.bufferBlock.size = this.bufferBlock.size - 1; + this[i] = value; + for (int j = i; j < this.bufferBlock.size; j++) + { + this[j] = this[j + 1]; + } + return true; + } + } + } + return false; + } + + public void RemoveAt(int index) + { + bool flag = this.bufferRef != null; + if (flag) + { + bool flag2 = index < this.bufferBlock.size; + if (flag2) + { + this.bufferBlock.size = this.bufferBlock.size - 1; + this[index] = default(T); + for (int i = index; i < this.bufferBlock.size; i++) + { + this[i] = this[i + 1]; + } + } + } + } + + public bool Contains(T item) + { + bool flag = this.bufferRef != null; + if (flag) + { + for (int i = 0; i < this.bufferBlock.size; i++) + { + T t = this[i]; + bool flag2 = t.Equals(item); + if (flag2) + { + return true; + } + } + } + return false; + } + + public void Clear() + { + this.bufferBlock.size = 0; + } + + public void DeepClear() + { + bool flag = this.bufferRef != null; + if (flag) + { + Array.Clear(this.bufferRef, this.bufferBlock.offset, this.bufferBlock.capacity); + } + } + + public void Copy(T[] src, int startIndex, int desIndex, int count) + { + bool flag = this.bufferRef != null; + if (flag) + { + count = ((count < this.bufferBlock.capacity) ? count : this.bufferBlock.capacity); + Array.Copy(src, startIndex, this.bufferRef, this.bufferBlock.offset + desIndex, count); + this.bufferBlock.size = count; + } + } + + public void SetInvalid() + { + this.bufferBlock.blockIndex = -1; + this.poolRef = null; + this.bufferRef = null; + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/SmallBuffer.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/SmallBuffer.cs.meta new file mode 100644 index 00000000..2efecc82 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/SmallBuffer.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: af6bae95a526cd940943de057cbadbb9 +timeCreated: 1611465744 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/SmallBufferPool.cs b/Client/Assets/Scripts/XUtliPoolLib/SmallBufferPool.cs new file mode 100644 index 00000000..a2f4ec85 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/SmallBufferPool.cs @@ -0,0 +1,153 @@ +using System; + +namespace XUtliPoolLib +{ + public class SmallBufferPool + { + public T[] buffer; + + public BufferBlock[] blocks; + + private BlockInfo[] blockInitRef; + + public int allocBlockCount = 0; + + public void Init(BlockInfo[] blockInit, int tSize) + { + this.blockInitRef = blockInit; + int num = 0; + int num2 = 0; + int i = 0; + int num3 = blockInit.Length; + while (i < num3) + { + BlockInfo blockInfo = blockInit[i]; + num += blockInfo.count; + num2 += blockInfo.size * blockInfo.count; + i++; + } + this.buffer = new T[num2]; + this.blocks = new BufferBlock[num]; + BufferPoolMgr.TotalCount += num2 * tSize + num * 17; + int num4 = 0; + int num5 = 0; + int j = 0; + int num6 = blockInit.Length; + while (j < num6) + { + BlockInfo blockInfo2 = blockInit[j]; + int k = 0; + int count = blockInfo2.count; + while (k < count) + { + BufferBlock bufferBlock = this.blocks[num4]; + bufferBlock.offset = num5; + bufferBlock.size = 0; + bufferBlock.capacity = blockInfo2.size; + bufferBlock.blockIndex = num4; + bufferBlock.inUse = false; + this.blocks[num4] = bufferBlock; + num5 += blockInfo2.size; + num4++; + k++; + } + j++; + } + } + + private bool InnerGetBlock(ref BufferBlock block, int size, int initSize) + { + int num = 0; + int i = 0; + int num2 = this.blockInitRef.Length; + while (i < num2) + { + BlockInfo blockInfo = this.blockInitRef[i]; + bool flag = blockInfo.size >= size; + if (flag) + { + int j = num; + int num3 = num + blockInfo.count; + while (j < num3) + { + BufferBlock bufferBlock = this.blocks[j]; + bool flag2 = !bufferBlock.inUse; + if (flag2) + { + bufferBlock.size = ((initSize < bufferBlock.capacity) ? initSize : bufferBlock.capacity); + bufferBlock.inUse = true; + this.blocks[j] = bufferBlock; + block = bufferBlock; + this.allocBlockCount++; + return true; + } + j++; + } + } + else + { + num += blockInfo.count; + } + i++; + } + block.blockIndex = -1; + block.capacity = size; + block.size = ((initSize < size) ? initSize : size); + block.inUse = true; + return false; + } + + private void InnerGetBlock(ref SmallBuffer sb, int size, int initSize) + { + BufferBlock bufferBlock = default(BufferBlock); + bool flag = this.InnerGetBlock(ref bufferBlock, size, initSize); + if (flag) + { + sb.Init(bufferBlock, this); + sb.DeepClear(); + } + else + { + sb.Init(bufferBlock, this, new T[bufferBlock.capacity]); + XSingleton.singleton.AddWarningLog2("not enough buff size:{0}", new object[] + { + bufferBlock.capacity + }); + BufferPoolMgr.AllocSize += bufferBlock.capacity; + } + } + + public void GetBlock(ref SmallBuffer sb, int size, int initSize = 0) + { + bool isInit = sb.IsInit; + if (!isInit) + { + this.InnerGetBlock(ref sb, size, initSize); + } + } + + public void ExpandBlock(ref SmallBuffer sb, int size) + { + this.InnerGetBlock(ref sb, size, 0); + } + + public void ReturnBlock(ref SmallBuffer sb) + { + BufferBlock bufferBlock = sb.bufferBlock; + bool inUse = bufferBlock.inUse; + if (inUse) + { + bufferBlock.size = 0; + bufferBlock.inUse = false; + bool flag = bufferBlock.blockIndex >= 0; + if (flag) + { + this.blocks[bufferBlock.blockIndex] = bufferBlock; + this.allocBlockCount--; + } + sb.debugName = ""; + sb.UnInit(); + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/SmallBufferPool.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/SmallBufferPool.cs.meta new file mode 100644 index 00000000..6fb05bdf --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/SmallBufferPool.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 918ed88b408940a47b99d61ce1bc2947 +timeCreated: 1611465705 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/SpectateLevelRewardConfig.cs b/Client/Assets/Scripts/XUtliPoolLib/SpectateLevelRewardConfig.cs new file mode 100644 index 00000000..08b22c0b --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/SpectateLevelRewardConfig.cs @@ -0,0 +1,63 @@ +using System; + +namespace XUtliPoolLib +{ + public class SpectateLevelRewardConfig : CVSReader + { + public SpectateLevelRewardConfig.RowData[] Table = null; + + public class RowData + { + public int SceneType; + + public int[] DataConfig; + } + + public SpectateLevelRewardConfig.RowData GetBySceneType(int key) + { + bool flag = this.Table == null || this.Table.Length == 0; + SpectateLevelRewardConfig.RowData result; + if (flag) + { + result = null; + } + else + { + for (int i = 0; i < this.Table.Length; i++) + { + bool flag2 = this.Table[i].SceneType == key; + if (flag2) + { + return this.Table[i]; + } + } + result = null; + } + return result; + } + + protected override void ReadLine(XBinaryReader reader) + { + SpectateLevelRewardConfig.RowData rowData = new SpectateLevelRewardConfig.RowData(); + base.Read(reader, ref rowData.SceneType, CVSReader.intParse); + this.columnno = 0; + base.ReadArray(reader, ref rowData.DataConfig, CVSReader.intParse); + this.columnno = 1; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new SpectateLevelRewardConfig.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/SpectateLevelRewardConfig.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/SpectateLevelRewardConfig.cs.meta new file mode 100644 index 00000000..6f2ff347 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/SpectateLevelRewardConfig.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: dc900a728e7e6aa4a9128ce5c617fce4 +timeCreated: 1611465796 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/SpriteEvolution.cs b/Client/Assets/Scripts/XUtliPoolLib/SpriteEvolution.cs new file mode 100644 index 00000000..34586042 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/SpriteEvolution.cs @@ -0,0 +1,60 @@ +using System; + +namespace XUtliPoolLib +{ + public class SpriteEvolution : CVSReader + { + public SpriteEvolution.RowData[] Table = null; + + public class RowData + { + public uint SpriteID; + + public byte Quality; + + public byte EvolutionLevel; + + public byte LevelLimit; + + public SeqRef EvolutionCost; + + public SeqRef TrainExp; + + public SeqListRef ResetTrainCost; + } + + protected override void ReadLine(XBinaryReader reader) + { + SpriteEvolution.RowData rowData = new SpriteEvolution.RowData(); + base.Read(reader, ref rowData.SpriteID, CVSReader.uintParse); + this.columnno = 0; + base.Read(reader, ref rowData.Quality, CVSReader.byteParse); + this.columnno = 1; + base.Read(reader, ref rowData.EvolutionLevel, CVSReader.byteParse); + this.columnno = 2; + base.Read(reader, ref rowData.LevelLimit, CVSReader.byteParse); + this.columnno = 3; + rowData.EvolutionCost.Read(reader, this.m_DataHandler); + this.columnno = 4; + rowData.TrainExp.Read(reader, this.m_DataHandler); + this.columnno = 5; + rowData.ResetTrainCost.Read(reader, this.m_DataHandler); + this.columnno = 6; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new SpriteEvolution.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/SpriteEvolution.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/SpriteEvolution.cs.meta new file mode 100644 index 00000000..4005e67a --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/SpriteEvolution.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 34e2c25c40839dd4a8a34a236e4730a4 +timeCreated: 1611465630 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/SpriteLevel.cs b/Client/Assets/Scripts/XUtliPoolLib/SpriteLevel.cs new file mode 100644 index 00000000..a6ab4bab --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/SpriteLevel.cs @@ -0,0 +1,48 @@ +using System; + +namespace XUtliPoolLib +{ + public class SpriteLevel : CVSReader + { + public SpriteLevel.RowData[] Table = null; + + public class RowData + { + public uint Level; + + public uint Quality; + + public uint Exp; + + public double Ratio; + } + + protected override void ReadLine(XBinaryReader reader) + { + SpriteLevel.RowData rowData = new SpriteLevel.RowData(); + base.Read(reader, ref rowData.Level, CVSReader.uintParse); + this.columnno = 0; + base.Read(reader, ref rowData.Quality, CVSReader.uintParse); + this.columnno = 1; + base.Read(reader, ref rowData.Exp, CVSReader.uintParse); + this.columnno = 2; + base.Read(reader, ref rowData.Ratio, CVSReader.doubleParse); + this.columnno = 3; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new SpriteLevel.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/SpriteLevel.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/SpriteLevel.cs.meta new file mode 100644 index 00000000..654d26e1 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/SpriteLevel.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: bb80baa7f50dc4143a9cf58912894dd4 +timeCreated: 1611465748 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/SpritePreviewTable.cs b/Client/Assets/Scripts/XUtliPoolLib/SpritePreviewTable.cs new file mode 100644 index 00000000..33ea9d4d --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/SpritePreviewTable.cs @@ -0,0 +1,117 @@ +using System; + +namespace XUtliPoolLib +{ + public class SpritePreviewTable : CVSReader + { + public SpritePreviewTable.RowData[] Table = null; + + public class RowData + { + public uint ItemID; + + public int[] SpriteShow; + + public int ItemQuality; + } + + public SpritePreviewTable.RowData GetByItemID(uint key) + { + bool flag = this.Table == null || this.Table.Length == 0; + SpritePreviewTable.RowData result; + if (flag) + { + result = null; + } + else + { + result = this.BinarySearchItemID(key); + } + return result; + } + + private SpritePreviewTable.RowData BinarySearchItemID(uint key) + { + int num = 0; + int num2 = this.Table.Length - 1; + SpritePreviewTable.RowData rowData; + SpritePreviewTable.RowData rowData2; + SpritePreviewTable.RowData rowData3; + for (;;) + { + rowData = this.Table[num]; + bool flag = rowData.ItemID == key; + if (flag) + { + break; + } + rowData2 = this.Table[num2]; + bool flag2 = rowData2.ItemID == key; + if (flag2) + { + goto Block_2; + } + bool flag3 = num2 - num <= 1; + if (flag3) + { + goto Block_3; + } + int num3 = num + (num2 - num) / 2; + rowData3 = this.Table[num3]; + bool flag4 = rowData3.ItemID.CompareTo(key) > 0; + if (flag4) + { + num2 = num3; + } + else + { + bool flag5 = rowData3.ItemID.CompareTo(key) < 0; + if (!flag5) + { + goto IL_B1; + } + num = num3; + } + if (num >= num2) + { + goto Block_6; + } + } + return rowData; + Block_2: + return rowData2; + Block_3: + return null; + IL_B1: + return rowData3; + Block_6: + return null; + } + + protected override void ReadLine(XBinaryReader reader) + { + SpritePreviewTable.RowData rowData = new SpritePreviewTable.RowData(); + base.Read(reader, ref rowData.ItemID, CVSReader.uintParse); + this.columnno = 0; + base.ReadArray(reader, ref rowData.SpriteShow, CVSReader.intParse); + this.columnno = 1; + base.Read(reader, ref rowData.ItemQuality, CVSReader.intParse); + this.columnno = 2; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new SpritePreviewTable.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/SpritePreviewTable.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/SpritePreviewTable.cs.meta new file mode 100644 index 00000000..793f7178 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/SpritePreviewTable.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 154fed8d20eb21e46a392f2cfe02ded3 +timeCreated: 1611465294 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/SpriteSkill.cs b/Client/Assets/Scripts/XUtliPoolLib/SpriteSkill.cs new file mode 100644 index 00000000..83d7b0c1 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/SpriteSkill.cs @@ -0,0 +1,76 @@ +using System; + +namespace XUtliPoolLib +{ + public class SpriteSkill : CVSReader + { + public SpriteSkill.RowData[] Table = null; + + public class RowData + { + public short SkillID; + + public string SkillName; + + public byte SkillQuality; + + public string Tips; + + public string Icon; + + public string Detail; + + public short Duration; + + public string NoticeDetail; + + public SeqRef ShowNotice; + + public string Audio; + + public string Atlas; + } + + protected override void ReadLine(XBinaryReader reader) + { + SpriteSkill.RowData rowData = new SpriteSkill.RowData(); + base.Read(reader, ref rowData.SkillID, CVSReader.shortParse); + this.columnno = 0; + base.Read(reader, ref rowData.SkillName, CVSReader.stringParse); + this.columnno = 1; + base.Read(reader, ref rowData.SkillQuality, CVSReader.byteParse); + this.columnno = 2; + base.Read(reader, ref rowData.Tips, CVSReader.stringParse); + this.columnno = 4; + base.Read(reader, ref rowData.Icon, CVSReader.stringParse); + this.columnno = 5; + base.Read(reader, ref rowData.Detail, CVSReader.stringParse); + this.columnno = 6; + base.Read(reader, ref rowData.Duration, CVSReader.shortParse); + this.columnno = 9; + base.Read(reader, ref rowData.NoticeDetail, CVSReader.stringParse); + this.columnno = 12; + rowData.ShowNotice.Read(reader, this.m_DataHandler); + this.columnno = 13; + base.Read(reader, ref rowData.Audio, CVSReader.stringParse); + this.columnno = 14; + base.Read(reader, ref rowData.Atlas, CVSReader.stringParse); + this.columnno = 15; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new SpriteSkill.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/SpriteSkill.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/SpriteSkill.cs.meta new file mode 100644 index 00000000..db60d5c4 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/SpriteSkill.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: cca6bd10f284f6949bb46b741fe8d5a4 +timeCreated: 1611465758 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/SpriteTable.cs b/Client/Assets/Scripts/XUtliPoolLib/SpriteTable.cs new file mode 100644 index 00000000..84bb5694 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/SpriteTable.cs @@ -0,0 +1,182 @@ +using System; + +namespace XUtliPoolLib +{ + public class SpriteTable : CVSReader + { + public SpriteTable.RowData[] Table = null; + + public class RowData + { + public uint SpriteID; + + public string SpriteName; + + public uint SpriteQuality; + + public string SpriteIcon; + + public uint SpriteModelID; + + public uint SpriteSkillID; + + public uint AttrID1; + + public uint AttrID2; + + public uint AttrID3; + + public uint AttrID4; + + public uint AttrID5; + + public uint BaseAttr1; + + public uint BaseAttr2; + + public uint BaseAttr3; + + public uint BaseAttr4; + + public uint BaseAttr5; + + public SeqRef Range1; + + public SeqRef Range2; + + public SeqRef Range3; + + public SeqRef Range4; + + public SeqRef Range5; + + public uint PresentID; + + public string Color; + + public string DeathAnim; + + public string ReviveAnim; + + public int IllustrationShow; + } + + public SpriteTable.RowData GetBySpriteID(uint key) + { + bool flag = this.Table == null || this.Table.Length == 0; + SpriteTable.RowData result; + if (flag) + { + result = null; + } + else + { + for (int i = 0; i < this.Table.Length; i++) + { + bool flag2 = this.Table[i].SpriteID == key; + if (flag2) + { + return this.Table[i]; + } + } + result = null; + } + return result; + } + + public SpriteTable.RowData GetByPresentID(uint key) + { + bool flag = this.Table == null || this.Table.Length == 0; + SpriteTable.RowData result; + if (flag) + { + result = null; + } + else + { + for (int i = 0; i < this.Table.Length; i++) + { + bool flag2 = this.Table[i].PresentID == key; + if (flag2) + { + return this.Table[i]; + } + } + result = null; + } + return result; + } + + protected override void ReadLine(XBinaryReader reader) + { + SpriteTable.RowData rowData = new SpriteTable.RowData(); + base.Read(reader, ref rowData.SpriteID, CVSReader.uintParse); + this.columnno = 0; + base.Read(reader, ref rowData.SpriteName, CVSReader.stringParse); + this.columnno = 1; + base.Read(reader, ref rowData.SpriteQuality, CVSReader.uintParse); + this.columnno = 2; + base.Read(reader, ref rowData.SpriteIcon, CVSReader.stringParse); + this.columnno = 3; + base.Read(reader, ref rowData.SpriteModelID, CVSReader.uintParse); + this.columnno = 4; + base.Read(reader, ref rowData.SpriteSkillID, CVSReader.uintParse); + this.columnno = 7; + base.Read(reader, ref rowData.AttrID1, CVSReader.uintParse); + this.columnno = 10; + base.Read(reader, ref rowData.AttrID2, CVSReader.uintParse); + this.columnno = 11; + base.Read(reader, ref rowData.AttrID3, CVSReader.uintParse); + this.columnno = 12; + base.Read(reader, ref rowData.AttrID4, CVSReader.uintParse); + this.columnno = 13; + base.Read(reader, ref rowData.AttrID5, CVSReader.uintParse); + this.columnno = 14; + base.Read(reader, ref rowData.BaseAttr1, CVSReader.uintParse); + this.columnno = 15; + base.Read(reader, ref rowData.BaseAttr2, CVSReader.uintParse); + this.columnno = 16; + base.Read(reader, ref rowData.BaseAttr3, CVSReader.uintParse); + this.columnno = 17; + base.Read(reader, ref rowData.BaseAttr4, CVSReader.uintParse); + this.columnno = 18; + base.Read(reader, ref rowData.BaseAttr5, CVSReader.uintParse); + this.columnno = 19; + rowData.Range1.Read(reader, this.m_DataHandler); + this.columnno = 25; + rowData.Range2.Read(reader, this.m_DataHandler); + this.columnno = 26; + rowData.Range3.Read(reader, this.m_DataHandler); + this.columnno = 27; + rowData.Range4.Read(reader, this.m_DataHandler); + this.columnno = 28; + rowData.Range5.Read(reader, this.m_DataHandler); + this.columnno = 29; + base.Read(reader, ref rowData.PresentID, CVSReader.uintParse); + this.columnno = 47; + base.Read(reader, ref rowData.Color, CVSReader.stringParse); + this.columnno = 48; + base.Read(reader, ref rowData.DeathAnim, CVSReader.stringParse); + this.columnno = 49; + base.Read(reader, ref rowData.ReviveAnim, CVSReader.stringParse); + this.columnno = 50; + base.Read(reader, ref rowData.IllustrationShow, CVSReader.intParse); + this.columnno = 51; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new SpriteTable.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/SpriteTable.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/SpriteTable.cs.meta new file mode 100644 index 00000000..a12389cd --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/SpriteTable.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 2b98a3cf57c7e754cb942c349cf9ec13 +timeCreated: 1611465304 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/StageRankTable.cs b/Client/Assets/Scripts/XUtliPoolLib/StageRankTable.cs new file mode 100644 index 00000000..e8bf65a4 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/StageRankTable.cs @@ -0,0 +1,117 @@ +using System; + +namespace XUtliPoolLib +{ + public class StageRankTable : CVSReader + { + public StageRankTable.RowData[] Table = null; + + public class RowData + { + public uint scendid; + + public SeqRef star2; + + public SeqRef star3; + } + + public StageRankTable.RowData GetByscendid(uint key) + { + bool flag = this.Table == null || this.Table.Length == 0; + StageRankTable.RowData result; + if (flag) + { + result = null; + } + else + { + result = this.BinarySearchscendid(key); + } + return result; + } + + private StageRankTable.RowData BinarySearchscendid(uint key) + { + int num = 0; + int num2 = this.Table.Length - 1; + StageRankTable.RowData rowData; + StageRankTable.RowData rowData2; + StageRankTable.RowData rowData3; + for (;;) + { + rowData = this.Table[num]; + bool flag = rowData.scendid == key; + if (flag) + { + break; + } + rowData2 = this.Table[num2]; + bool flag2 = rowData2.scendid == key; + if (flag2) + { + goto Block_2; + } + bool flag3 = num2 - num <= 1; + if (flag3) + { + goto Block_3; + } + int num3 = num + (num2 - num) / 2; + rowData3 = this.Table[num3]; + bool flag4 = rowData3.scendid.CompareTo(key) > 0; + if (flag4) + { + num2 = num3; + } + else + { + bool flag5 = rowData3.scendid.CompareTo(key) < 0; + if (!flag5) + { + goto IL_B1; + } + num = num3; + } + if (num >= num2) + { + goto Block_6; + } + } + return rowData; + Block_2: + return rowData2; + Block_3: + return null; + IL_B1: + return rowData3; + Block_6: + return null; + } + + protected override void ReadLine(XBinaryReader reader) + { + StageRankTable.RowData rowData = new StageRankTable.RowData(); + base.Read(reader, ref rowData.scendid, CVSReader.uintParse); + this.columnno = 0; + rowData.star2.Read(reader, this.m_DataHandler); + this.columnno = 1; + rowData.star3.Read(reader, this.m_DataHandler); + this.columnno = 2; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new StageRankTable.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/StageRankTable.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/StageRankTable.cs.meta new file mode 100644 index 00000000..f1298432 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/StageRankTable.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 2d8e7db2ac1ef114ebfb05c5628cdf6d +timeCreated: 1611465305 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/StringTable.cs b/Client/Assets/Scripts/XUtliPoolLib/StringTable.cs new file mode 100644 index 00000000..f0480f35 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/StringTable.cs @@ -0,0 +1,34 @@ +using System; +using System.Collections.Generic; + +namespace XUtliPoolLib +{ + public class StringTable : CVSReader + { + public Dictionary Table = new Dictionary(); + + public class RowData + { + public string Enum; + + public string Text; + } + + protected override void ReadLine(XBinaryReader reader) + { + uint key = 0u; + string value = ""; + base.Read(reader, ref key, CVSReader.uintParse); + this.columnno = 0; + base.Read(reader, ref value, CVSReader.stringParse); + this.columnno = 1; + this.Table[key] = value; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + this.Table.Clear(); + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/StringTable.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/StringTable.cs.meta new file mode 100644 index 00000000..50ed857d --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/StringTable.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: f642edcc32038214c9d6153349f1b73d +timeCreated: 1611465809 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/SuperActivity.cs b/Client/Assets/Scripts/XUtliPoolLib/SuperActivity.cs new file mode 100644 index 00000000..94008443 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/SuperActivity.cs @@ -0,0 +1,60 @@ +using System; + +namespace XUtliPoolLib +{ + public class SuperActivity : CVSReader + { + public SuperActivity.RowData[] Table = null; + + public class RowData + { + public uint actid; + + public uint id; + + public string[] childs; + + public uint offset; + + public string icon; + + public string name; + + public uint belong; + } + + protected override void ReadLine(XBinaryReader reader) + { + SuperActivity.RowData rowData = new SuperActivity.RowData(); + base.Read(reader, ref rowData.actid, CVSReader.uintParse); + this.columnno = 0; + base.Read(reader, ref rowData.id, CVSReader.uintParse); + this.columnno = 1; + base.ReadArray(reader, ref rowData.childs, CVSReader.stringParse); + this.columnno = 2; + base.Read(reader, ref rowData.offset, CVSReader.uintParse); + this.columnno = 3; + base.Read(reader, ref rowData.icon, CVSReader.stringParse); + this.columnno = 4; + base.Read(reader, ref rowData.name, CVSReader.stringParse); + this.columnno = 5; + base.Read(reader, ref rowData.belong, CVSReader.uintParse); + this.columnno = 6; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new SuperActivity.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/SuperActivity.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/SuperActivity.cs.meta new file mode 100644 index 00000000..bad9bfb9 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/SuperActivity.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: c97a959cb8bfb254485bd74a415778ac +timeCreated: 1611465757 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/SuperActivityTask.cs b/Client/Assets/Scripts/XUtliPoolLib/SuperActivityTask.cs new file mode 100644 index 00000000..84476536 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/SuperActivityTask.cs @@ -0,0 +1,161 @@ +using System; + +namespace XUtliPoolLib +{ + public class SuperActivityTask : CVSReader + { + public SuperActivityTask.RowData[] Table = null; + + public class RowData + { + public uint taskid; + + public string title; + + public uint[] num; + + public SeqListRef items; + + public string icon; + + public uint type; + + public uint belong; + + public uint jump; + + public uint actid; + + public int cnt; + + public int[] arg; + + public uint tasktype; + + public uint[] taskson; + + public uint taskfather; + } + + public SuperActivityTask.RowData GetBytaskid(uint key) + { + bool flag = this.Table == null || this.Table.Length == 0; + SuperActivityTask.RowData result; + if (flag) + { + result = null; + } + else + { + result = this.BinarySearchtaskid(key); + } + return result; + } + + private SuperActivityTask.RowData BinarySearchtaskid(uint key) + { + int num = 0; + int num2 = this.Table.Length - 1; + SuperActivityTask.RowData rowData; + SuperActivityTask.RowData rowData2; + SuperActivityTask.RowData rowData3; + for (;;) + { + rowData = this.Table[num]; + bool flag = rowData.taskid == key; + if (flag) + { + break; + } + rowData2 = this.Table[num2]; + bool flag2 = rowData2.taskid == key; + if (flag2) + { + goto Block_2; + } + bool flag3 = num2 - num <= 1; + if (flag3) + { + goto Block_3; + } + int num3 = num + (num2 - num) / 2; + rowData3 = this.Table[num3]; + bool flag4 = rowData3.taskid.CompareTo(key) > 0; + if (flag4) + { + num2 = num3; + } + else + { + bool flag5 = rowData3.taskid.CompareTo(key) < 0; + if (!flag5) + { + goto IL_B1; + } + num = num3; + } + if (num >= num2) + { + goto Block_6; + } + } + return rowData; + Block_2: + return rowData2; + Block_3: + return null; + IL_B1: + return rowData3; + Block_6: + return null; + } + + protected override void ReadLine(XBinaryReader reader) + { + SuperActivityTask.RowData rowData = new SuperActivityTask.RowData(); + base.Read(reader, ref rowData.taskid, CVSReader.uintParse); + this.columnno = 0; + base.Read(reader, ref rowData.title, CVSReader.stringParse); + this.columnno = 1; + base.ReadArray(reader, ref rowData.num, CVSReader.uintParse); + this.columnno = 3; + rowData.items.Read(reader, this.m_DataHandler); + this.columnno = 4; + base.Read(reader, ref rowData.icon, CVSReader.stringParse); + this.columnno = 5; + base.Read(reader, ref rowData.type, CVSReader.uintParse); + this.columnno = 6; + base.Read(reader, ref rowData.belong, CVSReader.uintParse); + this.columnno = 7; + base.Read(reader, ref rowData.jump, CVSReader.uintParse); + this.columnno = 8; + base.Read(reader, ref rowData.actid, CVSReader.uintParse); + this.columnno = 9; + base.Read(reader, ref rowData.cnt, CVSReader.intParse); + this.columnno = 10; + base.ReadArray(reader, ref rowData.arg, CVSReader.intParse); + this.columnno = 11; + base.Read(reader, ref rowData.tasktype, CVSReader.uintParse); + this.columnno = 12; + base.ReadArray(reader, ref rowData.taskson, CVSReader.uintParse); + this.columnno = 13; + base.Read(reader, ref rowData.taskfather, CVSReader.uintParse); + this.columnno = 14; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new SuperActivityTask.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/SuperActivityTask.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/SuperActivityTask.cs.meta new file mode 100644 index 00000000..51100bbf --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/SuperActivityTask.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 160be2b037158b7458a57b3f328a7a7b +timeCreated: 1611465294 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/SuperActivityTime.cs b/Client/Assets/Scripts/XUtliPoolLib/SuperActivityTime.cs new file mode 100644 index 00000000..77d46c16 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/SuperActivityTime.cs @@ -0,0 +1,99 @@ +using System; + +namespace XUtliPoolLib +{ + public class SuperActivityTime : CVSReader + { + public SuperActivityTime.RowData[] Table = null; + + public class RowData + { + public uint actid; + + public uint systemid; + + public uint starttime; + + public uint duration; + + public uint rewardtime; + + public uint pointid; + + public uint needpoint; + + public float rate; + + public uint starthour; + + public uint datetype; + + public SeqListRef timestage; + } + + public SuperActivityTime.RowData GetByactid(uint key) + { + bool flag = this.Table == null || this.Table.Length == 0; + SuperActivityTime.RowData result; + if (flag) + { + result = null; + } + else + { + for (int i = 0; i < this.Table.Length; i++) + { + bool flag2 = this.Table[i].actid == key; + if (flag2) + { + return this.Table[i]; + } + } + result = null; + } + return result; + } + + protected override void ReadLine(XBinaryReader reader) + { + SuperActivityTime.RowData rowData = new SuperActivityTime.RowData(); + base.Read(reader, ref rowData.actid, CVSReader.uintParse); + this.columnno = 0; + base.Read(reader, ref rowData.systemid, CVSReader.uintParse); + this.columnno = 1; + base.Read(reader, ref rowData.starttime, CVSReader.uintParse); + this.columnno = 3; + base.Read(reader, ref rowData.duration, CVSReader.uintParse); + this.columnno = 4; + base.Read(reader, ref rowData.rewardtime, CVSReader.uintParse); + this.columnno = 5; + base.Read(reader, ref rowData.pointid, CVSReader.uintParse); + this.columnno = 6; + base.Read(reader, ref rowData.needpoint, CVSReader.uintParse); + this.columnno = 7; + base.Read(reader, ref rowData.rate, CVSReader.floatParse); + this.columnno = 9; + base.Read(reader, ref rowData.starthour, CVSReader.uintParse); + this.columnno = 10; + base.Read(reader, ref rowData.datetype, CVSReader.uintParse); + this.columnno = 12; + rowData.timestage.Read(reader, this.m_DataHandler); + this.columnno = 13; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new SuperActivityTime.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/SuperActivityTime.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/SuperActivityTime.cs.meta new file mode 100644 index 00000000..c3a3d1a4 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/SuperActivityTime.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 106143f95b164654db72525aa2e43aa5 +timeCreated: 1611465290 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/SuperArmorRecoveryCoffTable.cs b/Client/Assets/Scripts/XUtliPoolLib/SuperArmorRecoveryCoffTable.cs new file mode 100644 index 00000000..0cd94250 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/SuperArmorRecoveryCoffTable.cs @@ -0,0 +1,44 @@ +using System; + +namespace XUtliPoolLib +{ + public class SuperArmorRecoveryCoffTable : CVSReader + { + public SuperArmorRecoveryCoffTable.RowData[] Table = null; + + public class RowData + { + public int Value; + + public int monster_type; + + public double SupRecoveryChange; + } + + protected override void ReadLine(XBinaryReader reader) + { + SuperArmorRecoveryCoffTable.RowData rowData = new SuperArmorRecoveryCoffTable.RowData(); + base.Read(reader, ref rowData.Value, CVSReader.intParse); + this.columnno = 0; + base.Read(reader, ref rowData.monster_type, CVSReader.intParse); + this.columnno = 1; + base.Read(reader, ref rowData.SupRecoveryChange, CVSReader.doubleParse); + this.columnno = 2; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new SuperArmorRecoveryCoffTable.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/SuperArmorRecoveryCoffTable.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/SuperArmorRecoveryCoffTable.cs.meta new file mode 100644 index 00000000..f8e6430a --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/SuperArmorRecoveryCoffTable.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 754d324a82f3cc548b7f45d6fdccf51e +timeCreated: 1611465689 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/SystemAnnounce.cs b/Client/Assets/Scripts/XUtliPoolLib/SystemAnnounce.cs new file mode 100644 index 00000000..8ecd2aa4 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/SystemAnnounce.cs @@ -0,0 +1,87 @@ +using System; + +namespace XUtliPoolLib +{ + public class SystemAnnounce : CVSReader + { + public SystemAnnounce.RowData[] Table = null; + + public class RowData + { + public int ID; + + public int SystemID; + + public string SystemDescription; + + public int OpenAnnounceLevel; + + public string[] AnnounceDesc; + + public string AnnounceIcon; + + public string TextSpriteName; + + public string IconName; + } + + public SystemAnnounce.RowData GetByID(int key) + { + bool flag = this.Table == null || this.Table.Length == 0; + SystemAnnounce.RowData result; + if (flag) + { + result = null; + } + else + { + for (int i = 0; i < this.Table.Length; i++) + { + bool flag2 = this.Table[i].ID == key; + if (flag2) + { + return this.Table[i]; + } + } + result = null; + } + return result; + } + + protected override void ReadLine(XBinaryReader reader) + { + SystemAnnounce.RowData rowData = new SystemAnnounce.RowData(); + base.Read(reader, ref rowData.ID, CVSReader.intParse); + this.columnno = 0; + base.Read(reader, ref rowData.SystemID, CVSReader.intParse); + this.columnno = 1; + base.Read(reader, ref rowData.SystemDescription, CVSReader.stringParse); + this.columnno = 2; + base.Read(reader, ref rowData.OpenAnnounceLevel, CVSReader.intParse); + this.columnno = 3; + base.ReadArray(reader, ref rowData.AnnounceDesc, CVSReader.stringParse); + this.columnno = 4; + base.Read(reader, ref rowData.AnnounceIcon, CVSReader.stringParse); + this.columnno = 5; + base.Read(reader, ref rowData.TextSpriteName, CVSReader.stringParse); + this.columnno = 6; + base.Read(reader, ref rowData.IconName, CVSReader.stringParse); + this.columnno = 7; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new SystemAnnounce.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/SystemAnnounce.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/SystemAnnounce.cs.meta new file mode 100644 index 00000000..8cd99075 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/SystemAnnounce.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 50a60ff851728194aa48b45d387104a9 +timeCreated: 1611465643 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/SystemHelpTable.cs b/Client/Assets/Scripts/XUtliPoolLib/SystemHelpTable.cs new file mode 100644 index 00000000..5e7a031b --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/SystemHelpTable.cs @@ -0,0 +1,113 @@ +using System; + +namespace XUtliPoolLib +{ + public class SystemHelpTable : CVSReader + { + public SystemHelpTable.RowData[] Table = null; + + public class RowData + { + public int SystemID; + + public string[] SystemHelp; + } + + public SystemHelpTable.RowData GetBySystemID(int key) + { + bool flag = this.Table == null || this.Table.Length == 0; + SystemHelpTable.RowData result; + if (flag) + { + result = null; + } + else + { + result = this.BinarySearchSystemID(key); + } + return result; + } + + private SystemHelpTable.RowData BinarySearchSystemID(int key) + { + int num = 0; + int num2 = this.Table.Length - 1; + SystemHelpTable.RowData rowData; + SystemHelpTable.RowData rowData2; + SystemHelpTable.RowData rowData3; + for (;;) + { + rowData = this.Table[num]; + bool flag = rowData.SystemID == key; + if (flag) + { + break; + } + rowData2 = this.Table[num2]; + bool flag2 = rowData2.SystemID == key; + if (flag2) + { + goto Block_2; + } + bool flag3 = num2 - num <= 1; + if (flag3) + { + goto Block_3; + } + int num3 = num + (num2 - num) / 2; + rowData3 = this.Table[num3]; + bool flag4 = rowData3.SystemID.CompareTo(key) > 0; + if (flag4) + { + num2 = num3; + } + else + { + bool flag5 = rowData3.SystemID.CompareTo(key) < 0; + if (!flag5) + { + goto IL_B1; + } + num = num3; + } + if (num >= num2) + { + goto Block_6; + } + } + return rowData; + Block_2: + return rowData2; + Block_3: + return null; + IL_B1: + return rowData3; + Block_6: + return null; + } + + protected override void ReadLine(XBinaryReader reader) + { + SystemHelpTable.RowData rowData = new SystemHelpTable.RowData(); + base.Read(reader, ref rowData.SystemID, CVSReader.intParse); + this.columnno = 0; + base.ReadArray(reader, ref rowData.SystemHelp, CVSReader.stringParse); + this.columnno = 2; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new SystemHelpTable.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/SystemHelpTable.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/SystemHelpTable.cs.meta new file mode 100644 index 00000000..1f1a2ae8 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/SystemHelpTable.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 4002fcf906f664c4e9cc27eb441b87e3 +timeCreated: 1611465634 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/SystemRewardTable.cs b/Client/Assets/Scripts/XUtliPoolLib/SystemRewardTable.cs new file mode 100644 index 00000000..0e57a429 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/SystemRewardTable.cs @@ -0,0 +1,75 @@ +using System; + +namespace XUtliPoolLib +{ + public class SystemRewardTable : CVSReader + { + public SystemRewardTable.RowData[] Table = null; + + public class RowData + { + public uint Type; + + public string Name; + + public uint SubType; + + public uint Sort; + + public string Remark; + } + + public SystemRewardTable.RowData GetByType(uint key) + { + bool flag = this.Table == null || this.Table.Length == 0; + SystemRewardTable.RowData result; + if (flag) + { + result = null; + } + else + { + for (int i = 0; i < this.Table.Length; i++) + { + bool flag2 = this.Table[i].Type == key; + if (flag2) + { + return this.Table[i]; + } + } + result = null; + } + return result; + } + + protected override void ReadLine(XBinaryReader reader) + { + SystemRewardTable.RowData rowData = new SystemRewardTable.RowData(); + base.Read(reader, ref rowData.Type, CVSReader.uintParse); + this.columnno = 0; + base.Read(reader, ref rowData.Name, CVSReader.stringParse); + this.columnno = 1; + base.Read(reader, ref rowData.SubType, CVSReader.uintParse); + this.columnno = 2; + base.Read(reader, ref rowData.Sort, CVSReader.uintParse); + this.columnno = 3; + base.Read(reader, ref rowData.Remark, CVSReader.stringParse); + this.columnno = 4; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new SystemRewardTable.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/SystemRewardTable.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/SystemRewardTable.cs.meta new file mode 100644 index 00000000..0bac0ef6 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/SystemRewardTable.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 503d0855478871344a445b951204b40a +timeCreated: 1611465643 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/TaJieHelpTab.cs b/Client/Assets/Scripts/XUtliPoolLib/TaJieHelpTab.cs new file mode 100644 index 00000000..1d1ab88a --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/TaJieHelpTab.cs @@ -0,0 +1,79 @@ +using System; + +namespace XUtliPoolLib +{ + public class TaJieHelpTab : CVSReader + { + public TaJieHelpTab.RowData[] Table = null; + + public class RowData + { + public uint Index; + + public uint[] Type; + + public uint SysID; + + public string IconName; + + public string Des; + + public string Name; + } + + public TaJieHelpTab.RowData GetByIndex(uint key) + { + bool flag = this.Table == null || this.Table.Length == 0; + TaJieHelpTab.RowData result; + if (flag) + { + result = null; + } + else + { + for (int i = 0; i < this.Table.Length; i++) + { + bool flag2 = this.Table[i].Index == key; + if (flag2) + { + return this.Table[i]; + } + } + result = null; + } + return result; + } + + protected override void ReadLine(XBinaryReader reader) + { + TaJieHelpTab.RowData rowData = new TaJieHelpTab.RowData(); + base.Read(reader, ref rowData.Index, CVSReader.uintParse); + this.columnno = 0; + base.ReadArray(reader, ref rowData.Type, CVSReader.uintParse); + this.columnno = 1; + base.Read(reader, ref rowData.SysID, CVSReader.uintParse); + this.columnno = 2; + base.Read(reader, ref rowData.IconName, CVSReader.stringParse); + this.columnno = 3; + base.Read(reader, ref rowData.Des, CVSReader.stringParse); + this.columnno = 4; + base.Read(reader, ref rowData.Name, CVSReader.stringParse); + this.columnno = 5; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new TaJieHelpTab.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/TaJieHelpTab.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/TaJieHelpTab.cs.meta new file mode 100644 index 00000000..abdeecba --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/TaJieHelpTab.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: cb12ee841da89cd428c43fb79180a0bf +timeCreated: 1611465758 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/TaJieHelpUrl.cs b/Client/Assets/Scripts/XUtliPoolLib/TaJieHelpUrl.cs new file mode 100644 index 00000000..5fedfb7e --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/TaJieHelpUrl.cs @@ -0,0 +1,67 @@ +using System; + +namespace XUtliPoolLib +{ + public class TaJieHelpUrl : CVSReader + { + public TaJieHelpUrl.RowData[] Table = null; + + public class RowData + { + public uint SceneId; + + public string Url; + + public string Name; + } + + public TaJieHelpUrl.RowData GetBySceneId(uint key) + { + bool flag = this.Table == null || this.Table.Length == 0; + TaJieHelpUrl.RowData result; + if (flag) + { + result = null; + } + else + { + for (int i = 0; i < this.Table.Length; i++) + { + bool flag2 = this.Table[i].SceneId == key; + if (flag2) + { + return this.Table[i]; + } + } + result = null; + } + return result; + } + + protected override void ReadLine(XBinaryReader reader) + { + TaJieHelpUrl.RowData rowData = new TaJieHelpUrl.RowData(); + base.Read(reader, ref rowData.SceneId, CVSReader.uintParse); + this.columnno = 0; + base.Read(reader, ref rowData.Url, CVSReader.stringParse); + this.columnno = 1; + base.Read(reader, ref rowData.Name, CVSReader.stringParse); + this.columnno = 2; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new TaJieHelpUrl.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/TaJieHelpUrl.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/TaJieHelpUrl.cs.meta new file mode 100644 index 00000000..0f6c3685 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/TaJieHelpUrl.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: c696c9980db22584e8898f052ff86b2e +timeCreated: 1611465756 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/TaskTableNew.cs b/Client/Assets/Scripts/XUtliPoolLib/TaskTableNew.cs new file mode 100644 index 00000000..94a9304a --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/TaskTableNew.cs @@ -0,0 +1,177 @@ +using System; + +namespace XUtliPoolLib +{ + public class TaskTableNew : CVSReader + { + public TaskTableNew.RowData[] Table = null; + + public class RowData + { + public uint TaskType; + + public uint TaskID; + + public uint[] EndTime; + + public uint[] BeginTaskNPCID; + + public uint[] EndTaskNPCID; + + public string TaskTitle; + + public string TaskDesc; + + public string InprocessDesc; + + public SeqListRef PassScene; + + public SeqListRef TaskScene; + + public SeqListRef RewardItem; + + public string BeginDesc; + + public string EndDesc; + + public uint[] MailID; + + public uint ActivityID; + + public SeqListRef TaskActivity; + + public int[] Prof; + + public int ProfLevel; + } + + public TaskTableNew.RowData GetByTaskID(uint key) + { + bool flag = this.Table == null || this.Table.Length == 0; + TaskTableNew.RowData result; + if (flag) + { + result = null; + } + else + { + result = this.BinarySearchTaskID(key); + } + return result; + } + + private TaskTableNew.RowData BinarySearchTaskID(uint key) + { + int num = 0; + int num2 = this.Table.Length - 1; + TaskTableNew.RowData rowData; + TaskTableNew.RowData rowData2; + TaskTableNew.RowData rowData3; + for (;;) + { + rowData = this.Table[num]; + bool flag = rowData.TaskID == key; + if (flag) + { + break; + } + rowData2 = this.Table[num2]; + bool flag2 = rowData2.TaskID == key; + if (flag2) + { + goto Block_2; + } + bool flag3 = num2 - num <= 1; + if (flag3) + { + goto Block_3; + } + int num3 = num + (num2 - num) / 2; + rowData3 = this.Table[num3]; + bool flag4 = rowData3.TaskID.CompareTo(key) > 0; + if (flag4) + { + num2 = num3; + } + else + { + bool flag5 = rowData3.TaskID.CompareTo(key) < 0; + if (!flag5) + { + goto IL_B1; + } + num = num3; + } + if (num >= num2) + { + goto Block_6; + } + } + return rowData; + Block_2: + return rowData2; + Block_3: + return null; + IL_B1: + return rowData3; + Block_6: + return null; + } + + protected override void ReadLine(XBinaryReader reader) + { + TaskTableNew.RowData rowData = new TaskTableNew.RowData(); + base.Read(reader, ref rowData.TaskType, CVSReader.uintParse); + this.columnno = 0; + base.Read(reader, ref rowData.TaskID, CVSReader.uintParse); + this.columnno = 1; + base.ReadArray(reader, ref rowData.EndTime, CVSReader.uintParse); + this.columnno = 4; + base.ReadArray(reader, ref rowData.BeginTaskNPCID, CVSReader.uintParse); + this.columnno = 5; + base.ReadArray(reader, ref rowData.EndTaskNPCID, CVSReader.uintParse); + this.columnno = 6; + base.Read(reader, ref rowData.TaskTitle, CVSReader.stringParse); + this.columnno = 8; + base.Read(reader, ref rowData.TaskDesc, CVSReader.stringParse); + this.columnno = 9; + base.Read(reader, ref rowData.InprocessDesc, CVSReader.stringParse); + this.columnno = 10; + rowData.PassScene.Read(reader, this.m_DataHandler); + this.columnno = 11; + rowData.TaskScene.Read(reader, this.m_DataHandler); + this.columnno = 12; + rowData.RewardItem.Read(reader, this.m_DataHandler); + this.columnno = 15; + base.Read(reader, ref rowData.BeginDesc, CVSReader.stringParse); + this.columnno = 16; + base.Read(reader, ref rowData.EndDesc, CVSReader.stringParse); + this.columnno = 17; + base.ReadArray(reader, ref rowData.MailID, CVSReader.uintParse); + this.columnno = 18; + base.Read(reader, ref rowData.ActivityID, CVSReader.uintParse); + this.columnno = 19; + rowData.TaskActivity.Read(reader, this.m_DataHandler); + this.columnno = 20; + base.ReadArray(reader, ref rowData.Prof, CVSReader.intParse); + this.columnno = 21; + base.Read(reader, ref rowData.ProfLevel, CVSReader.intParse); + this.columnno = 22; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new TaskTableNew.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/TaskTableNew.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/TaskTableNew.cs.meta new file mode 100644 index 00000000..641630aa --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/TaskTableNew.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 6e7ad22e0e64088409f99bbc294961c4 +timeCreated: 1611465686 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/TeamTowerRewardTable.cs b/Client/Assets/Scripts/XUtliPoolLib/TeamTowerRewardTable.cs new file mode 100644 index 00000000..75f7cf30 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/TeamTowerRewardTable.cs @@ -0,0 +1,64 @@ +using System; + +namespace XUtliPoolLib +{ + public class TeamTowerRewardTable : CVSReader + { + public TeamTowerRewardTable.RowData[] Table = null; + + public class RowData + { + public int TowerHardLevel; + + public int TowerFloor; + + public SeqListRef Reward; + + public string Name; + + public int DragonCoinFindBackCost; + + public int SceneID; + + public SeqListRef FirstPassReward; + + public int preward; + } + + protected override void ReadLine(XBinaryReader reader) + { + TeamTowerRewardTable.RowData rowData = new TeamTowerRewardTable.RowData(); + base.Read(reader, ref rowData.TowerHardLevel, CVSReader.intParse); + this.columnno = 0; + base.Read(reader, ref rowData.TowerFloor, CVSReader.intParse); + this.columnno = 1; + rowData.Reward.Read(reader, this.m_DataHandler); + this.columnno = 2; + base.Read(reader, ref rowData.Name, CVSReader.stringParse); + this.columnno = 3; + base.Read(reader, ref rowData.DragonCoinFindBackCost, CVSReader.intParse); + this.columnno = 4; + base.Read(reader, ref rowData.SceneID, CVSReader.intParse); + this.columnno = 7; + rowData.FirstPassReward.Read(reader, this.m_DataHandler); + this.columnno = 8; + base.Read(reader, ref rowData.preward, CVSReader.intParse); + this.columnno = 9; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new TeamTowerRewardTable.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/TeamTowerRewardTable.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/TeamTowerRewardTable.cs.meta new file mode 100644 index 00000000..a298f480 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/TeamTowerRewardTable.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 4dae733686d21db4094318e161c07a73 +timeCreated: 1611465642 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/TerritoryBattle.cs b/Client/Assets/Scripts/XUtliPoolLib/TerritoryBattle.cs new file mode 100644 index 00000000..2f5bf738 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/TerritoryBattle.cs @@ -0,0 +1,79 @@ +using System; + +namespace XUtliPoolLib +{ + public class TerritoryBattle : CVSReader + { + public TerritoryBattle.RowData[] Table = null; + + public class RowData + { + public uint ID; + + public string territoryname; + + public uint territorylevel; + + public string territorylevelname; + + public string territoryIcon; + + public uint[] territoryLeagues; + } + + public TerritoryBattle.RowData GetByID(uint key) + { + bool flag = this.Table == null || this.Table.Length == 0; + TerritoryBattle.RowData result; + if (flag) + { + result = null; + } + else + { + for (int i = 0; i < this.Table.Length; i++) + { + bool flag2 = this.Table[i].ID == key; + if (flag2) + { + return this.Table[i]; + } + } + result = null; + } + return result; + } + + protected override void ReadLine(XBinaryReader reader) + { + TerritoryBattle.RowData rowData = new TerritoryBattle.RowData(); + base.Read(reader, ref rowData.ID, CVSReader.uintParse); + this.columnno = 0; + base.Read(reader, ref rowData.territoryname, CVSReader.stringParse); + this.columnno = 1; + base.Read(reader, ref rowData.territorylevel, CVSReader.uintParse); + this.columnno = 2; + base.Read(reader, ref rowData.territorylevelname, CVSReader.stringParse); + this.columnno = 3; + base.Read(reader, ref rowData.territoryIcon, CVSReader.stringParse); + this.columnno = 4; + base.ReadArray(reader, ref rowData.territoryLeagues, CVSReader.uintParse); + this.columnno = 5; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new TerritoryBattle.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/TerritoryBattle.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/TerritoryBattle.cs.meta new file mode 100644 index 00000000..297bd8a6 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/TerritoryBattle.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: ae89b1569156ed94fbafb2e7969b6920 +timeCreated: 1611465742 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/TerritoryRewd.cs b/Client/Assets/Scripts/XUtliPoolLib/TerritoryRewd.cs new file mode 100644 index 00000000..331451f3 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/TerritoryRewd.cs @@ -0,0 +1,44 @@ +using System; + +namespace XUtliPoolLib +{ + public class TerritoryRewd : CVSReader + { + public TerritoryRewd.RowData[] Table = null; + + public class RowData + { + public int ID; + + public int Point; + + public SeqListRef Reward; + } + + protected override void ReadLine(XBinaryReader reader) + { + TerritoryRewd.RowData rowData = new TerritoryRewd.RowData(); + base.Read(reader, ref rowData.ID, CVSReader.intParse); + this.columnno = 0; + base.Read(reader, ref rowData.Point, CVSReader.intParse); + this.columnno = 1; + rowData.Reward.Read(reader, this.m_DataHandler); + this.columnno = 2; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new TerritoryRewd.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/TerritoryRewd.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/TerritoryRewd.cs.meta new file mode 100644 index 00000000..09bdf332 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/TerritoryRewd.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: de67b51e27e9c2c42a6f6edfb15ca34c +timeCreated: 1611465797 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/ThemeActivity.cs b/Client/Assets/Scripts/XUtliPoolLib/ThemeActivity.cs new file mode 100644 index 00000000..0d5e9d7e --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/ThemeActivity.cs @@ -0,0 +1,67 @@ +using System; + +namespace XUtliPoolLib +{ + public class ThemeActivity : CVSReader + { + public ThemeActivity.RowData[] Table = null; + + public class RowData + { + public uint SysID; + + public string TabName; + + public string TabIcon; + } + + public ThemeActivity.RowData GetBySysID(uint key) + { + bool flag = this.Table == null || this.Table.Length == 0; + ThemeActivity.RowData result; + if (flag) + { + result = null; + } + else + { + for (int i = 0; i < this.Table.Length; i++) + { + bool flag2 = this.Table[i].SysID == key; + if (flag2) + { + return this.Table[i]; + } + } + result = null; + } + return result; + } + + protected override void ReadLine(XBinaryReader reader) + { + ThemeActivity.RowData rowData = new ThemeActivity.RowData(); + base.Read(reader, ref rowData.SysID, CVSReader.uintParse); + this.columnno = 2; + base.Read(reader, ref rowData.TabName, CVSReader.stringParse); + this.columnno = 3; + base.Read(reader, ref rowData.TabIcon, CVSReader.stringParse); + this.columnno = 7; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new ThemeActivity.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/ThemeActivity.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/ThemeActivity.cs.meta new file mode 100644 index 00000000..02ee6432 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/ThemeActivity.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 532ca536d1e45ac4c92c5d19a635ebd9 +timeCreated: 1611465644 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/TitleTable.cs b/Client/Assets/Scripts/XUtliPoolLib/TitleTable.cs new file mode 100644 index 00000000..2ff7face --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/TitleTable.cs @@ -0,0 +1,76 @@ +using System; + +namespace XUtliPoolLib +{ + public class TitleTable : CVSReader + { + public TitleTable.RowData[] Table = null; + + public class RowData + { + public uint RankID; + + public string RankName; + + public string RankIcon; + + public string AffectRoute; + + public uint NeedPowerPoint; + + public SeqListRef NeedItem; + + public SeqListRef Attribute; + + public string RankPath; + + public string desc; + + public uint BasicProfession; + + public string RankAtlas; + } + + protected override void ReadLine(XBinaryReader reader) + { + TitleTable.RowData rowData = new TitleTable.RowData(); + base.Read(reader, ref rowData.RankID, CVSReader.uintParse); + this.columnno = 0; + base.Read(reader, ref rowData.RankName, CVSReader.stringParse); + this.columnno = 1; + base.Read(reader, ref rowData.RankIcon, CVSReader.stringParse); + this.columnno = 2; + base.Read(reader, ref rowData.AffectRoute, CVSReader.stringParse); + this.columnno = 3; + base.Read(reader, ref rowData.NeedPowerPoint, CVSReader.uintParse); + this.columnno = 4; + rowData.NeedItem.Read(reader, this.m_DataHandler); + this.columnno = 5; + rowData.Attribute.Read(reader, this.m_DataHandler); + this.columnno = 6; + base.Read(reader, ref rowData.RankPath, CVSReader.stringParse); + this.columnno = 7; + base.Read(reader, ref rowData.desc, CVSReader.stringParse); + this.columnno = 8; + base.Read(reader, ref rowData.BasicProfession, CVSReader.uintParse); + this.columnno = 9; + base.Read(reader, ref rowData.RankAtlas, CVSReader.stringParse); + this.columnno = 10; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new TitleTable.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/TitleTable.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/TitleTable.cs.meta new file mode 100644 index 00000000..5060dc6b --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/TitleTable.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 25bdad5b65809cf4bb861ef0f0bf2236 +timeCreated: 1611465301 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/TrophyInfo.cs b/Client/Assets/Scripts/XUtliPoolLib/TrophyInfo.cs new file mode 100644 index 00000000..cdb057ec --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/TrophyInfo.cs @@ -0,0 +1,88 @@ +using System; + +namespace XUtliPoolLib +{ + public class TrophyInfo : CVSReader + { + public TrophyInfo.RowData[] Table = null; + + public class RowData + { + public uint ID; + + public uint SceneID; + + public SeqRef TrophyScore; + + public uint Third; + + public uint ThirdPara; + + public uint Second; + + public uint SecondPara; + + public uint First; + + public uint FirstPara; + + public string Name; + + public string ThirdDesc; + + public string SecondDesc; + + public string FirstDesc; + + public string Icon; + } + + protected override void ReadLine(XBinaryReader reader) + { + TrophyInfo.RowData rowData = new TrophyInfo.RowData(); + base.Read(reader, ref rowData.ID, CVSReader.uintParse); + this.columnno = 0; + base.Read(reader, ref rowData.SceneID, CVSReader.uintParse); + this.columnno = 1; + rowData.TrophyScore.Read(reader, this.m_DataHandler); + this.columnno = 2; + base.Read(reader, ref rowData.Third, CVSReader.uintParse); + this.columnno = 3; + base.Read(reader, ref rowData.ThirdPara, CVSReader.uintParse); + this.columnno = 4; + base.Read(reader, ref rowData.Second, CVSReader.uintParse); + this.columnno = 5; + base.Read(reader, ref rowData.SecondPara, CVSReader.uintParse); + this.columnno = 6; + base.Read(reader, ref rowData.First, CVSReader.uintParse); + this.columnno = 7; + base.Read(reader, ref rowData.FirstPara, CVSReader.uintParse); + this.columnno = 8; + base.Read(reader, ref rowData.Name, CVSReader.stringParse); + this.columnno = 9; + base.Read(reader, ref rowData.ThirdDesc, CVSReader.stringParse); + this.columnno = 10; + base.Read(reader, ref rowData.SecondDesc, CVSReader.stringParse); + this.columnno = 11; + base.Read(reader, ref rowData.FirstDesc, CVSReader.stringParse); + this.columnno = 12; + base.Read(reader, ref rowData.Icon, CVSReader.stringParse); + this.columnno = 13; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new TrophyInfo.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/TrophyInfo.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/TrophyInfo.cs.meta new file mode 100644 index 00000000..ef3711bd --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/TrophyInfo.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: af489163bc56c6a4a92fa67b7a02794c +timeCreated: 1611465743 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/TrophyReward.cs b/Client/Assets/Scripts/XUtliPoolLib/TrophyReward.cs new file mode 100644 index 00000000..0477dc07 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/TrophyReward.cs @@ -0,0 +1,44 @@ +using System; + +namespace XUtliPoolLib +{ + public class TrophyReward : CVSReader + { + public TrophyReward.RowData[] Table = null; + + public class RowData + { + public int HonourRank; + + public int TrophyScore; + + public SeqListRef Rewards; + } + + protected override void ReadLine(XBinaryReader reader) + { + TrophyReward.RowData rowData = new TrophyReward.RowData(); + base.Read(reader, ref rowData.HonourRank, CVSReader.intParse); + this.columnno = 0; + base.Read(reader, ref rowData.TrophyScore, CVSReader.intParse); + this.columnno = 1; + rowData.Rewards.Read(reader, this.m_DataHandler); + this.columnno = 2; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new TrophyReward.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/TrophyReward.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/TrophyReward.cs.meta new file mode 100644 index 00000000..34e12614 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/TrophyReward.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 4819c2c9b3d6fb941b21b4a319ffe5df +timeCreated: 1611465639 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/UniqueString.cs b/Client/Assets/Scripts/XUtliPoolLib/UniqueString.cs new file mode 100644 index 00000000..2554df55 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/UniqueString.cs @@ -0,0 +1,76 @@ +using System; +using System.Collections.Generic; + +namespace XUtliPoolLib +{ + public class UniqueString + { + private static Dictionary m_strings = new Dictionary(); + + public static string Intern(string str, bool removable = true) + { + bool flag = str == null; + string result; + if (flag) + { + result = null; + } + else + { + string text = UniqueString.IsInterned(str); + bool flag2 = text != null; + if (flag2) + { + result = text; + } + else if (removable) + { + UniqueString.m_strings.Add(str, str); + result = str; + } + else + { + result = string.Intern(str); + } + } + return result; + } + + public static string IsInterned(string str) + { + bool flag = str == null; + string result; + if (flag) + { + result = null; + } + else + { + string text = string.IsInterned(str); + bool flag2 = text != null; + if (flag2) + { + result = text; + } + else + { + bool flag3 = UniqueString.m_strings.TryGetValue(str, out text); + if (flag3) + { + result = text; + } + else + { + result = null; + } + } + } + return result; + } + + public static void Clear() + { + UniqueString.m_strings.Clear(); + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/UniqueString.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/UniqueString.cs.meta new file mode 100644 index 00000000..af03781e --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/UniqueString.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 005c6dd8c1dd08e48b8c623e25d3901d +timeCreated: 1611465284 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/VIPTable.cs b/Client/Assets/Scripts/XUtliPoolLib/VIPTable.cs new file mode 100644 index 00000000..b6f4ad7a --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/VIPTable.cs @@ -0,0 +1,111 @@ +using System; + +namespace XUtliPoolLib +{ + public class VIPTable : CVSReader + { + public VIPTable.RowData[] Table = null; + + public class RowData + { + public int VIP; + + public uint RMB; + + public int BuyGoldTimes; + + public int BuyFatigueTimes; + + public uint AuctionOnSaleMax; + + public int BuyDragonCoinTimes; + + public int ItemID; + + public string[] VIPTips; + + public uint GoldClickTimes; + + public uint EquipMax; + + public uint EmblemMax; + + public uint BagMax; + + public uint ArtifactMax; + + public uint InscriptionMax; + } + + public VIPTable.RowData GetByVIP(int key) + { + bool flag = this.Table == null || this.Table.Length == 0; + VIPTable.RowData result; + if (flag) + { + result = null; + } + else + { + for (int i = 0; i < this.Table.Length; i++) + { + bool flag2 = this.Table[i].VIP == key; + if (flag2) + { + return this.Table[i]; + } + } + result = null; + } + return result; + } + + protected override void ReadLine(XBinaryReader reader) + { + VIPTable.RowData rowData = new VIPTable.RowData(); + base.Read(reader, ref rowData.VIP, CVSReader.intParse); + this.columnno = 0; + base.Read(reader, ref rowData.RMB, CVSReader.uintParse); + this.columnno = 1; + base.Read(reader, ref rowData.BuyGoldTimes, CVSReader.intParse); + this.columnno = 2; + base.Read(reader, ref rowData.BuyFatigueTimes, CVSReader.intParse); + this.columnno = 3; + base.Read(reader, ref rowData.AuctionOnSaleMax, CVSReader.uintParse); + this.columnno = 5; + base.Read(reader, ref rowData.BuyDragonCoinTimes, CVSReader.intParse); + this.columnno = 6; + base.Read(reader, ref rowData.ItemID, CVSReader.intParse); + this.columnno = 9; + base.ReadArray(reader, ref rowData.VIPTips, CVSReader.stringParse); + this.columnno = 10; + base.Read(reader, ref rowData.GoldClickTimes, CVSReader.uintParse); + this.columnno = 11; + base.Read(reader, ref rowData.EquipMax, CVSReader.uintParse); + this.columnno = 12; + base.Read(reader, ref rowData.EmblemMax, CVSReader.uintParse); + this.columnno = 13; + base.Read(reader, ref rowData.BagMax, CVSReader.uintParse); + this.columnno = 14; + base.Read(reader, ref rowData.ArtifactMax, CVSReader.uintParse); + this.columnno = 15; + base.Read(reader, ref rowData.InscriptionMax, CVSReader.uintParse); + this.columnno = 16; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new VIPTable.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/VIPTable.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/VIPTable.cs.meta new file mode 100644 index 00000000..91946b81 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/VIPTable.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: f3e6d5d85afa6954d87033e2095efd03 +timeCreated: 1611465808 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/WXGroupCallBackType.cs b/Client/Assets/Scripts/XUtliPoolLib/WXGroupCallBackType.cs new file mode 100644 index 00000000..8e5bea93 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/WXGroupCallBackType.cs @@ -0,0 +1,10 @@ +using System; + +namespace XUtliPoolLib +{ + public enum WXGroupCallBackType + { + DragonGuild, + Guild + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/WXGroupCallBackType.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/WXGroupCallBackType.cs.meta new file mode 100644 index 00000000..3ff15f51 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/WXGroupCallBackType.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 0f7aaac2b5d8906488109330d0bc25d3 +timeCreated: 1611465289 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/WXGroupInfo.cs b/Client/Assets/Scripts/XUtliPoolLib/WXGroupInfo.cs new file mode 100644 index 00000000..3aa39569 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/WXGroupInfo.cs @@ -0,0 +1,22 @@ +using System; + +namespace XUtliPoolLib +{ + public class WXGroupInfo + { + public int apiId; + + public WXGroupInfo.Data data; + + public struct Data + { + public string flag; + + public int errorCode; + + public string count; + + public string openIdList; + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/WXGroupInfo.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/WXGroupInfo.cs.meta new file mode 100644 index 00000000..89271ef9 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/WXGroupInfo.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 2b5962a3c6b096147a23187652ae852a +timeCreated: 1611465304 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/WXGroupResult.cs b/Client/Assets/Scripts/XUtliPoolLib/WXGroupResult.cs new file mode 100644 index 00000000..46e728e1 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/WXGroupResult.cs @@ -0,0 +1,18 @@ +using System; + +namespace XUtliPoolLib +{ + public class WXGroupResult + { + public int apiId; + + public WXGroupResult.Data data; + + public struct Data + { + public int errorCode; + + public string flag; + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/WXGroupResult.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/WXGroupResult.cs.meta new file mode 100644 index 00000000..e9606de3 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/WXGroupResult.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: d7ca8e80cbd1e2c43ba7eef15490c9da +timeCreated: 1611465764 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/WeddingLoverLiveness.cs b/Client/Assets/Scripts/XUtliPoolLib/WeddingLoverLiveness.cs new file mode 100644 index 00000000..afdea743 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/WeddingLoverLiveness.cs @@ -0,0 +1,71 @@ +using System; + +namespace XUtliPoolLib +{ + public class WeddingLoverLiveness : CVSReader + { + public WeddingLoverLiveness.RowData[] Table = null; + + public class RowData + { + public uint index; + + public uint liveness; + + public SeqListRef viewabledrop; + + public string boxPic; + } + + public WeddingLoverLiveness.RowData GetByindex(uint key) + { + bool flag = this.Table == null || this.Table.Length == 0; + WeddingLoverLiveness.RowData result; + if (flag) + { + result = null; + } + else + { + for (int i = 0; i < this.Table.Length; i++) + { + bool flag2 = this.Table[i].index == key; + if (flag2) + { + return this.Table[i]; + } + } + result = null; + } + return result; + } + + protected override void ReadLine(XBinaryReader reader) + { + WeddingLoverLiveness.RowData rowData = new WeddingLoverLiveness.RowData(); + base.Read(reader, ref rowData.index, CVSReader.uintParse); + this.columnno = 0; + base.Read(reader, ref rowData.liveness, CVSReader.uintParse); + this.columnno = 1; + rowData.viewabledrop.Read(reader, this.m_DataHandler); + this.columnno = 4; + base.Read(reader, ref rowData.boxPic, CVSReader.stringParse); + this.columnno = 5; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new WeddingLoverLiveness.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/WeddingLoverLiveness.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/WeddingLoverLiveness.cs.meta new file mode 100644 index 00000000..55262f79 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/WeddingLoverLiveness.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 5fb49102bcec34d49a0cfc83614083b5 +timeCreated: 1611465650 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/WeekEnd4v4List.cs b/Client/Assets/Scripts/XUtliPoolLib/WeekEnd4v4List.cs new file mode 100644 index 00000000..a73b3746 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/WeekEnd4v4List.cs @@ -0,0 +1,80 @@ +using System; + +namespace XUtliPoolLib +{ + public class WeekEnd4v4List : CVSReader + { + public WeekEnd4v4List.RowData[] Table = null; + + public class RowData + { + public uint ID; + + public uint Index; + + public SeqListRef DropItems; + + public string Name; + + public string Rule; + + public uint SceneID; + + public string TexturePath; + + public uint ReviveSeconds; + + public SeqListRef RankPoint; + + public SeqListRef LoseDrop; + + public uint MaxTime; + + public uint RewardTimes; + } + + protected override void ReadLine(XBinaryReader reader) + { + WeekEnd4v4List.RowData rowData = new WeekEnd4v4List.RowData(); + base.Read(reader, ref rowData.ID, CVSReader.uintParse); + this.columnno = 0; + base.Read(reader, ref rowData.Index, CVSReader.uintParse); + this.columnno = 1; + rowData.DropItems.Read(reader, this.m_DataHandler); + this.columnno = 2; + base.Read(reader, ref rowData.Name, CVSReader.stringParse); + this.columnno = 3; + base.Read(reader, ref rowData.Rule, CVSReader.stringParse); + this.columnno = 4; + base.Read(reader, ref rowData.SceneID, CVSReader.uintParse); + this.columnno = 5; + base.Read(reader, ref rowData.TexturePath, CVSReader.stringParse); + this.columnno = 6; + base.Read(reader, ref rowData.ReviveSeconds, CVSReader.uintParse); + this.columnno = 7; + rowData.RankPoint.Read(reader, this.m_DataHandler); + this.columnno = 9; + rowData.LoseDrop.Read(reader, this.m_DataHandler); + this.columnno = 10; + base.Read(reader, ref rowData.MaxTime, CVSReader.uintParse); + this.columnno = 12; + base.Read(reader, ref rowData.RewardTimes, CVSReader.uintParse); + this.columnno = 13; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new WeekEnd4v4List.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/WeekEnd4v4List.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/WeekEnd4v4List.cs.meta new file mode 100644 index 00000000..75a26906 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/WeekEnd4v4List.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: bcb30d5619c24824da8f216a8682bd7e +timeCreated: 1611465749 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/WeekEndNestActivity.cs b/Client/Assets/Scripts/XUtliPoolLib/WeekEndNestActivity.cs new file mode 100644 index 00000000..e13ca053 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/WeekEndNestActivity.cs @@ -0,0 +1,67 @@ +using System; + +namespace XUtliPoolLib +{ + public class WeekEndNestActivity : CVSReader + { + public WeekEndNestActivity.RowData[] Table = null; + + public class RowData + { + public SeqRef OpenSvrDay; + + public uint ParentTaskId; + + public string BgTexName; + } + + public WeekEndNestActivity.RowData GetByParentTaskId(uint key) + { + bool flag = this.Table == null || this.Table.Length == 0; + WeekEndNestActivity.RowData result; + if (flag) + { + result = null; + } + else + { + for (int i = 0; i < this.Table.Length; i++) + { + bool flag2 = this.Table[i].ParentTaskId == key; + if (flag2) + { + return this.Table[i]; + } + } + result = null; + } + return result; + } + + protected override void ReadLine(XBinaryReader reader) + { + WeekEndNestActivity.RowData rowData = new WeekEndNestActivity.RowData(); + rowData.OpenSvrDay.Read(reader, this.m_DataHandler); + this.columnno = 0; + base.Read(reader, ref rowData.ParentTaskId, CVSReader.uintParse); + this.columnno = 1; + base.Read(reader, ref rowData.BgTexName, CVSReader.stringParse); + this.columnno = 2; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new WeekEndNestActivity.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/WeekEndNestActivity.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/WeekEndNestActivity.cs.meta new file mode 100644 index 00000000..bef69481 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/WeekEndNestActivity.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: d6b43bce0b87d35428d102e0d31717f2 +timeCreated: 1611465763 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/WorldBossRewardTable.cs b/Client/Assets/Scripts/XUtliPoolLib/WorldBossRewardTable.cs new file mode 100644 index 00000000..2d703985 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/WorldBossRewardTable.cs @@ -0,0 +1,44 @@ +using System; + +namespace XUtliPoolLib +{ + public class WorldBossRewardTable : CVSReader + { + public WorldBossRewardTable.RowData[] Table = null; + + public class RowData + { + public int Level; + + public SeqRef Rank; + + public SeqListRef ShowReward; + } + + protected override void ReadLine(XBinaryReader reader) + { + WorldBossRewardTable.RowData rowData = new WorldBossRewardTable.RowData(); + base.Read(reader, ref rowData.Level, CVSReader.intParse); + this.columnno = 0; + rowData.Rank.Read(reader, this.m_DataHandler); + this.columnno = 1; + rowData.ShowReward.Read(reader, this.m_DataHandler); + this.columnno = 2; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new WorldBossRewardTable.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/WorldBossRewardTable.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/WorldBossRewardTable.cs.meta new file mode 100644 index 00000000..bad37f21 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/WorldBossRewardTable.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 957d07018b524ec4f9640006d14bdb9c +timeCreated: 1611465707 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/WorldLevelExpBuff.cs b/Client/Assets/Scripts/XUtliPoolLib/WorldLevelExpBuff.cs new file mode 100644 index 00000000..fa98c7d0 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/WorldLevelExpBuff.cs @@ -0,0 +1,56 @@ +using System; + +namespace XUtliPoolLib +{ + public class WorldLevelExpBuff : CVSReader + { + public WorldLevelExpBuff.RowData[] Table = null; + + public class RowData + { + public uint WorldLevel; + + public SeqRef Level; + + public double ExpBuff; + + public double BackExpBuff; + + public uint BackflowLevel; + + public SeqRef BackBattleBuff; + } + + protected override void ReadLine(XBinaryReader reader) + { + WorldLevelExpBuff.RowData rowData = new WorldLevelExpBuff.RowData(); + base.Read(reader, ref rowData.WorldLevel, CVSReader.uintParse); + this.columnno = 0; + rowData.Level.Read(reader, this.m_DataHandler); + this.columnno = 1; + base.Read(reader, ref rowData.ExpBuff, CVSReader.doubleParse); + this.columnno = 2; + base.Read(reader, ref rowData.BackExpBuff, CVSReader.doubleParse); + this.columnno = 3; + base.Read(reader, ref rowData.BackflowLevel, CVSReader.uintParse); + this.columnno = 4; + rowData.BackBattleBuff.Read(reader, this.m_DataHandler); + this.columnno = 5; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new WorldLevelExpBuff.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/WorldLevelExpBuff.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/WorldLevelExpBuff.cs.meta new file mode 100644 index 00000000..67445216 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/WorldLevelExpBuff.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 25b6162eb0406354c990e444f8b12bf5 +timeCreated: 1611465301 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/XActorDataClip.cs b/Client/Assets/Scripts/XUtliPoolLib/XActorDataClip.cs new file mode 100644 index 00000000..4df88d3f --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XActorDataClip.cs @@ -0,0 +1,36 @@ +using System; +using UnityEngine; + +namespace XUtliPoolLib +{ + [Serializable] + public class XActorDataClip : XCutSceneClip + { + [SerializeField] + public string Prefab = null; + + [SerializeField] + public string Clip = null; + + [SerializeField] + public float AppearX = 0f; + + [SerializeField] + public float AppearY = 0f; + + [SerializeField] + public float AppearZ = 0f; + + [SerializeField] + public int StatisticsID = 0; + + [SerializeField] + public bool bUsingID = false; + + [SerializeField] + public bool bToCommonPool = false; + + [SerializeField] + public string Tag = null; + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/XActorDataClip.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/XActorDataClip.cs.meta new file mode 100644 index 00000000..72be8ec2 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XActorDataClip.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: c7179927aeeb98240beaa3326cb644cf +timeCreated: 1611465756 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/XAnimationClip.cs b/Client/Assets/Scripts/XUtliPoolLib/XAnimationClip.cs new file mode 100644 index 00000000..1ce55d7b --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XAnimationClip.cs @@ -0,0 +1,23 @@ +using System; +using UnityEngine; + +namespace XUtliPoolLib +{ + public class XAnimationClip : ScriptableObject + { + public AnimationClip clip; + + public float length; + + public void Reset() + { + this.clip = null; + this.length = 0f; + } + + public int GetInstanceID() + { + return (this.clip == null) ? 0 : this.clip.GetInstanceID(); + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/XAnimationClip.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/XAnimationClip.cs.meta new file mode 100644 index 00000000..2a8d3f16 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XAnimationClip.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 7e838fc6d053e1846aef95f20f6c924c +timeCreated: 1611465693 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/XAnimationPool.cs b/Client/Assets/Scripts/XUtliPoolLib/XAnimationPool.cs new file mode 100644 index 00000000..b51ca1ac --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XAnimationPool.cs @@ -0,0 +1,30 @@ +using System; +using UnityEngine; + +namespace XUtliPoolLib +{ + public class XAnimationPool + { + private static readonly ObjectPool s_Pool = new ObjectPool(new ObjectPool.CreateObj(XAnimationPool.Create), null, null); + + public static XAnimationClip Create() + { + return ScriptableObject.CreateInstance(); + } + + public static XAnimationClip Get() + { + return XAnimationPool.s_Pool.Get(); + } + + public static void Release(XAnimationClip toRelease) + { + bool flag = toRelease != null; + if (flag) + { + toRelease.Reset(); + } + XAnimationPool.s_Pool.Release(toRelease); + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/XAnimationPool.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/XAnimationPool.cs.meta new file mode 100644 index 00000000..3ce696d5 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XAnimationPool.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 95fcfacf173cf1e4197d27517a2bf9c4 +timeCreated: 1611465708 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/XAnimator.cs b/Client/Assets/Scripts/XUtliPoolLib/XAnimator.cs new file mode 100644 index 00000000..507e9275 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XAnimator.cs @@ -0,0 +1,643 @@ +using System; +using System.Collections.Generic; +using UnityEngine; + +namespace XUtliPoolLib +{ + public class XAnimator + { + public bool IsLoaded + { + get + { + return this.m_LoadStatus == 2; + } + } + + private bool IsInLoadFinish + { + get + { + return this.m_LoadStatus == 1; + } + } + + public float speed + { + get + { + return this.m_speed; + } + set + { + this.m_speed = value; + bool isLoaded = this.IsLoaded; + if (isLoaded) + { + XAnimator.SyncSpeed(this); + } + else + { + this.SetCbFlag(XAnimator.ECallbackCmd.ESyncSpeed, true); + } + } + } + + public bool enabled + { + get + { + return this.m_enable; + } + set + { + this.m_enable = value; + bool isLoaded = this.IsLoaded; + if (isLoaded) + { + XAnimator.SyncEnable(this); + } + else + { + this.SetCbFlag(XAnimator.ECallbackCmd.ESyncEnable, true); + } + } + } + + public string StateName + { + get + { + return this.m_stateName; + } + } + + public AnimatorCullingMode cullingMode + { + set + { + this.m_cullingMode = value; + bool isLoaded = this.IsLoaded; + if (isLoaded) + { + XAnimator.SyncAnimationCullingMode(this); + } + } + } + + private short m_LoadStatus = 0; + + public XGameObject xGameObject = null; + + private Animator m_Ator = null; + + private AnimatorOverrideController m_overrideController = null; + + private AnimatorCullingMode m_cullingMode = (AnimatorCullingMode)1; + + private bool m_delayPlay = false; + + private bool m_crossFade = false; + + private string m_stateName = ""; + + private int m_playLayer = 0; + + private float m_normalizedTime = float.NegativeInfinity; + + private float m_value = 0f; + + private string m_triggerName = ""; + + private float m_speed = 1f; + + private bool m_enable = true; + + private Dictionary m_FloatCache = null; + + private int m_LoadFinishCbFlag = 0; + + private static AnimLoadCallback SyncTriggerCmd = new AnimLoadCallback(XAnimator.SyncTrigger); + + private static AnimLoadCallback SyncSetFloatCmd = new AnimLoadCallback(XAnimator.SyncSetFloat); + + private static AnimLoadCallback SyncSpeedCmd = new AnimLoadCallback(XAnimator.SyncSpeed); + + private static AnimLoadCallback SyncEnableCmd = new AnimLoadCallback(XAnimator.SyncEnable); + + private static AnimLoadCallback[] loadCallbacks = null; + + private Dictionary m_Clips = new Dictionary(); + + public static bool debug = false; + + private enum ECallbackCmd + { + ESyncEnable = 1, + ESyncSpeed, + ESyncTrigger = 4, + ESyncSetFloat = 8 + } + + private struct AminInfo + { + public XAnimationClip xclip; + + public string clipKey; + + public string clipPath; + } + + public XAnimator() + { + bool flag = XAnimator.loadCallbacks == null; + if (flag) + { + XAnimator.loadCallbacks = new AnimLoadCallback[] + { + XAnimator.SyncEnableCmd, + XAnimator.SyncSpeedCmd, + XAnimator.SyncTriggerCmd, + XAnimator.SyncSetFloatCmd + }; + } + } + + private void SetCbFlag(XAnimator.ECallbackCmd cmd, bool add) + { + int num = XFastEnumIntEqualityComparer.ToInt(cmd); + if (add) + { + this.m_LoadFinishCbFlag |= num; + } + else + { + this.m_LoadFinishCbFlag &= ~num; + } + } + + private bool IsCbFlag(int index) + { + int num = 1 << index; + return (this.m_LoadFinishCbFlag & num) != 0; + } + + private void CacheFloatValue(string name, float value) + { + bool flag = this.m_FloatCache == null; + if (flag) + { + this.m_FloatCache = DictionaryPool.Get(); + } + this.m_FloatCache[name] = value; + } + + public void Init(GameObject gameObject) + { + this.m_LoadStatus = 1; + this.m_Ator = ((gameObject != null) ? gameObject.GetComponent() : null); + bool flag = this.m_Ator != null; + if (flag) + { + this.m_Ator.enabled = true; + bool flag2 = this.m_Ator.runtimeAnimatorController is AnimatorOverrideController; + if (flag2) + { + this.m_overrideController = (this.m_Ator.runtimeAnimatorController as AnimatorOverrideController); + } + else + { + this.m_overrideController = new AnimatorOverrideController(); + this.m_overrideController.runtimeAnimatorController = this.m_Ator.runtimeAnimatorController; + this.m_Ator.runtimeAnimatorController = this.m_overrideController; + } + foreach (KeyValuePair keyValuePair in this.m_Clips) + { + XAnimator.AminInfo value = keyValuePair.Value; + bool flag3 = value.xclip != null; + if (flag3) + { + this.SyncOverrideAnim(value.clipKey, value.xclip); + } + } + this.m_Ator.cullingMode = 0; + this.m_Ator.Rebind(); + for (int i = 0; i < XAnimator.loadCallbacks.Length; i++) + { + bool flag4 = this.IsCbFlag(i); + if (flag4) + { + AnimLoadCallback animLoadCallback = XAnimator.loadCallbacks[i]; + animLoadCallback(this); + } + } + } + this.m_LoadFinishCbFlag = 0; + this.m_LoadStatus = 2; + } + + public bool IsSame(Animator ator) + { + return this.m_Ator == ator; + } + + public bool IsAnimStateValid() + { + bool flag = !this.IsLoaded; + bool result; + if (flag) + { + result = false; + } + else + { + bool flag2 = string.IsNullOrEmpty(this.m_stateName); + result = !flag2; + } + return result; + } + + public void Reset() + { + bool flag = this.m_Ator != null; + if (flag) + { + this.m_Ator.cullingMode =(AnimatorCullingMode) 1; + this.m_Ator.enabled = false; + this.m_Ator = null; + } + bool flag2 = this.m_overrideController != null; + if (flag2) + { + foreach (AnimationClipPair animationClipPair in this.m_overrideController.clips) + { + bool flag3 = animationClipPair.overrideClip != null; + if (flag3) + { + this.m_overrideController[animationClipPair.originalClip.name] = null; + } + } + this.m_overrideController = null; + } + foreach (KeyValuePair keyValuePair in this.m_Clips) + { + XAnimator.AminInfo value = keyValuePair.Value; + bool flag4 = value.xclip != null; + if (flag4) + { + XSingleton.singleton.UnSafeDestroyShareResource(value.clipPath, ".anim", value.xclip, false); + } + } + this.m_Clips.Clear(); + this.m_cullingMode = (AnimatorCullingMode) 1; + this.m_delayPlay = false; + this.m_stateName = ""; + this.m_value = -1f; + this.m_playLayer = -1; + this.m_normalizedTime = float.NegativeInfinity; + this.m_triggerName = ""; + this.m_LoadStatus = 0; + this.m_LoadFinishCbFlag = 0; + this.xGameObject = null; + } + + public void SetStateMachine(IAnimStateMachine stateMachine) + { + } + + private void SyncOverrideAnim(string key, XAnimationClip xclip) + { + bool flag = this.m_Ator != null; + if (flag) + { + bool flag2 = XAnimator.debug; + if (flag2) + { + XSingleton.singleton.AddWarningLog2("GO:{0} OverrideAnim {1}", new object[] + { + this.xGameObject.Name, + key + }); + } + this.m_overrideController[key] = ((xclip != null) ? xclip.clip : null); + } + } + + public void OverrideAnim(string key, string clipPath, OverrideAnimCallback overrideAnim = null, bool forceOverride = false) + { + bool flag = clipPath == null; + if (flag) + { + clipPath = ""; + } + bool flag2 = this.m_Ator == null && this.IsLoaded; + if (!flag2) + { + XAnimator.AminInfo aminInfo; + bool flag3 = this.m_Clips.TryGetValue(key, out aminInfo); + if (flag3) + { + bool flag4 = aminInfo.clipPath == clipPath; + if (flag4) + { + bool flag5 = forceOverride && this.IsLoaded; + if (flag5) + { + this.SyncOverrideAnim(key, aminInfo.xclip); + } + bool flag6 = overrideAnim != null; + if (flag6) + { + overrideAnim(aminInfo.xclip); + } + return; + } + bool flag7 = aminInfo.xclip != null; + if (flag7) + { + XSingleton.singleton.UnSafeDestroyShareResource("", ".anim", aminInfo.xclip, false); + aminInfo.xclip = null; + } + } + else + { + aminInfo.clipKey = key; + } + aminInfo.clipPath = clipPath; + aminInfo.xclip = (string.IsNullOrEmpty(clipPath) ? null : XSingleton.singleton.GetXAnimation(clipPath, true, false)); + this.m_Clips[key] = aminInfo; + bool isLoaded = this.IsLoaded; + if (isLoaded) + { + this.SyncOverrideAnim(key, aminInfo.xclip); + } + bool flag8 = overrideAnim != null; + if (flag8) + { + overrideAnim(aminInfo.xclip); + } + } + } + + public void SetAnimLoadCallback(string key, OverrideAnimCallback overrideAnim) + { + bool flag = this.m_Ator == null && this.IsLoaded; + if (!flag) + { + bool flag2 = overrideAnim != null; + if (flag2) + { + XAnimator.AminInfo aminInfo; + bool flag3 = this.m_Clips.TryGetValue(key, out aminInfo); + if (flag3) + { + bool flag4 = aminInfo.xclip != null; + if (flag4) + { + overrideAnim(aminInfo.xclip); + } + } + } + } + } + + public static void SyncAnimationCullingMode(XAnimator ator) + { + bool flag = ator != null && ator.m_Ator != null; + if (flag) + { + ator.m_Ator.cullingMode = ator.m_cullingMode; + } + } + + private static void SyncTrigger(XAnimator ator) + { + bool flag = ator != null && ator.m_Ator != null && !string.IsNullOrEmpty(ator.m_triggerName); + if (flag) + { + bool flag2 = XAnimator.debug; + if (flag2) + { + XSingleton.singleton.AddWarningLog2("GO:{0} trigger {1}", new object[] + { + ator.xGameObject.Name, + ator.m_triggerName + }); + } + ator.m_Ator.SetTrigger(ator.m_triggerName); + } + } + + private static void SyncSetFloat(XAnimator ator) + { + bool flag = ator != null && ator.m_Ator != null; + if (flag) + { + bool flag2 = ator.m_FloatCache != null; + if (flag2) + { + Dictionary.Enumerator enumerator = ator.m_FloatCache.GetEnumerator(); + while (enumerator.MoveNext()) + { + bool flag3 = XAnimator.debug; + KeyValuePair keyValuePair; + if (flag3) + { + XDebug singleton = XSingleton.singleton; + string format = "GO:{0} SetFloat {1}"; + object[] array = new object[2]; + array[0] = ator.xGameObject.Name; + int num = 1; + keyValuePair = enumerator.Current; + array[num] = keyValuePair.Key; + singleton.AddWarningLog2(format, array); + } + Animator ator2 = ator.m_Ator; + keyValuePair = enumerator.Current; + string key = keyValuePair.Key; + keyValuePair = enumerator.Current; + ator2.SetFloat(key, keyValuePair.Value); + } + DictionaryPool.Release(ator.m_FloatCache); + ator.m_FloatCache = null; + } + } + } + + private static void SyncSpeed(XAnimator ator) + { + bool flag = ator != null && ator.m_Ator != null; + if (flag) + { + ator.m_Ator.speed = ator.m_speed; + } + } + + private static void SyncEnable(XAnimator ator) + { + bool flag = ator != null && ator.m_Ator != null; + if (flag) + { + ator.m_Ator.enabled = ator.m_enable; + } + } + + public static void Update(XAnimator ator) + { + XAnimator.SyncAnimationCullingMode(ator); + bool delayPlay = ator.m_delayPlay; + if (delayPlay) + { + ator.RealPlay(); + } + } + + public void RealPlay() + { + this.m_delayPlay = false; + bool flag = this.m_Ator != null; + if (flag) + { + bool crossFade = this.m_crossFade; + if (crossFade) + { + bool flag2 = XAnimator.debug; + if (flag2) + { + XSingleton.singleton.AddWarningLog2("GO:{0} crossFade {1} {2}", new object[] + { + this.xGameObject.Name, + this.m_stateName, + this.m_Ator.IsInTransition(0) + }); + } + this.m_Ator.CrossFade(this.m_stateName, this.m_value, this.m_playLayer, this.m_normalizedTime); + } + else + { + bool flag3 = XAnimator.debug; + if (flag3) + { + XSingleton.singleton.AddWarningLog2("GO:{0} play {1}", new object[] + { + this.xGameObject.Name, + this.m_stateName + }); + } + this.m_Ator.Play(this.m_stateName, this.m_playLayer, this.m_normalizedTime); + } + } + } + + public void Play(string stateName, int layer, float normalizedTime) + { + this.m_stateName = stateName; + this.m_playLayer = layer; + this.m_normalizedTime = normalizedTime; + this.m_crossFade = false; + bool flag = this.IsAnimStateValid(); + if (flag) + { + this.RealPlay(); + } + else + { + this.m_delayPlay = true; + } + } + + public void Play(string stateName, int layer) + { + this.m_stateName = stateName; + this.m_playLayer = layer; + this.m_normalizedTime = float.NegativeInfinity; + this.m_crossFade = false; + bool flag = this.IsAnimStateValid(); + if (flag) + { + this.RealPlay(); + } + else + { + this.m_delayPlay = true; + } + } + + public void CrossFade(string stateName, float transitionDuration, int layer, float normalizedTime) + { + this.m_stateName = stateName; + this.m_value = transitionDuration; + this.m_playLayer = layer; + this.m_normalizedTime = normalizedTime; + this.m_crossFade = true; + bool flag = this.IsAnimStateValid(); + if (flag) + { + this.RealPlay(); + } + else + { + this.m_delayPlay = true; + } + } + + public void SetTrigger(string name) + { + this.m_triggerName = name; + bool isLoaded = this.IsLoaded; + if (isLoaded) + { + XAnimator.SyncTrigger(this); + } + else + { + this.SetCbFlag(XAnimator.ECallbackCmd.ESyncTrigger, true); + } + } + + public void ResetTrigger() + { + bool isLoaded = this.IsLoaded; + if (isLoaded) + { + XAnimator.SyncTrigger(this); + } + else + { + this.SetCbFlag(XAnimator.ECallbackCmd.ESyncTrigger, true); + } + } + + public bool IsInTransition(int layerIndex) + { + return !(this.m_Ator == null) && this.m_Ator.IsInTransition(layerIndex); + } + + public void SetFloat(string name, float value) + { + bool isLoaded = this.IsLoaded; + if (isLoaded) + { + bool flag = this.m_Ator != null; + if (flag) + { + this.m_Ator.SetFloat(name, value); + } + } + else + { + this.CacheFloatValue(name, value); + this.SetCbFlag(XAnimator.ECallbackCmd.ESyncSetFloat, true); + } + } + + public void EnableRootMotion(bool enable) + { + bool flag = this.m_Ator != null; + if (flag) + { + this.m_Ator.applyRootMotion = enable; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/XAnimator.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/XAnimator.cs.meta new file mode 100644 index 00000000..e1483b65 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XAnimator.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 99e3c3d2881314e49b4a1bf255b240c6 +timeCreated: 1611465710 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/XAudioData.cs b/Client/Assets/Scripts/XUtliPoolLib/XAudioData.cs new file mode 100644 index 00000000..0940c319 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XAudioData.cs @@ -0,0 +1,20 @@ +using System; +using System.ComponentModel; +using UnityEngine; + +namespace XUtliPoolLib +{ + [Serializable] + public class XAudioData : XBaseData + { + [SerializeField] + [DefaultValue(0f)] + public float At; + + [SerializeField] + public string Clip = null; + + [SerializeField] + public AudioChannel Channel = AudioChannel.Skill; + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/XAudioData.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/XAudioData.cs.meta new file mode 100644 index 00000000..8fa6b599 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XAudioData.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 1ac8395610bd57043aa3feed9c7a57ae +timeCreated: 1611465296 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/XAudioDataClip.cs b/Client/Assets/Scripts/XUtliPoolLib/XAudioDataClip.cs new file mode 100644 index 00000000..21fbd238 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XAudioDataClip.cs @@ -0,0 +1,18 @@ +using System; +using UnityEngine; + +namespace XUtliPoolLib +{ + [Serializable] + public class XAudioDataClip : XCutSceneClip + { + [SerializeField] + public string Clip = null; + + [SerializeField] + public int BindIdx = 0; + + [SerializeField] + public AudioChannel Channel = AudioChannel.Skill; + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/XAudioDataClip.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/XAudioDataClip.cs.meta new file mode 100644 index 00000000..859542b6 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XAudioDataClip.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: aa6c2295b95b0554bad992836ff42a45 +timeCreated: 1611465740 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/XBaseData.cs b/Client/Assets/Scripts/XUtliPoolLib/XBaseData.cs new file mode 100644 index 00000000..a20ac578 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XBaseData.cs @@ -0,0 +1,14 @@ +using System; +using System.ComponentModel; +using UnityEngine; + +namespace XUtliPoolLib +{ + [Serializable] + public class XBaseData + { + [SerializeField] + [DefaultValue(0)] + public int Index = 0; + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/XBaseData.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/XBaseData.cs.meta new file mode 100644 index 00000000..521b4251 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XBaseData.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: c6b7d8d22b92cea4880058d42f9646a5 +timeCreated: 1611465756 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/XBaseSingleton.cs b/Client/Assets/Scripts/XUtliPoolLib/XBaseSingleton.cs new file mode 100644 index 00000000..804d952c --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XBaseSingleton.cs @@ -0,0 +1,11 @@ +using System; + +namespace XUtliPoolLib +{ + public abstract class XBaseSingleton + { + public abstract bool Init(); + + public abstract void Uninit(); + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/XBaseSingleton.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/XBaseSingleton.cs.meta new file mode 100644 index 00000000..6b7380db --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XBaseSingleton.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 7764bae7fdbc20b49bb8b8c6c81ad1fa +timeCreated: 1611465691 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/XBeHitPhase.cs b/Client/Assets/Scripts/XUtliPoolLib/XBeHitPhase.cs new file mode 100644 index 00000000..c96542d0 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XBeHitPhase.cs @@ -0,0 +1,12 @@ +using System; + +namespace XUtliPoolLib +{ + public enum XBeHitPhase + { + Hit_Present, + Hit_Landing, + Hit_Hard, + Hit_GetUp + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/XBeHitPhase.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/XBeHitPhase.cs.meta new file mode 100644 index 00000000..841c38e1 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XBeHitPhase.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 9896c8f58a1f7214ca622c87442a2742 +timeCreated: 1611465709 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/XBeHitState.cs b/Client/Assets/Scripts/XUtliPoolLib/XBeHitState.cs new file mode 100644 index 00000000..48d5e083 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XBeHitState.cs @@ -0,0 +1,13 @@ +using System; + +namespace XUtliPoolLib +{ + public enum XBeHitState + { + Hit_Back, + Hit_Fly, + Hit_Roll, + Hit_Freezed, + Hit_Free + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/XBeHitState.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/XBeHitState.cs.meta new file mode 100644 index 00000000..3865b31f --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XBeHitState.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 1c5140d3967a3554b99934d69c2228a3 +timeCreated: 1611465297 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/XBeHitState_Animation.cs b/Client/Assets/Scripts/XUtliPoolLib/XBeHitState_Animation.cs new file mode 100644 index 00000000..88a35aeb --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XBeHitState_Animation.cs @@ -0,0 +1,11 @@ +using System; + +namespace XUtliPoolLib +{ + public enum XBeHitState_Animation + { + Hit_Back_Front, + Hit_Back_Left, + Hit_Back_Right + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/XBeHitState_Animation.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/XBeHitState_Animation.cs.meta new file mode 100644 index 00000000..35d3b0d3 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XBeHitState_Animation.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 124de6c51b3a072438c039000a0adc4f +timeCreated: 1611465292 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/XBinaryReader.cs b/Client/Assets/Scripts/XUtliPoolLib/XBinaryReader.cs new file mode 100644 index 00000000..18ac3a02 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XBinaryReader.cs @@ -0,0 +1,565 @@ +using System; +using System.IO; +using System.Text; +using UnityEngine; + +namespace XUtliPoolLib +{ + public class XBinaryReader + { + public bool IsEof + { + get + { + return this.m_Position >= this.m_Length; + } + } + + private byte[] m_srcBuff = null; + + private int m_Length = 0; + + private int m_Position = 0; + + private int m_StartOffset = 0; + + private byte[] m_charBytes = null; + + private char[] m_charBuffer = null; + + private char[] m_singleChar = null; + + private const int MaxCharBytesSize = 128; + + private static int MaxCharsSize = 128; + + private Decoder m_decoder; + + private static class StringBuilderCache + { + private const int MAX_BUILDER_SIZE = 360; + + [ThreadStatic] + private static StringBuilder CachedInstance; + + public static StringBuilder Acquire(int capacity = 16) + { + bool flag = capacity <= 360; + if (flag) + { + StringBuilder cachedInstance = XBinaryReader.StringBuilderCache.CachedInstance; + bool flag2 = cachedInstance != null; + if (flag2) + { + bool flag3 = capacity <= cachedInstance.Capacity; + if (flag3) + { + XBinaryReader.StringBuilderCache.CachedInstance = null; + cachedInstance.Length = 0; + return cachedInstance; + } + } + } + return new StringBuilder(capacity); + } + + public static void Release(StringBuilder sb) + { + bool flag = sb.Capacity <= 360; + if (flag) + { + XBinaryReader.StringBuilderCache.CachedInstance = sb; + } + } + + public static string GetStringAndRelease(StringBuilder sb) + { + string result = sb.ToString(); + XBinaryReader.StringBuilderCache.Release(sb); + return result; + } + } + + public XBinaryReader() + { + UTF8Encoding utf8Encoding = new UTF8Encoding(); + this.m_decoder = utf8Encoding.GetDecoder(); + } + + public static void Init() + { + StringBuilder sb = XBinaryReader.StringBuilderCache.Acquire(16); + XBinaryReader.StringBuilderCache.Release(sb); + } + + public static XBinaryReader Get() + { + return CommonObjectPool.Get(); + } + + public static void Return(XBinaryReader reader, bool readShareResource = false) + { + bool flag = reader != null; + if (flag) + { + reader.Close(readShareResource); + CommonObjectPool.Release(reader); + } + } + + public void Init(TextAsset ta) + { + this.InitByte((ta != null) ? ta.bytes : null, 0, 0); + } + + public void InitByte(byte[] buff, int offset = 0, int count = 0) + { + this.m_srcBuff = buff; + this.m_StartOffset = offset; + this.m_Position = 0; + bool flag = count > 0; + if (flag) + { + this.m_Length = ((this.m_srcBuff != null) ? ((count > this.m_srcBuff.Length) ? this.m_srcBuff.Length : count) : 0); + } + else + { + this.m_Length = ((this.m_srcBuff != null) ? this.m_srcBuff.Length : 0); + } + } + + public byte[] GetBuffer() + { + return this.m_srcBuff; + } + + public int Seek(int offset, SeekOrigin origin) + { + switch (origin) + { + case SeekOrigin.Begin: + this.m_Position = ((offset > this.m_Length) ? this.m_Length : offset); + break; + case SeekOrigin.Current: + this.m_Position = ((this.m_Position + offset > this.m_Length) ? this.m_Length : (this.m_Position + offset)); + break; + case SeekOrigin.End: + this.m_Position = ((this.m_Length - offset > this.m_Length) ? this.m_Length : (this.m_Length - offset)); + break; + } + return this.m_Position; + } + + public void Close(bool readShareResource) + { + this.Init(null); + } + + public int GetPosition() + { + return this.m_Position; + } + + public char ReadChar() + { + int num = 0; + int num2 = 1; + int num3 = num3 = 0; + num3 = this.m_Position; + bool flag = this.m_charBytes == null; + if (flag) + { + this.m_charBytes = new byte[128]; + } + bool flag2 = this.m_singleChar == null; + if (flag2) + { + this.m_singleChar = new char[1]; + } + while (num == 0) + { + int num4 = (int)this.ReadByte(); + this.m_charBytes[0] = (byte)num4; + bool flag3 = num4 == -1; + if (flag3) + { + num2 = 0; + } + bool flag4 = num2 == 0; + if (flag4) + { + return '\0'; + } + try + { + num = this.m_decoder.GetChars(this.m_charBytes, 0, num2, this.m_singleChar, 0); + } + catch + { + this.Seek(num3 - this.m_Position, SeekOrigin.Current); + throw; + } + bool flag5 = num > 1; + if (flag5) + { + XSingleton.singleton.AddErrorLog("XBinaryReader::ReadChar assumes it's reading one bytes only,UTF8.", null, null, null, null, null); + } + } + bool flag6 = num == 0; + if (flag6) + { + return '\0'; + } + return this.m_singleChar[0]; + } + + public byte ReadByte() + { + bool flag = this.m_srcBuff == null || this.m_Position + 1 > this.m_Length; + byte result; + if (flag) + { + result = 0; + } + else + { + int position = this.m_Position; + this.m_Position = position + 1; + int @byte = (int)this.GetByte(position); + result = (byte)@byte; + } + return result; + } + + public int ReadInt32() + { + return (int)this.ReadUInt32(); + } + + public uint ReadUInt32() + { + bool flag = this.m_srcBuff == null; + uint result; + if (flag) + { + result = 0u; + } + else + { + int num = this.m_Position += 4; + bool flag2 = num > this.m_Length; + if (flag2) + { + this.m_Position = this.m_Length; + result = 0u; + } + else + { + result = (uint)((int)this.GetByte(num - 4) | (int)this.GetByte(num - 3) << 8 | (int)this.GetByte(num - 2) << 16 | (int)this.GetByte(num - 1) << 24); + } + } + return result; + } + + public short ReadInt16() + { + return (short)this.ReadUInt16(); + } + + public ushort ReadUInt16() + { + bool flag = this.m_srcBuff == null; + ushort result; + if (flag) + { + result = 0; + } + else + { + int num = this.m_Position += 2; + bool flag2 = num > this.m_Length; + if (flag2) + { + this.m_Position = this.m_Length; + result = 0; + } + else + { + result = (ushort)((int)this.GetByte(num - 2) | (int)this.GetByte(num - 1) << 8); + } + } + return result; + } + + public unsafe float ReadSingle() + { + bool flag = this.m_srcBuff == null; + float result; + if (flag) + { + result = 0f; + } + else + { + int num = this.m_Position += 4; + bool flag2 = num > this.m_Length; + if (flag2) + { + this.m_Position = this.m_Length; + result = 0f; + } + else + { + uint num2 = (uint)((int)this.GetByte(num - 4) | (int)this.GetByte(num - 3) << 8 | (int)this.GetByte(num - 2) << 16 | (int)this.GetByte(num - 1) << 24); + result = *(float*)(&num2); + } + } + return result; + } + + public unsafe double ReadDouble() + { + bool flag = this.m_srcBuff == null; + double result; + if (flag) + { + result = 0.0; + } + else + { + int num = this.m_Position += 8; + bool flag2 = num > this.m_Length; + if (flag2) + { + this.m_Position = this.m_Length; + result = 0.0; + } + else + { + uint num2 = (uint)((int)this.GetByte(num - 8) | (int)this.GetByte(num - 7) << 8 | (int)this.GetByte(num - 6) << 16 | (int)this.GetByte(num - 5) << 24); + uint num3 = (uint)((int)this.GetByte(num - 4) | (int)this.GetByte(num - 3) << 8 | (int)this.GetByte(num - 2) << 16 | (int)this.GetByte(num - 1) << 24); + ulong num4 = (ulong)num3 << 32 | (ulong)num2; + result = *(double*)(&num4); + } + } + return result; + } + + public long ReadInt64() + { + return (long)this.ReadUInt64(); + } + + public ulong ReadUInt64() + { + bool flag = this.m_srcBuff == null; + ulong result; + if (flag) + { + result = 0UL; + } + else + { + int num = this.m_Position += 8; + bool flag2 = num > this.m_Length; + if (flag2) + { + this.m_Position = this.m_Length; + result = 0UL; + } + else + { + uint num2 = (uint)((int)this.GetByte(num - 8) | (int)this.GetByte(num - 7) << 8 | (int)this.GetByte(num - 6) << 16 | (int)this.GetByte(num - 5) << 24); + uint num3 = (uint)((int)this.GetByte(num - 4) | (int)this.GetByte(num - 3) << 8 | (int)this.GetByte(num - 2) << 16 | (int)this.GetByte(num - 1) << 24); + result = ((ulong)num3 << 32 | (ulong)num2); + } + } + return result; + } + + public bool ReadBoolean() + { + bool flag = this.m_srcBuff == null || this.m_Position + 1 > this.m_Length; + bool result; + if (flag) + { + result = false; + } + else + { + int position = this.m_Position; + this.m_Position = position + 1; + result = (this.GetByte(position) > 0); + } + return result; + } + + public string ReadString(int length = -1) + { + bool flag = this.m_srcBuff == null; + string result = string.Empty; + if (flag) + { + result = string.Empty; + } + else + { + int num = 0; + int num2 = (length < 0) ? this.Read7BitEncodedInt() : length; + bool flag2 = num2 < 0; + if (flag2) + { + XSingleton.singleton.AddErrorLog("IO.IO_InvalidStringLen_Len", null, null, null, null, null); + result = string.Empty; + } + else + { + bool flag3 = num2 == 0; + if (flag3) + { + result = string.Empty; + } + else + { + bool flag4 = this.m_charBytes == null; + if (flag4) + { + this.m_charBytes = new byte[128]; + } + bool flag5 = this.m_charBuffer == null; + if (flag5) + { + this.m_charBuffer = new char[XBinaryReader.MaxCharsSize]; + } + StringBuilder stringBuilder = null; + int chars; + for (;;) + { + int num3 = (num2 - num > 128) ? 128 : (num2 - num); + int num4 = this.m_Position; + int num5 = this.m_Position += num3; + bool flag6 = num5 > this.m_Length; + if (flag6) + { + this.m_Position = this.m_Length; + num3 = this.m_Position - num4; + } + num4 += this.m_StartOffset; + Array.Copy(this.m_srcBuff, num4, this.m_charBytes, 0, num3); + bool flag7 = num3 == 0; + if (flag7) + { + break; + } + chars = this.m_decoder.GetChars(this.m_charBytes, 0, num3, this.m_charBuffer, 0); + bool flag8 = num == 0 && num3 == num2; + if (flag8) + { + goto Block_11; + } + bool flag9 = stringBuilder == null; + if (flag9) + { + stringBuilder = XBinaryReader.StringBuilderCache.Acquire(num2); + } + stringBuilder.Append(this.m_charBuffer, 0, chars); + num += num3; + if (num >= num2) + { + goto Block_13; + } + } + XSingleton.singleton.AddErrorLog("Read String 0 length", null, null, null, null, null); + return string.Empty; + Block_11: + return new string(this.m_charBuffer, 0, chars); + Block_13: + result = XBinaryReader.StringBuilderCache.GetStringAndRelease(stringBuilder); + } + } + } + return result; + } + + public void SkipString() + { + bool flag = this.m_srcBuff == null; + if (!flag) + { + int num = 0; + int num2 = this.Read7BitEncodedInt(); + bool flag2 = num2 < 0; + if (flag2) + { + XSingleton.singleton.AddErrorLog("IO.IO_InvalidStringLen_Len", null, null, null, null, null); + } + else + { + bool flag3 = num2 == 0; + if (!flag3) + { + for (;;) + { + int num3 = (num2 - num > 128) ? 128 : (num2 - num); + int position = this.m_Position; + int num4 = this.m_Position += num3; + bool flag4 = num4 > this.m_Length; + if (flag4) + { + this.m_Position = this.m_Length; + num3 = this.m_Position - position; + } + bool flag5 = num3 == 0; + if (flag5) + { + break; + } + bool flag6 = num == 0 && num3 <= num2; + if (flag6) + { + goto Block_8; + } + num += num3; + if (num >= num2) + { + return; + } + } + XSingleton.singleton.AddErrorLog("Read String 0 length", null, null, null, null, null); + Block_8:; + } + } + } + } + + private int Read7BitEncodedInt() + { + int num = 0; + int num2 = 0; + for (;;) + { + bool flag = num2 == 35; + if (flag) + { + break; + } + byte b = this.ReadByte(); + num |= (int)(b & 127) << num2; + num2 += 7; + if ((b & 128) <= 0) + { + goto Block_2; + } + } + XSingleton.singleton.AddErrorLog("Format_Bad7BitInt32", null, null, null, null, null); + return 0; + Block_2: + return num; + } + + private byte GetByte(int pos) + { + return this.m_srcBuff[pos + this.m_StartOffset]; + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/XBinaryReader.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/XBinaryReader.cs.meta new file mode 100644 index 00000000..0dbc8771 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XBinaryReader.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 3179993c2e323fe49a8ea0db392b40fe +timeCreated: 1611465309 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/XCallCommand.cs b/Client/Assets/Scripts/XUtliPoolLib/XCallCommand.cs new file mode 100644 index 00000000..9feea104 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XCallCommand.cs @@ -0,0 +1,36 @@ +using System; + +namespace XUtliPoolLib +{ + public class XCallCommand + { + public static ExecuteCommandHandler handler = new ExecuteCommandHandler(XCallCommand.Execute); + + public static DebugHandler debugHandler = new DebugHandler(XCallCommand.DebugString); + + public static void DebugString(XGameObject gameObject, XEngineCommand command, string str, int id) + { + bool flag = command.data != null; + if (flag) + { + XSingleton.singleton.AddWarningLog2("[EngineCommand] CallCmd {0} ID:{1} data:{2} location:{3} objID:{4}", new object[] + { + str, + id, + command.data.data, + gameObject.m_Location, + gameObject.objID + }); + } + } + + public static void Execute(XGameObject gameObject, XEngineCommand command) + { + bool flag = command.data != null && command.data.commandCb != null; + if (flag) + { + command.data.commandCb(gameObject, command.data.data, command.commandID); + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/XCallCommand.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/XCallCommand.cs.meta new file mode 100644 index 00000000..84b5d0ab --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XCallCommand.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: afc3922107736d94ba8c0152488df09e +timeCreated: 1611465744 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/XCameraEffectData.cs b/Client/Assets/Scripts/XUtliPoolLib/XCameraEffectData.cs new file mode 100644 index 00000000..6d987cc1 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XCameraEffectData.cs @@ -0,0 +1,68 @@ +using System; +using System.ComponentModel; +using UnityEngine; + +namespace XUtliPoolLib +{ + [Serializable] + public class XCameraEffectData : XBaseData + { + [SerializeField] + [DefaultValue(0f)] + public float Time; + + [SerializeField] + [DefaultValue(0f)] + public float FovAmp; + + [SerializeField] + [DefaultValue(0f)] + public float Frequency; + + [SerializeField] + public CameraMotionSpace Coordinate = CameraMotionSpace.World; + + [SerializeField] + [DefaultValue(true)] + public bool ShakeX; + + [SerializeField] + [DefaultValue(true)] + public bool ShakeY; + + [SerializeField] + [DefaultValue(true)] + public bool ShakeZ; + + [SerializeField] + [DefaultValue(0f)] + public float AmplitudeX; + + [SerializeField] + [DefaultValue(0f)] + public float AmplitudeY; + + [SerializeField] + [DefaultValue(0f)] + public float AmplitudeZ; + + [SerializeField] + [DefaultValue(0f)] + public float At; + + [SerializeField] + [DefaultValue(false)] + public bool Random; + + [SerializeField] + [DefaultValue(false)] + public bool Combined; + + public XCameraEffectData() + { + this.ShakeX = true; + this.ShakeY = true; + this.ShakeZ = true; + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/XCameraEffectData.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/XCameraEffectData.cs.meta new file mode 100644 index 00000000..10d44914 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XCameraEffectData.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 895c62e4dd3637b419c8f82d6506a6c5 +timeCreated: 1611465699 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/XCameraMotionData.cs b/Client/Assets/Scripts/XUtliPoolLib/XCameraMotionData.cs new file mode 100644 index 00000000..894bc080 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XCameraMotionData.cs @@ -0,0 +1,60 @@ +using System; +using System.ComponentModel; +using System.Xml.Serialization; +using UnityEngine; + +namespace XUtliPoolLib +{ + [Serializable] + public class XCameraMotionData : ICloneable + { + [SerializeField] + [DefaultValue(0f)] + public float At; + + [SerializeField] + [XmlIgnore] + public string Motion = null; + + [SerializeField] + [XmlIgnore] + public CameraMotionType MotionType = CameraMotionType.CameraBased; + + [SerializeField] + public string Motion3D = null; + + [SerializeField] + public CameraMotionType Motion3DType = CameraMotionType.CameraBased; + + [SerializeField] + public string Motion2_5D = null; + + [SerializeField] + public CameraMotionType Motion2_5DType = CameraMotionType.CameraBased; + + [SerializeField] + [DefaultValue(false)] + public bool LookAt_Target; + + [SerializeField] + [DefaultValue(true)] + public bool Follow_Position; + + [SerializeField] + [DefaultValue(false)] + public bool AutoSync_At_Begin; + + [SerializeField] + public CameraMotionSpace Coordinate = CameraMotionSpace.World; + + public XCameraMotionData() + { + this.Follow_Position = true; + } + + public object Clone() + { + return base.MemberwiseClone(); + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/XCameraMotionData.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/XCameraMotionData.cs.meta new file mode 100644 index 00000000..1749f13f --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XCameraMotionData.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: df868d5d6e41ab1409968024dae5262a +timeCreated: 1611465798 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/XCameraPostEffectData.cs b/Client/Assets/Scripts/XUtliPoolLib/XCameraPostEffectData.cs new file mode 100644 index 00000000..527a6905 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XCameraPostEffectData.cs @@ -0,0 +1,36 @@ +using System; +using System.ComponentModel; +using UnityEngine; + +namespace XUtliPoolLib +{ + [Serializable] + public class XCameraPostEffectData + { + [SerializeField] + [DefaultValue(0f)] + public float At; + + [SerializeField] + [DefaultValue(0f)] + public float End; + + [SerializeField] + public string Effect = null; + + [SerializeField] + public string Shader = null; + + [SerializeField] + [DefaultValue(false)] + public bool SolidBlack; + + [SerializeField] + [DefaultValue(0f)] + public float Solid_At; + + [SerializeField] + [DefaultValue(0f)] + public float Solid_End; + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/XCameraPostEffectData.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/XCameraPostEffectData.cs.meta new file mode 100644 index 00000000..7edbc4d4 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XCameraPostEffectData.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 53cd42f042368da4ba313fae7b145296 +timeCreated: 1611465644 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/XCastChain.cs b/Client/Assets/Scripts/XUtliPoolLib/XCastChain.cs new file mode 100644 index 00000000..4d2e4127 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XCastChain.cs @@ -0,0 +1,21 @@ +using System; +using System.ComponentModel; +using UnityEngine; + +namespace XUtliPoolLib +{ + [Serializable] + public class XCastChain + { + [SerializeField] + [DefaultValue(0f)] + public float At = 0f; + + [SerializeField] + [DefaultValue(0)] + public int TemplateID = 0; + + [SerializeField] + public string Name = null; + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/XCastChain.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/XCastChain.cs.meta new file mode 100644 index 00000000..17dbcc3d --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XCastChain.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 447f330456de45a4d95e73e098486c1d +timeCreated: 1611465637 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/XChapter.cs b/Client/Assets/Scripts/XUtliPoolLib/XChapter.cs new file mode 100644 index 00000000..f0b91e7c --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XChapter.cs @@ -0,0 +1,87 @@ +using System; + +namespace XUtliPoolLib +{ + public class XChapter : CVSReader + { + public XChapter.RowData[] Table = null; + + public class RowData + { + public int ChapterID; + + public string Comment; + + public int Type; + + public string Pic; + + public int PreChapter; + + public SeqListRef Drop; + + public SeqRef Difficult; + + public int BossID; + } + + public XChapter.RowData GetByChapterID(int key) + { + bool flag = this.Table == null || this.Table.Length == 0; + XChapter.RowData result; + if (flag) + { + result = null; + } + else + { + for (int i = 0; i < this.Table.Length; i++) + { + bool flag2 = this.Table[i].ChapterID == key; + if (flag2) + { + return this.Table[i]; + } + } + result = null; + } + return result; + } + + protected override void ReadLine(XBinaryReader reader) + { + XChapter.RowData rowData = new XChapter.RowData(); + base.Read(reader, ref rowData.ChapterID, CVSReader.intParse); + this.columnno = 0; + base.Read(reader, ref rowData.Comment, CVSReader.stringParse); + this.columnno = 1; + base.Read(reader, ref rowData.Type, CVSReader.intParse); + this.columnno = 5; + base.Read(reader, ref rowData.Pic, CVSReader.stringParse); + this.columnno = 6; + base.Read(reader, ref rowData.PreChapter, CVSReader.intParse); + this.columnno = 7; + rowData.Drop.Read(reader, this.m_DataHandler); + this.columnno = 8; + rowData.Difficult.Read(reader, this.m_DataHandler); + this.columnno = 9; + base.Read(reader, ref rowData.BossID, CVSReader.intParse); + this.columnno = 10; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new XChapter.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/XChapter.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/XChapter.cs.meta new file mode 100644 index 00000000..e1c3ea99 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XChapter.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 348778809b6906948a1da6151d64c2b2 +timeCreated: 1611465311 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/XChargeData.cs b/Client/Assets/Scripts/XUtliPoolLib/XChargeData.cs new file mode 100644 index 00000000..c25ca440 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XChargeData.cs @@ -0,0 +1,68 @@ +using System; +using System.ComponentModel; +using UnityEngine; + +namespace XUtliPoolLib +{ + [Serializable] + public class XChargeData : XBaseData + { + [SerializeField] + [DefaultValue(0f)] + public float At; + + [SerializeField] + [DefaultValue(0f)] + public float End; + + [SerializeField] + [DefaultValue(0f)] + public float Offset; + + [SerializeField] + [DefaultValue(0f)] + public float Height; + + [SerializeField] + [DefaultValue(0f)] + public float Velocity; + + [SerializeField] + [DefaultValue(0f)] + public float Rotation_Speed; + + [SerializeField] + [DefaultValue(false)] + public bool Using_Curve; + + [SerializeField] + [DefaultValue(false)] + public bool Control_Towards; + + [SerializeField] + public string Curve_Forward = null; + + [SerializeField] + public string Curve_Side = null; + + [SerializeField] + [DefaultValue(false)] + public bool Using_Up; + + [SerializeField] + public string Curve_Up = null; + + [SerializeField] + [DefaultValue(true)] + public bool StandOnAtEnd; + + [SerializeField] + [DefaultValue(false)] + public bool AimTarget; + + public XChargeData() + { + this.StandOnAtEnd = true; + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/XChargeData.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/XChargeData.cs.meta new file mode 100644 index 00000000..3047181d --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XChargeData.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 0a8299886f620e1419d98897b6a22cf5 +timeCreated: 1611465287 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/XClipType.cs b/Client/Assets/Scripts/XUtliPoolLib/XClipType.cs new file mode 100644 index 00000000..94576524 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XClipType.cs @@ -0,0 +1,14 @@ +using System; + +namespace XUtliPoolLib +{ + public enum XClipType + { + Actor, + Player, + Fx, + Audio, + SubTitle, + Slash + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/XClipType.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/XClipType.cs.meta new file mode 100644 index 00000000..b32ac7f3 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XClipType.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 34a074372e49fe84197581651a776124 +timeCreated: 1611465630 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/XCombinedData.cs b/Client/Assets/Scripts/XUtliPoolLib/XCombinedData.cs new file mode 100644 index 00000000..bde39233 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XCombinedData.cs @@ -0,0 +1,25 @@ +using System; +using System.ComponentModel; +using UnityEngine; + +namespace XUtliPoolLib +{ + [Serializable] + public class XCombinedData : XBaseData + { + [SerializeField] + public string Name = null; + + [SerializeField] + [DefaultValue(0f)] + public float At; + + [SerializeField] + [DefaultValue(0f)] + public float End; + + [SerializeField] + [DefaultValue(false)] + public bool Override_Presentation; + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/XCombinedData.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/XCombinedData.cs.meta new file mode 100644 index 00000000..46d61eb5 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XCombinedData.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: a2755267fc5ba534a831c307d2699515 +timeCreated: 1611465736 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/XCommon.cs b/Client/Assets/Scripts/XUtliPoolLib/XCommon.cs new file mode 100644 index 00000000..d08dbcbd --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XCommon.cs @@ -0,0 +1,695 @@ +using System; +using System.Collections.Generic; +using System.Text; +using UnityEngine; + +namespace XUtliPoolLib +{ + public class XCommon : XSingleton + { + public static float XEps + { + get + { + return XCommon._eps; + } + } + + public int New_id + { + get + { + int num = this._new_id + 1; + this._new_id = num; + return num; + } + } + + public long UniqueToken + { + get + { + return DateTime.Now.Ticks + (long)this.New_id; + } + } + + public readonly float FrameStep = 0.0333333351f; + + private static readonly float _eps = 0.0001f; + + private System.Random _random = new System.Random(DateTime.Now.Millisecond); + + private int _idx = 0; + + private uint[] _seeds = new uint[] + { + 17u, + 33u, + 65u, + 129u + }; + + private int _new_id = 0; + + public StringBuilder shareSB = new StringBuilder(); + + public static List tmpRender = new List(); + + public static List tmpParticle = new List(); + + public static List tmpSkinRender = new List(); + + public static List tmpMeshRender = new List(); + + public XCommon() + { + this._idx = 5; + } + + public uint XHash(string str) + { + bool flag = str == null; + uint result; + if (flag) + { + result = 0u; + } + else + { + uint num = 0u; + for (int i = 0; i < str.Length; i++) + { + num = (num << this._idx) + num + (uint)str[i]; + } + result = num; + } + return result; + } + + public uint XHashLowerRelpaceDot(uint hash, string str) + { + bool flag = str == null; + uint result; + if (flag) + { + result = hash; + } + else + { + for (int i = 0; i < str.Length; i++) + { + char c = char.ToLower(str[i]); + bool flag2 = c == '/' || c == '\\'; + if (flag2) + { + c = '.'; + } + hash = (hash << this._idx) + hash + (uint)c; + } + result = hash; + } + return result; + } + + public uint XHash(uint hash, string str) + { + bool flag = str == null; + uint result; + if (flag) + { + result = hash; + } + else + { + foreach (char c in str) + { + hash = (hash << this._idx) + hash + (uint)c; + } + result = hash; + } + return result; + } + + public uint XHash(StringBuilder str) + { + bool flag = str == null; + uint result; + if (flag) + { + result = 0u; + } + else + { + uint num = 0u; + for (int i = 0; i < str.Length; i++) + { + num = (num << this._idx) + num + (uint)str[i]; + } + result = num; + } + return result; + } + + public bool IsEqual(float a, float b) + { + return a == b; + } + + public bool IsLess(float a, float b) + { + return a < b; + } + + public int Range(int value, int min, int max) + { + value = Math.Max(value, min); + return Math.Min(value, max); + } + + public bool IsGreater(float a, float b) + { + return a > b; + } + + public bool IsEqualLess(float a, float b) + { + return a <= b; + } + + public bool IsEqualGreater(float a, float b) + { + return a >= b; + } + + public uint GetToken() + { + return (uint)DateTime.Now.Millisecond; + } + + public void ProcessValueDamp(ref float values, float target, ref float factor, float deltaT) + { + bool flag = XSingleton.singleton.IsEqual(values, target); + if (flag) + { + values = target; + factor = 0f; + } + else + { + values += (target - values) * Mathf.Min(1f, deltaT * factor); + } + } + + public void ProcessValueEvenPace(ref float value, float target, float speed, float deltaT) + { + float num = target - value; + float num2 = target - (num - speed * deltaT); + bool flag = XSingleton.singleton.IsGreater((target - num2) * num, 0f); + if (flag) + { + value = num2; + } + else + { + value = target; + } + } + + public bool IsRectCycleCross(float rectw, float recth, Vector3 c, float r) + { + Vector3 vector; + vector=new Vector3(Mathf.Max(Mathf.Abs(c.x) - rectw, 0f), 0f, Mathf.Max(Mathf.Abs(c.z) - recth, 0f)); + return vector.sqrMagnitude < r * r; + } + + public bool Intersection(Vector2 begin, Vector2 end, Vector2 center, float radius, out float t) + { + t = 0f; + float num = radius * radius; + Vector2 vector = center - begin; + float sqrMagnitude = vector.sqrMagnitude; + bool flag = sqrMagnitude < num; + bool result; + if (flag) + { + result = true; + } + else + { + Vector2 vector2 = end - begin; + bool flag2 = vector2.sqrMagnitude > 0f; + if (flag2) + { + float num2 = Mathf.Sqrt(sqrMagnitude) * Mathf.Cos(Vector2.Angle(vector, vector2)); + bool flag3 = num2 >= 0f; + if (flag3) + { + float num3 = sqrMagnitude - num2 * num2; + bool flag4 = num3 < num; + if (flag4) + { + float num4 = num - num3; + t = num2 - Mathf.Sqrt(num4); + return true; + } + } + } + result = false; + } + return result; + } + + private float CrossProduct(float x1, float z1, float x2, float z2) + { + return x1 * z2 - x2 * z1; + } + + public bool IsLineSegmentCross(Vector3 p1, Vector3 p2, Vector3 q1, Vector3 q2) + { + bool flag = Mathf.Min(p1.x, p2.x) <= Mathf.Max(q1.x, q2.x) && Mathf.Min(q1.x, q2.x) <= Mathf.Max(p1.x, p2.x) && Mathf.Min(p1.z, p2.z) <= Mathf.Max(q1.z, q2.z) && Mathf.Min(q1.z, q2.z) <= Mathf.Max(p1.z, p2.z); + bool result; + if (flag) + { + float num = this.CrossProduct(p1.x - q1.x, p1.z - q1.z, q2.x - q1.x, q2.z - q1.z); + float num2 = this.CrossProduct(p2.x - q1.x, p2.z - q1.z, q2.x - q1.x, q2.z - q1.z); + float num3 = this.CrossProduct(q1.x - p1.x, q1.z - p1.z, p2.x - p1.x, p2.z - p1.z); + float num4 = this.CrossProduct(q2.x - p1.x, q2.z - p1.z, p2.x - p1.x, p2.z - p1.z); + result = (num * num2 <= 0f && num3 * num4 <= 0f); + } + else + { + Vector3 vector = Vector3.Project(p1, Vector3.up); + result = false; + } + return result; + } + + public Vector3 Horizontal(Vector3 v) + { + v.y = 0f; + return v.normalized; + } + + public void Horizontal(ref Vector3 v) + { + v.y = 0f; + v.Normalize(); + } + + public float AngleNormalize(float basic, float degree) + { + Vector3 vector = this.FloatToAngle(basic); + Vector3 vector2 = this.FloatToAngle(degree); + float num = Vector3.Angle(vector, vector2); + return this.Clockwise(vector, vector2) ? (basic + num) : (basic - num); + } + + public Vector2 HorizontalRotateVetor2(Vector2 v, float degree, bool normalized = true) + { + degree = -degree; + float num = degree * 0.0174532924f; + float num2 = Mathf.Sin(num); + float num3 = Mathf.Cos(num); + float x = v.x * num3 - v.y * num2; + float y = v.x * num2 + v.y * num3; + v.x = x; + v.y = y; + return normalized ? v.normalized : v; + } + + public Vector3 HorizontalRotateVetor3(Vector3 v, float degree, bool normalized = true) + { + degree = -degree; + float num = degree * 0.0174532924f; + float num2 = Mathf.Sin(num); + float num3 = Mathf.Cos(num); + float x = v.x * num3 - v.z * num2; + float z = v.x * num2 + v.z * num3; + v.x = x; + v.z = z; + return normalized ? v.normalized : v; + } + + public float TicksToSeconds(long tick) + { + long num = tick / 10000L; + return (float)num / 1000f; + } + + public long SecondsToTicks(float time) + { + long num = (long)(time * 1000f); + return num * 10000L; + } + + public float AngleToFloat(Vector3 dir) + { + float num = Vector3.Angle(Vector3.forward, dir); + return XSingleton.singleton.Clockwise(Vector3.forward, dir) ? num : (-num); + } + + public float AngleWithSign(Vector3 from, Vector3 to) + { + float num = Vector3.Angle(from, to); + return this.Clockwise(from, to) ? num : (-num); + } + + public Vector3 FloatToAngle(float angle) + { + return Quaternion.Euler(0f, angle, 0f) * Vector3.forward; + } + + public Quaternion VectorToQuaternion(Vector3 v) + { + return XSingleton.singleton.FloatToQuaternion(XSingleton.singleton.AngleWithSign(Vector3.forward, v)); + } + + public Quaternion FloatToQuaternion(float angle) + { + return Quaternion.Euler(0f, angle, 0f); + } + + public Quaternion RotateToGround(Vector3 pos, Vector3 forward) + { + RaycastHit raycastHit; + bool flag = Physics.Raycast(new Ray(pos + Vector3.up, Vector3.down), out raycastHit, 5f, 513); + Quaternion result; + if (flag) + { + Vector3 normal = raycastHit.normal; + Vector3 vector = forward; + Vector3.OrthoNormalize(ref normal, ref vector); + result = Quaternion.LookRotation(vector, normal); + } + else + { + result = Quaternion.identity; + } + return result; + } + + public bool Clockwise(Vector3 fiduciary, Vector3 relativity) + { + float num = fiduciary.z * relativity.x - fiduciary.x * relativity.z; + return num > 0f; + } + + public bool Clockwise(Vector2 fiduciary, Vector2 relativity) + { + float num = fiduciary.y * relativity.x - fiduciary.x * relativity.y; + return num > 0f; + } + + public bool IsInRect(Vector3 point, Rect rect, Vector3 center, Quaternion rotation) + { + float num = -(rotation.eulerAngles.y % 360f) / 180f * 3.14159274f; + Quaternion identity = Quaternion.identity; + identity.w = Mathf.Cos(num / 2f); + identity.x = 0f; + identity.y = Mathf.Sin(num / 2f); + identity.z = 0f; + point = identity * (point - center); + return point.x > rect.xMin && point.x < rect.xMax && point.z > rect.yMin && point.z < rect.yMax; + } + + public float RandomPercentage() + { + return (float)this._random.NextDouble(); + } + + public float RandomPercentage(float min) + { + bool flag = this.IsEqualGreater(min, 1f); + float result; + if (flag) + { + result = 1f; + } + else + { + float num = (float)this._random.NextDouble(); + bool flag2 = this.IsGreater(num, min); + if (flag2) + { + result = num; + } + else + { + result = num / min * (1f - min) + min; + } + } + return result; + } + + public float RandomFloat(float max) + { + return this.RandomPercentage() * max; + } + + public float RandomFloat(float min, float max) + { + return min + this.RandomFloat(max - min); + } + + public int RandomInt(int min, int max) + { + return this._random.Next(min, max); + } + + public int RandomInt(int max) + { + return this._random.Next(max); + } + + public int RandomInt() + { + return this._random.Next(); + } + + public bool IsInteger(float n) + { + return Mathf.Abs(n - (float)((int)n)) < XCommon._eps || Mathf.Abs(n - (float)((int)n)) > 1f - XCommon._eps; + } + + public float GetFloatingValue(float value, float floating) + { + bool flag = this.IsEqualLess(floating, 0f) || this.IsEqualGreater(floating, 1f); + float result; + if (flag) + { + result = value; + } + else + { + float num = this.IsLess(this.RandomPercentage(), 0.5f) ? (1f - floating) : (1f + floating); + result = value * num; + } + return result; + } + + public float GetSmoothFactor(float distance, float timespan, float nearenough) + { + float result = 0f; + distance = Mathf.Abs(distance); + bool flag = distance > XCommon.XEps; + if (flag) + { + float smoothDeltaTime = Time.smoothDeltaTime; + float num = nearenough / distance; + float num2 = timespan / smoothDeltaTime; + bool flag2 = num2 > 1f; + if (flag2) + { + float num3 = Mathf.Pow(num, 1f / num2); + result = (1f - num3) / smoothDeltaTime; + } + else + { + result = float.PositiveInfinity; + } + } + return result; + } + + public float GetJumpForce(float airTime, float g) + { + return 0f; + } + + public string SecondsToString(int time) + { + int num = time / 60; + int num2 = time % 60; + return string.Format("{0:D2}:{1}", num, num2); + } + + public double Clamp(double value, double min, double max) + { + return Math.Min(Math.Max(min, value), max); + } + + public Transform FindChildRecursively(Transform t, string name) + { + bool flag = t.name == name; + Transform result; + if (flag) + { + result = t; + } + else + { + for (int i = 0; i < t.childCount; i++) + { + Transform transform = this.FindChildRecursively(t.GetChild(i), name); + bool flag2 = transform != null; + if (flag2) + { + return transform; + } + } + result = null; + } + return result; + } + + public void CleanStringCombine() + { + this.shareSB.Length = 0; + } + + public StringBuilder GetSharedStringBuilder() + { + return this.shareSB; + } + + public string GetString() + { + return this.shareSB.ToString(); + } + + public XCommon AppendString(string s) + { + this.shareSB.Append(s); + return this; + } + + public XCommon AppendString(string s0, string s1) + { + this.shareSB.Append(s0); + this.shareSB.Append(s1); + return this; + } + + public XCommon AppendString(string s0, string s1, string s2) + { + this.shareSB.Append(s0); + this.shareSB.Append(s1); + this.shareSB.Append(s2); + return this; + } + + public string StringCombine(string s0, string s1) + { + this.shareSB.Length = 0; + this.shareSB.Append(s0); + this.shareSB.Append(s1); + return this.shareSB.ToString(); + } + + public string StringCombine(string s0, string s1, string s2) + { + this.shareSB.Length = 0; + this.shareSB.Append(s0); + this.shareSB.Append(s1); + this.shareSB.Append(s2); + return this.shareSB.ToString(); + } + + public string StringCombine(string s0, string s1, string s2, string s3) + { + this.shareSB.Length = 0; + this.shareSB.Append(s0); + this.shareSB.Append(s1); + this.shareSB.Append(s2); + this.shareSB.Append(s3); + return this.shareSB.ToString(); + } + + public uint CombineAdd(uint value, int heigh, int low) + { + int num = (int)((value >> 16) + (uint)heigh); + int num2 = (int)((value & 65535u) + (uint)low); + return (uint)(num << 16 | num2); + } + + public void CombineSetHeigh(ref uint value, uint heigh) + { + value = (heigh << 16 | (value & 65535u)); + } + + public ushort CombineGetHeigh(uint value) + { + return (ushort)(value >> 16); + } + + public void CombineSetLow(ref uint value, uint low) + { + value = ((value & 4294901760u) | (low & 65535u)); + } + + public ushort CombineGetLow(uint value) + { + return (ushort)(value & 65535u); + } + + public void EnableParticleRenderer(GameObject go, bool enable) + { + Animator componentInChildren = go.GetComponentInChildren(); + bool flag = componentInChildren != null; + if (flag) + { + componentInChildren.enabled = enable; + } + } + + public void EnableParticle(GameObject go, bool enable) + { + go.GetComponentsInChildren(XCommon.tmpParticle); + int i = 0; + int count = XCommon.tmpParticle.Count; + while (i < count) + { + ParticleSystem particleSystem = XCommon.tmpParticle[i]; + if (enable) + { + particleSystem.Play(); + } + else + { + particleSystem.Stop(); + } + i++; + } + XCommon.tmpParticle.Clear(); + } + + public static UnityEngine.Object Instantiate(UnityEngine.Object prefab) + { + return UnityEngine.Object.Instantiate(prefab, null); + } + + public static T Instantiate(T original) where T : UnityEngine.Object + { + return UnityEngine.Object.Instantiate(original, null); + } + + public override bool Init() + { + return true; + } + + public override void Uninit() + { + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/XCommon.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/XCommon.cs.meta new file mode 100644 index 00000000..999a4136 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XCommon.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: d243eff5ba968124394d807b8ba1a743 +timeCreated: 1611465761 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/XCurrentGrid.cs b/Client/Assets/Scripts/XUtliPoolLib/XCurrentGrid.cs new file mode 100644 index 00000000..9573eea9 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XCurrentGrid.cs @@ -0,0 +1,9 @@ +using System; + +namespace XUtliPoolLib +{ + public sealed class XCurrentGrid + { + public static XGrid grid = new XGrid(); + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/XCurrentGrid.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/XCurrentGrid.cs.meta new file mode 100644 index 00000000..85396686 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XCurrentGrid.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: eee5aec09d448dc40b43c52e12bcd885 +timeCreated: 1611465806 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/XCutSceneClip.cs b/Client/Assets/Scripts/XUtliPoolLib/XCutSceneClip.cs new file mode 100644 index 00000000..c8623a78 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XCutSceneClip.cs @@ -0,0 +1,15 @@ +using System; +using UnityEngine; + +namespace XUtliPoolLib +{ + [Serializable] + public abstract class XCutSceneClip + { + [SerializeField] + public XClipType Type = XClipType.Actor; + + [SerializeField] + public float TimeLineAt = 0f; + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/XCutSceneClip.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/XCutSceneClip.cs.meta new file mode 100644 index 00000000..d8dea6f1 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XCutSceneClip.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: fed465039eec91a49980f5d947c3de01 +timeCreated: 1611465813 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/XCutSceneData.cs b/Client/Assets/Scripts/XUtliPoolLib/XCutSceneData.cs new file mode 100644 index 00000000..8fe35bd2 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XCutSceneData.cs @@ -0,0 +1,70 @@ +using System; +using System.Collections.Generic; +using UnityEngine; + +namespace XUtliPoolLib +{ + [Serializable] + public class XCutSceneData + { + [SerializeField] + public float TotalFrame = 0f; + + [SerializeField] + public string CameraClip = null; + + [SerializeField] + public string Name = null; + + [SerializeField] + public string Script = null; + + [SerializeField] + public string Scene = null; + + [SerializeField] + public int TypeMask = -1; + + [SerializeField] + public bool OverrideBGM = true; + + [SerializeField] + public bool Mourningborder = true; + + [SerializeField] + public bool AutoEnd = true; + + [SerializeField] + public float Length = 0f; + + [SerializeField] + public float FieldOfView = 45f; + + [SerializeField] + public string Trigger = "ToEffect"; + + [SerializeField] + public bool GeneralShow = false; + + [SerializeField] + public bool GeneralBigGuy = false; + + [SerializeField] + public List Actors = new List(); + + [SerializeField] + public List Player = new List(); + + [SerializeField] + public List Fxs = new List(); + + [SerializeField] + public List Audios = new List(); + + [SerializeField] + public List SubTitle = new List(); + + [SerializeField] + public List Slash = new List(); + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/XCutSceneData.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/XCutSceneData.cs.meta new file mode 100644 index 00000000..4700dab8 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XCutSceneData.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 311a58cc8504fd44cb9361e62f435dd0 +timeCreated: 1611465308 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/XDataFileLoadException.cs b/Client/Assets/Scripts/XUtliPoolLib/XDataFileLoadException.cs new file mode 100644 index 00000000..99701e3a --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XDataFileLoadException.cs @@ -0,0 +1,16 @@ +using System; + +namespace XUtliPoolLib +{ + [Serializable] + public class XDataFileLoadException : XException + { + public XDataFileLoadException(string message) : base(message) + { + } + + public XDataFileLoadException(string message, Exception inner) : base(message, inner) + { + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/XDataFileLoadException.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/XDataFileLoadException.cs.meta new file mode 100644 index 00000000..4b19e94e --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XDataFileLoadException.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: a187680a204a5a548bebfe059d7a1fab +timeCreated: 1611465736 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/XDataWrapper.cs b/Client/Assets/Scripts/XUtliPoolLib/XDataWrapper.cs new file mode 100644 index 00000000..a4e11f56 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XDataWrapper.cs @@ -0,0 +1,11 @@ +using System; +using UnityEngine; + +namespace XUtliPoolLib +{ + [Serializable] + public class XDataWrapper : ScriptableObject + { + public object Data { get; set; } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/XDataWrapper.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/XDataWrapper.cs.meta new file mode 100644 index 00000000..e4cd5dcc --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XDataWrapper.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 2f7b9c9528ae899449f9950bdbdd2258 +timeCreated: 1611465307 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/XDebug.cs b/Client/Assets/Scripts/XUtliPoolLib/XDebug.cs new file mode 100644 index 00000000..a58b5827 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XDebug.cs @@ -0,0 +1,355 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Threading; +using UnityEngine; +using XUpdater; + +namespace XUtliPoolLib +{ + public class XDebug : XSingleton + { + private int _OutputChannels = 0; + + private IPlatform _platform = null; + + private bool _showTimeStick = true; + + private bool _showLog = true; + + private StringBuilder _buffer = new StringBuilder(); + + private XDebug.LayerInfo[] m_LayerInfo = new XDebug.LayerInfo[] + { + new XDebug.LayerInfo(), + new XDebug.LayerInfo() + }; + + private int m_MaxLayer = 2; + + private bool m_record = false; + + private bool m_recordStart = false; + + private XDebug.RecordChannel m_RecordChannel = XDebug.RecordChannel.ENone; + + public enum RecordChannel + { + ENone, + ENetwork, + EResourceLoad + } + + public enum RecordLayer + { + ELayer0, + ELayer1, + ENum + } + + public class SizeInfo + { + public string Name = ""; + + public float Size = 0f; + + public int Count = 0; + } + + public class LayerInfo + { + public string Name = ""; + + public Dictionary SizeInfoMap = new Dictionary(); + + public void Clear() + { + this.SizeInfoMap.Clear(); + } + } + + public XDebug() + { + this._OutputChannels = 5; + } + + public void Init(IPlatform platform, XFileLog log) + { + this._platform = XSingleton.singleton.XPlatform; + } + + public void AddLog(string log1, string log2 = null, string log3 = null, string log4 = null, string log5 = null, string log6 = null, XDebugColor color = XDebugColor.XDebug_None) + { + bool flag = this._platform != null && !this._platform.IsPublish(); + if (flag) + { + this.AddLog(XDebugChannel.XDebug_Default, log1, log2, log3, log4, log5, log6, color); + } + } + + public void AddLog2(string format, params object[] args) + { + bool flag = this._showLog && this._platform != null && !this._platform.IsPublish(); + if (flag) + { + this.AddLog(string.Format(format, args), null, null, null, null, null, XDebugColor.XDebug_None); + } + } + + public void AddLog(XDebugChannel channel, string log1, string log2 = null, string log3 = null, string log4 = null, string log5 = null, string log6 = null, XDebugColor color = XDebugColor.XDebug_None) + { + bool flag = this._showLog && this._platform != null && !this._platform.IsPublish(); + if (flag) + { + bool flag2 = (this._OutputChannels & (int)channel) > 0; + if (flag2) + { + this._buffer.Length = 0; + this._buffer.Append(log1).Append(log2).Append(log3).Append(log4).Append(log5).Append(log6); + bool flag3 = color == XDebugColor.XDebug_Green; + if (flag3) + { + this._buffer.Insert(0, ""); + this._buffer.Append(""); + } + bool showTimeStick = this._showTimeStick; + if (showTimeStick) + { + bool flag4 = Thread.CurrentThread.ManagedThreadId == XSingleton.singleton.ManagedThreadId; + if (flag4) + { + this._buffer.Append(" (at Frame: ").Append(Time.frameCount).Append(" sec: ").Append(Time.realtimeSinceStartup.ToString("F3")).Append(')'); + } + else + { + bool flag5 = string.IsNullOrEmpty(Thread.CurrentThread.Name); + if (flag5) + { + this._buffer.Append(" (from anonymous thread").Append(" with id ").Append(Thread.CurrentThread.ManagedThreadId).Append(")"); + } + else + { + this._buffer.Append(" (from thread ").Append(Thread.CurrentThread.Name).Append(" with id ").Append(Thread.CurrentThread.ManagedThreadId).Append(")"); + } + } + } + bool flag6 = color == XDebugColor.XDebug_Red; + if (flag6) + { + Debug.LogError(this._buffer); + } + else + { + bool flag7 = color == XDebugColor.XDebug_Yellow; + if (flag7) + { + Debug.LogWarning(this._buffer); + } + else + { + Debug.Log(this._buffer); + } + } + } + } + } + + public void AddGreenLog(string log1, string log2 = null, string log3 = null, string log4 = null, string log5 = null, string log6 = null) + { + bool flag = this._platform != null && !this._platform.IsPublish(); + if (flag) + { + this.AddLog(XDebugChannel.XDebug_Default, log1, log2, log3, log4, log5, log6, XDebugColor.XDebug_Green); + } + } + + public void AddWarningLog(string log1, string log2 = null, string log3 = null, string log4 = null, string log5 = null, string log6 = null) + { + bool flag = this._platform != null && !this._platform.IsPublish(); + if (flag) + { + this.AddLog(XDebugChannel.XDebug_Default, log1, log2, log3, log4, log5, log6, XDebugColor.XDebug_Yellow); + } + } + + public void AddWarningLog2(string format, params object[] args) + { + bool flag = this._showLog && this._platform != null && !this._platform.IsPublish(); + if (flag) + { + this.AddWarningLog(string.Format(format, args), null, null, null, null, null); + } + } + + public void AddErrorLog2(string format, params object[] args) + { + bool flag = this._showLog && this._platform != null && !this._platform.IsPublish(); + if (flag) + { + this.AddErrorLog(string.Format(format, args), null, null, null, null, null); + } + } + + public void AddErrorLog(string log1, string log2 = null, string log3 = null, string log4 = null, string log5 = null, string log6 = null) + { + this._buffer.Length = 0; + bool flag = Thread.CurrentThread.ManagedThreadId == XSingleton.singleton.ManagedThreadId; + if (flag) + { + this._buffer.Append(log1).Append(log2).Append(log3).Append(log4).Append(log5).Append(log6).Append(" (at Frame: ").Append(Time.frameCount).Append(" sec: ").Append(Time.realtimeSinceStartup.ToString("F3")).Append(')'); + } + else + { + this._buffer.Append(log1).Append(log2).Append(log3).Append(log4).Append(log5).Append(log6); + } + XFileLog.AddCustomLog("AddErrorLog: " + this._buffer); + this.AddLog(XDebugChannel.XDebug_Default, log1, log2, log3, log4, log5, log6, XDebugColor.XDebug_Red); + } + + public override bool Init() + { + return true; + } + + public override void Uninit() + { + } + + public void BeginProfile(string title) + { + } + + public void RegisterGroupProfile(string title) + { + } + + public void BeginGroupProfile(string title) + { + } + + public void EndProfile() + { + } + + public void EndGroupProfile(string title) + { + } + + public void InitProfiler() + { + } + + public void PrintProfiler() + { + } + + public void StartRecord(XDebug.RecordChannel channel) + { + this.m_record = true; + this.m_recordStart = false; + this.m_RecordChannel = channel; + XDebug.RecordChannel recordChannel = this.m_RecordChannel; + if (recordChannel != XDebug.RecordChannel.ENetwork) + { + if (recordChannel == XDebug.RecordChannel.EResourceLoad) + { + this.m_LayerInfo[0].Name = "SharedRes"; + this.m_LayerInfo[1].Name = "Prefab"; + } + } + else + { + this.m_LayerInfo[0].Name = "Recv"; + this.m_LayerInfo[1].Name = "Send"; + } + } + + public void EndRecord() + { + this.m_record = false; + this.m_recordStart = false; + this.m_RecordChannel = XDebug.RecordChannel.ENone; + } + + public void BeginRecord() + { + bool record = this.m_record; + if (record) + { + this.m_recordStart = true; + } + } + + public void ClearRecord() + { + this.m_LayerInfo[0].Clear(); + this.m_LayerInfo[1].Clear(); + } + + public bool EnableRecord() + { + return this.m_recordStart; + } + + public void AddPoint(uint key, string name, float size, int layer, XDebug.RecordChannel channel) + { + bool flag = this.m_recordStart && channel == this.m_RecordChannel && layer >= 0 && layer < this.m_MaxLayer; + if (flag) + { + Dictionary sizeInfoMap = this.m_LayerInfo[layer].SizeInfoMap; + XDebug.SizeInfo sizeInfo = null; + bool flag2 = !sizeInfoMap.TryGetValue(key, out sizeInfo); + if (flag2) + { + sizeInfo = new XDebug.SizeInfo(); + sizeInfo.Name = name; + sizeInfoMap.Add(key, sizeInfo); + } + sizeInfo.Count++; + sizeInfo.Size += size; + } + } + + public void Print() + { + float num = 0f; + for (int i = 0; i < this.m_MaxLayer; i++) + { + XSingleton.singleton.CleanStringCombine(); + float num2 = 0f; + XDebug.SizeInfo sizeInfo = null; + XDebug.LayerInfo layerInfo = this.m_LayerInfo[i]; + XSingleton.singleton.AppendString(layerInfo.Name, ":\r\n"); + foreach (KeyValuePair keyValuePair in layerInfo.SizeInfoMap) + { + XDebug.SizeInfo value = keyValuePair.Value; + XSingleton.singleton.AppendString(string.Format("Name:{0} Count:{1} Size:{2}\r\n", value.Name, value.Count, value.Size)); + num += value.Size; + num2 += value.Size; + bool flag = sizeInfo == null || sizeInfo.Size < value.Size; + if (flag) + { + sizeInfo = value; + } + } + XSingleton.singleton.AddWarningLog(XSingleton.singleton.GetString(), null, null, null, null, null); + bool flag2 = sizeInfo != null; + if (flag2) + { + XSingleton.singleton.AddWarningLog2("max name:{0} Count:{1} Size:{2}", new object[] + { + sizeInfo.Name, + sizeInfo.Count, + sizeInfo.Size + }); + } + XSingleton.singleton.AddWarningLog2("total {0} size:{1}", new object[] + { + layerInfo.Name, + num2 + }); + } + XSingleton.singleton.AddWarningLog("total size:", num.ToString(), null, null, null, null); + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/XDebug.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/XDebug.cs.meta new file mode 100644 index 00000000..c4ca44dd --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XDebug.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: fce8316961c90d8489379c10eee06577 +timeCreated: 1611465812 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/XDebugChannel.cs b/Client/Assets/Scripts/XUtliPoolLib/XDebugChannel.cs new file mode 100644 index 00000000..afb13b91 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XDebugChannel.cs @@ -0,0 +1,18 @@ +using System; + +namespace XUtliPoolLib +{ + public enum XDebugChannel + { + XDebug_Invalid, + XDebug_Default, + XDebug_Move, + XDebug_Skill = 4, + XDebug_Buff = 8, + XDebug_Death = 16, + XDebug_AI = 32, + XDebug_UI = 64, + XDebug_Component = 128, + XDebug_Network = 256 + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/XDebugChannel.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/XDebugChannel.cs.meta new file mode 100644 index 00000000..1bee1baf --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XDebugChannel.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 2f465f0ecb201384a9cf7a89dd7108dc +timeCreated: 1611465306 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/XDebugColor.cs b/Client/Assets/Scripts/XUtliPoolLib/XDebugColor.cs new file mode 100644 index 00000000..9b366e8e --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XDebugColor.cs @@ -0,0 +1,12 @@ +using System; + +namespace XUtliPoolLib +{ + public enum XDebugColor + { + XDebug_None, + XDebug_Green, + XDebug_Yellow, + XDebug_Red + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/XDebugColor.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/XDebugColor.cs.meta new file mode 100644 index 00000000..f82d5516 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XDebugColor.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: ab16f09d17bb55a4e8979705bb6b0c06 +timeCreated: 1611465741 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/XDirectory.cs b/Client/Assets/Scripts/XUtliPoolLib/XDirectory.cs new file mode 100644 index 00000000..ad0110a1 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XDirectory.cs @@ -0,0 +1,83 @@ +using System; +using System.IO; + +namespace XUtliPoolLib +{ + public class XDirectory + { + public static DirectoryInfo CreateDirectory(string path) + { + return Directory.CreateDirectory(path); + } + + public static void Delete(string path) + { + Directory.Delete(path); + } + + public static bool Exists(string path) + { + return Directory.Exists(path); + } + + public static DateTime GetCreationTime(string path) + { + return Directory.GetCreationTime(path); + } + + public static string GetCurrentDirectory() + { + return Directory.GetCurrentDirectory(); + } + + public static string[] GetDirectories(string path) + { + return Directory.GetDirectories(path); + } + + public static string[] GetDirectories(string path, string searchPattern) + { + return Directory.GetDirectories(path, searchPattern); + } + + public static string[] GetDirectories(string path, string searchPattern, SearchOption searchOption) + { + return Directory.GetDirectories(path, searchPattern, searchOption); + } + + public static string GetDirectoryRoot(string path) + { + return Directory.GetDirectoryRoot(path); + } + + public static string[] GetFiles(string path) + { + return Directory.GetFiles(path); + } + + public static string[] GetFiles(string path, string searchPattern) + { + return Directory.GetFiles(path, searchPattern); + } + + public static string[] GetFileSystemEntries(string path) + { + return Directory.GetFileSystemEntries(path); + } + + public static string[] GetFileSystemEntries(string path, string searchPattern) + { + return Directory.GetFileSystemEntries(path, searchPattern); + } + + public static DirectoryInfo GetParent(string path) + { + return Directory.GetParent(path); + } + + public static void Move(string sourceDirName, string destDirName) + { + Directory.Move(sourceDirName, destDirName); + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/XDirectory.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/XDirectory.cs.meta new file mode 100644 index 00000000..36bab608 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XDirectory.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 55afede26c912f144aa002bb5cdbb08c +timeCreated: 1611465645 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/XDoubleNewException.cs b/Client/Assets/Scripts/XUtliPoolLib/XDoubleNewException.cs new file mode 100644 index 00000000..6bb43a07 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XDoubleNewException.cs @@ -0,0 +1,16 @@ +using System; + +namespace XUtliPoolLib +{ + [Serializable] + public class XDoubleNewException : XException + { + public XDoubleNewException(string message) : base(message) + { + } + + public XDoubleNewException(string message, Exception inner) : base(message, inner) + { + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/XDoubleNewException.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/XDoubleNewException.cs.meta new file mode 100644 index 00000000..0674c0af --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XDoubleNewException.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 4c32383990541fa41bdbad4fdc4ecc81 +timeCreated: 1611465641 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/XElapseTimer.cs b/Client/Assets/Scripts/XUtliPoolLib/XElapseTimer.cs new file mode 100644 index 00000000..1208b5f6 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XElapseTimer.cs @@ -0,0 +1,59 @@ +using System; +using UnityEngine; + +namespace XUtliPoolLib +{ + public class XElapseTimer + { + public float LeftTime + { + get + { + return this.m_LeftTime; + } + set + { + this.m_LeftTime = value; + this.m_OriLeftTime = this.m_LeftTime; + this.m_LastTime = -1f; + this.m_PassTime = 0f; + } + } + + public float PassTime + { + get + { + return this.m_PassTime; + } + } + + private float m_OriLeftTime = 0f; + + private float m_LeftTime = 0f; + + private float m_LastTime = -1f; + + private float m_PassTime = 0f; + + public void Update() + { + this.m_PassTime = 0f; + bool flag = this.m_LastTime < 0f; + if (flag) + { + this.m_LastTime = Time.time; + } + else + { + this.m_PassTime = Time.time - this.m_LastTime; + } + this.m_LeftTime = this.m_OriLeftTime - this.m_PassTime; + bool flag2 = this.m_LeftTime < 0f; + if (flag2) + { + this.m_LeftTime = 0f; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/XElapseTimer.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/XElapseTimer.cs.meta new file mode 100644 index 00000000..a317a518 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XElapseTimer.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 6d568c31082c7b94089b417888a79b17 +timeCreated: 1611465685 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/XEngineCommand.cs b/Client/Assets/Scripts/XUtliPoolLib/XEngineCommand.cs new file mode 100644 index 00000000..42208a5d --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XEngineCommand.cs @@ -0,0 +1,84 @@ +using System; + +namespace XUtliPoolLib +{ + public class XEngineCommand : IQueueObject + { + public IQueueObject next { get; set; } + + public XGameObject gameObject = null; + + public ExecuteCommandHandler handler = null; + + public CanExecuteHandler canExecute = null; + + public XObjAsyncData data = null; + + public int objID = -1; + + public int commandID = -1; + + public static int globalCommandID = 0; + + public DebugHandler debugHandler = null; + + public int id = -1; + + public static int debugid = 0; + + public static bool debug = false; + + public bool IsValid() + { + return this.gameObject != null && this.gameObject.objID == this.objID; + } + + public void Execute() + { + bool flag = this.handler != null; + if (flag) + { + this.handler(this.gameObject, this); + } + } + + public void Reset() + { + this.objID = -1; + this.commandID = -1; + this.gameObject = null; + this.handler = null; + this.canExecute = null; + this.data = null; + this.id = -1; + this.debugHandler = null; + } + + public bool CanExecute() + { + bool flag = this.gameObject != null && this.gameObject.IsLoaded; + bool result; + if (flag) + { + bool flag2 = this.canExecute != null; + result = (!flag2 || this.canExecute(this.gameObject, this)); + } + else + { + result = false; + } + return result; + } + + public static int GetCommandID() + { + int result = XEngineCommand.globalCommandID++; + bool flag = XEngineCommand.globalCommandID > 1000000; + if (flag) + { + XEngineCommand.globalCommandID = 0; + } + return result; + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/XEngineCommand.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/XEngineCommand.cs.meta new file mode 100644 index 00000000..0c56a7fb --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XEngineCommand.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 1f37a8c2cf21f324c98190f32852b377 +timeCreated: 1611465299 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/XEngineCommandMgr.cs b/Client/Assets/Scripts/XUtliPoolLib/XEngineCommandMgr.cs new file mode 100644 index 00000000..26723a63 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XEngineCommandMgr.cs @@ -0,0 +1,225 @@ +using System; +using System.Collections.Generic; +using UnityEngine; + +namespace XUtliPoolLib +{ + public class XEngineCommandMgr : XSingleton + { + private SimpleQueue m_currentQueue = null; + + private SimpleQueue m_commandQueue0 = new SimpleQueue(); + + private SimpleQueue m_commandQueue1 = new SimpleQueue(); + + private SimpleQueue m_commandQueue = new SimpleQueue(); + + private SimpleQueue m_objAsyncDataQueue = new SimpleQueue(); + + private Queue m_gameObjectQueue = new Queue(); + + private SimpleQueue GetCurrentQueue() + { + bool flag = this.m_currentQueue == null; + if (flag) + { + this.m_currentQueue = this.m_commandQueue0; + } + return this.m_currentQueue; + } + + private SimpleQueue GeBackQueue(SimpleQueue queue) + { + bool flag = queue == this.m_commandQueue0; + SimpleQueue result; + if (flag) + { + result = this.m_commandQueue1; + } + else + { + result = this.m_commandQueue0; + } + return result; + } + + private void SwapQueue() + { + bool flag = this.m_currentQueue != null; + if (flag) + { + bool flag2 = this.m_currentQueue == this.m_commandQueue0; + if (flag2) + { + this.m_currentQueue = this.m_commandQueue1; + } + else + { + this.m_currentQueue = this.m_commandQueue0; + } + } + } + + public XEngineCommand CreateCommand(ExecuteCommandHandler handler, XGameObject gameObject, int commandID = -1) + { + bool hasData = this.m_commandQueue.HasData; + XEngineCommand xengineCommand; + if (hasData) + { + xengineCommand = this.m_commandQueue.Dequeue(); + } + else + { + xengineCommand = new XEngineCommand(); + } + xengineCommand.gameObject = gameObject; + xengineCommand.handler = handler; + xengineCommand.objID = gameObject.objID; + xengineCommand.commandID = commandID; + xengineCommand.id = XEngineCommand.debugid++; + return xengineCommand; + } + + public void AppendCommand(XEngineCommand command) + { + bool flag = command.CanExecute(); + if (flag) + { + command.Execute(); + this.ReturnCommand(command); + } + else + { + bool flag2 = XEngineCommand.debug && command.debugHandler != null; + if (flag2) + { + command.debugHandler(command.gameObject, command, "append", command.id); + } + SimpleQueue currentQueue = this.GetCurrentQueue(); + currentQueue.Enqueue(command); + } + } + + public XObjAsyncData GetObjAsyncData() + { + bool hasData = this.m_objAsyncDataQueue.HasData; + XObjAsyncData result; + if (hasData) + { + result = this.m_objAsyncDataQueue.Dequeue(); + } + else + { + result = new XObjAsyncData(); + } + return result; + } + + public void ReturnCommand(XEngineCommand command) + { + bool flag = command.data != null; + if (flag) + { + command.data.Reset(); + this.m_objAsyncDataQueue.Enqueue(command.data); + } + command.Reset(); + this.m_commandQueue.Enqueue(command); + } + + public GameObject GetGameObject() + { + bool flag = this.m_gameObjectQueue.Count > 0; + GameObject result; + if (flag) + { + result = this.m_gameObjectQueue.Dequeue(); + } + else + { + result = new GameObject("EmptyObject"); + } + return result; + } + + public void ReturnGameObject(GameObject go) + { + bool flag = go != null; + if (flag) + { + Transform transform = go.transform; + transform.parent = null; + transform.position = XResourceLoaderMgr.Far_Far_Away; + transform.rotation = Quaternion.identity; + transform.localScale = Vector3.one; + go.name = "EmptyObject"; + this.m_gameObjectQueue.Enqueue(go); + } + } + + public void Update() + { + SimpleQueue currentQueue = this.GetCurrentQueue(); + bool flag = currentQueue != null && currentQueue.HasData; + if (flag) + { + SimpleQueue simpleQueue = this.GeBackQueue(currentQueue); + while (currentQueue.HasData) + { + XEngineCommand xengineCommand = currentQueue.Dequeue(); + bool flag2 = xengineCommand.IsValid(); + if (flag2) + { + bool flag3 = xengineCommand.CanExecute(); + if (flag3) + { + bool flag4 = XEngineCommand.debug && xengineCommand.debugHandler != null; + if (flag4) + { + xengineCommand.debugHandler(xengineCommand.gameObject, xengineCommand, "execute", xengineCommand.id); + } + xengineCommand.Execute(); + this.ReturnCommand(xengineCommand); + } + else + { + simpleQueue.Enqueue(xengineCommand); + } + } + else + { + bool flag5 = XEngineCommand.debug && xengineCommand.debugHandler != null; + if (flag5) + { + xengineCommand.debugHandler(xengineCommand.gameObject, xengineCommand, "invalid", xengineCommand.id); + } + this.ReturnCommand(xengineCommand); + } + } + this.SwapQueue(); + } + } + + public void Clear() + { + while (this.m_commandQueue0.HasData) + { + XEngineCommand command = this.m_commandQueue0.Dequeue(); + this.ReturnCommand(command); + } + while (this.m_commandQueue1.HasData) + { + XEngineCommand command2 = this.m_commandQueue1.Dequeue(); + this.ReturnCommand(command2); + } + this.m_currentQueue = this.m_commandQueue0; + this.m_gameObjectQueue.Clear(); + XEngineCommand.debugid = 0; + bool debug = XEngineCommand.debug; + if (debug) + { + XSingleton.singleton.AddWarningLog("[EngineCommand] Clear", null, null, null, null, null); + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/XEngineCommandMgr.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/XEngineCommandMgr.cs.meta new file mode 100644 index 00000000..eeefd291 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XEngineCommandMgr.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 6511a321ee27a6f41a32a7a5157cbedb +timeCreated: 1611465660 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/XEngineObject.cs b/Client/Assets/Scripts/XUtliPoolLib/XEngineObject.cs new file mode 100644 index 00000000..81e6cf27 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XEngineObject.cs @@ -0,0 +1,14 @@ +using System; +using UnityEngine; + +namespace XUtliPoolLib +{ + public class XEngineObject + { + protected GameObject m_GameObject = null; + + protected GameObject m_Parent = null; + + public string m_Location = ""; + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/XEngineObject.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/XEngineObject.cs.meta new file mode 100644 index 00000000..67ad2c33 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XEngineObject.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 9e2e674b3fdd2634eb4775ef53595716 +timeCreated: 1611465711 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/XEntityPresentation.cs b/Client/Assets/Scripts/XUtliPoolLib/XEntityPresentation.cs new file mode 100644 index 00000000..40ac6975 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XEntityPresentation.cs @@ -0,0 +1,421 @@ +using System; + +namespace XUtliPoolLib +{ + public class XEntityPresentation : CVSReader + { + public XEntityPresentation.RowData[] Table = null; + + public class RowData + { + public string Prefab; + + public string A; + + public string AA; + + public string AAA; + + public string AAAA; + + public string AAAAA; + + public string Ultra; + + public string[] OtherSkills; + + public string[] Hit_f; + + public string[] HitFly; + + public string Idle; + + public string Walk; + + public string Run; + + public string Death; + + public string Appear; + + public string[] Hit_l; + + public string[] Hit_r; + + public uint PresentID; + + public string[] HitCurves; + + public string AnimLocation; + + public string SkillLocation; + + public string CurveLocation; + + public string Avatar; + + public string[] DeathCurve; + + public float[] HitBackOffsetTimeScale; + + public float[] HitFlyOffsetTimeScale; + + public float Scale; + + public string BoneSuffix; + + public string Disappear; + + public bool Shadow; + + public string Dash; + + public string Freeze; + + public float[] HitBack_Recover; + + public float[] HitFly_Bounce_GetUp; + + public float BoundRadius; + + public float BoundHeight; + + public string AttackIdle; + + public string AttackWalk; + + public string AttackRun; + + public string EnterGame; + + public string[] Hit_Roll; + + public float[] HitRollOffsetTimeScale; + + public float HitRoll_Recover; + + public bool Huge; + + public string MoveFx; + + public string FreezeFx; + + public string HitFx; + + public string DeathFx; + + public string SuperArmorRecoverySkill; + + public string Feeble; + + public string FeebleFx; + + public string ArmorBroken; + + public string RecoveryFX; + + public string RecoveryHitSlowFX; + + public string RecoveryHitStopFX; + + public string FishingIdle; + + public string FishingCast; + + public string FishingPull; + + public float[] BoundRadiusOffset; + + public SeqListRef HugeMonsterColliders; + + public float UIAvatarScale; + + public float UIAvatarAngle; + + public string FishingWait; + + public string FishingWin; + + public string FishingLose; + + public string Dance; + + public string[] AvatarPos; + + public string InheritActionOne; + + public string InheritActionTwo; + + public string Kiss; + + public string RunLeft; + + public string RunRight; + + public string AttackRunLeft; + + public string AttackRunRight; + + public string Atlas; + + public int AngluarSpeed; + + public byte SkillNum; + + public string Atlas2; + + public string Avatar2; + } + + public XEntityPresentation.RowData GetByPresentID(uint key) + { + bool flag = this.Table == null || this.Table.Length == 0; + XEntityPresentation.RowData result; + if (flag) + { + result = null; + } + else + { + result = this.BinarySearchPresentID(key); + } + return result; + } + + private XEntityPresentation.RowData BinarySearchPresentID(uint key) + { + int num = 0; + int num2 = this.Table.Length - 1; + XEntityPresentation.RowData rowData; + XEntityPresentation.RowData rowData2; + XEntityPresentation.RowData rowData3; + for (;;) + { + rowData = this.Table[num]; + bool flag = rowData.PresentID == key; + if (flag) + { + break; + } + rowData2 = this.Table[num2]; + bool flag2 = rowData2.PresentID == key; + if (flag2) + { + goto Block_2; + } + bool flag3 = num2 - num <= 1; + if (flag3) + { + goto Block_3; + } + int num3 = num + (num2 - num) / 2; + rowData3 = this.Table[num3]; + bool flag4 = rowData3.PresentID.CompareTo(key) > 0; + if (flag4) + { + num2 = num3; + } + else + { + bool flag5 = rowData3.PresentID.CompareTo(key) < 0; + if (!flag5) + { + goto IL_B1; + } + num = num3; + } + if (num >= num2) + { + goto Block_6; + } + } + return rowData; + Block_2: + return rowData2; + Block_3: + return null; + IL_B1: + return rowData3; + Block_6: + return null; + } + + protected override void ReadLine(XBinaryReader reader) + { + XEntityPresentation.RowData rowData = new XEntityPresentation.RowData(); + base.Read(reader, ref rowData.Prefab, CVSReader.stringParse); + this.columnno = 0; + base.Read(reader, ref rowData.A, CVSReader.stringParse); + this.columnno = 1; + base.Read(reader, ref rowData.AA, CVSReader.stringParse); + this.columnno = 2; + base.Read(reader, ref rowData.AAA, CVSReader.stringParse); + this.columnno = 3; + base.Read(reader, ref rowData.AAAA, CVSReader.stringParse); + this.columnno = 4; + base.Read(reader, ref rowData.AAAAA, CVSReader.stringParse); + this.columnno = 5; + base.Read(reader, ref rowData.Ultra, CVSReader.stringParse); + this.columnno = 6; + base.ReadArray(reader, ref rowData.OtherSkills, CVSReader.stringParse); + this.columnno = 7; + base.ReadArray(reader, ref rowData.Hit_f, CVSReader.stringParse); + this.columnno = 8; + base.ReadArray(reader, ref rowData.HitFly, CVSReader.stringParse); + this.columnno = 9; + base.Read(reader, ref rowData.Idle, CVSReader.stringParse); + this.columnno = 10; + base.Read(reader, ref rowData.Walk, CVSReader.stringParse); + this.columnno = 11; + base.Read(reader, ref rowData.Run, CVSReader.stringParse); + this.columnno = 12; + base.Read(reader, ref rowData.Death, CVSReader.stringParse); + this.columnno = 13; + base.Read(reader, ref rowData.Appear, CVSReader.stringParse); + this.columnno = 14; + base.ReadArray(reader, ref rowData.Hit_l, CVSReader.stringParse); + this.columnno = 15; + base.ReadArray(reader, ref rowData.Hit_r, CVSReader.stringParse); + this.columnno = 16; + base.Read(reader, ref rowData.PresentID, CVSReader.uintParse); + this.columnno = 17; + base.ReadArray(reader, ref rowData.HitCurves, CVSReader.stringParse); + this.columnno = 18; + base.Read(reader, ref rowData.AnimLocation, CVSReader.stringParse); + this.columnno = 19; + base.Read(reader, ref rowData.SkillLocation, CVSReader.stringParse); + this.columnno = 20; + base.Read(reader, ref rowData.CurveLocation, CVSReader.stringParse); + this.columnno = 21; + base.Read(reader, ref rowData.Avatar, CVSReader.stringParse); + this.columnno = 22; + base.ReadArray(reader, ref rowData.DeathCurve, CVSReader.stringParse); + this.columnno = 23; + base.ReadArray(reader, ref rowData.HitBackOffsetTimeScale, CVSReader.floatParse); + this.columnno = 24; + base.ReadArray(reader, ref rowData.HitFlyOffsetTimeScale, CVSReader.floatParse); + this.columnno = 25; + base.Read(reader, ref rowData.Scale, CVSReader.floatParse); + this.columnno = 26; + base.Read(reader, ref rowData.BoneSuffix, CVSReader.stringParse); + this.columnno = 27; + base.Read(reader, ref rowData.Disappear, CVSReader.stringParse); + this.columnno = 28; + base.Read(reader, ref rowData.Shadow, CVSReader.boolParse); + this.columnno = 29; + base.Read(reader, ref rowData.Dash, CVSReader.stringParse); + this.columnno = 30; + base.Read(reader, ref rowData.Freeze, CVSReader.stringParse); + this.columnno = 31; + base.ReadArray(reader, ref rowData.HitBack_Recover, CVSReader.floatParse); + this.columnno = 32; + base.ReadArray(reader, ref rowData.HitFly_Bounce_GetUp, CVSReader.floatParse); + this.columnno = 33; + base.Read(reader, ref rowData.BoundRadius, CVSReader.floatParse); + this.columnno = 34; + base.Read(reader, ref rowData.BoundHeight, CVSReader.floatParse); + this.columnno = 35; + base.Read(reader, ref rowData.AttackIdle, CVSReader.stringParse); + this.columnno = 36; + base.Read(reader, ref rowData.AttackWalk, CVSReader.stringParse); + this.columnno = 37; + base.Read(reader, ref rowData.AttackRun, CVSReader.stringParse); + this.columnno = 38; + base.Read(reader, ref rowData.EnterGame, CVSReader.stringParse); + this.columnno = 39; + base.ReadArray(reader, ref rowData.Hit_Roll, CVSReader.stringParse); + this.columnno = 40; + base.ReadArray(reader, ref rowData.HitRollOffsetTimeScale, CVSReader.floatParse); + this.columnno = 41; + base.Read(reader, ref rowData.HitRoll_Recover, CVSReader.floatParse); + this.columnno = 42; + base.Read(reader, ref rowData.Huge, CVSReader.boolParse); + this.columnno = 43; + base.Read(reader, ref rowData.MoveFx, CVSReader.stringParse); + this.columnno = 44; + base.Read(reader, ref rowData.FreezeFx, CVSReader.stringParse); + this.columnno = 45; + base.Read(reader, ref rowData.HitFx, CVSReader.stringParse); + this.columnno = 46; + base.Read(reader, ref rowData.DeathFx, CVSReader.stringParse); + this.columnno = 47; + base.Read(reader, ref rowData.SuperArmorRecoverySkill, CVSReader.stringParse); + this.columnno = 48; + base.Read(reader, ref rowData.Feeble, CVSReader.stringParse); + this.columnno = 49; + base.Read(reader, ref rowData.FeebleFx, CVSReader.stringParse); + this.columnno = 50; + base.Read(reader, ref rowData.ArmorBroken, CVSReader.stringParse); + this.columnno = 51; + base.Read(reader, ref rowData.RecoveryFX, CVSReader.stringParse); + this.columnno = 52; + base.Read(reader, ref rowData.RecoveryHitSlowFX, CVSReader.stringParse); + this.columnno = 53; + base.Read(reader, ref rowData.RecoveryHitStopFX, CVSReader.stringParse); + this.columnno = 54; + base.Read(reader, ref rowData.FishingIdle, CVSReader.stringParse); + this.columnno = 55; + base.Read(reader, ref rowData.FishingCast, CVSReader.stringParse); + this.columnno = 56; + base.Read(reader, ref rowData.FishingPull, CVSReader.stringParse); + this.columnno = 57; + base.ReadArray(reader, ref rowData.BoundRadiusOffset, CVSReader.floatParse); + this.columnno = 58; + rowData.HugeMonsterColliders.Read(reader, this.m_DataHandler); + this.columnno = 59; + base.Read(reader, ref rowData.UIAvatarScale, CVSReader.floatParse); + this.columnno = 60; + base.Read(reader, ref rowData.UIAvatarAngle, CVSReader.floatParse); + this.columnno = 61; + base.Read(reader, ref rowData.FishingWait, CVSReader.stringParse); + this.columnno = 62; + base.Read(reader, ref rowData.FishingWin, CVSReader.stringParse); + this.columnno = 63; + base.Read(reader, ref rowData.FishingLose, CVSReader.stringParse); + this.columnno = 64; + base.Read(reader, ref rowData.Dance, CVSReader.stringParse); + this.columnno = 65; + base.ReadArray(reader, ref rowData.AvatarPos, CVSReader.stringParse); + this.columnno = 66; + base.Read(reader, ref rowData.InheritActionOne, CVSReader.stringParse); + this.columnno = 67; + base.Read(reader, ref rowData.InheritActionTwo, CVSReader.stringParse); + this.columnno = 68; + base.Read(reader, ref rowData.Kiss, CVSReader.stringParse); + this.columnno = 69; + base.Read(reader, ref rowData.RunLeft, CVSReader.stringParse); + this.columnno = 70; + base.Read(reader, ref rowData.RunRight, CVSReader.stringParse); + this.columnno = 71; + base.Read(reader, ref rowData.AttackRunLeft, CVSReader.stringParse); + this.columnno = 72; + base.Read(reader, ref rowData.AttackRunRight, CVSReader.stringParse); + this.columnno = 73; + base.Read(reader, ref rowData.Atlas, CVSReader.stringParse); + this.columnno = 74; + base.Read(reader, ref rowData.AngluarSpeed, CVSReader.intParse); + this.columnno = 75; + base.Read(reader, ref rowData.SkillNum, CVSReader.byteParse); + this.columnno = 76; + base.Read(reader, ref rowData.Atlas2, CVSReader.stringParse); + this.columnno = 77; + base.Read(reader, ref rowData.Avatar2, CVSReader.stringParse); + this.columnno = 78; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new XEntityPresentation.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/XEntityPresentation.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/XEntityPresentation.cs.meta new file mode 100644 index 00000000..a71d296b --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XEntityPresentation.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 21a06a3bb0e37534b8867ba75cf11e9e +timeCreated: 1611465299 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/XEntityStatistics.cs b/Client/Assets/Scripts/XUtliPoolLib/XEntityStatistics.cs new file mode 100644 index 00000000..c116e85b --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XEntityStatistics.cs @@ -0,0 +1,337 @@ +using System; + +namespace XUtliPoolLib +{ + public class XEntityStatistics : CVSReader + { + public XEntityStatistics.RowData[] Table = null; + + public class RowData + { + public string Name; + + public uint PresentID; + + public float WalkSpeed; + + public float RunSpeed; + + public float[] FloatHeight; + + public float RotateSpeed; + + public float MaxHP; + + public float AttackProb; + + public float Sight; + + public byte Type; + + public uint ID; + + public SeqListRef InBornBuff; + + public float AttackBase; + + public bool IsWander; + + public bool Block; + + public float AIStartTime; + + public float AIActionGap; + + public short FashionTemplate; + + public int MaxSuperArmor; + + public bool IsFixedInCD; + + public uint HpSection; + + public bool EndShow; + + public bool Highlight; + + public float MagicAttackBase; + + public byte UseMyMesh; + + public SeqRef ExtraReward; + + public float FightTogetherDis; + + public short aihit; + + public double SuperArmorRecoveryValue; + + public double SuperArmorRecoveryMax; + + public SeqRef SuperArmorBrokenBuff; + + public bool WeakStatus; + + public short InitEnmity; + + public bool AlwaysHpBar; + + public string AiBehavior; + + public short Fightgroup; + + public bool SoloShow; + + public bool UsingGeneralCutscene; + + public bool HideName; + + public float AttackSpeed; + + public float ratioleft; + + public float ratioright; + + public float ratioidle; + + public float ratiodistance; + + public float ratioskill; + + public float ratioexp; + + public float SkillCD; + + public bool BeLocked; + + public SeqListRef navigation; + + public byte IsNavPingpong; + + public bool HideInMiniMap; + + public byte Fov; + + public byte SummonGroup; + + public bool SameBillBoard; + + public bool DynamicBlock; + + public byte[] Tag; + + public uint[] HellDrop; + + public short LinkCombo; + } + + public XEntityStatistics.RowData GetByID(uint key) + { + bool flag = this.Table == null || this.Table.Length == 0; + XEntityStatistics.RowData result; + if (flag) + { + result = null; + } + else + { + result = this.BinarySearchID(key); + } + return result; + } + + private XEntityStatistics.RowData BinarySearchID(uint key) + { + int num = 0; + int num2 = this.Table.Length - 1; + XEntityStatistics.RowData rowData; + XEntityStatistics.RowData rowData2; + XEntityStatistics.RowData rowData3; + for (;;) + { + rowData = this.Table[num]; + bool flag = rowData.ID == key; + if (flag) + { + break; + } + rowData2 = this.Table[num2]; + bool flag2 = rowData2.ID == key; + if (flag2) + { + goto Block_2; + } + bool flag3 = num2 - num <= 1; + if (flag3) + { + goto Block_3; + } + int num3 = num + (num2 - num) / 2; + rowData3 = this.Table[num3]; + bool flag4 = rowData3.ID.CompareTo(key) > 0; + if (flag4) + { + num2 = num3; + } + else + { + bool flag5 = rowData3.ID.CompareTo(key) < 0; + if (!flag5) + { + goto IL_B1; + } + num = num3; + } + if (num >= num2) + { + goto Block_6; + } + } + return rowData; + Block_2: + return rowData2; + Block_3: + return null; + IL_B1: + return rowData3; + Block_6: + return null; + } + + protected override void ReadLine(XBinaryReader reader) + { + XEntityStatistics.RowData rowData = new XEntityStatistics.RowData(); + base.Read(reader, ref rowData.Name, CVSReader.stringParse); + this.columnno = 0; + base.Read(reader, ref rowData.PresentID, CVSReader.uintParse); + this.columnno = 1; + base.Read(reader, ref rowData.WalkSpeed, CVSReader.floatParse); + this.columnno = 2; + base.Read(reader, ref rowData.RunSpeed, CVSReader.floatParse); + this.columnno = 3; + base.ReadArray(reader, ref rowData.FloatHeight, CVSReader.floatParse); + this.columnno = 4; + base.Read(reader, ref rowData.RotateSpeed, CVSReader.floatParse); + this.columnno = 5; + base.Read(reader, ref rowData.MaxHP, CVSReader.floatParse); + this.columnno = 6; + base.Read(reader, ref rowData.AttackProb, CVSReader.floatParse); + this.columnno = 7; + base.Read(reader, ref rowData.Sight, CVSReader.floatParse); + this.columnno = 8; + base.Read(reader, ref rowData.Type, CVSReader.byteParse); + this.columnno = 9; + base.Read(reader, ref rowData.ID, CVSReader.uintParse); + this.columnno = 10; + rowData.InBornBuff.Read(reader, this.m_DataHandler); + this.columnno = 11; + base.Read(reader, ref rowData.AttackBase, CVSReader.floatParse); + this.columnno = 12; + base.Read(reader, ref rowData.IsWander, CVSReader.boolParse); + this.columnno = 13; + base.Read(reader, ref rowData.Block, CVSReader.boolParse); + this.columnno = 14; + base.Read(reader, ref rowData.AIStartTime, CVSReader.floatParse); + this.columnno = 15; + base.Read(reader, ref rowData.AIActionGap, CVSReader.floatParse); + this.columnno = 16; + base.Read(reader, ref rowData.FashionTemplate, CVSReader.shortParse); + this.columnno = 17; + base.Read(reader, ref rowData.MaxSuperArmor, CVSReader.intParse); + this.columnno = 18; + base.Read(reader, ref rowData.IsFixedInCD, CVSReader.boolParse); + this.columnno = 19; + base.Read(reader, ref rowData.HpSection, CVSReader.uintParse); + this.columnno = 20; + base.Read(reader, ref rowData.EndShow, CVSReader.boolParse); + this.columnno = 21; + base.Read(reader, ref rowData.Highlight, CVSReader.boolParse); + this.columnno = 22; + base.Read(reader, ref rowData.MagicAttackBase, CVSReader.floatParse); + this.columnno = 23; + base.Read(reader, ref rowData.UseMyMesh, CVSReader.byteParse); + this.columnno = 24; + rowData.ExtraReward.Read(reader, this.m_DataHandler); + this.columnno = 25; + base.Read(reader, ref rowData.FightTogetherDis, CVSReader.floatParse); + this.columnno = 26; + base.Read(reader, ref rowData.aihit, CVSReader.shortParse); + this.columnno = 27; + base.Read(reader, ref rowData.SuperArmorRecoveryValue, CVSReader.doubleParse); + this.columnno = 28; + base.Read(reader, ref rowData.SuperArmorRecoveryMax, CVSReader.doubleParse); + this.columnno = 29; + rowData.SuperArmorBrokenBuff.Read(reader, this.m_DataHandler); + this.columnno = 30; + base.Read(reader, ref rowData.WeakStatus, CVSReader.boolParse); + this.columnno = 31; + base.Read(reader, ref rowData.InitEnmity, CVSReader.shortParse); + this.columnno = 32; + base.Read(reader, ref rowData.AlwaysHpBar, CVSReader.boolParse); + this.columnno = 33; + base.Read(reader, ref rowData.AiBehavior, CVSReader.stringParse); + this.columnno = 34; + base.Read(reader, ref rowData.Fightgroup, CVSReader.shortParse); + this.columnno = 35; + base.Read(reader, ref rowData.SoloShow, CVSReader.boolParse); + this.columnno = 36; + base.Read(reader, ref rowData.UsingGeneralCutscene, CVSReader.boolParse); + this.columnno = 37; + base.Read(reader, ref rowData.HideName, CVSReader.boolParse); + this.columnno = 38; + base.Read(reader, ref rowData.AttackSpeed, CVSReader.floatParse); + this.columnno = 39; + base.Read(reader, ref rowData.ratioleft, CVSReader.floatParse); + this.columnno = 40; + base.Read(reader, ref rowData.ratioright, CVSReader.floatParse); + this.columnno = 41; + base.Read(reader, ref rowData.ratioidle, CVSReader.floatParse); + this.columnno = 42; + base.Read(reader, ref rowData.ratiodistance, CVSReader.floatParse); + this.columnno = 43; + base.Read(reader, ref rowData.ratioskill, CVSReader.floatParse); + this.columnno = 44; + base.Read(reader, ref rowData.ratioexp, CVSReader.floatParse); + this.columnno = 45; + base.Read(reader, ref rowData.SkillCD, CVSReader.floatParse); + this.columnno = 46; + base.Read(reader, ref rowData.BeLocked, CVSReader.boolParse); + this.columnno = 47; + rowData.navigation.Read(reader, this.m_DataHandler); + this.columnno = 48; + base.Read(reader, ref rowData.IsNavPingpong, CVSReader.byteParse); + this.columnno = 49; + base.Read(reader, ref rowData.HideInMiniMap, CVSReader.boolParse); + this.columnno = 50; + base.Read(reader, ref rowData.Fov, CVSReader.byteParse); + this.columnno = 51; + base.Read(reader, ref rowData.SummonGroup, CVSReader.byteParse); + this.columnno = 53; + base.Read(reader, ref rowData.SameBillBoard, CVSReader.boolParse); + this.columnno = 54; + base.Read(reader, ref rowData.DynamicBlock, CVSReader.boolParse); + this.columnno = 57; + base.ReadArray(reader, ref rowData.Tag, CVSReader.byteParse); + this.columnno = 58; + base.ReadArray(reader, ref rowData.HellDrop, CVSReader.uintParse); + this.columnno = 64; + base.Read(reader, ref rowData.LinkCombo, CVSReader.shortParse); + this.columnno = 65; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new XEntityStatistics.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/XEntityStatistics.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/XEntityStatistics.cs.meta new file mode 100644 index 00000000..34122dc5 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XEntityStatistics.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 0c17d4e212bfa7c4d9f3eed354e08b6c +timeCreated: 1611465288 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/XErrorEventArgTypeException.cs b/Client/Assets/Scripts/XUtliPoolLib/XErrorEventArgTypeException.cs new file mode 100644 index 00000000..743ff074 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XErrorEventArgTypeException.cs @@ -0,0 +1,16 @@ +using System; + +namespace XUtliPoolLib +{ + [Serializable] + public class XErrorEventArgTypeException : XException + { + public XErrorEventArgTypeException(string message) : base(message) + { + } + + public XErrorEventArgTypeException(string message, Exception inner) : base(message, inner) + { + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/XErrorEventArgTypeException.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/XErrorEventArgTypeException.cs.meta new file mode 100644 index 00000000..713c9d7c --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XErrorEventArgTypeException.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 596b931b7fc801945958d96993bcc156 +timeCreated: 1611465646 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/XErrorUnregisteredComponentException.cs b/Client/Assets/Scripts/XUtliPoolLib/XErrorUnregisteredComponentException.cs new file mode 100644 index 00000000..837d56f6 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XErrorUnregisteredComponentException.cs @@ -0,0 +1,16 @@ +using System; + +namespace XUtliPoolLib +{ + [Serializable] + public class XErrorUnregisteredComponentException : XException + { + public XErrorUnregisteredComponentException(string message) : base(message) + { + } + + public XErrorUnregisteredComponentException(string message, Exception inner) : base(message, inner) + { + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/XErrorUnregisteredComponentException.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/XErrorUnregisteredComponentException.cs.meta new file mode 100644 index 00000000..517c71c6 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XErrorUnregisteredComponentException.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 7133feaee692bb047bd410d25452573c +timeCreated: 1611465687 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/XException.cs b/Client/Assets/Scripts/XUtliPoolLib/XException.cs new file mode 100644 index 00000000..f11f5909 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XException.cs @@ -0,0 +1,20 @@ +using System; + +namespace XUtliPoolLib +{ + [Serializable] + public class XException : ApplicationException + { + public XException() + { + } + + public XException(string message) : base(message) + { + } + + public XException(string message, Exception inner) : base(message, inner) + { + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/XException.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/XException.cs.meta new file mode 100644 index 00000000..4cb40b5d --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XException.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 2d2b11fd4b8aceb4ea6fa04370862e48 +timeCreated: 1611465304 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/XFastEnumIntEqualityComparer.cs b/Client/Assets/Scripts/XUtliPoolLib/XFastEnumIntEqualityComparer.cs new file mode 100644 index 00000000..65de0abf --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XFastEnumIntEqualityComparer.cs @@ -0,0 +1,25 @@ +using System; +using System.Collections.Generic; +using System.Runtime.InteropServices; + +namespace XUtliPoolLib +{ + [StructLayout(LayoutKind.Sequential, Size = 1)] + public struct XFastEnumIntEqualityComparer : IEqualityComparer where TEnum : struct + { + public static int ToInt(TEnum en) + { + return EnumInt32ToInt.Convert(en); + } + + public bool Equals(TEnum lhs, TEnum rhs) + { + return XFastEnumIntEqualityComparer.ToInt(lhs) == XFastEnumIntEqualityComparer.ToInt(rhs); + } + + public int GetHashCode(TEnum en) + { + return XFastEnumIntEqualityComparer.ToInt(en); + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/XFastEnumIntEqualityComparer.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/XFastEnumIntEqualityComparer.cs.meta new file mode 100644 index 00000000..4469fdc8 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XFastEnumIntEqualityComparer.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 31c7d87cad0a0334cbcbbca508022010 +timeCreated: 1611465309 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/XFetchVersionNetwork.cs b/Client/Assets/Scripts/XUtliPoolLib/XFetchVersionNetwork.cs new file mode 100644 index 00000000..6b610d76 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XFetchVersionNetwork.cs @@ -0,0 +1,265 @@ +using System; +using System.Net; +using System.Net.Sockets; +using System.Text; +using XUpdater; + +namespace XUtliPoolLib +{ + public class XFetchVersionNetwork + { + private Socket m_oSocket; + + private XFetchVersionNetwork.SocketState m_nState; + + private static byte[] m_oRecvBuff; + + private int m_nCurrRecvLen; + + public static int TotalRecvBytes; + + private AsyncCallback m_RecvCb = null; + + private AsyncCallback m_ConnectCb = null; + + public bool m_bRecvMsg = true; + + public bool m_bPause = false; + + public int m_nPauseRecvLen = 0; + + private AddressFamily m_NetworkType = AddressFamily.InterNetwork; + + public enum SocketState + { + State_Closed, + State_Connecting, + State_Connected + } + + public XFetchVersionNetwork() + { + this.m_oSocket = null; + this.m_nState = XFetchVersionNetwork.SocketState.State_Closed; + XFetchVersionNetwork.m_oRecvBuff = null; + this.m_nCurrRecvLen = 0; + this.m_RecvCb = new AsyncCallback(this.RecvCallback); + this.m_ConnectCb = new AsyncCallback(this.OnConnect); + } + + private void GetNetworkType() + { + try + { + string hostNameOrAddress = XSingleton.singleton.XPlatform.GetLoginServer("QQ").Substring(0, XSingleton.singleton.XPlatform.GetLoginServer("QQ").LastIndexOf(':')); + IPAddress[] hostAddresses = Dns.GetHostAddresses(hostNameOrAddress); + this.m_NetworkType = hostAddresses[0].AddressFamily; + } + catch (Exception ex) + { + XSingleton.singleton.AddWarningLog(ex.Message, null, null, null, null, null); + } + } + + public bool Init() + { + this.GetNetworkType(); + try + { + this.m_nState = XFetchVersionNetwork.SocketState.State_Closed; + this.m_oSocket = new Socket(this.m_NetworkType, SocketType.Stream, ProtocolType.Tcp); + this.m_oSocket.NoDelay = true; + bool flag = XFetchVersionNetwork.m_oRecvBuff == null; + if (flag) + { + XFetchVersionNetwork.m_oRecvBuff = new byte[512]; + } + this.m_nCurrRecvLen = 0; + } + catch (Exception ex) + { + XSingleton.singleton.AddWarningLog(ex.Message, "new Socket Error!", null, null, null, null); + return false; + } + return true; + } + + public void UnInit() + { + this.Close(); + } + + private void OnConnect(IAsyncResult iar) + { + try + { + bool flag = this.m_nState == XFetchVersionNetwork.SocketState.State_Closed; + if (!flag) + { + Socket socket = (Socket)iar.AsyncState; + socket.EndConnect(iar); + this.SetState(XFetchVersionNetwork.SocketState.State_Connected); + socket.BeginReceive(XFetchVersionNetwork.m_oRecvBuff, this.m_nCurrRecvLen, XFetchVersionNetwork.m_oRecvBuff.Length - this.m_nCurrRecvLen, SocketFlags.None, this.m_RecvCb, socket); + } + } + catch (Exception ex) + { + XSingleton.singleton.AddWarningLog(ex.Message, null, null, null, null, null); + this.SetState(XFetchVersionNetwork.SocketState.State_Closed); + this.Close(); + } + } + + public bool Connect(string host, int port) + { + bool result; + try + { + this.SetState(XFetchVersionNetwork.SocketState.State_Connecting); + this.m_oSocket.BeginConnect(host, port, this.m_ConnectCb, this.m_oSocket); + result = true; + } + catch (Exception ex) + { + XSingleton.singleton.AddWarningLog(ex.Message, null, null, null, null, null); + result = false; + } + return result; + } + + public void Close() + { + this.m_nState = XFetchVersionNetwork.SocketState.State_Closed; + bool flag = this.m_oSocket == null; + if (!flag) + { + try + { + this.m_oSocket.Close(); + } + catch (Exception ex) + { + XSingleton.singleton.AddWarningLog(ex.Message, null, null, null, null, null); + } + this.m_oSocket = null; + } + } + + public Socket GetSocket() + { + return this.m_oSocket; + } + + public bool IsClosed() + { + return this.m_nState == XFetchVersionNetwork.SocketState.State_Closed; + } + + private void SetState(XFetchVersionNetwork.SocketState nState) + { + this.m_nState = nState; + } + + public void RecvCallback(IAsyncResult ar) + { + try + { + bool flag = this.m_nState == XFetchVersionNetwork.SocketState.State_Closed; + if (!flag) + { + Socket socket = (Socket)ar.AsyncState; + int num = socket.EndReceive(ar); + bool flag2 = num > 0; + if (flag2) + { + XFetchVersionNetwork.TotalRecvBytes += num; + this.m_nCurrRecvLen += num; + bool flag3 = this.DetectPacket(); + if (!flag3) + { + bool flag4 = this.m_nCurrRecvLen == XFetchVersionNetwork.m_oRecvBuff.Length; + if (flag4) + { + XSingleton.singleton.AddWarningLog("RecvCallback error ! m_nCurrRecvLen == m_oRecvBuff.Length", null, null, null, null, null); + } + socket.BeginReceive(XFetchVersionNetwork.m_oRecvBuff, this.m_nCurrRecvLen, XFetchVersionNetwork.m_oRecvBuff.Length - this.m_nCurrRecvLen, SocketFlags.None, this.m_RecvCb, socket); + } + } + else + { + bool flag5 = num == 0; + if (flag5) + { + XSingleton.singleton.AddWarningLog("Close socket normally", null, null, null, null, null); + this.Close(); + } + else + { + XSingleton.singleton.AddWarningLog("Close socket, recv error!", null, null, null, null, null); + this.Close(); + } + } + } + } + catch (ObjectDisposedException) + { + } + catch (SocketException ex) + { + XSingleton.singleton.AddWarningLog(ex.Message, null, null, null, null, null); + this.Close(); + } + catch (Exception ex2) + { + XSingleton.singleton.AddWarningLog(ex2.Message, null, null, null, null, null); + this.Close(); + } + } + + public bool DetectPacket() + { + if (this.m_nCurrRecvLen > 0) + { + int num = this.BreakPacket(XFetchVersionNetwork.m_oRecvBuff, 0, this.m_nCurrRecvLen); + bool flag = num == 0; + if (!flag) + { + bool bRecvMsg = this.m_bRecvMsg; + if (bRecvMsg) + { + byte[] array = new byte[num]; + Array.Copy(XFetchVersionNetwork.m_oRecvBuff, 0, array, 0, num); + Encoding utf = Encoding.UTF8; + XSingleton.singleton.SetServerVersion(utf.GetString(array, 4, num - 4)); + return true; + } + } + } + return false; + } + + public int BreakPacket(byte[] data, int index, int len) + { + bool flag = len < 4; + int result; + if (flag) + { + result = 0; + } + else + { + int num = BitConverter.ToInt32(data, index); + bool flag2 = len < 4 + num; + if (flag2) + { + result = 0; + } + else + { + result = num + 4; + } + } + return result; + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/XFetchVersionNetwork.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/XFetchVersionNetwork.cs.meta new file mode 100644 index 00000000..817dc889 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XFetchVersionNetwork.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 2fa72fea6e34706478df5a16c583fb3b +timeCreated: 1611465308 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/XFile.cs b/Client/Assets/Scripts/XUtliPoolLib/XFile.cs new file mode 100644 index 00000000..8fa27d4d --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XFile.cs @@ -0,0 +1,179 @@ +using System; +using System.IO; +using System.Text; + +namespace XUtliPoolLib +{ + public class XFile + { + public static void AppendAllText(string path, string contents) + { + File.AppendAllText(path, contents); + } + + public static void AppendAllText(string path, string contents, Encoding encoding) + { + File.AppendAllText(path, contents, encoding); + } + + public static StreamWriter AppendText(string path) + { + return File.AppendText(path); + } + + public static void Copy(string sourceFileName, string destFileName) + { + File.Copy(sourceFileName, destFileName); + } + + public static void Copy(string sourceFileName, string destFileName, bool overwrite) + { + File.Copy(sourceFileName, destFileName, overwrite); + } + + public static FileStream Create(string path) + { + return File.Create(path); + } + + public static FileStream Create(string path, int bufferSize) + { + return File.Create(path, bufferSize); + } + + public static StreamWriter CreateText(string path) + { + return File.CreateText(path); + } + + public static void Decrypt(string path) + { + File.Decrypt(path); + } + + public static void Delete(string path) + { + File.Delete(path); + } + + public static void Encrypt(string path) + { + File.Encrypt(path); + } + + public static bool Exists(string path) + { + return File.Exists(path); + } + + public static FileAttributes GetAttributes(string path) + { + return File.GetAttributes(path); + } + + public static DateTime GetCreationTime(string path) + { + return File.GetCreationTime(path); + } + + public static DateTime GetCreationTimeUtc(string path) + { + return File.GetCreationTimeUtc(path); + } + + public static DateTime GetLastAccessTime(string path) + { + return File.GetLastAccessTime(path); + } + + public static DateTime GetLastWriteTime(string path) + { + return File.GetLastWriteTime(path); + } + + public static DateTime GetLastWriteTimeUtc(string path) + { + return File.GetLastWriteTimeUtc(path); + } + + public static void Move(string sourceFileName, string destFileName) + { + File.Move(sourceFileName, destFileName); + } + + public static FileStream Open(string path, FileMode mode) + { + return File.Open(path, mode); + } + + public static FileStream OpenRead(string path) + { + return File.OpenRead(path); + } + + public static StreamReader OpenText(string path) + { + return File.OpenText(path); + } + + public static FileStream OpenWrite(string path) + { + return File.OpenWrite(path); + } + + public static byte[] ReadAllBytes(string path) + { + return File.ReadAllBytes(path); + } + + public static string[] ReadAllLines(string path) + { + return File.ReadAllLines(path); + } + + public static string[] ReadAllLines(string path, Encoding encoding) + { + return File.ReadAllLines(path, encoding); + } + + public static string ReadAllText(string path) + { + return File.ReadAllText(path); + } + + public static string ReadAllText(string path, Encoding encoding) + { + return File.ReadAllText(path, encoding); + } + + public static void Replace(string sourceFileName, string destinationFileName, string destinationBackupFileName) + { + File.Replace(sourceFileName, destinationFileName, destinationBackupFileName); + } + + public static void WriteAllBytes(string path, byte[] bytes) + { + File.WriteAllBytes(path, bytes); + } + + public static void WriteAllLines(string path, string[] contents) + { + File.WriteAllLines(path, contents); + } + + public static void WriteAllLines(string path, string[] contents, Encoding encoding) + { + File.WriteAllLines(path, contents, encoding); + } + + public static void WriteAllText(string path, string contents) + { + File.WriteAllText(path, contents); + } + + public static void WriteAllText(string path, string contents, Encoding encoding) + { + File.WriteAllText(path, contents, encoding); + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/XFile.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/XFile.cs.meta new file mode 100644 index 00000000..c78d19ab --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XFile.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 189c4840a719af547beab3ecf5f2a694 +timeCreated: 1611465295 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/XFileLog.cs b/Client/Assets/Scripts/XUtliPoolLib/XFileLog.cs new file mode 100644 index 00000000..616db28e --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XFileLog.cs @@ -0,0 +1,257 @@ +using System; +using System.Collections.Generic; +using System.IO; +using System.Text; +using UnityEngine; +using XUpdater; + +namespace XUtliPoolLib +{ + public class XFileLog : MonoBehaviour + { + private static Queue CustomLogQueue = new Queue(); + + private const int QUEUE_SIZE = 20; + + public static string RoleName = ""; + + public static uint RoleLevel = 0u; + + public static int RoleProf = 0; + + public static string ServerID = ""; + + public static string OpenID = ""; + + public static uint SceneID = 0u; + + private static Application.LogCallback callBack = null; + + private string _outpath; + + public bool _logOpen = true; + + private bool _firstWrite = true; + + private string _guiLog = ""; + + private bool _showGuiLog = false; + + private GUIStyle fontStyle = null; + + public static string debugStr = "0"; + + public static bool _OpenCustomBtn = false; + + public static bool _debugTrigger = true; + + private Vector2 scrollPosition; + + private bool _showCustomInfo = false; + + public static bool _logBundleOpen = false; + + public static string _customInfo = ""; + + public static int _customInfoHeight = 0; + + private void Start() + { + this._outpath = Application.persistentDataPath + string.Format("/{0}{1}{2}_{3}{4}{5}.log", new object[] + { + DateTime.Now.Year.ToString().PadLeft(2, '0'), + DateTime.Now.Month.ToString().PadLeft(2, '0'), + DateTime.Now.Day.ToString().PadLeft(2, '0'), + DateTime.Now.Hour.ToString().PadLeft(2, '0'), + DateTime.Now.Minute.ToString().PadLeft(2, '0'), + DateTime.Now.Second.ToString().PadLeft(2, '0') + }); + string path = ((int)Application.platform == 8) ? ("/private" + Application.persistentDataPath) : Application.persistentDataPath; + bool flag = Directory.Exists(path); + if (flag) + { + DirectoryInfo directoryInfo = new DirectoryInfo(path); + FileInfo[] files = directoryInfo.GetFiles(); + bool flag2 = files != null; + if (flag2) + { + for (int i = 0; i < files.Length; i++) + { + string a = files[i].Name.Substring(files[i].Name.LastIndexOf(".") + 1); + bool flag3 = a != "log"; + if (!flag3) + { + bool flag4 = DateTime.Now.Subtract(files[i].CreationTime).TotalDays > 1.0; + if (flag4) + { + try + { + files[i].Delete(); + } + catch + { + XSingleton.singleton.AddErrorLog("Del Log File Error!!!", null, null, null, null, null); + } + } + } + } + } + } + XFileLog.callBack = new Application.LogCallback(this.HandleLog); + Application.logMessageReceived += XFileLog.callBack; + XSingleton.singleton.AddLog(this._outpath, null, null, null, null, null, XDebugColor.XDebug_None); + } + + public void HandleLog(string logString, string stackTrace, LogType type) + { + bool flag = !this._firstWrite; + if (!flag) + { + bool logOpen = this._logOpen; + if (logOpen) + { + this.WriterLog(logString); + } + bool flag2 = type == null || (int)type == 4; + if (flag2) + { + this._firstWrite = false; + this.Log(new object[] + { + logString + }); + this.Log(new object[] + { + stackTrace + }); + string text = string.Format("{0}\n{1}\n", logString, stackTrace); + while (XFileLog.CustomLogQueue.Count > 0) + { + text = string.Format("{0}\n{1}", text, XFileLog.CustomLogQueue.Dequeue()); + } + this.SendBuglyReport(text); + this._guiLog = text; + this._showGuiLog = true; + } + } + } + + private void OnGUI() + { + bool logBundleOpen = XFileLog._logBundleOpen; + if (logBundleOpen) + { + bool flag = XSingleton.singleton.ABManager != null; + if (flag) + { + GUI.TextArea(new Rect(0f, 30f, 100f, 30f), XSingleton.singleton.ABManager.BundleCount.ToString()); + } + } + bool flag2 = this.fontStyle == null; + if (flag2) + { + this.fontStyle = new GUIStyle(); + } + bool showGuiLog = this._showGuiLog; + if (showGuiLog) + { + bool flag3 = GUI.Button(new Rect(0f, 0f, 100f, 30f), "CrashLog"); + if (flag3) + { + this._showGuiLog = !this._showGuiLog; + } + bool showGuiLog2 = this._showGuiLog; + if (showGuiLog2) + { + this.fontStyle.normal.textColor = new Color(1f, 0f, 0f); + this.fontStyle.fontSize = 14; + this.fontStyle.normal.background = Texture2D.whiteTexture; + GUI.TextArea(new Rect(0f, 40f, 1136f, 3200f), this._guiLog, this.fontStyle); + } + } + bool key = Input.GetKey((KeyCode)286); + if (key) + { + XFileLog._OpenCustomBtn = !XFileLog._OpenCustomBtn; + } + bool openCustomBtn = XFileLog._OpenCustomBtn; + if (openCustomBtn) + { + bool flag4 = GUI.Button(new Rect(250f, 0f, 150f, 50f), "Info"); + if (flag4) + { + this._showCustomInfo = !this._showCustomInfo; + } + } + bool showCustomInfo = this._showCustomInfo; + if (showCustomInfo) + { + this.fontStyle.normal.textColor = new Color(0f, 0f, 0f); + this.fontStyle.fontSize = 16; + this.fontStyle.normal.background = Texture2D.whiteTexture; + this.scrollPosition = GUI.BeginScrollView(new Rect(0f, 30f, 1136f, 640f), this.scrollPosition, new Rect(0f, 30f, 1136f, (float)(XFileLog._customInfoHeight * (this.fontStyle.fontSize + 2) + 100))); + GUI.Label(new Rect(0f, 30f, 1136f, (float)(XFileLog._customInfoHeight * (this.fontStyle.fontSize + 2) + 30)), XFileLog._customInfo, this.fontStyle); + GUI.EndScrollView(); + } + } + + public void WriterLog(string logString) + { + using (StreamWriter streamWriter = new StreamWriter(this._outpath, true, Encoding.UTF8)) + { + streamWriter.WriteLine(string.Format("[{0}]{1}", string.Format("{0}/{1}/{2} {3}:{4}:{5}.{6}", new object[] + { + DateTime.Now.Year, + DateTime.Now.Month.ToString().PadLeft(2, '0'), + DateTime.Now.Day.ToString().PadLeft(2, '0'), + DateTime.Now.Hour.ToString().PadLeft(2, '0'), + DateTime.Now.Minute.ToString().PadLeft(2, '0'), + DateTime.Now.Second.ToString().PadLeft(2, '0'), + DateTime.Now.Millisecond.ToString().PadLeft(3, '0') + }), logString)); + XSingleton.singleton.XPlatform.SetNoBackupFlag(this._outpath); + } + } + + private void Update() + { + } + + public void Log(params object[] objs) + { + string text = ""; + for (int i = 0; i < objs.Length; i++) + { + bool flag = i == 0; + if (flag) + { + text += objs[i].ToString(); + } + else + { + text = text + ", " + objs[i].ToString(); + } + } + this.WriterLog(text); + } + + public void SendBuglyReport(string logstring) + { + bool flag = (int) Application.platform != 7 && Application.platform > 0; + if (flag) + { + IXBuglyMgr ixbuglyMgr = XUpdater.XUpdater.XGameRoot.GetComponent("XBuglyMgr") as IXBuglyMgr; + ixbuglyMgr.ReportCrashToBugly(XFileLog.ServerID, XFileLog.RoleName, XFileLog.RoleLevel, XFileLog.RoleProf, XFileLog.OpenID, XSingleton.singleton.Version, Time.realtimeSinceStartup.ToString(), "loaded", XFileLog.SceneID.ToString(), logstring); + } + } + + public static void AddCustomLog(string customLog) + { + XFileLog.CustomLogQueue.Enqueue(customLog); + while (XFileLog.CustomLogQueue.Count > 20) + { + XFileLog.CustomLogQueue.Dequeue(); + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/XFileLog.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/XFileLog.cs.meta new file mode 100644 index 00000000..445b872c --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XFileLog.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 92e60e6f81aab444fbd55b2c54991e21 +timeCreated: 1611465706 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/XFileReadAsync.cs b/Client/Assets/Scripts/XUtliPoolLib/XFileReadAsync.cs new file mode 100644 index 00000000..0c83316f --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XFileReadAsync.cs @@ -0,0 +1,15 @@ +using System; + +namespace XUtliPoolLib +{ + internal class XFileReadAsync + { + internal bool IsDone = false; + + internal string Location = null; + + internal CVSReader Reader = null; + + internal XBinaryReader Data = null; + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/XFileReadAsync.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/XFileReadAsync.cs.meta new file mode 100644 index 00000000..f99ea882 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XFileReadAsync.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: b2dfec868273ad0439d42044f8db9390 +timeCreated: 1611465745 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/XFx.cs b/Client/Assets/Scripts/XUtliPoolLib/XFx.cs new file mode 100644 index 00000000..b1b51b94 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XFx.cs @@ -0,0 +1,1083 @@ +using System; +using System.Collections.Generic; +using UnityEngine; + +namespace XUtliPoolLib +{ + public class XFx : IRenderObject + { + public bool IsLoaded + { + get + { + return this.m_LoadStatus == 1; + } + } + + public Vector3 Position + { + get + { + return (this.m_TransformCache != null) ? this.m_TransformCache.position : this._pos; + } + set + { + this._pos = value; + bool flag = this.m_TransformCache != null; + if (flag) + { + this.m_TransformCache.position = value; + } + } + } + + public Quaternion Rotation + { + get + { + return (this.m_TransformCache != null) ? this.m_TransformCache.rotation : this._rot; + } + set + { + this._rot = value; + bool flag = this.m_TransformCache != null; + if (flag) + { + this.m_TransformCache.rotation = value; + } + } + } + + public Vector3 Forward + { + get + { + bool flag = this.m_TransformCache != null; + Vector3 result; + if (flag) + { + result = this.m_TransformCache.forward; + } + else + { + result = this._rot * Vector3.forward; + } + return result; + } + set + { + this._rot = Quaternion.LookRotation(value); + bool flag = this.m_TransformCache != null; + if (flag) + { + this.m_TransformCache.forward = value; + } + } + } + + public int InstanceID + { + set + { + } + } + + public static int globalFxID = 0; + + public int _instanceID = -1; + + public string FxName = ""; + + private GameObject m_GameObject = null; + + private Transform m_TransformCache = null; + + private Animation _animation = null; + + private AnimationState _animState = null; + + private Animator _animator = null; + + private List _particles = new List(); + + private List _projectors = new List(); + + private List _meshs = null; + + private IWeaponTail _weaponTail = null; + + private TrailRenderer _trail = null; + + private float _startSize = 1f; + + private float _startProjectorSize = 1f; + + public float DelayDestroy = -1f; + + public uint Token = 0u; + + private Transform _parent = null; + + private XGameObject _parentXgo = null; + + private float _speed_ratio = 0f; + + private Vector3 _pos; + + private Quaternion _rot; + + private Vector3 _scale; + + private Vector3 _offset; + + private bool _follow; + + private bool _sticky; + + private string _transName = ""; + + private float _translate = 0f; + + private int _layer = -1; + + private int _renderQueue = -1; + + private bool _enable = true; + + private int m_LoadFinishCbFlag = 0; + + private short m_LoadStatus = 0; + + private LoadAsyncTask loadTask = null; + + private LoadCallBack loadCb = null; + + public LoadCallBack loadFinish = null; + + public OnFxDestroyed callback = null; + + private static CommandCallback _parentLoadCb = new CommandCallback(XFx._ParentLoad); + + private static FxLoadCallback[] loadCallbacks = null; + + public static LoadCallBack _ProcessMesh = new LoadCallBack(XFx.ProcessMesh); + + private enum ECallbackCmd + { + ESyncActive = 1, + ESyncPlay, + ESyncLayer = 4, + ESyncRenderQueue = 8, + ESyncRefreshRenderQueue = 16, + ESyncParent = 32 + } + + public XFx() + { + this.loadCb = new LoadCallBack(this.LoadFinish); + bool flag = XFx.loadCallbacks == null; + if (flag) + { + XFx.loadCallbacks = new FxLoadCallback[] + { + new FxLoadCallback(XFx.SyncActive), + new FxLoadCallback(XFx.SyncPlay), + new FxLoadCallback(XFx.SyncLayer), + new FxLoadCallback(XFx.SyncRenderQueue), + new FxLoadCallback(XFx.SyncRefreshUIRenderQueue), + new FxLoadCallback(XFx.SyncParent) + }; + } + } + + public static int GetGlobalFxID() + { + XFx.globalFxID++; + bool flag = XFx.globalFxID > 1000000; + if (flag) + { + XFx.globalFxID = 0; + } + return XFx.globalFxID; + } + + public static XFx CreateXFx(string location, LoadCallBack loadFinish, bool async = true) + { + XFx xfx = CommonObjectPool.Get(); + xfx._instanceID = XFx.GetGlobalFxID(); + xfx.FxName = location; + xfx.loadFinish = loadFinish; + bool flag = string.IsNullOrEmpty(location) || location.EndsWith("empty"); + if (flag) + { + xfx.LoadFinish(null, null); + } + else + { + bool flag2 = XSingleton.singleton.DelayLoad && async; + if (flag2) + { + xfx.LoadAsync(location); + } + else + { + xfx.Load(location); + } + } + return xfx; + } + + public static void DestroyXFx(XFx fx, bool stop = true) + { + bool flag = fx._instanceID >= 0; + if (flag) + { + if (stop) + { + fx.Stop(); + } + fx.Reset(); + CommonObjectPool.Release(fx); + } + } + + public void Reset() + { + bool flag = this.callback != null; + if (flag) + { + this.callback(this); + } + this._instanceID = -1; + this.FxName = ""; + this.m_TransformCache = null; + this.DelayDestroy = -1f; + bool flag2 = this.Token > 0u; + if (flag2) + { + XSingleton.singleton.KillTimer(this.Token); + } + this.Token = 0u; + this._animation = null; + this._animator = null; + this._particles.Clear(); + this._projectors.Clear(); + bool flag3 = this._meshs != null; + if (flag3) + { + this._meshs.Clear(); + ListPool.Release(this._meshs); + this._meshs = null; + } + this._weaponTail = null; + this._trail = null; + this._parent = null; + this._parentXgo = null; + this._startSize = 1f; + this._startProjectorSize = 1f; + this._pos = XResourceLoaderMgr.Far_Far_Away; + this._rot = Quaternion.identity; + this._scale = Vector3.one; + this._offset = Vector3.zero; + this._speed_ratio = 0f; + this._follow = false; + this._sticky = false; + this._transName = ""; + this._translate = 0f; + this._layer = -1; + this._renderQueue = -1; + this._enable = true; + this.m_LoadFinishCbFlag = 0; + this.m_LoadStatus = 0; + bool flag4 = this.loadTask != null; + if (flag4) + { + this.loadTask.CancelLoad(this.loadCb); + this.loadTask = null; + } + this.callback = null; + XResourceLoaderMgr.SafeDestroy(ref this.m_GameObject, true); + } + + private void LoadAsync(string location) + { + this.loadTask = XSingleton.singleton.CreateFromPrefabAsync(location, this.loadCb, null, true); + bool isLoaded = this.IsLoaded; + if (isLoaded) + { + this.loadTask = null; + } + } + + private void Load(string location) + { + GameObject obj = XSingleton.singleton.CreateFromAsset(location, ".prefab", true, false); + this.LoadFinish(obj, null); + } + + private bool PreProcessFx(GameObject go, int qualityLayer) + { + int num = 1 << go.layer; + bool flag = (num & qualityLayer) == 0; + bool result; + if (flag) + { + bool activeSelf = go.activeSelf; + if (activeSelf) + { + go.SetActive(false); + } + result = false; + } + else + { + result = true; + } + return result; + } + + private void LoadFinish(UnityEngine.Object obj, object cbOjb) + { + this.m_GameObject = (obj as GameObject); + this.m_LoadStatus = 1; + bool flag = this.m_GameObject != null; + if (flag) + { + this.m_TransformCache = this.m_GameObject.transform; + this._animation = this.m_TransformCache.GetComponentInChildren(); + this._animator = this.m_TransformCache.GetComponentInChildren(); + bool flag2 = this._animator != null; + if (flag2) + { + this._animator.enabled = true; + } + bool flag3 = this._animation != null; + if (flag3) + { + this._animation.enabled = true; + } + this._particles.Clear(); + this._projectors.Clear(); + List list = ListPool.Get(); + this.m_TransformCache.GetComponentsInChildren(true, list); + for (int i = 0; i < list.Count; i++) + { + Component component = list[i]; + bool flag4 = component is ParticleSystem; + if (flag4) + { + ParticleSystem particleSystem = component as ParticleSystem; + bool flag5 = XFxMgr.MaxParticelCount > 0; + if (flag5) + { + ParticleSystem.MainModule main = particleSystem.main; + bool flag6 = main.maxParticles > XFxMgr.MaxParticelCount; + if (flag6) + { + main.maxParticles = XFxMgr.MaxParticelCount; + } + } + bool flag7 = this.PreProcessFx(particleSystem.gameObject, XSingleton.singleton.CameraLayerMask); + if (flag7) + { + this._particles.Add(particleSystem); + } + } + else + { + bool flag8 = component is Projector; + if (flag8) + { + Projector projector = component as Projector; + bool flag9 = this.PreProcessFx(projector.gameObject, XSingleton.singleton.CameraLayerMask); + if (flag9) + { + this._projectors.Add(projector); + } + } + else + { + bool flag10 = component is IWeaponTail; + if (flag10) + { + this._weaponTail = (component as IWeaponTail); + } + else + { + bool flag11 = component is TrailRenderer; + if (flag11) + { + this._trail = (component as TrailRenderer); + } + } + } + } + } + ListPool.Release(list); + bool flag12 = this.loadFinish != null; + if (flag12) + { + this.loadFinish(this.m_GameObject, this); + } + for (int j = 0; j < XFx.loadCallbacks.Length; j++) + { + bool flag13 = this.IsCbFlag(j); + if (flag13) + { + FxLoadCallback fxLoadCallback = XFx.loadCallbacks[j]; + fxLoadCallback(this); + } + } + this.m_LoadFinishCbFlag = 0; + } + } + + private void SetCbFlag(XFx.ECallbackCmd cmd, bool add) + { + int num = XFastEnumIntEqualityComparer.ToInt(cmd); + if (add) + { + this.m_LoadFinishCbFlag |= num; + } + else + { + this.m_LoadFinishCbFlag &= ~num; + } + } + + private bool IsCbFlag(int index) + { + int num = 1 << index; + return (this.m_LoadFinishCbFlag & num) != 0; + } + + private static void _ParentLoad(XGameObject gameObject, object o, int commandID) + { + XFx xfx = o as XFx; + bool flag = xfx._instanceID == commandID; + if (flag) + { + xfx.RealPlay(); + } + } + + private static void SyncPlay(XFx fx) + { + bool flag = fx._parentXgo != null; + if (flag) + { + fx._parentXgo.CallCommand(XFx._parentLoadCb, fx, fx._instanceID, false); + } + else + { + fx.RealPlay(); + } + } + + private static void SyncLayer(XFx fx) + { + bool flag = fx._layer >= 0; + if (flag) + { + for (int i = 0; i < fx._particles.Count; i++) + { + ParticleSystem particleSystem = fx._particles[i]; + bool flag2 = particleSystem != null; + if (flag2) + { + particleSystem.gameObject.layer = fx._layer; + } + } + for (int j = 0; j < fx._projectors.Count; j++) + { + Projector projector = fx._projectors[j]; + projector.gameObject.layer = fx._layer; + } + bool flag3 = fx._meshs != null; + if (flag3) + { + for (int k = 0; k < fx._meshs.Count; k++) + { + MeshRenderer meshRenderer = fx._meshs[k]; + bool flag4 = meshRenderer != null; + if (flag4) + { + meshRenderer.gameObject.layer = fx._layer; + } + } + } + } + } + + private static void SyncRenderQueue(XFx fx) + { + bool flag = fx._renderQueue > 0; + if (flag) + { + for (int i = 0; i < fx._particles.Count; i++) + { + ParticleSystem particleSystem = fx._particles[i]; + Renderer component = particleSystem.GetComponent(); + bool flag2 = component != null && component.sharedMaterial != null; + if (flag2) + { + component.material.renderQueue = fx._renderQueue; + } + } + bool flag3 = fx._meshs != null; + if (flag3) + { + for (int j = 0; j < fx._meshs.Count; j++) + { + MeshRenderer meshRenderer = fx._meshs[j]; + bool flag4 = meshRenderer != null && meshRenderer.sharedMaterial != null; + if (flag4) + { + meshRenderer.material.renderQueue = fx._renderQueue; + } + } + } + } + } + + public static void SyncRefreshUIRenderQueue(XFx fx) + { + bool flag = fx.m_GameObject != null; + if (flag) + { + for (int i = 0; i < fx._particles.Count; i++) + { + IControlParticle controlParticle = fx._particles[i].gameObject.GetComponent("ControlParticle") as IControlParticle; + bool flag2 = controlParticle != null; + if (flag2) + { + controlParticle.RefreshRenderQueue(true); + } + } + } + } + + private static void SyncActive(XFx fx) + { + bool flag = fx.m_GameObject != null; + if (flag) + { + fx.m_GameObject.SetActive(fx._enable); + } + } + + private static void SyncParent(XFx fx) + { + bool flag = fx.m_TransformCache != null; + if (flag) + { + fx.m_TransformCache.parent = fx._parent; + fx.m_TransformCache.localPosition = fx._pos; + fx.m_TransformCache.localRotation = fx._rot; + fx.m_TransformCache.localScale = fx._scale; + } + } + + private void SetTransform() + { + bool flag = this.m_TransformCache != null; + if (flag) + { + bool flag2 = this._parent == null; + if (flag2) + { + this.m_TransformCache.position = this._pos; + this.m_TransformCache.rotation = this._rot; + this.m_TransformCache.localScale = this._scale; + } + else + { + bool follow = this._follow; + if (follow) + { + this.m_TransformCache.parent = this._parent; + this.m_TransformCache.localPosition = Vector3.zero; + this.m_TransformCache.localRotation = Quaternion.identity; + this.m_TransformCache.localScale = this._scale; + this.m_TransformCache.localPosition += this._parent.rotation * this._offset; + } + else + { + this.m_TransformCache.position = this._parent.position + this._parent.rotation * this._offset; + this.m_TransformCache.rotation = this._parent.rotation; + this.m_TransformCache.localScale = this._scale; + } + bool flag3 = Mathf.Abs(this._translate) > 0.001f; + if (flag3) + { + this.m_TransformCache.Translate(Vector3.up * this._translate); + this._translate = 0f; + } + } + } + } + + private void RealPlay() + { + bool flag = this._parent == null && this._parentXgo != null; + if (flag) + { + this._parent = this._parentXgo.Find(""); + bool flag2 = this._parent != null && !string.IsNullOrEmpty(this._transName); + if (flag2) + { + Transform transform = this._parent.Find(this._transName); + bool flag3 = transform == null; + if (flag3) + { + int num = this._transName.LastIndexOf("/"); + bool flag4 = num >= 0; + if (flag4) + { + string text = this._transName.Substring(num + 1); + transform = this._parent.Find(text); + bool flag5 = transform != null; + if (flag5) + { + this._parent = transform; + } + } + } + else + { + this._parent = transform; + } + } + } + this.SetTransform(); + bool enable = this._enable; + if (enable) + { + bool flag6 = this.m_GameObject != null && !this.m_GameObject.activeSelf; + if (flag6) + { + this.m_GameObject.SetActive(true); + } + bool flag7 = this._animation != null; + if (flag7) + { + this._animation.enabled = true; + this._animation.Play(); + this._animState = this._animation[this._animation.name]; + bool flag8 = this._animState != null; + if (flag8) + { + bool flag9 = this._speed_ratio > 0f; + if (flag9) + { + this._animState.speed = 1f / this._speed_ratio; + } + else + { + this._animState.speed = 0f; + } + } + } + bool flag10 = this._animator != null; + if (flag10) + { + this._animator.enabled = true; + bool flag11 = this._speed_ratio > 0f; + if (flag11) + { + this._animator.speed = 1f / this._speed_ratio; + } + else + { + this._animator.speed = 0f; + } + bool flag12 = this._animator.runtimeAnimatorController != null; + if (flag12) + { + this._animator.Play(this._animator.runtimeAnimatorController.name, 0, 0f); + } + } + bool flag13 = this._particles != null; + if (flag13) + { + this._startSize = this._scale.x; + for (int i = 0; i < this._particles.Count; i++) + { + ParticleSystem particleSystem = this._particles[i]; + ParticleSystem.MainModule main = particleSystem.main; + bool flag14 = this._speed_ratio > 0f; + if (flag14) + { + main.simulationSpeed = 1f / this._speed_ratio; + } + else + { + main.simulationSpeed = 0f; + } + bool flag15 = this._startSize > 0f; + if (flag15) + { + ParticleSystem.MinMaxCurve startSize = main.startSize; + ParticleSystem.MinMaxCurve startSizeZ = main.startSizeZ; + startSize.constantMin = this._startSize * startSizeZ.constantMin; + startSize.constantMax = this._startSize * startSizeZ.constantMax; + } + particleSystem.time = 0f; + particleSystem.Play(false); + } + } + bool flag16 = this._projectors != null; + if (flag16) + { + this._startProjectorSize = 1f; + float aspectRatio = 1f; + bool flag17 = this._scale.z > 0f; + if (flag17) + { + aspectRatio = this._scale.x / this._scale.z; + this._startProjectorSize = this._scale.z; + } + for (int j = 0; j < this._projectors.Count; j++) + { + Projector projector = this._projectors[j]; + projector.enabled = true; + projector.aspectRatio = aspectRatio; + projector.orthographicSize *= this._startProjectorSize; + } + } + bool flag18 = this._weaponTail != null; + if (flag18) + { + this._weaponTail.Activate(); + } + bool flag19 = this._trail != null; + if (flag19) + { + this._trail.enabled = true; + } + this.StickToGround(); + } + } + + private void ReqPlay() + { + bool isLoaded = this.IsLoaded; + if (isLoaded) + { + XFx.SyncPlay(this); + } + else + { + this.SetCbFlag(XFx.ECallbackCmd.ESyncPlay, true); + } + } + + public void Play(Vector3 position, Quaternion rotation, Vector3 scale, float speed_ratio = 1f) + { + this._parent = null; + this._parentXgo = null; + this._pos = position; + this._rot = rotation; + this._scale = scale; + this._offset = Vector3.zero; + this._speed_ratio = speed_ratio; + this._follow = false; + this._sticky = false; + this._transName = ""; + this._translate = 0f; + this.ReqPlay(); + } + + public void Play(Transform parent, Vector3 offset, Vector3 scale, float speed_ratio = 1f, bool follow = false, bool sticky = false) + { + this._parent = parent; + this._parentXgo = null; + this._pos = Vector3.zero; + this._rot = Quaternion.identity; + this._scale = scale; + this._offset = offset; + this._speed_ratio = speed_ratio; + this._follow = follow; + this._sticky = sticky; + this._transName = ""; + this._translate = 0f; + this.ReqPlay(); + } + + public void Play(XGameObject parent, Vector3 offset, Vector3 scale, float speed_ratio = 1f, bool follow = false, bool sticky = false, string transName = "", float translate = 0f) + { + this._parent = null; + this._parentXgo = parent; + this._pos = Vector3.zero; + this._rot = Quaternion.identity; + this._scale = scale; + this._offset = offset; + this._speed_ratio = speed_ratio; + this._follow = follow; + this._sticky = sticky; + this._transName = transName; + this._translate = translate; + this.ReqPlay(); + } + + public void Play() + { + this.ReqPlay(); + } + + public void SetParent(Transform parent) + { + this._parent = parent; + this._parentXgo = null; + this._pos = Vector3.zero; + this._rot = Quaternion.identity; + this._scale = Vector3.one; + this._offset = Vector3.zero; + this._speed_ratio = 1f; + this._follow = false; + this._sticky = false; + this._transName = ""; + this._translate = 0f; + } + + public void SetParent(Transform parent, Vector3 position, Quaternion rotation, Vector3 scale) + { + this._parent = parent; + this._pos = position; + this._rot = rotation; + this._scale = scale; + bool isLoaded = this.IsLoaded; + if (isLoaded) + { + XFx.SyncParent(this); + } + else + { + this.SetCbFlag(XFx.ECallbackCmd.ESyncParent, true); + } + } + + public void Stop() + { + bool flag = this.m_GameObject != null && this.m_GameObject.transform != null; + if (flag) + { + this.m_GameObject.transform.localScale = Vector3.one; + } + bool flag2 = this._animation != null; + if (flag2) + { + this._animation.Stop(); + this._animation.enabled = false; + } + bool flag3 = this._animator != null; + if (flag3) + { + this._animator.speed = 1f; + this._animator.enabled = false; + } + bool flag4 = this._particles != null; + if (flag4) + { + for (int i = 0; i < this._particles.Count; i++) + { + ParticleSystem particleSystem = this._particles[i]; + bool flag5 = particleSystem != null; + if (flag5) + { + particleSystem.Stop(false); + particleSystem.Clear(false); + } + } + } + bool flag6 = this._projectors != null; + if (flag6) + { + for (int j = 0; j < this._projectors.Count; j++) + { + Projector projector = this._projectors[j]; + bool flag7 = projector != null; + if (flag7) + { + projector.enabled = false; + bool flag8 = this._startProjectorSize > 0f; + if (flag8) + { + projector.orthographicSize /= this._startProjectorSize; + } + } + } + } + bool flag9 = this._weaponTail != null; + if (flag9) + { + this._weaponTail.Deactivate(); + } + bool flag10 = this._trail != null; + if (flag10) + { + this._trail.enabled = false; + } + this._startSize = 1f; + this._startProjectorSize = 1f; + } + + public void StickToGround() + { + bool flag = this.m_GameObject == null || this.m_GameObject.transform.parent == null || !this._sticky; + if (!flag) + { + Vector3 zero = Vector3.zero; + float num = 0f; + Vector3 position = this.m_GameObject.transform.parent.position; + float y = this.m_GameObject.transform.parent.localScale.y; + bool flag2 = XCurrentGrid.grid.TryGetHeight(position, out num); + if (flag2) + { + zero.y = (num - position.y) / y + 0.025f; + } + this.m_GameObject.transform.localPosition = zero; + } + } + + public void SetUIWidget(GameObject go) + { + bool flag = this.m_GameObject != null; + if (flag) + { + for (int i = 0; i < this._particles.Count; i++) + { + IControlParticle controlParticle = this._particles[i].gameObject.GetComponent("ControlParticle") as IControlParticle; + bool flag2 = controlParticle != null; + if (flag2) + { + controlParticle.SetWidget(go); + } + } + } + } + + public void SetActive(bool enable) + { + bool flag = this._enable != enable; + if (flag) + { + this._enable = enable; + bool isLoaded = this.IsLoaded; + if (isLoaded) + { + XFx.SyncActive(this); + } + else + { + this.SetCbFlag(XFx.ECallbackCmd.ESyncActive, true); + } + } + } + + public bool IsSameObj(int id) + { + return this._instanceID == id; + } + + public void SetShader(int type) + { + } + + public void ResetShader() + { + } + + public void SetColor(byte r, byte g, byte b, byte a) + { + } + + public void SetColor(Color32 c) + { + } + + public void Update() + { + } + + public void SetRenderLayer(int layer) + { + bool flag = this._layer != layer; + if (flag) + { + this._layer = layer; + bool isLoaded = this.IsLoaded; + if (isLoaded) + { + XFx.SyncLayer(this); + } + else + { + this.SetCbFlag(XFx.ECallbackCmd.ESyncLayer, true); + } + } + } + + public void Clean() + { + } + + public void SetRenderQueue(int renderQueue) + { + bool flag = this._renderQueue != renderQueue; + if (flag) + { + this._renderQueue = renderQueue; + bool isLoaded = this.IsLoaded; + if (isLoaded) + { + XFx.SyncRenderQueue(this); + } + else + { + this.SetCbFlag(XFx.ECallbackCmd.ESyncRenderQueue, true); + } + } + } + + public void RefreshUIRenderQueue() + { + bool isLoaded = this.IsLoaded; + if (isLoaded) + { + XFx.SyncRefreshUIRenderQueue(this); + } + else + { + this.SetCbFlag(XFx.ECallbackCmd.ESyncRefreshRenderQueue, true); + } + } + + public static void ProcessMesh(UnityEngine.Object obj, object cbOjb) + { + GameObject gameObject = obj as GameObject; + bool flag = gameObject != null; + if (flag) + { + XFx xfx = cbOjb as XFx; + List list = ListPool.Get(); + gameObject.GetComponentsInChildren(true, list); + for (int i = 0; i < list.Count; i++) + { + Component component = list[i]; + bool flag2 = component is MeshRenderer; + if (flag2) + { + bool flag3 = xfx._meshs == null; + if (flag3) + { + xfx._meshs = ListPool.Get(); + } + xfx._meshs.Add(component as MeshRenderer); + } + } + ListPool.Release(list); + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/XFx.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/XFx.cs.meta new file mode 100644 index 00000000..bad618ac --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XFx.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 8f37a87c64fbf2046a0a9c202879c300 +timeCreated: 1611465703 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/XFxData.cs b/Client/Assets/Scripts/XUtliPoolLib/XFxData.cs new file mode 100644 index 00000000..baf29aed --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XFxData.cs @@ -0,0 +1,91 @@ +using System; +using System.ComponentModel; +using UnityEngine; + +namespace XUtliPoolLib +{ + [Serializable] + public class XFxData : XBaseData + { + [SerializeField] + public SkillFxType Type = SkillFxType.FirerBased; + + [SerializeField] + [DefaultValue(0f)] + public float At; + + [SerializeField] + [DefaultValue(0f)] + public float End; + + [SerializeField] + public string Fx = null; + + [SerializeField] + public string Bone = null; + + [SerializeField] + [DefaultValue(1f)] + public float ScaleX; + + [SerializeField] + [DefaultValue(1f)] + public float ScaleY; + + [SerializeField] + [DefaultValue(1f)] + public float ScaleZ; + + [SerializeField] + [DefaultValue(0f)] + public float OffsetX; + + [SerializeField] + [DefaultValue(0f)] + public float OffsetY; + + [SerializeField] + [DefaultValue(0f)] + public float OffsetZ; + + [SerializeField] + [DefaultValue(0f)] + public float Target_OffsetX; + + [SerializeField] + [DefaultValue(0f)] + public float Target_OffsetY; + + [SerializeField] + [DefaultValue(0f)] + public float Target_OffsetZ; + + [SerializeField] + [DefaultValue(true)] + public bool Follow; + + [SerializeField] + [DefaultValue(false)] + public bool StickToGround; + + [SerializeField] + [DefaultValue(0f)] + public float Destroy_Delay; + + [SerializeField] + [DefaultValue(false)] + public bool Combined; + + [SerializeField] + [DefaultValue(false)] + public bool Shield; + + public XFxData() + { + this.Follow = true; + this.ScaleX = 1f; + this.ScaleY = 1f; + this.ScaleZ = 1f; + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/XFxData.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/XFxData.cs.meta new file mode 100644 index 00000000..cde62e82 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XFxData.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 7f69a5c3d3aecc64fa65076a3fda0c81 +timeCreated: 1611465693 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/XFxDataClip.cs b/Client/Assets/Scripts/XUtliPoolLib/XFxDataClip.cs new file mode 100644 index 00000000..d7a0b977 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XFxDataClip.cs @@ -0,0 +1,39 @@ +using System; +using UnityEngine; + +namespace XUtliPoolLib +{ + [Serializable] + public class XFxDataClip : XCutSceneClip + { + [SerializeField] + public string Fx = null; + + [SerializeField] + public int BindIdx = 0; + + [SerializeField] + public string Bone = null; + + [SerializeField] + public float Scale = 1f; + + [SerializeField] + public bool Follow = true; + + [SerializeField] + public float Destroy_Delay = 0f; + + [SerializeField] + public float AppearX = 0f; + + [SerializeField] + public float AppearY = 0f; + + [SerializeField] + public float AppearZ = 0f; + + [SerializeField] + public float Face = 0f; + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/XFxDataClip.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/XFxDataClip.cs.meta new file mode 100644 index 00000000..e092acc7 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XFxDataClip.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: b6bd3492e2e44ef47bc4a59fb193cd7d +timeCreated: 1611465746 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/XFxMgr.cs b/Client/Assets/Scripts/XUtliPoolLib/XFxMgr.cs new file mode 100644 index 00000000..b0da3691 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XFxMgr.cs @@ -0,0 +1,143 @@ +using System; +using System.Collections.Generic; +using UnityEngine; + +namespace XUtliPoolLib +{ + public class XFxMgr : XSingleton + { + private Dictionary _fxs = new Dictionary(); + + private XTimerMgr.ElapsedEventHandler _innerDestroyFxCb = null; + + public int CameraLayerMask = -1; + + public static bool EmptyFx = false; + + public static bool FilterFarFx = false; + + public static float FilterFxDis0 = 200f; + + public static float FilterFxDis1 = 300f; + + public static float FilterFxDis2 = 500f; + + public static float FilterFxDis4 = 1600f; + + public static int maxBehitFx = 3; + + public static int currentBeHitFx = 0; + + public static float minBehitFxTime = 0.1f; + + public static float lastBehitFxTime = 0f; + + public static int MaxParticelCount = -1; + + public XFxMgr() + { + this._innerDestroyFxCb = new XTimerMgr.ElapsedEventHandler(this.InnerDestroyFx); + } + + public XFx CreateFx(string prefab_location, LoadCallBack loadFinish = null, bool async = true) + { + XFx xfx = XFx.CreateXFx(prefab_location, loadFinish, async); + this._fxs.Add(xfx._instanceID, xfx); + return xfx; + } + + public XFx CreateAndPlay(string location, XGameObject parent, Vector3 offset, Vector3 scale, float speed_ratio = 1f, bool follow = false, float duration = -1f, bool async = true) + { + XFx xfx = this.CreateFx(location, null, async); + xfx.Play(parent, offset, scale, speed_ratio, follow, false, "", 0f); + xfx.DelayDestroy = duration; + XSingleton.singleton.DestroyFx(xfx, false); + return xfx; + } + + public XFx CreateAndPlay(string location, Transform parent, Vector3 offset, Vector3 scale, float speed_ratio = 1f, bool follow = false, float duration = -1f, bool async = true) + { + XFx xfx = this.CreateFx(location, null, async); + xfx.Play(parent, offset, scale, speed_ratio, follow, false); + xfx.DelayDestroy = duration; + XSingleton.singleton.DestroyFx(xfx, false); + return xfx; + } + + public XFx CreateUIFx(string location, Transform parent, bool processMesh = false) + { + return this.CreateUIFx(location, parent, Vector3.one, processMesh); + } + + public XFx CreateUIFx(string location, Transform parent, Vector3 scale, bool processMesh = false) + { + XFx xfx = this.CreateFx(location, processMesh ? XFx._ProcessMesh : null, true); + int renderLayer = LayerMask.NameToLayer("UI"); + xfx.SetRenderLayer(renderLayer); + xfx.Play(parent, Vector3.zero, scale, 1f, true, false); + xfx.RefreshUIRenderQueue(); + return xfx; + } + + public void DestroyFx(XFx fx, bool bImmediately = true) + { + XSingleton.singleton.KillTimer(fx.Token); + bool flag = bImmediately || fx.DelayDestroy <= 0f; + if (flag) + { + this.InnerDestroyFx(fx); + } + else + { + fx.Token = XSingleton.singleton.SetTimer(fx.DelayDestroy, this._innerDestroyFxCb, fx); + } + } + + public void OnLeaveScene() + { + this.Clear(); + } + + public void OnLeaveStage() + { + this.Clear(); + } + + public void PostUpdate() + { + foreach (KeyValuePair keyValuePair in this._fxs) + { + XFx value = keyValuePair.Value; + bool flag = value != null; + if (flag) + { + value.StickToGround(); + } + } + } + + private void InnerDestroyFx(object o) + { + XFx xfx = o as XFx; + bool flag = xfx == null; + if (flag) + { + XSingleton.singleton.AddErrorLog("Destroy Fx error: ", o.ToString(), null, null, null, null); + } + else + { + this._fxs.Remove(xfx._instanceID); + XFx.DestroyXFx(xfx, true); + } + } + + public void Clear() + { + foreach (KeyValuePair keyValuePair in this._fxs) + { + XFx.DestroyXFx(keyValuePair.Value, false); + } + this._fxs.Clear(); + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/XFxMgr.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/XFxMgr.cs.meta new file mode 100644 index 00000000..a50fc581 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XFxMgr.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: ee07edb0aafe5cb4eb7bc85e18f63ad1 +timeCreated: 1611465805 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/XGameObject.cs b/Client/Assets/Scripts/XUtliPoolLib/XGameObject.cs new file mode 100644 index 00000000..d5c37afa --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XGameObject.cs @@ -0,0 +1,1351 @@ +using System; +using System.Collections.Generic; +using UnityEngine; +using XUpdater; + +namespace XUtliPoolLib +{ + public class XGameObject : XEngineObject + { + public Vector3 Position + { + get + { + return this.m_Position; + } + set + { + this.m_Position = value; + this.AppendPositionCommand(); + } + } + + public Vector3 LocalEulerAngles + { + get + { + bool flag = this.Trans != null; + Vector3 result; + if (flag) + { + result = this.Trans.localEulerAngles; + } + else + { + result = Vector3.zero; + } + return result; + } + set + { + bool flag = this.Trans != null; + if (flag) + { + this.Trans.localEulerAngles = value; + } + } + } + + public Quaternion Rotation + { + get + { + return this.m_Rotation; + } + set + { + this.m_Rotation = value; + this.AppendRotationCommand(); + } + } + + public Vector3 LocalScale + { + get + { + return this.m_Scale; + } + set + { + this.m_Scale = value; + this.AppendScaleCommand(); + } + } + + public int Layer + { + get + { + return this.m_Layer; + } + set + { + this.m_Layer = value; + this.AppendLayerCommand(); + } + } + + public float CCStepOffset + { + get + { + return this.m_CCStepOffset; + } + set + { + this.m_CCStepOffset = value; + this.AppendCCStepOffsetCommand(); + } + } + + public bool EnableCC + { + get + { + return this.m_EnableCC; + } + set + { + this.m_EnableCC = value; + this.AppendEnableCCCommand(); + } + } + + public bool EnableBC + { + get + { + return this.m_EnableBC; + } + set + { + this.m_EnableBC = value; + this.AppendEnableBCommand(); + } + } + + public bool UpdateWhenOffscreen + { + set + { + this.m_UpdateWhenOffscreen = value; + this.AppendUpdateWhenOffscreen(); + } + } + + public Vector3 Forward + { + get + { + return this.m_Rotation * Vector3.forward; + } + set + { + this.m_Rotation = Quaternion.LookRotation(value); + this.AppendRotationCommand(); + } + } + + public Vector3 Up + { + get + { + return this.m_Rotation * Vector3.up; + } + set + { + this.m_Rotation = Quaternion.FromToRotation(Vector3.up, value); + this.AppendRotationCommand(); + } + } + + public Vector3 Right + { + get + { + return this.m_Rotation * Vector3.right; + } + set + { + this.m_Rotation = Quaternion.FromToRotation(Vector3.right, value); + this.AppendRotationCommand(); + } + } + + public string Tag + { + get + { + return this.m_Tag; + } + set + { + this.m_Tag = value; + this.AppendTagCommand(); + } + } + + private Transform Trans + { + get + { + bool isLoaded = this.IsLoaded; + if (isLoaded) + { + bool flag = this.m_GameObject != null && this.m_TransformCache == null; + if (flag) + { + this.m_TransformCache = this.m_GameObject.transform; + } + } + return this.m_TransformCache; + } + } + + public XAnimator Ator + { + get + { + return this.m_Ator; + } + } + + public ulong UID + { + get + { + return this.m_UID; + } + set + { + this.m_UID = value; + } + } + + public string Name + { + get + { + return this.m_Name; + } + set + { + this.m_Name = value; + bool flag = this.m_GameObject != null; + if (flag) + { + this.m_GameObject.name = this.m_Name; + } + } + } + + public bool IsValid + { + get + { + return this.m_Valid; + } + } + + public bool IsVisible + { + get + { + bool flag = this.m_SkinMeshRenderCache != null; + return flag && this.m_SkinMeshRenderCache.isVisible; + } + } + + public bool IsNotEmptyObject + { + get + { + return !string.IsNullOrEmpty(this.m_Location); + } + } + + public bool HasSkin + { + get + { + return this.m_SkinMeshRenderCache != null; + } + } + + public SkinnedMeshRenderer SMR + { + get + { + return this.m_SkinMeshRenderCache; + } + } + + public bool IsLoaded + { + get + { + return this.m_LoadStatus == 1; + } + } + + private bool m_Valid = false; + + private Vector3 m_Position = XResourceLoaderMgr.Far_Far_Away; + + private Quaternion m_Rotation = Quaternion.identity; + + private Vector3 m_Scale = Vector3.one; + + private bool m_EnableCC = false; + + private bool m_EnableBC = false; + + private float m_CCStepOffset = 0f; + + private bool m_UpdateWhenOffscreen = false; + + private bool m_EnableRender = true; + + private string m_TagFilter = ""; + + private string m_Tag = "Untagged"; + + private int m_Layer = 0; + + private ulong m_UID = 0UL; + + private string m_Name = ""; + + private Transform m_TransformCache = null; + + private SkinnedMeshRenderer m_SkinMeshRenderCache = null; + + private CharacterController m_ccCache = null; + + private BoxCollider m_bcCache = null; + + public int objID = -1; + + public static int globalObjID = 0; + + public static string EmptyObject = ""; + + private XAnimator m_Ator = null; + + private short m_UpdateFrame = 0; + + private LoadAsyncTask loadTask = null; + + private LoadCallBack loadCb = null; + + private XEngineCommand afterLoadCommand = null; + + private short m_LoadStatus = 0; + + private int m_LoadFinishCbFlag = 0; + + private static CommandCallback SyncSyncSetParentTransCmd = new CommandCallback(XGameObject.SyncSetParentTrans); + + private static CommandCallback SyncLocalPRSCmd = new CommandCallback(XGameObject.SyncLocalPRS); + + private static LoadCallback[] loadCallbacks = null; + + private static CommandCallback _setPhysicTransformCb = new CommandCallback(XGameObject._SetPhysicTransform); + + private static CommandCallback _setRenderLayerCb = new CommandCallback(XGameObject._SetRenderLayer); + + public static int delayFrameCount = 100; + + private enum ECallbackCmd + { + ESyncPosition = 1, + ESyncRotation, + ESyncScale = 4, + ESyncLayer = 8, + ESyncCCEnable = 16, + ESyncBCEnable = 32, + ESyncUpdateWhenOffscreen = 64, + ESyncActive = 128, + ESyncTag = 256, + ESyncCCStepOffset = 512 + } + + public XGameObject() + { + this.loadCb = new LoadCallBack(this.LoadFinish); + bool flag = XGameObject.loadCallbacks == null; + if (flag) + { + XGameObject.loadCallbacks = new LoadCallback[] + { + new LoadCallback(XGameObject.SyncPosition), + new LoadCallback(XGameObject.SyncRotation), + new LoadCallback(XGameObject.SyncScale), + new LoadCallback(XGameObject.SyncLayer), + new LoadCallback(XGameObject.SyncCCEnable), + new LoadCallback(XGameObject.SyncBCEnable), + new LoadCallback(XGameObject.SyncUpdateWhenOffscreen), + new LoadCallback(XGameObject.SyncActive), + new LoadCallback(XGameObject.SyncTag), + new LoadCallback(XGameObject.SyncCCOffset) + }; + } + } + + public void Reset() + { + this.m_Position = XResourceLoaderMgr.Far_Far_Away; + this.m_Rotation = Quaternion.identity; + this.m_Scale = Vector3.one; + this.m_EnableCC = false; + this.m_EnableBC = false; + this.m_Tag = "Untagged"; + this.m_Layer = 0; + this.m_UID = 0UL; + this.m_Name = ""; + this.m_TransformCache = null; + this.m_SkinMeshRenderCache = null; + this.objID = -1; + bool flag = this.afterLoadCommand != null; + if (flag) + { + XSingleton.singleton.ReturnCommand(this.afterLoadCommand); + this.afterLoadCommand = null; + } + bool flag2 = this.m_ccCache != null; + if (flag2) + { + this.m_ccCache.enabled = false; + this.m_ccCache = null; + } + bool flag3 = this.m_bcCache != null; + if (flag3) + { + this.m_bcCache.enabled = false; + this.m_bcCache = null; + } + this.m_LoadStatus = 0; + bool flag4 = this.loadTask != null; + if (flag4) + { + this.loadTask.CancelLoad(this.loadCb); + this.loadTask = null; + } + this.m_LoadFinishCbFlag = 0; + bool flag5 = this.m_Ator != null; + if (flag5) + { + this.m_Ator.Reset(); + CommonObjectPool.Release(this.m_Ator); + this.m_Ator = null; + } + this.m_UpdateFrame = 0; + bool flag6 = string.IsNullOrEmpty(this.m_Location); + if (flag6) + { + XSingleton.singleton.ReturnGameObject(this.m_GameObject); + this.m_GameObject = null; + } + else + { + bool flag7 = this.m_GameObject != null; + if (flag7) + { + this.m_GameObject.name = this.m_Location; + } + XResourceLoaderMgr.SafeDestroy(ref this.m_GameObject, true); + } + this.m_Location = ""; + this.m_Parent = null; + this.m_Valid = false; + } + + public void LoadAsync(string location, bool usePool) + { + this.loadTask = XSingleton.singleton.CreateFromPrefabAsync(location, this.loadCb, null, usePool); + bool isLoaded = this.IsLoaded; + if (isLoaded) + { + this.loadTask = null; + } + } + + public void Load(string location, bool usePool) + { + GameObject obj = XSingleton.singleton.CreateFromAsset(location, ".prefab", usePool, false); + this.LoadFinish(obj, null); + } + + private void LoadFinish(UnityEngine.Object obj, object cbOjb) + { + this.m_GameObject = (obj as GameObject); + this.m_LoadStatus = 1; + bool flag = this.m_GameObject != null; + if (flag) + { + this.m_ccCache = this.m_GameObject.GetComponent(); + this.m_bcCache = this.m_GameObject.GetComponent(); + this.m_SkinMeshRenderCache = this.m_GameObject.GetComponentInChildren(); + bool flag2 = !string.IsNullOrEmpty(this.m_Name); + if (flag2) + { + this.m_GameObject.name = this.m_Name; + } + bool flag3 = this.m_Ator != null; + if (flag3) + { + this.m_UpdateFrame = 0; + this.m_Ator.Init(this.m_GameObject); + } + bool flag4 = this.afterLoadCommand != null; + if (flag4) + { + bool flag5 = this.afterLoadCommand.IsValid(); + if (flag5) + { + this.afterLoadCommand.Execute(); + } + XSingleton.singleton.ReturnCommand(this.afterLoadCommand); + this.afterLoadCommand = null; + } + } + for (int i = 0; i < XGameObject.loadCallbacks.Length; i++) + { + bool flag6 = this.IsCbFlag(i); + if (flag6) + { + LoadCallback loadCallback = XGameObject.loadCallbacks[i]; + loadCallback(this); + } + } + this.m_LoadFinishCbFlag = 0; + bool flag7 = this.m_GameObject != null; + if (flag7) + { + bool flag8 = this.m_Layer != this.m_GameObject.layer; + if (flag8) + { + this.m_Layer = this.m_GameObject.layer; + } + } + } + + private void SetCbFlag(XGameObject.ECallbackCmd cmd, bool add) + { + int num = XFastEnumIntEqualityComparer.ToInt(cmd); + if (add) + { + this.m_LoadFinishCbFlag |= num; + } + else + { + this.m_LoadFinishCbFlag &= ~num; + } + } + + private bool IsCbFlag(int index) + { + int num = 1 << index; + return (this.m_LoadFinishCbFlag & num) != 0; + } + + public static int GetGlobalObjID() + { + XGameObject.globalObjID++; + bool flag = XGameObject.globalObjID > 1000000; + if (flag) + { + XGameObject.globalObjID = 0; + } + return XGameObject.globalObjID; + } + + public static XGameObject CreateXGameObject(string location, Vector3 position, Quaternion rotation, bool async = true, bool usePool = true) + { + XGameObject xgameObject = XGameObject.CreateXGameObject(location, async, usePool); + xgameObject.Position = position; + xgameObject.Rotation = rotation; + return xgameObject; + } + + public static XGameObject CreateXGameObject(string location, bool async = true, bool usePool = true) + { + XGameObject xgameObject = CommonObjectPool.Get(); + xgameObject.m_Valid = true; + xgameObject.objID = XGameObject.GetGlobalObjID(); + xgameObject.m_Location = location; + bool debug = XEngineCommand.debug; + if (debug) + { + XSingleton.singleton.AddWarningLog2("[EngineCommand] CreateXGameObject {0} ID {1}", new object[] + { + location, + xgameObject.objID + }); + } + bool flag = string.IsNullOrEmpty(location); + if (flag) + { + GameObject gameObject = XSingleton.singleton.GetGameObject(); + xgameObject.LoadFinish(gameObject, null); + } + else + { + bool flag2 = XSingleton.singleton.DelayLoad && async; + if (flag2) + { + xgameObject.LoadAsync(location, usePool); + } + else + { + xgameObject.Load(location, usePool); + } + } + return xgameObject; + } + + public static XGameObject CloneXGameObject(XGameObject xgo, bool async = true) + { + XGameObject xgameObject = CommonObjectPool.Get(); + xgameObject.m_Valid = true; + xgameObject.objID = XGameObject.GetGlobalObjID(); + xgameObject.m_Location = xgo.m_Location; + bool flag = string.IsNullOrEmpty(xgo.m_Location); + if (flag) + { + GameObject gameObject = XSingleton.singleton.GetGameObject(); + xgameObject.LoadFinish(gameObject, null); + } + else + { + bool flag2 = XSingleton.singleton.DelayLoad && async; + if (flag2) + { + xgameObject.LoadAsync(xgo.m_Location, true); + } + else + { + xgameObject.Load(xgo.m_Location, true); + } + } + return xgameObject; + } + + public static void DestroyXGameObject(XGameObject gameObject) + { + bool debug = XEngineCommand.debug; + if (debug) + { + XSingleton.singleton.AddWarningLog2("[EngineCommand] DestroyXGameObject {0} ID {1}", new object[] + { + gameObject.m_Location, + gameObject.objID + }); + } + gameObject.Reset(); + CommonObjectPool.Release(gameObject); + } + + private static void SyncPosition(XGameObject gameObject) + { + Transform trans = gameObject.Trans; + bool flag = trans != null; + if (flag) + { + trans.position = gameObject.m_Position; + } + } + + private static void SyncRotation(XGameObject gameObject) + { + Transform trans = gameObject.Trans; + bool flag = trans != null; + if (flag) + { + trans.rotation = gameObject.m_Rotation; + } + } + + private static void SyncScale(XGameObject gameObject) + { + Transform trans = gameObject.Trans; + bool flag = trans != null; + if (flag) + { + trans.localScale = gameObject.m_Scale; + } + } + + private static void SyncLayer(XGameObject gameObject) + { + bool flag = gameObject.m_GameObject != null; + if (flag) + { + gameObject.m_GameObject.layer = gameObject.m_Layer; + } + } + + private static void SyncCCOffset(XGameObject gameObject) + { + bool flag = gameObject.m_ccCache != null; + if (flag) + { + bool flag2 = gameObject.m_CCStepOffset >= gameObject.m_ccCache.height; + if (flag2) + { + gameObject.m_ccCache.height = gameObject.m_CCStepOffset + 0.1f; + } + gameObject.m_ccCache.stepOffset = gameObject.m_CCStepOffset; + } + } + + private static void SyncCCEnable(XGameObject gameObject) + { + bool flag = gameObject.m_ccCache != null; + if (flag) + { + gameObject.m_ccCache.enabled = gameObject.m_EnableCC; + } + } + + private static void SyncBCEnable(XGameObject gameObject) + { + bool flag = gameObject.m_bcCache != null; + if (flag) + { + gameObject.m_bcCache.enabled = gameObject.m_EnableBC; + } + } + + private static void SyncUpdateWhenOffscreen(XGameObject gameObject) + { + bool flag = gameObject.m_GameObject != null; + if (flag) + { + XCommon.tmpSkinRender.Clear(); + gameObject.m_GameObject.GetComponentsInChildren(XCommon.tmpSkinRender); + int count = XCommon.tmpSkinRender.Count; + for (int i = 0; i < count; i++) + { + XCommon.tmpSkinRender[i].updateWhenOffscreen = gameObject.m_UpdateWhenOffscreen; + } + XCommon.tmpSkinRender.Clear(); + } + } + + private static void SyncActive(XGameObject gameObject) + { + bool flag = gameObject.m_GameObject != null; + if (flag) + { + bool isLoaded = gameObject.IsLoaded; + if (isLoaded) + { + XCommon.tmpRender.Clear(); + gameObject.m_GameObject.GetComponentsInChildren(XCommon.tmpRender); + int count = XCommon.tmpRender.Count; + for (int i = 0; i < count; i++) + { + Renderer renderer = XCommon.tmpRender[i]; + bool flag2 = renderer.sharedMaterial != null && (gameObject.m_TagFilter == "" || renderer.tag.StartsWith(gameObject.m_TagFilter)); + if (flag2) + { + renderer.enabled = gameObject.m_EnableRender; + } + } + XCommon.tmpRender.Clear(); + } + } + } + + private static void SyncTag(XGameObject gameObject) + { + bool flag = gameObject.m_GameObject != null; + if (flag) + { + bool isLoaded = gameObject.IsLoaded; + if (isLoaded) + { + gameObject.m_GameObject.tag = gameObject.Tag; + } + } + } + + public void SyncSetParent(XGameObject parent) + { + bool flag = parent != null; + if (flag) + { + this.m_Parent = parent.m_GameObject; + } + else + { + this.m_Parent = null; + } + bool flag2 = this.Trans != null; + if (flag2) + { + this.Trans.parent = ((parent != null) ? parent.Trans : null); + } + } + + private static void SyncSetParentTrans(XGameObject gameObject, object obj, int commandID) + { + bool flag = gameObject.Trans != null; + if (flag) + { + gameObject.Trans.parent = (obj as Transform); + } + } + + private static void SyncLocalPRS(XGameObject gameObject, object obj, int commandID) + { + XLocalPRSAsyncData xlocalPRSAsyncData = obj as XLocalPRSAsyncData; + bool flag = gameObject.Trans != null && xlocalPRSAsyncData != null; + if (flag) + { + bool flag2 = (xlocalPRSAsyncData.mask & 1) > 0; + if (flag2) + { + gameObject.Trans.localPosition = xlocalPRSAsyncData.localPos; + gameObject.SyncPos(); + } + bool flag3 = (xlocalPRSAsyncData.mask & 2) > 0; + if (flag3) + { + gameObject.Trans.localRotation = xlocalPRSAsyncData.localRotation; + } + bool flag4 = (xlocalPRSAsyncData.mask & 3) > 0; + if (flag4) + { + gameObject.Trans.localScale = xlocalPRSAsyncData.localScale; + } + } + } + + public XAnimator InitAnim() + { + bool flag = this.m_Ator == null; + XAnimator ator; + if (flag) + { + this.m_Ator = CommonObjectPool.Get(); + this.m_Ator.xGameObject = this; + bool isLoaded = this.IsLoaded; + if (isLoaded) + { + this.m_UpdateFrame = 0; + this.m_Ator.Init(this.m_GameObject); + } + ator = this.m_Ator; + } + else + { + ator = this.m_Ator; + } + return ator; + } + + private void AppendPositionCommand() + { + bool isLoaded = this.IsLoaded; + if (isLoaded) + { + XGameObject.SyncPosition(this); + } + else + { + this.SetCbFlag(XGameObject.ECallbackCmd.ESyncPosition, true); + } + } + + private void AppendRotationCommand() + { + bool isLoaded = this.IsLoaded; + if (isLoaded) + { + XGameObject.SyncRotation(this); + } + else + { + this.SetCbFlag(XGameObject.ECallbackCmd.ESyncRotation, true); + } + } + + private void AppendScaleCommand() + { + bool isLoaded = this.IsLoaded; + if (isLoaded) + { + XGameObject.SyncScale(this); + } + else + { + this.SetCbFlag(XGameObject.ECallbackCmd.ESyncScale, true); + } + } + + private void AppendLayerCommand() + { + bool isLoaded = this.IsLoaded; + if (isLoaded) + { + XGameObject.SyncLayer(this); + } + else + { + this.SetCbFlag(XGameObject.ECallbackCmd.ESyncLayer, true); + } + } + + private void AppendCCStepOffsetCommand() + { + bool isLoaded = this.IsLoaded; + if (isLoaded) + { + XGameObject.SyncCCOffset(this); + } + else + { + this.SetCbFlag(XGameObject.ECallbackCmd.ESyncCCStepOffset, true); + } + } + + private void AppendEnableCCCommand() + { + bool isLoaded = this.IsLoaded; + if (isLoaded) + { + XGameObject.SyncCCEnable(this); + } + else + { + this.SetCbFlag(XGameObject.ECallbackCmd.ESyncCCEnable, true); + } + } + + private void AppendEnableBCommand() + { + bool isLoaded = this.IsLoaded; + if (isLoaded) + { + XGameObject.SyncBCEnable(this); + } + else + { + this.SetCbFlag(XGameObject.ECallbackCmd.ESyncBCEnable, true); + } + } + + private void AppendUpdateWhenOffscreen() + { + bool isLoaded = this.IsLoaded; + if (isLoaded) + { + XGameObject.SyncUpdateWhenOffscreen(this); + } + else + { + this.SetCbFlag(XGameObject.ECallbackCmd.ESyncUpdateWhenOffscreen, true); + } + } + + private void AppendTagCommand() + { + bool isLoaded = this.IsLoaded; + if (isLoaded) + { + XGameObject.SyncTag(this); + } + else + { + this.SetCbFlag(XGameObject.ECallbackCmd.ESyncTag, true); + } + } + + public bool TestVisibleWithFrustum(Plane[] planes, bool fully) + { + bool flag = this.m_SkinMeshRenderCache == null; + bool result; + if (flag) + { + result = false; + } + else + { + Bounds bounds = this.m_SkinMeshRenderCache.bounds; + if (fully) + { + for (int i = 0; i < planes.Length; i++) + { + bool flag2 = planes[i].GetDistanceToPoint(bounds.min) < 0f || planes[i].GetDistanceToPoint(bounds.max) < 0f; + if (flag2) + { + return false; + } + } + result = true; + } + else + { + result = GeometryUtility.TestPlanesAABB(planes, bounds); + } + } + return result; + } + + public void CallCommand(CommandCallback cb, object obj, int commandID = -1, bool executeAfterLoad = false) + { + bool flag = cb != null; + if (flag) + { + bool isLoaded = this.IsLoaded; + if (isLoaded) + { + cb(this, obj, commandID); + } + else + { + XEngineCommand xengineCommand = XSingleton.singleton.CreateCommand(XCallCommand.handler, this, commandID); + XObjAsyncData objAsyncData = XSingleton.singleton.GetObjAsyncData(); + objAsyncData.commandCb = cb; + objAsyncData.data = obj; + xengineCommand.data = objAsyncData; + xengineCommand.debugHandler = XCallCommand.debugHandler; + if (executeAfterLoad) + { + bool flag2 = this.afterLoadCommand != null; + if (flag2) + { + XSingleton.singleton.ReturnCommand(this.afterLoadCommand); + this.afterLoadCommand = null; + } + this.afterLoadCommand = xengineCommand; + } + else + { + XSingleton.singleton.AppendCommand(xengineCommand); + } + } + } + } + + public void SetParent(XGameObject parent) + { + bool flag = this.IsLoaded && (parent == null || parent.IsLoaded); + if (flag) + { + this.SyncSetParent(parent); + } + else + { + XEngineCommand xengineCommand = XSingleton.singleton.CreateCommand(XSetParentCommand.handler, this, -1); + XObjAsyncData objAsyncData = XSingleton.singleton.GetObjAsyncData(); + objAsyncData.data = parent; + xengineCommand.data = objAsyncData; + xengineCommand.canExecute = XSetParentCommand.canExecute; + xengineCommand.debugHandler = XSetParentCommand.debugHandler; + XSingleton.singleton.AppendCommand(xengineCommand); + } + } + + public void SetParentTrans(Transform parent) + { + bool isLoaded = this.IsLoaded; + if (isLoaded) + { + XGameObject.SyncSetParentTrans(this, parent, -1); + } + else + { + XEngineCommand xengineCommand = XSingleton.singleton.CreateCommand(XCallCommand.handler, this, -1); + XObjAsyncData objAsyncData = XSingleton.singleton.GetObjAsyncData(); + objAsyncData.commandCb = XGameObject.SyncSyncSetParentTransCmd; + objAsyncData.data = parent; + xengineCommand.data = objAsyncData; + xengineCommand.debugHandler = XCallCommand.debugHandler; + XSingleton.singleton.AppendCommand(xengineCommand); + } + } + + public Transform Find(string name) + { + bool flag = this.Trans != null && !string.IsNullOrEmpty(name); + Transform result; + if (flag) + { + result = this.Trans.Find(name); + } + else + { + result = this.Trans; + } + return result; + } + + public GameObject Get() + { + return this.m_GameObject; + } + + public void Rotate(Vector3 axis, float degree) + { + bool flag = this.Trans != null; + if (flag) + { + this.Trans.Rotate(axis, degree); + } + } + + public void SetActive(bool enable, string tagFilter = "") + { + this.m_EnableRender = enable; + this.m_TagFilter = tagFilter; + bool isLoaded = this.IsLoaded; + if (isLoaded) + { + this.SetCbFlag(XGameObject.ECallbackCmd.ESyncActive, false); + XGameObject.SyncActive(this); + } + else + { + this.SetCbFlag(XGameObject.ECallbackCmd.ESyncActive, true); + } + } + + public void SetLocalPRS(Vector3 pos, bool setPos, Quaternion rot, bool setRot, Vector3 scale, bool setScale) + { + bool isLoaded = this.IsLoaded; + if (isLoaded) + { + bool flag = this.Trans != null; + if (flag) + { + if (setPos) + { + this.Trans.localPosition = pos; + this.SyncPos(); + } + if (setRot) + { + this.Trans.localRotation = rot; + } + if (setScale) + { + this.Trans.localScale = scale; + } + } + } + else + { + XEngineCommand xengineCommand = XSingleton.singleton.CreateCommand(XCallCommand.handler, this, -1); + XObjAsyncData objAsyncData = XSingleton.singleton.GetObjAsyncData(); + objAsyncData.commandCb = XGameObject.SyncLocalPRSCmd; + XLocalPRSAsyncData xlocalPRSAsyncData = CommonObjectPool.Get(); + xlocalPRSAsyncData.localPos = pos; + if (setPos) + { + XLocalPRSAsyncData xlocalPRSAsyncData2 = xlocalPRSAsyncData; + xlocalPRSAsyncData2.mask += 1; + } + xlocalPRSAsyncData.localRotation = rot; + if (setRot) + { + XLocalPRSAsyncData xlocalPRSAsyncData3 = xlocalPRSAsyncData; + xlocalPRSAsyncData3.mask += 2; + } + xlocalPRSAsyncData.localScale = scale; + if (setScale) + { + XLocalPRSAsyncData xlocalPRSAsyncData4 = xlocalPRSAsyncData; + xlocalPRSAsyncData4.mask += 4; + } + objAsyncData.data = xlocalPRSAsyncData; + objAsyncData.resetCb = new ResetCallback(xlocalPRSAsyncData.Reset); + xengineCommand.data = objAsyncData; + xengineCommand.debugHandler = XCallCommand.debugHandler; + XSingleton.singleton.AppendCommand(xengineCommand); + } + } + + public CollisionFlags Move(Vector3 motion) + { + bool flag = this.m_EnableCC && this.m_ccCache != null; + CollisionFlags result; + if (flag) + { + //c 移动characterController + CollisionFlags collisionFlags = this.m_ccCache.Move(motion); + this.SyncPos(); + result = collisionFlags; + } + else + { + result = 0; + } + return result; + } + + public void SyncPos() + { + bool flag = this.Trans != null; + if (flag) + { + this.m_Position = this.Trans.position; + } + } + + public void GetRender(List render) + { + bool flag = this.m_GameObject != null; + if (flag) + { + this.m_GameObject.GetComponentsInChildren(render); + } + } + + public void SyncPhysicBox(Vector3 center, Vector3 size) + { + bool flag = this.m_EnableBC && this.m_bcCache != null; + if (flag) + { + this.m_bcCache.center = center; + this.m_bcCache.size = size; + } + } + + private static void _SetPhysicTransform(XGameObject gameObject, object obj, int commandID) + { + XGameObject xgameObject = obj as XGameObject; + bool flag = xgameObject.m_EnableCC && xgameObject.m_ccCache == null; + if (flag) + { + xgameObject.m_ccCache = gameObject.m_ccCache; + bool flag2 = xgameObject.m_ccCache != null; + if (flag2) + { + xgameObject.m_ccCache.enabled = true; + } + bool flag3 = xgameObject.m_bcCache != null; + if (flag3) + { + xgameObject.m_bcCache.enabled = false; + } + } + else + { + bool flag4 = xgameObject.m_EnableBC && xgameObject.m_bcCache == null; + if (flag4) + { + xgameObject.m_bcCache = gameObject.m_bcCache; + bool flag5 = xgameObject.m_bcCache != null; + if (flag5) + { + xgameObject.m_bcCache.enabled = true; + } + bool flag6 = xgameObject.m_ccCache != null; + if (flag6) + { + xgameObject.m_ccCache.enabled = false; + } + } + } + xgameObject.m_TransformCache = gameObject.Trans; + } + + public void TransformPhysic(XGameObject src) + { + src.CallCommand(XGameObject._setPhysicTransformCb, this, -1, false); + } + + public void ClearTransformPhysic() + { + this.m_ccCache = null; + this.m_bcCache = null; + this.m_TransformCache = ((this.m_GameObject == null) ? null : this.m_GameObject.transform); + } + + private static void _SetRenderLayer(XGameObject gameObject, object obj, int commandID) + { + bool flag = gameObject != null && gameObject.m_GameObject != null; + if (flag) + { + XCommon.tmpRender.Clear(); + gameObject.m_GameObject.GetComponentsInChildren(XCommon.tmpRender); + int count = XCommon.tmpRender.Count; + for (int i = 0; i < count; i++) + { + Renderer renderer = XCommon.tmpRender[i]; + renderer.gameObject.layer = gameObject.Layer; + } + XCommon.tmpRender.Clear(); + } + } + + public void SetRenderLayer(int layer) + { + this.m_Layer = layer; + this.CallCommand(XGameObject._setRenderLayerCb, this, -1, false); + } + + public T AddComponent() where T : Component + { + bool flag = this.m_GameObject != null; + T result; + if (flag) + { + T t = this.m_GameObject.GetComponent(); + bool flag2 = t == null; + if (flag2) + { + t = this.m_GameObject.AddComponent(); + } + result = t; + } + else + { + result = default(T); + } + return result; + } + + public Component AddComponent(EComponentType componentType) + { + bool flag = this.m_GameObject != null; + Component result; + if (flag) + { + Component component = XSingleton.singleton.XPlatform.AddComponent(this.m_GameObject, componentType); + result = component; + } + else + { + result = null; + } + return result; + } + + public void Update() + { + this.SyncPos(); + bool flag = this.m_Ator != null && this.m_Ator.IsLoaded; + if (flag) + { + bool flag2 = (int)this.m_UpdateFrame < XGameObject.delayFrameCount; + if (flag2) + { + this.m_UpdateFrame += 1; + } + else + { + bool flag3 = (int)this.m_UpdateFrame == XGameObject.delayFrameCount; + if (flag3) + { + this.m_UpdateFrame += 1; + XAnimator.Update(this.m_Ator); + } + } + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/XGameObject.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/XGameObject.cs.meta new file mode 100644 index 00000000..7e36c38b --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XGameObject.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 1a919b0bd058f7241a27a22a3687879d +timeCreated: 1611465296 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/XGameSirKeyCode.cs b/Client/Assets/Scripts/XUtliPoolLib/XGameSirKeyCode.cs new file mode 100644 index 00000000..ea863233 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XGameSirKeyCode.cs @@ -0,0 +1,115 @@ +using System; +using System.Collections.Generic; + +namespace XUtliPoolLib +{ + public class XGameSirKeyCode + { + public static List[] SkillMap + { + get + { + bool flag = XGameSirKeyCode._skillMap == null; + if (flag) + { + XGameSirKeyCode._skillMap = new List[XGameSirKeyCode.SKILL_SIZE]; + XGameSirKeyCode._skillMap[0] = new List + { + XGameSirKeyCode.BTN_L2 + }; + XGameSirKeyCode._skillMap[1] = new List + { + XGameSirKeyCode.BTN_L1 + }; + XGameSirKeyCode._skillMap[2] = new List + { + XGameSirKeyCode.BTN_A + }; + XGameSirKeyCode._skillMap[3] = new List + { + XGameSirKeyCode.BTN_B + }; + XGameSirKeyCode._skillMap[4] = new List + { + XGameSirKeyCode.BTN_X + }; + XGameSirKeyCode._skillMap[5] = new List + { + XGameSirKeyCode.BTN_Y + }; + XGameSirKeyCode._skillMap[6] = new List + { + XGameSirKeyCode.BTN_L2, + XGameSirKeyCode.BTN_A + }; + XGameSirKeyCode._skillMap[7] = new List + { + XGameSirKeyCode.BTN_L2, + XGameSirKeyCode.BTN_B + }; + XGameSirKeyCode._skillMap[8] = new List + { + XGameSirKeyCode.DPAD_LEFT + }; + XGameSirKeyCode._skillMap[9] = new List + { + XGameSirKeyCode.DPAD_RIGHT + }; + } + return XGameSirKeyCode._skillMap; + } + } + + public static string BTN_A = "A"; + + public static string BTN_B = "B"; + + public static string BTN_X = "X"; + + public static string BTN_Y = "Y"; + + public static string BTN_L1 = "L1"; + + public static string BTN_L2 = "L2"; + + public static string BTN_R1 = "R1"; + + public static string BTN_R2 = "R2"; + + public static string AXIS_RTRIGGER = "TRIGGERL"; + + public static string AXIS_LTRIGGER = "TRIGGERR"; + + public static string DPAD_UP = "DPAD_UP"; + + public static string DPAD_DOWN = "DPAD_DOWN"; + + public static string DPAD_LEFT = "DPAD_LEFT"; + + public static string DPAD_RIGHT = "DPAD_RIGHT"; + + public static string AXIS_HAT_X = "HAT_X"; + + public static string AXIS_HAT_Y = "HAT_Y"; + + public static string AXIS_X = "L3D_X"; + + public static string AXIS_Y = "L3D_Y"; + + public static string BTN_THUMBL = "THUMB_L"; + + public static string AXIS_Z = "R3D_Z"; + + public static string AXIS_RZ = "R3D_RZ"; + + public static string BTN_THUMBR = "THUMB_R"; + + public static string BTN_SELECT = "SELECT"; + + public static string BTN_START = "START"; + + public static int SKILL_SIZE = 10; + + private static List[] _skillMap; + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/XGameSirKeyCode.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/XGameSirKeyCode.cs.meta new file mode 100644 index 00000000..8dd2b7b0 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XGameSirKeyCode.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 0841f26a9d937c849811042219eba09e +timeCreated: 1611465287 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/XGrid.cs b/Client/Assets/Scripts/XUtliPoolLib/XGrid.cs new file mode 100644 index 00000000..651e6d3c --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XGrid.cs @@ -0,0 +1,167 @@ +using System; +using System.IO; +using UnityEngine; + +namespace XUtliPoolLib +{ + public sealed class XGrid + { + public int Width; + + public int Height; + + public float XMin; + + public float ZMin; + + public float XMax; + + public float ZMax; + + public float Side; + + public int[] IdxData = null; + + public float[] ValueData = null; + + public bool LoadFile(string FileName) + { + XBinaryReader xbinaryReader = XSingleton.singleton.ReadBinary(FileName, ".bytes", false, true); + try + { + this.Height = xbinaryReader.ReadInt32(); + this.Width = xbinaryReader.ReadInt32(); + this.XMin = xbinaryReader.ReadSingle(); + this.ZMin = xbinaryReader.ReadSingle(); + this.XMax = xbinaryReader.ReadSingle(); + this.ZMax = xbinaryReader.ReadSingle(); + this.Side = xbinaryReader.ReadSingle(); + int num = xbinaryReader.ReadInt32(); + this.IdxData = new int[num]; + for (int i = 0; i < num; i++) + { + this.IdxData[i] = xbinaryReader.ReadInt32(); + } + this.ValueData = new float[num]; + for (int j = 0; j < num; j++) + { + short num2 = xbinaryReader.ReadInt16(); + bool flag = num2 < 0; + if (flag) + { + this.ValueData[j] = -100f; + bool flag2 = j + 1 < num; + if (flag2) + { + bool flag3 = num2 == short.MinValue; + if (flag3) + { + num2 = 0; + } + else + { + num2 = (short) -num2; + } + this.ValueData[j + 1] = (float)num2; + j++; + } + } + else + { + this.ValueData[j] = (float)num2; + } + } + } + catch (EndOfStreamException ex) + { + XSingleton.singleton.AddErrorLog("read file ", FileName, " not complete :", ex.Message, null, null); + return false; + } + finally + { + XSingleton.singleton.ClearBinary(xbinaryReader, false); + } + return true; + } + + public bool TryGetHeight(Vector3 pos, out float y) + { + y = 0f; + int num = (int)((pos.z - this.ZMin) / this.Side); + int num2 = (int)((pos.x - this.XMin) / this.Side); + int key = num * this.Width + num2; + int index = this.GetIndex(key); + bool flag = index >= 0 && index < this.ValueData.Length; + bool result; + if (flag) + { + y = this.ValueData[index] / 100f; + result = true; + } + else + { + result = false; + } + return result; + } + + public float GetHeight(Vector3 pos) + { + int num = (int)((pos.z - this.ZMin) / this.Side); + int num2 = (int)((pos.x - this.XMin) / this.Side); + int key = num * this.Width + num2; + int index = this.GetIndex(key); + bool flag = index < 0 || index >= this.ValueData.Length; + float result; + if (flag) + { + XSingleton.singleton.AddErrorLog2("error grid index:{0} pos:{1}", new object[] + { + index, + pos + }); + result = -1f; + } + else + { + result = this.ValueData[index] / 100f; + } + return result; + } + + private int GetIndex(int key) + { + int num = this.IdxData.Length; + int i = 0; + int num2 = num - 1; + while (i <= num2) + { + int num3 = i + num2 >> 1; + int num4 = this.IdxData[num3]; + bool flag = key == num4; + if (flag) + { + return num3; + } + bool flag2 = key < num4; + if (flag2) + { + num2 = num3 - 1; + } + else + { + bool flag3 = key > num4; + if (flag3) + { + i = num3 + 1; + } + } + } + return num2; + } + + public void Update() + { + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/XGrid.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/XGrid.cs.meta new file mode 100644 index 00000000..917a173d --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XGrid.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 8c1f038617e6db3469d3d5ac6122a01b +timeCreated: 1611465700 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/XHeap.cs b/Client/Assets/Scripts/XUtliPoolLib/XHeap.cs new file mode 100644 index 00000000..16c29954 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XHeap.cs @@ -0,0 +1,239 @@ +using System; +using System.Collections.Generic; + +namespace XUtliPoolLib +{ + internal class XHeap where T : IComparable, IHere + { + public int HeapSize + { + get + { + return this._heapSize; + } + } + + private List _heap = null; + + private int _heapSize = 0; + + public XHeap() + { + this._heap = new List(); + this._heapSize = 0; + } + + public void PushHeap(T item) + { + int count = this._heap.Count; + bool flag = this._heapSize < count; + if (flag) + { + this._heap[this._heapSize] = item; + } + else + { + this._heap.Add(item); + } + item.Here = this._heapSize; + XHeap.HeapifyUp(this._heap, this._heapSize); + this._heapSize++; + } + + public T PopHeap() + { + T result = default(T); + bool flag = this._heapSize > 0; + if (flag) + { + this._heapSize--; + XHeap.Swap(this._heap, 0, this._heapSize); + XHeap.HeapifyDown(this._heap, 0, this._heapSize); + result = this._heap[this._heapSize]; + result.Here = -1; + this._heap[this._heapSize] = default(T); + } + return result; + } + + public void PopHeapAt(int Idx) + { + bool flag = this._heapSize > 0 && Idx >= 0 && Idx < this._heapSize; + if (flag) + { + this._heapSize--; + XHeap.Swap(this._heap, Idx, this._heapSize); + T t = this._heap[this._heapSize]; + bool flag2 = t.CompareTo(this._heap[Idx]) < 0; + if (flag2) + { + XHeap.HeapifyDown(this._heap, Idx, this._heapSize); + } + else + { + t = this._heap[this._heapSize]; + bool flag3 = t.CompareTo(this._heap[Idx]) > 0; + if (flag3) + { + XHeap.HeapifyUp(this._heap, Idx); + } + } + t = this._heap[this._heapSize]; + t.Here = -1; + this._heap[this._heapSize] = default(T); + } + } + + public void Adjust(T item, bool downwords) + { + bool flag = this._heapSize > 1; + if (flag) + { + if (downwords) + { + XHeap.HeapifyDown(this._heap, item.Here, this._heapSize); + } + else + { + XHeap.HeapifyUp(this._heap, item.Here); + } + } + } + + public static void MakeHeap(List list) + { + for (int i = list.Count / 2 - 1; i >= 0; i--) + { + XHeap.HeapifyDown(list, i, list.Count); + } + } + + public static void HeapSort(List list) + { + bool flag = list.Count < 2; + if (!flag) + { + XHeap.MakeHeap(list); + for (int i = list.Count - 1; i > 0; i--) + { + XHeap.Swap(list, 0, i); + XHeap.HeapifyDown(list, 0, i); + } + } + } + + public T Peek() + { + bool flag = this._heapSize > 0; + T result; + if (flag) + { + result = this._heap[0]; + } + else + { + result = default(T); + } + return result; + } + + public void Clear() + { + this._heap.Clear(); + this._heapSize = 0; + } + + private static void HeapifyDown(List heap, int curIdx, int heapSize) + { + while (curIdx < heapSize) + { + int num = 2 * curIdx + 1; + int num2 = 2 * curIdx + 2; + T other = heap[curIdx]; + int num3 = curIdx; + bool flag; + if (num < heapSize) + { + T t = heap[num]; + flag = (t.CompareTo(other) < 0); + } + else + { + flag = false; + } + bool flag2 = flag; + if (flag2) + { + other = heap[num]; + num3 = num; + } + bool flag3; + if (num2 < heapSize) + { + T t = heap[num2]; + flag3 = (t.CompareTo(other) < 0); + } + else + { + flag3 = false; + } + bool flag4 = flag3; + if (flag4) + { + other = heap[num2]; + num3 = num2; + } + bool flag5 = num3 != curIdx; + if (!flag5) + { + break; + } + XHeap.Swap(heap, curIdx, num3); + curIdx = num3; + } + } + + private static void HeapifyUp(List heap, int curIdx) + { + while (curIdx > 0) + { + int num = (curIdx - 1) / 2; + T other = heap[num]; + int num2 = num; + bool flag; + if (num >= 0) + { + T t = heap[curIdx]; + flag = (t.CompareTo(other) < 0); + } + else + { + flag = false; + } + bool flag2 = flag; + if (flag2) + { + num2 = curIdx; + } + bool flag3 = num2 != num; + if (!flag3) + { + break; + } + XHeap.Swap(heap, num, num2); + curIdx = num; + } + } + + private static void Swap(List heap, int x, int y) + { + T value = heap[x]; + heap[x] = heap[y]; + T t = heap[x]; + t.Here = x; + heap[y] = value; + t = heap[y]; + t.Here = y; + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/XHeap.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/XHeap.cs.meta new file mode 100644 index 00000000..1dfdc841 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XHeap.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 8c453ee392a85a84592dd2e028808557 +timeCreated: 1611465700 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/XHitData.cs b/Client/Assets/Scripts/XUtliPoolLib/XHitData.cs new file mode 100644 index 00000000..5d50b8b2 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XHitData.cs @@ -0,0 +1,85 @@ +using System; +using System.ComponentModel; +using UnityEngine; + +namespace XUtliPoolLib +{ + [Serializable] + public class XHitData : XBaseData + { + [SerializeField] + [DefaultValue(0f)] + public float Time_Present_Straight; + + [SerializeField] + [DefaultValue(0f)] + public float Time_Hard_Straight; + + [SerializeField] + [DefaultValue(0f)] + public float Offset; + + [SerializeField] + [DefaultValue(0f)] + public float Height; + + [SerializeField] + public XBeHitState State = XBeHitState.Hit_Back; + + [SerializeField] + public XBeHitState_Animation State_Animation = XBeHitState_Animation.Hit_Back_Front; + + [SerializeField] + [DefaultValue(0f)] + public float Random_Range; + + [SerializeField] + public string Fx = null; + + [SerializeField] + [DefaultValue(true)] + public bool Fx_Follow; + + [SerializeField] + [DefaultValue(false)] + public bool Fx_StickToGround; + + [SerializeField] + [DefaultValue(false)] + public bool CurveUsing; + + [SerializeField] + [DefaultValue(false)] + public bool FreezePresent; + + [SerializeField] + [DefaultValue(0f)] + public float FreezeDuration; + + [SerializeField] + [DefaultValue(true)] + public bool Additional_Using_Default; + + [SerializeField] + [DefaultValue(0f)] + public float Additional_Hit_Time_Present_Straight; + + [SerializeField] + [DefaultValue(0f)] + public float Additional_Hit_Time_Hard_Straight; + + [SerializeField] + [DefaultValue(0f)] + public float Additional_Hit_Offset; + + [SerializeField] + [DefaultValue(0f)] + public float Additional_Hit_Height; + + public XHitData() + { + this.Fx_Follow = true; + this.Additional_Using_Default = true; + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/XHitData.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/XHitData.cs.meta new file mode 100644 index 00000000..596d6e3f --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XHitData.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: c8cc60829621ba2429dbeb165d17b697 +timeCreated: 1611465757 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/XInterfaceMgr.cs b/Client/Assets/Scripts/XUtliPoolLib/XInterfaceMgr.cs new file mode 100644 index 00000000..38bfaece --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XInterfaceMgr.cs @@ -0,0 +1,54 @@ +using System; +using System.Collections.Generic; + +namespace XUtliPoolLib +{ + public class XInterfaceMgr : XSingleton + { + private Dictionary _interfaces = new Dictionary(); + + public T GetInterface(uint key) where T : IXInterface + { + IXInterface ixinterface = null; + this._interfaces.TryGetValue(key, out ixinterface); + return (T)((object)ixinterface); + } + + public T AttachInterface(uint key, T value) where T : IXInterface + { + bool flag = this._interfaces.ContainsKey(key); + if (flag) + { + this._interfaces[key].Deprecated = true; + XSingleton.singleton.AddLog("Duplication key for interface ", this._interfaces[key].ToString(), " and ", value.ToString(), null, null, XDebugColor.XDebug_None); + this._interfaces[key] = value; + } + else + { + this._interfaces.Add(key, value); + } + this._interfaces[key].Deprecated = false; + return value; + } + + public void DetachInterface(uint key) + { + bool flag = this._interfaces.ContainsKey(key); + if (flag) + { + this._interfaces[key].Deprecated = true; + this._interfaces.Remove(key); + } + } + + public override bool Init() + { + return true; + } + + public override void Uninit() + { + this._interfaces.Clear(); + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/XInterfaceMgr.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/XInterfaceMgr.cs.meta new file mode 100644 index 00000000..aae9aba1 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XInterfaceMgr.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 48032cf84b440544eaee17ec53ab079c +timeCreated: 1611465638 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/XInterpolate.cs b/Client/Assets/Scripts/XUtliPoolLib/XInterpolate.cs new file mode 100644 index 00000000..aedb912c --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XInterpolate.cs @@ -0,0 +1,520 @@ +using System; +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +namespace XUtliPoolLib +{ + public class XInterpolate + { + public enum EaseType + { + Linear, + EaseInQuad, + EaseOutQuad, + EaseInOutQuad, + EaseInCubic, + EaseOutCubic, + EaseInOutCubic, + EaseInQuart, + EaseOutQuart, + EaseInOutQuart, + EaseInQuint, + EaseOutQuint, + EaseInOutQuint, + EaseInSine, + EaseOutSine, + EaseInOutSine, + EaseInExpo, + EaseOutExpo, + EaseInOutExpo, + EaseInCirc, + EaseOutCirc, + EaseInOutCirc + } + + public delegate Vector3 ToVector3(T v); + + public delegate float Function(float a, float b, float c, float d); + + private static Vector3 Identity(Vector3 v) + { + return v; + } + + private static Vector3 TransformDotPosition(Transform t) + { + return t.position; + } + + private static IEnumerable NewTimer(float duration) + { + float elapsedTime = 0f; + while (elapsedTime < duration) + { + yield return elapsedTime; + elapsedTime += Time.deltaTime; + bool flag = elapsedTime >= duration; + if (flag) + { + yield return elapsedTime; + } + } + yield break; + } + + private static IEnumerable NewCounter(int start, int end, int step) + { + for (int i = start; i <= end; i += step) + { + yield return (float)i; + } + yield break; + } + + public static IEnumerator NewEase(XInterpolate.Function ease, Vector3 start, Vector3 end, float duration) + { + IEnumerable driver = XInterpolate.NewTimer(duration); + return XInterpolate.NewEase(ease, start, end, duration, driver); + } + + public static IEnumerator NewEase(XInterpolate.Function ease, Vector3 start, Vector3 end, int slices) + { + IEnumerable driver = XInterpolate.NewCounter(0, slices + 1, 1); + return XInterpolate.NewEase(ease, start, end, (float)(slices + 1), driver); + } + + private static IEnumerator NewEase(XInterpolate.Function ease, Vector3 start, Vector3 end, float total, IEnumerable driver) + { + Vector3 distance = end - start; + foreach (float i in driver) + { + yield return XInterpolate.Ease(ease, start, distance, i, total); + } + IEnumerator enumerator = null; + yield break; + yield break; + } + + private static Vector3 Ease(XInterpolate.Function ease, Vector3 start, Vector3 distance, float elapsedTime, float duration) + { + start.x = ease(start.x, distance.x, elapsedTime, duration); + start.y = ease(start.y, distance.y, elapsedTime, duration); + start.z = ease(start.z, distance.z, elapsedTime, duration); + return start; + } + + public static XInterpolate.Function Ease(XInterpolate.EaseType type) + { + XInterpolate.Function result = null; + switch (type) + { + case XInterpolate.EaseType.Linear: + result = new XInterpolate.Function(XInterpolate.Linear); + break; + case XInterpolate.EaseType.EaseInQuad: + result = new XInterpolate.Function(XInterpolate.EaseInQuad); + break; + case XInterpolate.EaseType.EaseOutQuad: + result = new XInterpolate.Function(XInterpolate.EaseOutQuad); + break; + case XInterpolate.EaseType.EaseInOutQuad: + result = new XInterpolate.Function(XInterpolate.EaseInOutQuad); + break; + case XInterpolate.EaseType.EaseInCubic: + result = new XInterpolate.Function(XInterpolate.EaseInCubic); + break; + case XInterpolate.EaseType.EaseOutCubic: + result = new XInterpolate.Function(XInterpolate.EaseOutCubic); + break; + case XInterpolate.EaseType.EaseInOutCubic: + result = new XInterpolate.Function(XInterpolate.EaseInOutCubic); + break; + case XInterpolate.EaseType.EaseInQuart: + result = new XInterpolate.Function(XInterpolate.EaseInQuart); + break; + case XInterpolate.EaseType.EaseOutQuart: + result = new XInterpolate.Function(XInterpolate.EaseOutQuart); + break; + case XInterpolate.EaseType.EaseInOutQuart: + result = new XInterpolate.Function(XInterpolate.EaseInOutQuart); + break; + case XInterpolate.EaseType.EaseInQuint: + result = new XInterpolate.Function(XInterpolate.EaseInQuint); + break; + case XInterpolate.EaseType.EaseOutQuint: + result = new XInterpolate.Function(XInterpolate.EaseOutQuint); + break; + case XInterpolate.EaseType.EaseInOutQuint: + result = new XInterpolate.Function(XInterpolate.EaseInOutQuint); + break; + case XInterpolate.EaseType.EaseInSine: + result = new XInterpolate.Function(XInterpolate.EaseInSine); + break; + case XInterpolate.EaseType.EaseOutSine: + result = new XInterpolate.Function(XInterpolate.EaseOutSine); + break; + case XInterpolate.EaseType.EaseInOutSine: + result = new XInterpolate.Function(XInterpolate.EaseInOutSine); + break; + case XInterpolate.EaseType.EaseInExpo: + result = new XInterpolate.Function(XInterpolate.EaseInExpo); + break; + case XInterpolate.EaseType.EaseOutExpo: + result = new XInterpolate.Function(XInterpolate.EaseOutExpo); + break; + case XInterpolate.EaseType.EaseInOutExpo: + result = new XInterpolate.Function(XInterpolate.EaseInOutExpo); + break; + case XInterpolate.EaseType.EaseInCirc: + result = new XInterpolate.Function(XInterpolate.EaseInCirc); + break; + case XInterpolate.EaseType.EaseOutCirc: + result = new XInterpolate.Function(XInterpolate.EaseOutCirc); + break; + case XInterpolate.EaseType.EaseInOutCirc: + result = new XInterpolate.Function(XInterpolate.EaseInOutCirc); + break; + } + return result; + } + + public static IEnumerable NewBezier(XInterpolate.Function ease, Transform[] nodes, float duration) + { + IEnumerable steps = XInterpolate.NewTimer(duration); + return XInterpolate.NewBezier(ease, nodes, new XInterpolate.ToVector3(XInterpolate.TransformDotPosition), duration, steps); + } + + public static IEnumerable NewBezier(XInterpolate.Function ease, Transform[] nodes, int slices) + { + IEnumerable steps = XInterpolate.NewCounter(0, slices + 1, 1); + return XInterpolate.NewBezier(ease, nodes, new XInterpolate.ToVector3(XInterpolate.TransformDotPosition), (float)(slices + 1), steps); + } + + public static IEnumerable NewBezier(XInterpolate.Function ease, Vector3[] points, float duration) + { + IEnumerable steps = XInterpolate.NewTimer(duration); + return XInterpolate.NewBezier(ease, points, new XInterpolate.ToVector3(XInterpolate.Identity), duration, steps); + } + + public static IEnumerable NewBezier(XInterpolate.Function ease, Vector3[] points, int slices) + { + IEnumerable steps = XInterpolate.NewCounter(0, slices + 1, 1); + return XInterpolate.NewBezier(ease, points, new XInterpolate.ToVector3(XInterpolate.Identity), (float)(slices + 1), steps); + } + + private static IEnumerable NewBezier(XInterpolate.Function ease, IList nodes, XInterpolate.ToVector3 toVector3, float maxStep, IEnumerable steps) + { + bool flag = nodes.Count >= 2; + if (flag) + { + Vector3[] points = new Vector3[nodes.Count]; + foreach (float step in steps) + { + int num; + for (int i = 0; i < nodes.Count; i = num + 1) + { + points[i] = toVector3((T)((object)nodes[i])); + num = i; + } + yield return XInterpolate.Bezier(ease, points, step, maxStep); + } + IEnumerator enumerator = null; + points = null; + } + yield break; + yield break; + } + + private static Vector3 Bezier(XInterpolate.Function ease, Vector3[] points, float elapsedTime, float duration) + { + for (int i = points.Length - 1; i > 0; i--) + { + for (int j = 0; j < i; j++) + { + points[j].x = ease(points[j].x, points[j + 1].x - points[j].x, elapsedTime, duration); + points[j].y = ease(points[j].y, points[j + 1].y - points[j].y, elapsedTime, duration); + points[j].z = ease(points[j].z, points[j + 1].z - points[j].z, elapsedTime, duration); + } + } + return points[0]; + } + + public static IEnumerable NewCatmullRom(Transform[] nodes, int slices, bool loop) + { + return XInterpolate.NewCatmullRom(nodes, new XInterpolate.ToVector3(XInterpolate.TransformDotPosition), slices, loop); + } + + public static IEnumerable NewCatmullRom(Vector3[] points, int slices, bool loop) + { + return XInterpolate.NewCatmullRom(points, new XInterpolate.ToVector3(XInterpolate.Identity), slices, loop); + } + + private static IEnumerable NewCatmullRom(IList nodes, XInterpolate.ToVector3 toVector3, int slices, bool loop) + { + bool flag = nodes.Count >= 2; + if (flag) + { + yield return toVector3((T)((object)nodes[0])); + int last = nodes.Count - 1; + int current = 0; + while (loop || current < last) + { + bool flag2 = loop && current > last; + if (flag2) + { + current = 0; + } + int previous = (current == 0) ? (loop ? last : current) : (current - 1); + int start = current; + int end = (current == last) ? (loop ? 0 : current) : (current + 1); + int next = (end == last) ? (loop ? 0 : end) : (end + 1); + int stepCount = slices + 1; + int num; + for (int step = 1; step <= stepCount; step = num + 1) + { + yield return XInterpolate.CatmullRom(toVector3((T)((object)nodes[previous])), toVector3((T)((object)nodes[start])), toVector3((T)((object)nodes[end])), toVector3((T)((object)nodes[next])), (float)step, (float)stepCount); + num = step; + } + num = current; + current = num + 1; + } + } + yield break; + } + + private static Vector3 CatmullRom(Vector3 previous, Vector3 start, Vector3 end, Vector3 next, float elapsedTime, float duration) + { + float num = elapsedTime / duration; + float num2 = num * num; + float num3 = num2 * num; + return previous * (-0.5f * num3 + num2 - 0.5f * num) + start * (1.5f * num3 + -2.5f * num2 + 1f) + end * (-1.5f * num3 + 2f * num2 + 0.5f * num) + next * (0.5f * num3 - 0.5f * num2); + } + + private static float Linear(float start, float distance, float elapsedTime, float duration) + { + bool flag = elapsedTime > duration; + if (flag) + { + elapsedTime = duration; + } + return distance * (elapsedTime / duration) + start; + } + + private static float EaseInQuad(float start, float distance, float elapsedTime, float duration) + { + elapsedTime = ((elapsedTime > duration) ? 1f : (elapsedTime / duration)); + return distance * elapsedTime * elapsedTime + start; + } + + private static float EaseOutQuad(float start, float distance, float elapsedTime, float duration) + { + elapsedTime = ((elapsedTime > duration) ? 1f : (elapsedTime / duration)); + return -distance * elapsedTime * (elapsedTime - 2f) + start; + } + + private static float EaseInOutQuad(float start, float distance, float elapsedTime, float duration) + { + elapsedTime = ((elapsedTime > duration) ? 2f : (elapsedTime / (duration / 2f))); + bool flag = elapsedTime < 1f; + float result; + if (flag) + { + result = distance / 2f * elapsedTime * elapsedTime + start; + } + else + { + elapsedTime -= 1f; + result = -distance / 2f * (elapsedTime * (elapsedTime - 2f) - 1f) + start; + } + return result; + } + + private static float EaseInCubic(float start, float distance, float elapsedTime, float duration) + { + elapsedTime = ((elapsedTime > duration) ? 1f : (elapsedTime / duration)); + return distance * elapsedTime * elapsedTime * elapsedTime + start; + } + + private static float EaseOutCubic(float start, float distance, float elapsedTime, float duration) + { + elapsedTime = ((elapsedTime > duration) ? 1f : (elapsedTime / duration)); + elapsedTime -= 1f; + return distance * (elapsedTime * elapsedTime * elapsedTime + 1f) + start; + } + + private static float EaseInOutCubic(float start, float distance, float elapsedTime, float duration) + { + elapsedTime = ((elapsedTime > duration) ? 2f : (elapsedTime / (duration / 2f))); + bool flag = elapsedTime < 1f; + float result; + if (flag) + { + result = distance / 2f * elapsedTime * elapsedTime * elapsedTime + start; + } + else + { + elapsedTime -= 2f; + result = distance / 2f * (elapsedTime * elapsedTime * elapsedTime + 2f) + start; + } + return result; + } + + private static float EaseInQuart(float start, float distance, float elapsedTime, float duration) + { + elapsedTime = ((elapsedTime > duration) ? 1f : (elapsedTime / duration)); + return distance * elapsedTime * elapsedTime * elapsedTime * elapsedTime + start; + } + + private static float EaseOutQuart(float start, float distance, float elapsedTime, float duration) + { + elapsedTime = ((elapsedTime > duration) ? 1f : (elapsedTime / duration)); + elapsedTime -= 1f; + return -distance * (elapsedTime * elapsedTime * elapsedTime * elapsedTime - 1f) + start; + } + + private static float EaseInOutQuart(float start, float distance, float elapsedTime, float duration) + { + elapsedTime = ((elapsedTime > duration) ? 2f : (elapsedTime / (duration / 2f))); + bool flag = elapsedTime < 1f; + float result; + if (flag) + { + result = distance / 2f * elapsedTime * elapsedTime * elapsedTime * elapsedTime + start; + } + else + { + elapsedTime -= 2f; + result = -distance / 2f * (elapsedTime * elapsedTime * elapsedTime * elapsedTime - 2f) + start; + } + return result; + } + + private static float EaseInQuint(float start, float distance, float elapsedTime, float duration) + { + elapsedTime = ((elapsedTime > duration) ? 1f : (elapsedTime / duration)); + return distance * elapsedTime * elapsedTime * elapsedTime * elapsedTime * elapsedTime + start; + } + + private static float EaseOutQuint(float start, float distance, float elapsedTime, float duration) + { + elapsedTime = ((elapsedTime > duration) ? 1f : (elapsedTime / duration)); + elapsedTime -= 1f; + return distance * (elapsedTime * elapsedTime * elapsedTime * elapsedTime * elapsedTime + 1f) + start; + } + + private static float EaseInOutQuint(float start, float distance, float elapsedTime, float duration) + { + elapsedTime = ((elapsedTime > duration) ? 2f : (elapsedTime / (duration / 2f))); + bool flag = elapsedTime < 1f; + float result; + if (flag) + { + result = distance / 2f * elapsedTime * elapsedTime * elapsedTime * elapsedTime * elapsedTime + start; + } + else + { + elapsedTime -= 2f; + result = distance / 2f * (elapsedTime * elapsedTime * elapsedTime * elapsedTime * elapsedTime + 2f) + start; + } + return result; + } + + private static float EaseInSine(float start, float distance, float elapsedTime, float duration) + { + bool flag = elapsedTime > duration; + if (flag) + { + elapsedTime = duration; + } + return -distance * Mathf.Cos(elapsedTime / duration * 1.57079637f) + distance + start; + } + + private static float EaseOutSine(float start, float distance, float elapsedTime, float duration) + { + bool flag = elapsedTime > duration; + if (flag) + { + elapsedTime = duration; + } + return distance * Mathf.Sin(elapsedTime / duration * 1.57079637f) + start; + } + + private static float EaseInOutSine(float start, float distance, float elapsedTime, float duration) + { + bool flag = elapsedTime > duration; + if (flag) + { + elapsedTime = duration; + } + return -distance / 2f * (Mathf.Cos(3.14159274f * elapsedTime / duration) - 1f) + start; + } + + private static float EaseInExpo(float start, float distance, float elapsedTime, float duration) + { + bool flag = elapsedTime > duration; + if (flag) + { + elapsedTime = duration; + } + return distance * Mathf.Pow(2f, 10f * (elapsedTime / duration - 1f)) + start; + } + + private static float EaseOutExpo(float start, float distance, float elapsedTime, float duration) + { + bool flag = elapsedTime > duration; + if (flag) + { + elapsedTime = duration; + } + return distance * (-Mathf.Pow(2f, -10f * elapsedTime / duration) + 1f) + start; + } + + private static float EaseInOutExpo(float start, float distance, float elapsedTime, float duration) + { + elapsedTime = ((elapsedTime > duration) ? 2f : (elapsedTime / (duration / 2f))); + bool flag = elapsedTime < 1f; + float result; + if (flag) + { + result = distance / 2f * Mathf.Pow(2f, 10f * (elapsedTime - 1f)) + start; + } + else + { + elapsedTime -= 1f; + result = distance / 2f * (-Mathf.Pow(2f, -10f * elapsedTime) + 2f) + start; + } + return result; + } + + private static float EaseInCirc(float start, float distance, float elapsedTime, float duration) + { + elapsedTime = ((elapsedTime > duration) ? 1f : (elapsedTime / duration)); + return -distance * (Mathf.Sqrt(1f - elapsedTime * elapsedTime) - 1f) + start; + } + + private static float EaseOutCirc(float start, float distance, float elapsedTime, float duration) + { + elapsedTime = ((elapsedTime > duration) ? 1f : (elapsedTime / duration)); + elapsedTime -= 1f; + return distance * Mathf.Sqrt(1f - elapsedTime * elapsedTime) + start; + } + + private static float EaseInOutCirc(float start, float distance, float elapsedTime, float duration) + { + elapsedTime = ((elapsedTime > duration) ? 2f : (elapsedTime / (duration / 2f))); + bool flag = elapsedTime < 1f; + float result; + if (flag) + { + result = -distance / 2f * (Mathf.Sqrt(1f - elapsedTime * elapsedTime) - 1f) + start; + } + else + { + elapsedTime -= 2f; + result = distance / 2f * (Mathf.Sqrt(1f - elapsedTime * elapsedTime) + 1f) + start; + } + return result; + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/XInterpolate.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/XInterpolate.cs.meta new file mode 100644 index 00000000..d98b9b28 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XInterpolate.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 0e65907fa7081c0489f8d23e94f789a8 +timeCreated: 1611465289 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/XInvalidSkillException.cs b/Client/Assets/Scripts/XUtliPoolLib/XInvalidSkillException.cs new file mode 100644 index 00000000..8ceb6d89 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XInvalidSkillException.cs @@ -0,0 +1,16 @@ +using System; + +namespace XUtliPoolLib +{ + [Serializable] + public class XInvalidSkillException : XException + { + public XInvalidSkillException(string message) : base(message) + { + } + + public XInvalidSkillException(string message, Exception inner) : base(message, inner) + { + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/XInvalidSkillException.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/XInvalidSkillException.cs.meta new file mode 100644 index 00000000..bde01d77 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XInvalidSkillException.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 4444cb79f2821284aa2239d0bdabb5ae +timeCreated: 1611465637 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/XJAData.cs b/Client/Assets/Scripts/XUtliPoolLib/XJAData.cs new file mode 100644 index 00000000..3c8cf6c9 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XJAData.cs @@ -0,0 +1,28 @@ +using System; +using System.ComponentModel; +using UnityEngine; + +namespace XUtliPoolLib +{ + [Serializable] + public class XJAData : XBaseData + { + [SerializeField] + public string Next_Name = null; + + [SerializeField] + public string Name = null; + + [SerializeField] + [DefaultValue(0f)] + public float At; + + [SerializeField] + [DefaultValue(0f)] + public float End; + + [SerializeField] + [DefaultValue(0f)] + public float Point; + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/XJAData.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/XJAData.cs.meta new file mode 100644 index 00000000..1f24f8e9 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XJAData.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: d87a4c26687b8c745ac7288ccc4d86ce +timeCreated: 1611465765 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/XLocalPRSAsyncData.cs b/Client/Assets/Scripts/XUtliPoolLib/XLocalPRSAsyncData.cs new file mode 100644 index 00000000..341c337f --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XLocalPRSAsyncData.cs @@ -0,0 +1,25 @@ +using System; +using UnityEngine; + +namespace XUtliPoolLib +{ + public class XLocalPRSAsyncData + { + public Vector3 localPos = Vector3.zero; + + public Quaternion localRotation = Quaternion.identity; + + public Vector3 localScale = Vector3.one; + + public short mask = 0; + + public void Reset() + { + this.localPos = Vector3.zero; + this.localRotation = Quaternion.identity; + this.localScale = Vector3.one; + this.mask = 0; + CommonObjectPool.Release(this); + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/XLocalPRSAsyncData.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/XLocalPRSAsyncData.cs.meta new file mode 100644 index 00000000..96f3131e --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XLocalPRSAsyncData.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: c0c0a010bcf78224e9fe499787702236 +timeCreated: 1611465753 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/XLogicalData.cs b/Client/Assets/Scripts/XUtliPoolLib/XLogicalData.cs new file mode 100644 index 00000000..67860eb0 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XLogicalData.cs @@ -0,0 +1,111 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using UnityEngine; + +namespace XUtliPoolLib +{ + [Serializable] + public class XLogicalData + { + [SerializeField] + public XStrickenResponse StrickenMask = XStrickenResponse.Cease; + + [SerializeField] + [DefaultValue(0)] + public int CanReplacedby; + + [SerializeField] + [DefaultValue(0f)] + public float Not_Move_At; + + [SerializeField] + [DefaultValue(0f)] + public float Not_Move_End; + + [SerializeField] + [DefaultValue(0f)] + public float Rotate_At; + + [SerializeField] + [DefaultValue(0f)] + public float Rotate_End; + + [SerializeField] + [DefaultValue(0f)] + public float Rotate_Speed; + + [SerializeField] + [DefaultValue(false)] + public bool Rotate_Server_Sync; + + [SerializeField] + [DefaultValue(0)] + public int CanCastAt_QTE; + + [SerializeField] + [DefaultValue(0)] + public int QTE_Key; + + [SerializeField] + public List QTEData = null; + + [SerializeField] + [DefaultValue(0f)] + public float CanCancelAt; + + [SerializeField] + [DefaultValue(false)] + public bool SuppressPlayer; + + [SerializeField] + [DefaultValue(true)] + public bool AttackOnHitDown; + + [SerializeField] + [DefaultValue(false)] + public bool Association; + + [SerializeField] + [DefaultValue(false)] + public bool MoveType; + + [SerializeField] + public string Association_Skill = null; + + [SerializeField] + public string Syntonic_CoolDown_Skill = null; + + [SerializeField] + [DefaultValue(0)] + public int PreservedStrength; + + [SerializeField] + [DefaultValue(0f)] + public float PreservedAt; + + [SerializeField] + [DefaultValue(0f)] + public float PreservedEndAt; + + [SerializeField] + public string Exstring = null; + + [SerializeField] + [DefaultValue(0f)] + public float Exstring_At; + + [SerializeField] + [DefaultValue(0f)] + public float Not_Selected_At; + + [SerializeField] + [DefaultValue(0f)] + public float Not_Selected_End; + + public XLogicalData() + { + this.AttackOnHitDown = true; + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/XLogicalData.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/XLogicalData.cs.meta new file mode 100644 index 00000000..bced1ef8 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XLogicalData.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: e2ffa4256503ada40a21bc8a6e9441a9 +timeCreated: 1611465801 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/XLongAttackResultData.cs b/Client/Assets/Scripts/XUtliPoolLib/XLongAttackResultData.cs new file mode 100644 index 00000000..401de60f --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XLongAttackResultData.cs @@ -0,0 +1,176 @@ +using System; +using System.ComponentModel; +using UnityEngine; + +namespace XUtliPoolLib +{ + [Serializable] + public class XLongAttackResultData + { + [SerializeField] + public XResultBulletType Type = XResultBulletType.Sphere; + + [SerializeField] + [DefaultValue(true)] + public bool WithCollision; + + [SerializeField] + [DefaultValue(false)] + public bool Follow; + + [SerializeField] + [DefaultValue(0f)] + public float Runningtime; + + [SerializeField] + [DefaultValue(0f)] + public float Stickytime; + + [SerializeField] + [DefaultValue(0f)] + public float Velocity; + + [SerializeField] + [DefaultValue(0f)] + public float Radius; + + [SerializeField] + [DefaultValue(0f)] + public float Palstance; + + [SerializeField] + [DefaultValue(0f)] + public float RingVelocity; + + [SerializeField] + [DefaultValue(0f)] + public float RingRadius; + + [SerializeField] + [DefaultValue(false)] + public bool RingFull; + + [SerializeField] + public string Prefab = null; + + [SerializeField] + [DefaultValue(true)] + public bool TriggerOnce; + + [SerializeField] + [DefaultValue(false)] + public bool TriggerAtEnd; + + [SerializeField] + [DefaultValue(0f)] + public float TriggerAtEnd_Cycle; + + [SerializeField] + [DefaultValue(0)] + public int TriggerAtEnd_Count; + + [SerializeField] + [DefaultValue(0)] + public int FireAngle; + + [SerializeField] + public string HitGround_Fx = null; + + [SerializeField] + [DefaultValue(0f)] + public float HitGroundFx_LifeTime; + + [SerializeField] + public string End_Fx = null; + + [SerializeField] + [DefaultValue(0f)] + public float EndFx_LifeTime; + + [SerializeField] + [DefaultValue(true)] + public bool EndFx_Ground; + + [SerializeField] + public string Audio = null; + + [SerializeField] + public AudioChannel Audio_Channel = AudioChannel.Skill; + + [SerializeField] + public string End_Audio = null; + + [SerializeField] + public AudioChannel End_Audio_Channel = AudioChannel.Skill; + + [SerializeField] + [DefaultValue(true)] + public bool FlyWithTerrain; + + [SerializeField] + [DefaultValue(false)] + public bool IsPingPong; + + [SerializeField] + [DefaultValue(true)] + public bool AimTargetCenter; + + [SerializeField] + [DefaultValue(0f)] + public float At_X; + + [SerializeField] + [DefaultValue(0f)] + public float At_Y; + + [SerializeField] + [DefaultValue(0f)] + public float At_Z; + + [SerializeField] + [DefaultValue(0f)] + public float Refine_Cycle; + + [SerializeField] + [DefaultValue(0)] + public int Refine_Count; + + [SerializeField] + [DefaultValue(false)] + public bool AutoRefine_at_Half; + + [SerializeField] + [DefaultValue(true)] + public bool StaticCollider; + + [SerializeField] + [DefaultValue(false)] + public bool DynamicCollider; + + [SerializeField] + [DefaultValue(false)] + public bool Manipulation; + + [SerializeField] + [DefaultValue(false)] + public bool Reinforce; + + [SerializeField] + [DefaultValue(0f)] + public float ManipulationRadius; + + [SerializeField] + [DefaultValue(0f)] + public float ManipulationForce; + + public XLongAttackResultData() + { + this.WithCollision = true; + this.TriggerOnce = true; + this.EndFx_Ground = true; + this.FlyWithTerrain = true; + this.AimTargetCenter = true; + this.StaticCollider = true; + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/XLongAttackResultData.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/XLongAttackResultData.cs.meta new file mode 100644 index 00000000..15f500fb --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XLongAttackResultData.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: f15661fc555aa974da427357052fa321 +timeCreated: 1611465807 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/XLuaLong.cs b/Client/Assets/Scripts/XUtliPoolLib/XLuaLong.cs new file mode 100644 index 00000000..c5993aed --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XLuaLong.cs @@ -0,0 +1,24 @@ +using System; + +namespace XUtliPoolLib +{ + public class XLuaLong + { + public string str; + + public XLuaLong(string _str) + { + this.str = _str; + } + + public ulong Get() + { + bool flag = string.IsNullOrEmpty(this.str); + if (flag) + { + XSingleton.singleton.AddErrorLog("", null, null, null, null, null); + } + return ulong.Parse(this.str); + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/XLuaLong.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/XLuaLong.cs.meta new file mode 100644 index 00000000..4e2d043f --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XLuaLong.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: c610ddcea46b9824c8d783dd7b87a33f +timeCreated: 1611465755 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/XManipulationData.cs b/Client/Assets/Scripts/XUtliPoolLib/XManipulationData.cs new file mode 100644 index 00000000..00dac5a0 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XManipulationData.cs @@ -0,0 +1,47 @@ +using System; +using System.ComponentModel; +using UnityEngine; + +namespace XUtliPoolLib +{ + [Serializable] + public class XManipulationData : XBaseData + { + [SerializeField] + [DefaultValue(0f)] + public float At; + + [SerializeField] + [DefaultValue(0f)] + public float End; + + [SerializeField] + [DefaultValue(0f)] + public float OffsetX; + + [SerializeField] + [DefaultValue(0f)] + public float OffsetZ; + + [SerializeField] + [DefaultValue(0f)] + public float Degree; + + [SerializeField] + [DefaultValue(0f)] + public float Radius; + + [SerializeField] + [DefaultValue(0f)] + public float Force; + + [SerializeField] + [DefaultValue(true)] + public bool TargetIsOpponent; + + public XManipulationData() + { + this.TargetIsOpponent = true; + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/XManipulationData.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/XManipulationData.cs.meta new file mode 100644 index 00000000..33aebef5 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XManipulationData.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 056af2825e895d24cb8c3f42649d4c2a +timeCreated: 1611465285 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/XMeshPartList.cs b/Client/Assets/Scripts/XUtliPoolLib/XMeshPartList.cs new file mode 100644 index 00000000..3d0ce82c --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XMeshPartList.cs @@ -0,0 +1,229 @@ +using System; +using System.Collections.Generic; + +namespace XUtliPoolLib +{ + public class XMeshPartList + { + public static byte NormalPart = 1; + + public static byte OnePart = 3; + + public static byte CutoutPart = 7; + + public static byte ReplacePart = 8; + + public static byte ReplaceTex = 16; + + public static byte ShareTex = 32; + + public string[] partSuffix = new string[9]; + + public string[] proPrefix = null; + + public string sharedPrefix = null; + + public Dictionary meshPartsInfo = null; + + public Dictionary replaceMeshPartsInfo = null; + + public Dictionary replaceTexPartsInfo = null; + + public static byte ConvertType(byte type) + { + byte result; + if (type != 1) + { + if (type != 3) + { + if (type != 7) + { + result = 3; + } + else + { + result = 7; + } + } + else + { + result = 3; + } + } + else + { + result = 3; + } + return result; + } + + public bool GetMeshInfo(string location, int professionType, int part, string srcDir, out byte partType, ref string meshLocation, ref string texLocation) + { + partType = 0; + uint key = XSingleton.singleton.XHash(location); + bool flag = this.meshPartsInfo.TryGetValue(key, out partType); + bool result; + if (flag) + { + bool flag2 = partType > XMeshPartList.CutoutPart; + if (flag2) + { + bool flag3 = (partType & XMeshPartList.ReplacePart) > 0; + if (flag3) + { + partType &= (byte)~XMeshPartList.ReplacePart; + bool flag4 = this.replaceMeshPartsInfo.TryGetValue(key, out meshLocation); + if (flag4) + { + string text = this.proPrefix[professionType]; + string arg = this.partSuffix[part]; + meshLocation = string.Format("Equipments/{0}/{1}{2}", meshLocation, text, arg); + key = XSingleton.singleton.XHash(meshLocation); + } + } + bool flag5 = (partType & XMeshPartList.ReplaceTex) > 0; + if (flag5) + { + partType &= (byte) ~XMeshPartList.ReplaceTex; + bool flag6 = this.replaceTexPartsInfo.TryGetValue(key, out texLocation); + if (flag6) + { + bool flag7 = texLocation.StartsWith("/"); + if (flag7) + { + bool flag8 = string.IsNullOrEmpty(srcDir); + if (flag8) + { + texLocation = null; + } + else + { + bool flag9 = srcDir.StartsWith("/"); + if (flag9) + { + texLocation = string.Format("Equipments{0}{1}", srcDir, texLocation); + } + else + { + texLocation = string.Format("Equipments/{0}{1}", srcDir, texLocation); + } + } + } + else + { + texLocation = string.Format("Equipments/Player/{0}", texLocation); + } + } + } + else + { + bool flag10 = (partType & XMeshPartList.ShareTex) > 0; + if (flag10) + { + partType &= (byte) ~XMeshPartList.ShareTex; + bool flag11 = this.proPrefix != null && professionType < this.proPrefix.Length; + if (flag11) + { + string text = this.proPrefix[professionType]; + texLocation = location.Replace(text, this.sharedPrefix); + } + } + } + } + result = true; + } + else + { + result = false; + } + return result; + } + + public void Load() + { + bool flag = this.meshPartsInfo != null; + if (flag) + { + this.meshPartsInfo.Clear(); + } + bool flag2 = this.replaceMeshPartsInfo != null; + if (flag2) + { + this.replaceMeshPartsInfo.Clear(); + } + XBinaryReader xbinaryReader = XSingleton.singleton.ReadBinary("Equipments/equipmentInfo", ".bytes", true, true); + bool flag3 = xbinaryReader != null; + if (flag3) + { + try + { + int num = xbinaryReader.ReadInt32(); + this.proPrefix = new string[num]; + for (int i = 0; i < num; i++) + { + this.proPrefix[i] = xbinaryReader.ReadString(-1); + } + int num2 = xbinaryReader.ReadInt32(); + for (int j = 0; j < num2; j++) + { + bool flag4 = j < this.partSuffix.Length; + if (flag4) + { + this.partSuffix[j] = xbinaryReader.ReadString(-1); + } + } + this.sharedPrefix = xbinaryReader.ReadString(-1); + int num3 = xbinaryReader.ReadInt32(); + string[] array = new string[num3]; + for (int k = 0; k < num3; k++) + { + array[k] = xbinaryReader.ReadString(-1); + } + int num4 = xbinaryReader.ReadInt32(); + bool flag5 = this.meshPartsInfo == null; + if (flag5) + { + this.meshPartsInfo = new Dictionary(num4); + } + for (int l = 0; l < num4; l++) + { + uint key = xbinaryReader.ReadUInt32(); + byte value = xbinaryReader.ReadByte(); + this.meshPartsInfo[key] = value; + } + num4 = xbinaryReader.ReadInt32(); + bool flag6 = this.replaceMeshPartsInfo == null; + if (flag6) + { + this.replaceMeshPartsInfo = new Dictionary(num4); + } + for (int m = 0; m < num4; m++) + { + uint key2 = xbinaryReader.ReadUInt32(); + ushort num5 = xbinaryReader.ReadUInt16(); + string value2 = array[(int)num5]; + this.replaceMeshPartsInfo[key2] = value2; + } + num4 = xbinaryReader.ReadInt32(); + bool flag7 = this.replaceTexPartsInfo == null; + if (flag7) + { + this.replaceTexPartsInfo = new Dictionary(num4); + } + for (int n = 0; n < num4; n++) + { + uint key3 = xbinaryReader.ReadUInt32(); + ushort num6 = xbinaryReader.ReadUInt16(); + string value3 = array[(int)num6]; + this.replaceTexPartsInfo[key3] = value3; + } + } + catch (Exception ex) + { + XSingleton.singleton.AddErrorLog(ex.Message, null, null, null, null, null); + } + } + XSingleton.singleton.ClearBinary(xbinaryReader, true); + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/XMeshPartList.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/XMeshPartList.cs.meta new file mode 100644 index 00000000..f48d9d0b --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XMeshPartList.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 75159934ffb48764aabfaa54cd066e99 +timeCreated: 1611465689 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/XMeshRenderInfo.cs b/Client/Assets/Scripts/XUtliPoolLib/XMeshRenderInfo.cs new file mode 100644 index 00000000..68df3b51 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XMeshRenderInfo.cs @@ -0,0 +1,10 @@ +using System; +using UnityEngine; + +namespace XUtliPoolLib +{ + public class XMeshRenderInfo : MonoBehaviour + { + public Renderer[] renderers = null; + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/XMeshRenderInfo.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/XMeshRenderInfo.cs.meta new file mode 100644 index 00000000..74c86132 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XMeshRenderInfo.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 8c508eca9d084374db86b9270b4276ce +timeCreated: 1611465700 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/XMissAnimationException.cs b/Client/Assets/Scripts/XUtliPoolLib/XMissAnimationException.cs new file mode 100644 index 00000000..cff4fe83 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XMissAnimationException.cs @@ -0,0 +1,16 @@ +using System; + +namespace XUtliPoolLib +{ + [Serializable] + public class XMissAnimationException : XException + { + public XMissAnimationException(string message) : base(message) + { + } + + public XMissAnimationException(string message, Exception inner) : base(message, inner) + { + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/XMissAnimationException.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/XMissAnimationException.cs.meta new file mode 100644 index 00000000..e2f63dac --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XMissAnimationException.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 15cd9a6077aea9948a22139b01edaf64 +timeCreated: 1611465294 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/XMissEventDescriptionException.cs b/Client/Assets/Scripts/XUtliPoolLib/XMissEventDescriptionException.cs new file mode 100644 index 00000000..d5b758cc --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XMissEventDescriptionException.cs @@ -0,0 +1,16 @@ +using System; + +namespace XUtliPoolLib +{ + [Serializable] + public class XMissEventDescriptionException : XException + { + public XMissEventDescriptionException(string message) : base(message) + { + } + + public XMissEventDescriptionException(string message, Exception inner) : base(message, inner) + { + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/XMissEventDescriptionException.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/XMissEventDescriptionException.cs.meta new file mode 100644 index 00000000..60a3f2d5 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XMissEventDescriptionException.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 873f92b040685074b9de28c814c5c5a9 +timeCreated: 1611465696 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/XMobUnitData.cs b/Client/Assets/Scripts/XUtliPoolLib/XMobUnitData.cs new file mode 100644 index 00000000..29d74af4 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XMobUnitData.cs @@ -0,0 +1,38 @@ +using System; +using System.ComponentModel; +using UnityEngine; + +namespace XUtliPoolLib +{ + [Serializable] + public class XMobUnitData : XBaseData + { + [SerializeField] + [DefaultValue(0f)] + public float At; + + [SerializeField] + [DefaultValue(0)] + public int TemplateID; + + [SerializeField] + [DefaultValue(false)] + public bool LifewithinSkill; + + [SerializeField] + [DefaultValue(0f)] + public float Offset_At_X; + + [SerializeField] + [DefaultValue(0f)] + public float Offset_At_Y; + + [SerializeField] + [DefaultValue(0f)] + public float Offset_At_Z; + + [SerializeField] + [DefaultValue(false)] + public bool Shield; + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/XMobUnitData.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/XMobUnitData.cs.meta new file mode 100644 index 00000000..7ad256f6 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XMobUnitData.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 837755e1b2712f44d85b5964b472e8e3 +timeCreated: 1611465695 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/XNpcInfo.cs b/Client/Assets/Scripts/XUtliPoolLib/XNpcInfo.cs new file mode 100644 index 00000000..9c11f263 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XNpcInfo.cs @@ -0,0 +1,185 @@ +using System; + +namespace XUtliPoolLib +{ + public class XNpcInfo : CVSReader + { + public XNpcInfo.RowData[] Table = null; + + public class RowData + { + public uint ID; + + public string Name; + + public uint PresentID; + + public string Icon; + + public string Portrait; + + public uint SceneID; + + public float[] Position; + + public float[] Rotation; + + public uint RequiredTaskID; + + public string[] Content; + + public int[] FunctionList; + + public uint Gazing; + + public string[] Voice; + + public string[] ShowUp; + + public bool OnlyHead; + + public int LinkSystem; + + public uint NPCType; + + public uint DisappearTask; + + public string SpecialAnim; + + public string SpecialChat; + } + + public XNpcInfo.RowData GetByNPCID(uint key) + { + bool flag = this.Table == null || this.Table.Length == 0; + XNpcInfo.RowData result; + if (flag) + { + result = null; + } + else + { + result = this.BinarySearchNPCID(key); + } + return result; + } + + private XNpcInfo.RowData BinarySearchNPCID(uint key) + { + int num = 0; + int num2 = this.Table.Length - 1; + XNpcInfo.RowData rowData; + XNpcInfo.RowData rowData2; + XNpcInfo.RowData rowData3; + for (;;) + { + rowData = this.Table[num]; + bool flag = rowData.ID == key; + if (flag) + { + break; + } + rowData2 = this.Table[num2]; + bool flag2 = rowData2.ID == key; + if (flag2) + { + goto Block_2; + } + bool flag3 = num2 - num <= 1; + if (flag3) + { + goto Block_3; + } + int num3 = num + (num2 - num) / 2; + rowData3 = this.Table[num3]; + bool flag4 = rowData3.ID.CompareTo(key) > 0; + if (flag4) + { + num2 = num3; + } + else + { + bool flag5 = rowData3.ID.CompareTo(key) < 0; + if (!flag5) + { + goto IL_B1; + } + num = num3; + } + if (num >= num2) + { + goto Block_6; + } + } + return rowData; + Block_2: + return rowData2; + Block_3: + return null; + IL_B1: + return rowData3; + Block_6: + return null; + } + + protected override void ReadLine(XBinaryReader reader) + { + XNpcInfo.RowData rowData = new XNpcInfo.RowData(); + base.Read(reader, ref rowData.ID, CVSReader.uintParse); + this.columnno = 0; + base.Read(reader, ref rowData.Name, CVSReader.stringParse); + this.columnno = 1; + base.Read(reader, ref rowData.PresentID, CVSReader.uintParse); + this.columnno = 2; + base.Read(reader, ref rowData.Icon, CVSReader.stringParse); + this.columnno = 3; + base.Read(reader, ref rowData.Portrait, CVSReader.stringParse); + this.columnno = 4; + base.Read(reader, ref rowData.SceneID, CVSReader.uintParse); + this.columnno = 5; + base.ReadArray(reader, ref rowData.Position, CVSReader.floatParse); + this.columnno = 6; + base.ReadArray(reader, ref rowData.Rotation, CVSReader.floatParse); + this.columnno = 7; + base.Read(reader, ref rowData.RequiredTaskID, CVSReader.uintParse); + this.columnno = 8; + base.ReadArray(reader, ref rowData.Content, CVSReader.stringParse); + this.columnno = 9; + base.ReadArray(reader, ref rowData.FunctionList, CVSReader.intParse); + this.columnno = 10; + base.Read(reader, ref rowData.Gazing, CVSReader.uintParse); + this.columnno = 11; + base.ReadArray(reader, ref rowData.Voice, CVSReader.stringParse); + this.columnno = 12; + base.ReadArray(reader, ref rowData.ShowUp, CVSReader.stringParse); + this.columnno = 13; + base.Read(reader, ref rowData.OnlyHead, CVSReader.boolParse); + this.columnno = 14; + base.Read(reader, ref rowData.LinkSystem, CVSReader.intParse); + this.columnno = 15; + base.Read(reader, ref rowData.NPCType, CVSReader.uintParse); + this.columnno = 16; + base.Read(reader, ref rowData.DisappearTask, CVSReader.uintParse); + this.columnno = 17; + base.Read(reader, ref rowData.SpecialAnim, CVSReader.stringParse); + this.columnno = 18; + base.Read(reader, ref rowData.SpecialChat, CVSReader.stringParse); + this.columnno = 19; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new XNpcInfo.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/XNpcInfo.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/XNpcInfo.cs.meta new file mode 100644 index 00000000..a9c8e698 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XNpcInfo.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 8a48c7879ccda5f4290581a419364240 +timeCreated: 1611465699 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/XObjAsyncData.cs b/Client/Assets/Scripts/XUtliPoolLib/XObjAsyncData.cs new file mode 100644 index 00000000..9b5bd7b1 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XObjAsyncData.cs @@ -0,0 +1,27 @@ +using System; + +namespace XUtliPoolLib +{ + public class XObjAsyncData : IQueueObject + { + public IQueueObject next { get; set; } + + public object data = null; + + public CommandCallback commandCb = null; + + public ResetCallback resetCb = null; + + public void Reset() + { + this.data = null; + this.commandCb = null; + bool flag = this.resetCb != null; + if (flag) + { + this.resetCb(); + this.resetCb = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/XObjAsyncData.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/XObjAsyncData.cs.meta new file mode 100644 index 00000000..bff36834 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XObjAsyncData.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 8d79df350bcdc4b4d9dcaf346a79ac38 +timeCreated: 1611465701 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/XOperationTable.cs b/Client/Assets/Scripts/XUtliPoolLib/XOperationTable.cs new file mode 100644 index 00000000..5663e45b --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XOperationTable.cs @@ -0,0 +1,137 @@ +using System; + +namespace XUtliPoolLib +{ + public class XOperationTable : CVSReader + { + public XOperationTable.RowData[] Table = null; + + public class RowData + { + public int ID; + + public float Angle; + + public float Distance; + + public bool Vertical; + + public bool Horizontal; + + public float MaxV; + + public float MinV; + + public bool OffSolo; + } + + public XOperationTable.RowData GetByID(int key) + { + bool flag = this.Table == null || this.Table.Length == 0; + XOperationTable.RowData result; + if (flag) + { + result = null; + } + else + { + result = this.BinarySearchID(key); + } + return result; + } + + private XOperationTable.RowData BinarySearchID(int key) + { + int num = 0; + int num2 = this.Table.Length - 1; + XOperationTable.RowData rowData; + XOperationTable.RowData rowData2; + XOperationTable.RowData rowData3; + for (;;) + { + rowData = this.Table[num]; + bool flag = rowData.ID == key; + if (flag) + { + break; + } + rowData2 = this.Table[num2]; + bool flag2 = rowData2.ID == key; + if (flag2) + { + goto Block_2; + } + bool flag3 = num2 - num <= 1; + if (flag3) + { + goto Block_3; + } + int num3 = num + (num2 - num) / 2; + rowData3 = this.Table[num3]; + bool flag4 = rowData3.ID.CompareTo(key) > 0; + if (flag4) + { + num2 = num3; + } + else + { + bool flag5 = rowData3.ID.CompareTo(key) < 0; + if (!flag5) + { + goto IL_B1; + } + num = num3; + } + if (num >= num2) + { + goto Block_6; + } + } + return rowData; + Block_2: + return rowData2; + Block_3: + return null; + IL_B1: + return rowData3; + Block_6: + return null; + } + + protected override void ReadLine(XBinaryReader reader) + { + XOperationTable.RowData rowData = new XOperationTable.RowData(); + base.Read(reader, ref rowData.ID, CVSReader.intParse); + this.columnno = 0; + base.Read(reader, ref rowData.Angle, CVSReader.floatParse); + this.columnno = 1; + base.Read(reader, ref rowData.Distance, CVSReader.floatParse); + this.columnno = 2; + base.Read(reader, ref rowData.Vertical, CVSReader.boolParse); + this.columnno = 3; + base.Read(reader, ref rowData.Horizontal, CVSReader.boolParse); + this.columnno = 4; + base.Read(reader, ref rowData.MaxV, CVSReader.floatParse); + this.columnno = 5; + base.Read(reader, ref rowData.MinV, CVSReader.floatParse); + this.columnno = 6; + base.Read(reader, ref rowData.OffSolo, CVSReader.boolParse); + this.columnno = 7; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new XOperationTable.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/XOperationTable.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/XOperationTable.cs.meta new file mode 100644 index 00000000..fcabfb54 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XOperationTable.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 33bdd0becf1159b419dfec14c58b22b0 +timeCreated: 1611465311 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/XOptions.cs b/Client/Assets/Scripts/XUtliPoolLib/XOptions.cs new file mode 100644 index 00000000..f07d2aad --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XOptions.cs @@ -0,0 +1,137 @@ +using System; + +namespace XUtliPoolLib +{ + public class XOptions : CVSReader + { + public XOptions.RowData[] Table = null; + + public class RowData + { + public int ID; + + public int[] Classify; + + public int Sort; + + public string Text; + + public int Type; + + public string Range; + + public string Default; + + public string[] OptionText; + } + + public XOptions.RowData GetByID(int key) + { + bool flag = this.Table == null || this.Table.Length == 0; + XOptions.RowData result; + if (flag) + { + result = null; + } + else + { + result = this.BinarySearchID(key); + } + return result; + } + + private XOptions.RowData BinarySearchID(int key) + { + int num = 0; + int num2 = this.Table.Length - 1; + XOptions.RowData rowData; + XOptions.RowData rowData2; + XOptions.RowData rowData3; + for (;;) + { + rowData = this.Table[num]; + bool flag = rowData.ID == key; + if (flag) + { + break; + } + rowData2 = this.Table[num2]; + bool flag2 = rowData2.ID == key; + if (flag2) + { + goto Block_2; + } + bool flag3 = num2 - num <= 1; + if (flag3) + { + goto Block_3; + } + int num3 = num + (num2 - num) / 2; + rowData3 = this.Table[num3]; + bool flag4 = rowData3.ID.CompareTo(key) > 0; + if (flag4) + { + num2 = num3; + } + else + { + bool flag5 = rowData3.ID.CompareTo(key) < 0; + if (!flag5) + { + goto IL_B1; + } + num = num3; + } + if (num >= num2) + { + goto Block_6; + } + } + return rowData; + Block_2: + return rowData2; + Block_3: + return null; + IL_B1: + return rowData3; + Block_6: + return null; + } + + protected override void ReadLine(XBinaryReader reader) + { + XOptions.RowData rowData = new XOptions.RowData(); + base.Read(reader, ref rowData.ID, CVSReader.intParse); + this.columnno = 0; + base.ReadArray(reader, ref rowData.Classify, CVSReader.intParse); + this.columnno = 1; + base.Read(reader, ref rowData.Sort, CVSReader.intParse); + this.columnno = 2; + base.Read(reader, ref rowData.Text, CVSReader.stringParse); + this.columnno = 3; + base.Read(reader, ref rowData.Type, CVSReader.intParse); + this.columnno = 4; + base.Read(reader, ref rowData.Range, CVSReader.stringParse); + this.columnno = 5; + base.Read(reader, ref rowData.Default, CVSReader.stringParse); + this.columnno = 6; + base.ReadArray(reader, ref rowData.OptionText, CVSReader.stringParse); + this.columnno = 7; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new XOptions.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/XOptions.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/XOptions.cs.meta new file mode 100644 index 00000000..ca47ff71 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XOptions.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 61a04b1f90497e34f8999099283d2b0a +timeCreated: 1611465653 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/XPlatformType.cs b/Client/Assets/Scripts/XUtliPoolLib/XPlatformType.cs new file mode 100644 index 00000000..263e7224 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XPlatformType.cs @@ -0,0 +1,11 @@ +using System; + +namespace XUtliPoolLib +{ + public enum XPlatformType + { + IOS, + Android, + Standalone + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/XPlatformType.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/XPlatformType.cs.meta new file mode 100644 index 00000000..c6073a97 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XPlatformType.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: c90400a80539b5e4296ff86e1d492413 +timeCreated: 1611465757 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/XPlayerDataClip.cs b/Client/Assets/Scripts/XUtliPoolLib/XPlayerDataClip.cs new file mode 100644 index 00000000..8f6903d8 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XPlayerDataClip.cs @@ -0,0 +1,39 @@ +using System; +using UnityEngine; + +namespace XUtliPoolLib +{ + [Serializable] + public class XPlayerDataClip : XCutSceneClip + { + [SerializeField] + public string Clip1 = null; + + [SerializeField] + public string Clip2 = null; + + [SerializeField] + public string Clip3 = null; + + [SerializeField] + public string Clip4 = null; + + [SerializeField] + public string Clip5 = null; + + [SerializeField] + public string Clip6 = null; + + [SerializeField] + public string Clip7 = null; + + [SerializeField] + public float AppearX = 0f; + + [SerializeField] + public float AppearY = 0f; + + [SerializeField] + public float AppearZ = 0f; + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/XPlayerDataClip.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/XPlayerDataClip.cs.meta new file mode 100644 index 00000000..b8036455 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XPlayerDataClip.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: ac54d75636fb913418386c27d3fcf9b6 +timeCreated: 1611465741 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/XQTEData.cs b/Client/Assets/Scripts/XUtliPoolLib/XQTEData.cs new file mode 100644 index 00000000..17428bbc --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XQTEData.cs @@ -0,0 +1,21 @@ +using System; +using System.ComponentModel; +using UnityEngine; + +namespace XUtliPoolLib +{ + [Serializable] + public class XQTEData + { + [SerializeField] + public int QTE = 0; + + [SerializeField] + [DefaultValue(0f)] + public float At = 0f; + + [SerializeField] + [DefaultValue(0f)] + public float End = 0f; + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/XQTEData.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/XQTEData.cs.meta new file mode 100644 index 00000000..e015e498 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XQTEData.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 4820ae7921d7fdb419779152edf2c77e +timeCreated: 1611465639 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/XQTEStatusTable.cs b/Client/Assets/Scripts/XUtliPoolLib/XQTEStatusTable.cs new file mode 100644 index 00000000..37272dc9 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XQTEStatusTable.cs @@ -0,0 +1,63 @@ +using System; + +namespace XUtliPoolLib +{ + public class XQTEStatusTable : CVSReader + { + public XQTEStatusTable.RowData[] Table = null; + + public class RowData + { + public string Name; + + public uint Value; + } + + public XQTEStatusTable.RowData GetByValue(uint key) + { + bool flag = this.Table == null || this.Table.Length == 0; + XQTEStatusTable.RowData result; + if (flag) + { + result = null; + } + else + { + for (int i = 0; i < this.Table.Length; i++) + { + bool flag2 = this.Table[i].Value == key; + if (flag2) + { + return this.Table[i]; + } + } + result = null; + } + return result; + } + + protected override void ReadLine(XBinaryReader reader) + { + XQTEStatusTable.RowData rowData = new XQTEStatusTable.RowData(); + base.Read(reader, ref rowData.Name, CVSReader.stringParse); + this.columnno = 0; + base.Read(reader, ref rowData.Value, CVSReader.uintParse); + this.columnno = 1; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new XQTEStatusTable.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/XQTEStatusTable.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/XQTEStatusTable.cs.meta new file mode 100644 index 00000000..70448550 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XQTEStatusTable.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: bd32643896ee6524289c1d8103fca44d +timeCreated: 1611465750 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/XRedpointDirtyMgr.cs b/Client/Assets/Scripts/XUtliPoolLib/XRedpointDirtyMgr.cs new file mode 100644 index 00000000..3cf79c6b --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XRedpointDirtyMgr.cs @@ -0,0 +1,25 @@ +using System; +using System.Collections.Generic; + +namespace XUtliPoolLib +{ + public abstract class XRedpointDirtyMgr + { + protected HashSet mDirtySysList = new HashSet(); + + protected Dictionary mSysRedpointStateDic = new Dictionary(); + + public abstract void RecalculateRedPointSelfState(int sys, bool bImmUpdateUI = true); + + public abstract void RefreshAllSysRedpoints(); + + protected abstract void _RefreshSysRedpointUI(int sys, bool redpoint); + + protected bool _GetSysRedpointState(int sys) + { + bool result = false; + this.mSysRedpointStateDic.TryGetValue(sys, out result); + return result; + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/XRedpointDirtyMgr.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/XRedpointDirtyMgr.cs.meta new file mode 100644 index 00000000..77e27358 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XRedpointDirtyMgr.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: b796487f864318b4b9b92a3154ac495b +timeCreated: 1611465747 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/XRedpointExMgr.cs b/Client/Assets/Scripts/XUtliPoolLib/XRedpointExMgr.cs new file mode 100644 index 00000000..086ff966 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XRedpointExMgr.cs @@ -0,0 +1,100 @@ +using System; +using System.Collections.Generic; + +namespace XUtliPoolLib +{ + public class XRedpointExMgr : XRedpointMgr, IXRedpointExMgr, IXRedpointMgr, IXRedpointRelationMgr, IXRedpointForbidMgr + { + protected uint mCurrentLevel; + + protected Dictionary> mSysForbidLevelsDic = new Dictionary>(); + + public void AddSysForbidLevels(int sys, uint level) + { + HashSet hashSet = null; + bool flag = !this.mSysForbidLevelsDic.TryGetValue(sys, out hashSet); + if (flag) + { + hashSet = new HashSet(); + this.mSysForbidLevelsDic[sys] = hashSet; + } + bool flag2 = hashSet.Add(level); + if (flag2) + { + bool flag3 = this.mCurrentLevel == level; + if (flag3) + { + this._RefreshSysRedpointUI(sys, base._GetSysRedpointState(sys)); + } + } + } + + public void RemoveSysForbidLevels(int sys, uint level) + { + HashSet hashSet = null; + bool flag = this.mSysForbidLevelsDic.TryGetValue(sys, out hashSet); + if (flag) + { + bool flag2 = hashSet.Remove(level); + if (flag2) + { + bool flag3 = hashSet.Count <= 0; + if (flag3) + { + this.mSysForbidLevelsDic.Remove(sys); + } + bool flag4 = this.mCurrentLevel == level; + if (flag4) + { + this._RefreshSysRedpointUI(sys, base._GetSysRedpointState(sys)); + } + } + } + } + + public void InitCurrentLevel(uint level) + { + this.mCurrentLevel = level; + } + + public void SetCurrentLevel(uint level) + { + bool flag = level != this.mCurrentLevel; + if (flag) + { + this.mCurrentLevel = level; + foreach (KeyValuePair> keyValuePair in this.mSysForbidLevelsDic) + { + bool flag2 = keyValuePair.Value.Contains(level); + if (flag2) + { + bool flag3 = base._GetSysRedpointState(keyValuePair.Key); + if (flag3) + { + this._RefreshSysRedpointUI(keyValuePair.Key, false); + } + } + } + } + } + + protected override void _RefreshSysRedpointUI(int sys, bool redpoint) + { + bool flag = redpoint; + if (flag) + { + HashSet hashSet = null; + bool flag2 = this.mSysForbidLevelsDic.TryGetValue(sys, out hashSet); + if (flag2) + { + bool flag3 = hashSet.Contains(this.mCurrentLevel); + if (flag3) + { + redpoint = false; + } + } + } + base._RefreshSysRedpointUI(sys, redpoint); + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/XRedpointExMgr.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/XRedpointExMgr.cs.meta new file mode 100644 index 00000000..c08c0eb6 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XRedpointExMgr.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 8465ba3b7d84d724d86cb1b03eac4e78 +timeCreated: 1611465695 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/XRedpointForbidMgr.cs b/Client/Assets/Scripts/XUtliPoolLib/XRedpointForbidMgr.cs new file mode 100644 index 00000000..0bca720e --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XRedpointForbidMgr.cs @@ -0,0 +1,104 @@ +using System; +using System.Collections.Generic; + +namespace XUtliPoolLib +{ + public abstract class XRedpointForbidMgr : XRedpointRelationMgr, IXRedpointForbidMgr + { + protected HashSet mForbidHashSet = new HashSet(); + + public void AddForbid(int sys, bool bImmUpdateUI = true) + { + bool flag = this.mForbidHashSet.Add(sys); + if (flag) + { + if (bImmUpdateUI) + { + this._RefreshSysRedpointUI(sys, base._GetSysRedpointState(sys)); + } + else + { + this.mDirtySysList.Add(sys); + } + } + } + + public void AddForbids(int[] systems, bool bImmUpdateUI = true) + { + bool flag = systems == null || systems.Length == 0; + if (!flag) + { + for (int i = 0; i < systems.Length; i++) + { + bool flag2 = this.mForbidHashSet.Add(systems[i]); + if (flag2) + { + if (bImmUpdateUI) + { + this._RefreshSysRedpointUI(systems[i], base._GetSysRedpointState(systems[i])); + } + else + { + this.mDirtySysList.Add(systems[i]); + } + } + } + } + } + + public void RemoveForbid(int sys, bool bImmUpdateUI = true) + { + bool flag = this.mForbidHashSet.Remove(sys); + if (flag) + { + if (bImmUpdateUI) + { + this._RefreshSysRedpointUI(sys, base._GetSysRedpointState(sys)); + } + else + { + this.mDirtySysList.Add(sys); + } + } + } + + public void RemoveForbids(int[] systems, bool bImmUpdateUI = true) + { + bool flag = systems == null || systems.Length == 0; + if (!flag) + { + for (int i = 0; i < systems.Length; i++) + { + bool flag2 = this.mForbidHashSet.Remove(systems[i]); + if (flag2) + { + if (bImmUpdateUI) + { + this._RefreshSysRedpointUI(systems[i], base._GetSysRedpointState(systems[i])); + } + else + { + this.mDirtySysList.Add(systems[i]); + } + } + } + } + } + + public void ClearForbids(bool bImmUpdateUI = true) + { + foreach (int num in this.mForbidHashSet) + { + if (bImmUpdateUI) + { + this._RefreshSysRedpointUI(num, base._GetSysRedpointState(num)); + } + else + { + this.mDirtySysList.Add(num); + } + } + this.mForbidHashSet.Clear(); + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/XRedpointForbidMgr.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/XRedpointForbidMgr.cs.meta new file mode 100644 index 00000000..f52ea3ad --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XRedpointForbidMgr.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 76c74f9bbcc7eb94f9a2394d43842a5e +timeCreated: 1611465690 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/XRedpointMgr.cs b/Client/Assets/Scripts/XUtliPoolLib/XRedpointMgr.cs new file mode 100644 index 00000000..0c2b71b1 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XRedpointMgr.cs @@ -0,0 +1,233 @@ +using System; +using System.Collections.Generic; +using UnityEngine; + +namespace XUtliPoolLib +{ + public class XRedpointMgr : XRedpointForbidMgr, IXRedpointMgr, IXRedpointRelationMgr, IXRedpointForbidMgr + { + protected Dictionary mSysGameObjectListDic = new Dictionary(); + + protected struct stRedpointGameObject + { + public static readonly XRedpointMgr.stRedpointGameObject Empty; + + public GameObject go; + + public SetRedpointUIHandler callback; + } + + public void AddSysRedpointUI(int sys, GameObject go, SetRedpointUIHandler callback = null) + { + bool flag = null == go; + if (!flag) + { + XRedpointMgr.stRedpointGameObject[] array = null; + bool flag2 = this.mSysGameObjectListDic.TryGetValue(sys, out array); + if (flag2) + { + bool flag3 = this._InsertObject(ref array, go, callback); + if (flag3) + { + this.mSysGameObjectListDic[sys] = array; + } + } + else + { + array = new XRedpointMgr.stRedpointGameObject[4]; + array[0].go = go; + array[0].callback = callback; + this.mSysGameObjectListDic[sys] = array; + } + go.SetActive(base._GetSysRedpointState(sys)); + } + } + + public void RemoveSysRedpointUI(int sys, GameObject go) + { + bool flag = null == go; + if (!flag) + { + XRedpointMgr.stRedpointGameObject[] array = null; + bool flag2 = this.mSysGameObjectListDic.TryGetValue(sys, out array); + if (flag2) + { + this._DeleteObject(ref array, go); + } + } + } + + public void RemoveAllSysRedpointsUI(int sys) + { + this.mSysGameObjectListDic.Remove(sys); + } + + public void ClearAllSysRedpointsUI() + { + this.mSysGameObjectListDic.Clear(); + } + + public void SetSysRedpointState(int sys, bool redpoint, bool immediately = false) + { + bool flag = true; + bool flag3; + bool flag2 = this.mSysRedpointStateDic.TryGetValue(sys, out flag3); + if (flag2) + { + flag = (flag3 != redpoint); + } + this.mSysRedpointStateDic[sys] = redpoint; + bool flag4 = flag; + if (flag4) + { + if (immediately) + { + this._RefreshSysRedpointUI(sys, redpoint); + this._RecalculateRedPointParentStates(sys, immediately); + } + else + { + this.mDirtySysList.Add(sys); + } + } + } + + public override void RefreshAllSysRedpoints() + { + foreach (int sys in this.mDirtySysList) + { + this._RefreshSysRedpointUI(sys, base._GetSysRedpointState(sys)); + } + this.mDirtySysList.Clear(); + } + + public override void RecalculateRedPointSelfState(int sys, bool bImmUpdateUI = true) + { + bool flag = false; + int[] array = null; + bool flag2 = this.mParentChildRelationDic.TryGetValue(sys, out array); + if (flag2) + { + int num = 0; + while (num < array.Length && array[num] == 0 && !flag) + { + flag = (flag || base._GetSysRedpointState(array[num])); + num++; + } + } + bool flag3 = flag != base._GetSysRedpointState(sys); + if (flag3) + { + this.mSysRedpointStateDic[sys] = flag; + if (bImmUpdateUI) + { + this._RefreshSysRedpointUI(sys, flag); + } + else + { + this.mDirtySysList.Add(sys); + } + } + } + + protected void _RecalculateRedPointParentStates(int child, bool bImmUpdateUI = true) + { + bool flag = base._GetSysRedpointState(child); + bool flag2 = flag; + if (flag2) + { + int[] array = null; + bool flag3 = this.mChildParentRelationDic.TryGetValue(child, out array); + if (flag3) + { + int num = 0; + while (num < array.Length && array[num] != 0) + { + this.SetSysRedpointState(array[num], true, bImmUpdateUI); + num++; + } + } + } + } + + protected override void _RefreshSysRedpointUI(int sys, bool redpoint) + { + bool flag = redpoint; + if (flag) + { + bool flag2 = this.mForbidHashSet.Contains(sys); + if (flag2) + { + redpoint = false; + } + } + XRedpointMgr.stRedpointGameObject[] array = null; + bool flag3 = this.mSysGameObjectListDic.TryGetValue(sys, out array); + if (flag3) + { + int num = 0; + while (num < array.Length && null != array[num].go) + { + bool flag4 = array[num].callback == null; + if (flag4) + { + array[num].go.SetActive(redpoint); + } + else + { + array[num].callback(array[num].go); + } + num++; + } + } + this.mDirtySysList.Remove(sys); + } + + protected bool _InsertObject(ref XRedpointMgr.stRedpointGameObject[] array, GameObject go, SetRedpointUIHandler callback) + { + for (int i = 0; i < array.Length; i++) + { + bool flag = null == array[i].go || array[i].go == go; + if (flag) + { + array[i].go = go; + array[i].callback = callback; + return false; + } + } + XRedpointMgr.stRedpointGameObject[] array2 = new XRedpointMgr.stRedpointGameObject[array.Length << 1]; + array.CopyTo(array2, 0); + array2[array.Length].go = go; + array2[array.Length].callback = callback; + array = array2; + return true; + } + + protected void _DeleteObject(ref XRedpointMgr.stRedpointGameObject[] array, GameObject parent) + { + for (int i = 0; i < array.Length; i++) + { + bool flag = array[i].go == parent; + if (flag) + { + XRedpointMgr.stRedpointGameObject stRedpointGameObject = default(XRedpointMgr.stRedpointGameObject); + bool flag2 = i + 1 < array.Length; + if (flag2) + { + for (int j = array.Length - 1; j > i; j--) + { + bool flag3 = null != array[j].go; + if (flag3) + { + stRedpointGameObject = array[j]; + array[j] = default(XRedpointMgr.stRedpointGameObject); + break; + } + } + } + array[i] = stRedpointGameObject; + } + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/XRedpointMgr.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/XRedpointMgr.cs.meta new file mode 100644 index 00000000..f67bc379 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XRedpointMgr.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 426878a6ba0733d4bbb035d672887018 +timeCreated: 1611465635 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/XRedpointRelationMgr.cs b/Client/Assets/Scripts/XUtliPoolLib/XRedpointRelationMgr.cs new file mode 100644 index 00000000..3945ef82 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XRedpointRelationMgr.cs @@ -0,0 +1,279 @@ +using System; +using System.Collections.Generic; + +namespace XUtliPoolLib +{ + public abstract class XRedpointRelationMgr : XRedpointDirtyMgr, IXRedpointRelationMgr + { + public const int BASE_ARRAY_LENGTH = 4; + + public const int NULL_ID = 0; + + protected Dictionary mChildParentRelationDic = new Dictionary(); + + protected Dictionary mParentChildRelationDic = new Dictionary(); + + public void AddRelation(int child, int parent, bool bImmUpdateUI = false) + { + bool flag = child == 0; + if (!flag) + { + bool flag2 = parent == 0; + if (!flag2) + { + int[] array = null; + bool flag3 = this.mChildParentRelationDic.TryGetValue(child, out array); + if (flag3) + { + bool flag4 = this._InsertValue(ref array, parent); + if (flag4) + { + this.mChildParentRelationDic[child] = array; + } + } + else + { + array = new int[4]; + array[0] = parent; + this.mChildParentRelationDic[child] = array; + } + int[] array2 = null; + bool flag5 = this.mParentChildRelationDic.TryGetValue(parent, out array2); + if (flag5) + { + bool flag6 = this._InsertValue(ref array2, child); + if (flag6) + { + this.mParentChildRelationDic[parent] = array2; + } + } + else + { + array2 = new int[4]; + array2[0] = child; + this.mParentChildRelationDic[parent] = array2; + } + this.RecalculateRedPointSelfState(parent, bImmUpdateUI); + } + } + } + + public void AddRelations(int child, int[] parents, bool bImmUpdateUI = false) + { + bool flag = child == 0; + if (!flag) + { + bool flag2 = parents == null || parents.Length == 0; + if (!flag2) + { + int[] value = null; + bool flag3 = this.mChildParentRelationDic.TryGetValue(child, out value); + if (!flag3) + { + value = new int[4]; + this.mChildParentRelationDic[child] = value; + } + for (int i = 0; i < parents.Length; i++) + { + bool flag4 = parents[i] != 0; + if (flag4) + { + bool flag5 = this._InsertValue(ref value, parents[i]); + if (flag5) + { + this.mChildParentRelationDic[child] = value; + } + int[] array = null; + bool flag6 = this.mParentChildRelationDic.TryGetValue(parents[i], out array); + if (flag6) + { + bool flag7 = this._InsertValue(ref array, child); + if (flag7) + { + this.mParentChildRelationDic[parents[i]] = array; + } + } + else + { + array = new int[4]; + array[0] = child; + this.mParentChildRelationDic[parents[i]] = array; + } + this.RecalculateRedPointSelfState(parents[i], bImmUpdateUI); + } + } + } + } + } + + public void RemoveRelation(int child, int parent, bool bImmUpdateUI = false) + { + bool flag = child == 0; + if (!flag) + { + bool flag2 = parent == 0; + if (!flag2) + { + int[] array = null; + bool flag3 = this.mChildParentRelationDic.TryGetValue(child, out array); + if (flag3) + { + this._DeleteValue(ref array, parent); + bool flag4 = array[0] == 0; + if (flag4) + { + this.mChildParentRelationDic.Remove(child); + } + } + int[] array2 = null; + bool flag5 = this.mParentChildRelationDic.TryGetValue(parent, out array2); + if (flag5) + { + this._DeleteValue(ref array2, child); + bool flag6 = array2[0] == 0; + if (flag6) + { + this.mParentChildRelationDic.Remove(parent); + } + } + this.RecalculateRedPointSelfState(parent, bImmUpdateUI); + } + } + } + + public void RemoveRelations(int child, int[] parents, bool bImmUpdateUI = false) + { + bool flag = child == 0; + if (!flag) + { + bool flag2 = parents == null || parents.Length == 0; + if (!flag2) + { + int[] array = null; + bool flag3 = this.mChildParentRelationDic.TryGetValue(child, out array); + if (flag3) + { + for (int i = 0; i < parents.Length; i++) + { + bool flag4 = parents[i] != 0; + if (flag4) + { + this._DeleteValue(ref array, parents[i]); + bool flag5 = array[0] == 0; + if (flag5) + { + this.mChildParentRelationDic.Remove(child); + } + int[] array2 = null; + bool flag6 = this.mParentChildRelationDic.TryGetValue(parents[i], out array2); + if (flag6) + { + this._DeleteValue(ref array2, child); + bool flag7 = array2[0] == 0; + if (flag7) + { + this.mParentChildRelationDic.Remove(parents[i]); + } + } + this.RecalculateRedPointSelfState(parents[i], bImmUpdateUI); + } + } + } + } + } + } + + public void RemoveAllRelations(int child, bool bImmUpdateUI = false) + { + bool flag = child == 0; + if (!flag) + { + int[] array = null; + bool flag2 = this.mChildParentRelationDic.TryGetValue(child, out array); + if (flag2) + { + for (int i = 0; i < array.Length; i++) + { + int[] array2 = null; + bool flag3 = this.mParentChildRelationDic.TryGetValue(array[i], out array2); + if (flag3) + { + this._DeleteValue(ref array2, child); + bool flag4 = array2[0] == 0; + if (flag4) + { + this.mParentChildRelationDic.Remove(array[i]); + } + } + this.RecalculateRedPointSelfState(array[i], bImmUpdateUI); + } + this.mChildParentRelationDic.Remove(child); + } + } + } + + public void ClearAllRelations(bool bImmUpdateUI = false) + { + foreach (int item in this.mParentChildRelationDic.Keys) + { + this.mDirtySysList.Add(item); + } + foreach (int key in this.mParentChildRelationDic.Keys) + { + this.mSysRedpointStateDic[key] = false; + } + this.mChildParentRelationDic.Clear(); + this.mParentChildRelationDic.Clear(); + if (bImmUpdateUI) + { + this.RefreshAllSysRedpoints(); + } + } + + protected bool _InsertValue(ref int[] array, int value) + { + for (int i = 0; i < array.Length; i++) + { + bool flag = array[i] == 0 || value == array[i]; + if (flag) + { + array[i] = value; + return false; + } + } + int[] array2 = new int[array.Length << 1]; + array.CopyTo(array2, 0); + array2[array.Length] = value; + array = array2; + return true; + } + + protected void _DeleteValue(ref int[] array, int parent) + { + for (int i = 0; i < array.Length; i++) + { + bool flag = array[i] == parent; + if (flag) + { + int num = 0; + bool flag2 = i + 1 < array.Length; + if (flag2) + { + for (int j = array.Length - 1; j > i; j--) + { + bool flag3 = array[j] != 0; + if (flag3) + { + num = array[j]; + array[j] = 0; + break; + } + } + } + array[i] = num; + break; + } + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/XRedpointRelationMgr.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/XRedpointRelationMgr.cs.meta new file mode 100644 index 00000000..25ab187f --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XRedpointRelationMgr.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: c03af3cd7bd01e84d86776415bb78a1f +timeCreated: 1611465752 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/XResourceLoaderMgr.cs b/Client/Assets/Scripts/XUtliPoolLib/XResourceLoaderMgr.cs new file mode 100644 index 00000000..60573975 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XResourceLoaderMgr.cs @@ -0,0 +1,2151 @@ +using System; +using System.Collections.Generic; +using System.IO; +using System.Xml.Serialization; +using UnityEngine; +using XUpdater; + +namespace XUtliPoolLib +{ + public sealed class XResourceLoaderMgr : XSingleton + { + public static uint Preload = 1u; + + public static uint SharedResource = 2u; + + public static uint DontDestroyAsset = 4u; + + public static uint Degeneration = 8u; + + public static readonly Vector3 Far_Far_Away = new Vector3(0f, -1000f, 0f); + + public bool useNewMgr = false; + + public bool dontDestroy = false; + + private Dictionary _bundle_pool = new Dictionary(); + + private Dictionary _asset_ref_count = new Dictionary(); + + private Dictionary> _object_pool = new Dictionary>(); + + private Dictionary _asset_pool = new Dictionary(); + + private Dictionary _script_pool = new Dictionary(); + + private Dictionary _reverse_map = new Dictionary(); + + private Dictionary m_assetPool = new Dictionary(); + + private Dictionary m_instanceIDAssetMap = new Dictionary(); + + private Queue m_objInfoPool = new Queue(); + + private XResourceLoaderMgr.UniteObjectInfo m_degenerationQueue = null; + + private XResourceLoaderMgr.UniteObjectInfo m_currentDegeneration = null; + + private List m_curveData = null; + + public static bool UseCurveTable = false; + + private BeforeUnityUnLoadResource m_BeforeUnityUnLoadResourceCb = null; + + private XmlSerializer[] xmlSerializerCache = new XmlSerializer[2]; + + private MemoryStream shareMemoryStream = new MemoryStream(8192); + + private List _async_task_list = new List(); + + private List delayUpdateList = new List(); + + public static double delayTime = 0.5; + + private double currentDelayTime = -1.0; + + public bool DelayLoad = false; + + public bool isCurrentLoading = false; + + public float maxLoadThresholdTime = 0.1f; + + public static int resourceLoadCount = 0; + + public static int abLoadCount = 0; + + public static int instanceCount = 0; + + private uint _prefixHash = 0u; + + public class UniteObjectInfo + { + public bool HasPreload + { + get + { + return (this.m_flag & XResourceLoaderMgr.Preload) > 0u; + } + set + { + if (value) + { + this.m_flag |= XResourceLoaderMgr.Preload; + } + else + { + this.m_flag &= ~XResourceLoaderMgr.Preload; + } + } + } + + public bool IsSharedResource + { + get + { + return (this.m_flag & XResourceLoaderMgr.SharedResource) > 0u; + } + set + { + if (value) + { + this.m_flag |= XResourceLoaderMgr.SharedResource; + } + else + { + this.m_flag &= ~XResourceLoaderMgr.SharedResource; + } + } + } + + public bool IsDontDestroyAsset + { + get + { + return (this.m_flag & XResourceLoaderMgr.DontDestroyAsset) > 0u; + } + set + { + if (value) + { + this.m_flag |= XResourceLoaderMgr.DontDestroyAsset; + } + else + { + this.m_flag &= ~XResourceLoaderMgr.DontDestroyAsset; + } + } + } + + public bool IsDegeneration + { + get + { + return (this.m_flag & XResourceLoaderMgr.Degeneration) > 0u; + } + set + { + if (value) + { + this.m_flag |= XResourceLoaderMgr.Degeneration; + } + else + { + this.m_flag &= ~XResourceLoaderMgr.Degeneration; + } + } + } + + public uint hashID = 0u; + + public UnityEngine.Object asset = null; + + public int refCount = 0; + + public AssetBundleInfo assetBundleInfo = null; + + public Queue objPool = null; + + public string loc = ""; + + private uint m_flag = 0u; + + public XResourceLoaderMgr.UniteObjectInfo next = null; + + public float degenerationTime = 0f; + + private void InitAB(string location, string suffix) + { + bool flag = XSingleton.singleton.ABManager != null; + if (flag) + { + this.assetBundleInfo = XSingleton.singleton.ABManager.LoadImm(this.hashID, location, suffix, null); + } + } + + public bool Init(string location, string suffix, uint hash, bool isSharedResource, Type t, bool canNotNull) + { + this.loc = location; + this.IsSharedResource = isSharedResource; + this.hashID = hash; + this.InitAB(location, suffix); + bool flag = this.assetBundleInfo != null; + if (flag) + { + this.asset = this.assetBundleInfo.mainObject; + } + else + { + this.asset = Resources.Load(location, t); + } + bool flag2 = this.asset == null && canNotNull; + bool result; + if (flag2) + { + XResourceLoaderMgr.LoadErrorLog(location); + result = false; + } + else + { + result = canNotNull; + } + return result; + } + + public bool InitAnim(string location, string suffix, uint hash) + { + this.loc = location; + this.IsSharedResource = true; + this.hashID = hash; + this.InitAB(location, suffix); + float length = 0f; + bool flag = this.assetBundleInfo != null; + AnimationClip animationClip; + if (flag) + { + animationClip = (this.assetBundleInfo.mainObject as AnimationClip); + bool flag2 = animationClip != null; + if (flag2) + { + length = animationClip.length; + } + } + else + { + animationClip = Resources.Load(location); + bool flag3 = animationClip != null; + if (flag3) + { + length = animationClip.length; + } + } + bool flag4 = animationClip == null; + bool result; + if (flag4) + { + XResourceLoaderMgr.LoadErrorLog(location); + result = false; + } + else + { + XAnimationClip xanimationClip = XAnimationPool.Get(); + xanimationClip.clip = animationClip; + xanimationClip.length = length; + this.asset = xanimationClip; + result = true; + } + return result; + } + + public bool InitAsync(string location, uint hash, UnityEngine.Object asyncAsset, AssetBundleInfo info, bool isSharedResource, bool showLog) + { + this.loc = location; + this.IsSharedResource = isSharedResource; + this.hashID = hash; + this.assetBundleInfo = info; + bool flag = this.assetBundleInfo != null; + if (flag) + { + this.asset = this.assetBundleInfo.mainObject; + } + else + { + this.asset = asyncAsset; + } + bool flag2 = this.asset is AnimationClip; + if (flag2) + { + float length = 0f; + bool flag3 = this.assetBundleInfo != null; + AnimationClip animationClip; + if (flag3) + { + animationClip = (this.assetBundleInfo.mainObject as AnimationClip); + bool flag4 = animationClip != null; + if (flag4) + { + length = animationClip.length; + } + } + else + { + animationClip = (asyncAsset as AnimationClip); + bool flag5 = animationClip != null; + if (flag5) + { + length = animationClip.length; + } + } + bool flag6 = animationClip != null; + if (flag6) + { + XAnimationClip xanimationClip = XAnimationPool.Get(); + xanimationClip.clip = animationClip; + xanimationClip.length = length; + this.asset = xanimationClip; + } + } + bool flag7 = this.asset == null && showLog; + bool result; + if (flag7) + { + XResourceLoaderMgr.LoadErrorLog(location); + result = false; + } + else + { + result = true; + } + return result; + } + + public UnityEngine.Object Get(bool useObjPool, bool preload = false) + { + UnityEngine.Object @object = null; + this.IsDegeneration = false; + if (preload) + { + this.HasPreload = true; + } + bool isSharedResource = this.IsSharedResource; + if (isSharedResource) + { + @object = this.asset; + } + else + { + bool flag = useObjPool && this.objPool != null && this.objPool.Count > 0; + if (flag) + { + @object = this.objPool.Dequeue(); + } + else + { + bool flag2 = this.asset != null; + if (flag2) + { + @object = XCommon.Instantiate(this.asset); + } + else + { + XSingleton.singleton.AddErrorLog("null asset when instantiate asset", null, null, null, null, null); + } + } + } + bool flag3 = @object != null; + if (flag3) + { + this.refCount++; + bool flag4 = this.assetBundleInfo != null && this.refCount == 1; + if (flag4) + { + this.assetBundleInfo.Retain(); + } + } + return @object; + } + + public bool Return(UnityEngine.Object obj, bool useObjPool) + { + this.refCount--; + bool flag = this.asset != null && this.refCount <= 0; + bool result; + if (flag) + { + bool flag2 = !this.IsSharedResource; + if (flag2) + { + bool flag3 = this.objPool == null; + if (flag3) + { + this.objPool = QueuePool.Get(); + } + this.objPool.Enqueue(obj); + } + this.IsDegeneration = true; + this.degenerationTime = 0f; + result = true; + } + else + { + bool flag4 = !this.IsSharedResource && obj != null; + if (flag4) + { + if (useObjPool) + { + bool flag5 = obj is GameObject; + if (flag5) + { + GameObject gameObject = obj as GameObject; + gameObject.transform.position = XResourceLoaderMgr.Far_Far_Away; + gameObject.transform.rotation = Quaternion.identity; + gameObject.transform.parent = null; + } + bool flag6 = this.objPool == null; + if (flag6) + { + this.objPool = QueuePool.Get(); + } + this.objPool.Enqueue(obj); + } + else + { + bool flag7 = XResourceLoaderMgr.UniteObjectInfo.CanDestroy(obj); + if (flag7) + { + UnityEngine.Object.Destroy(obj); + } + } + } + result = false; + } + return result; + } + + public void Clear() + { + bool flag = this.objPool != null; + if (flag) + { + while (this.objPool.Count > 0) + { + UnityEngine.Object @object = this.objPool.Dequeue(); + UnityEngine.Object.Destroy(@object); + } + QueuePool.Release(this.objPool); + this.objPool = null; + } + bool flag2 = this.assetBundleInfo != null; + if (flag2) + { + this.assetBundleInfo.Release(); + } + else + { + bool flag3 = !XResourceLoaderMgr.UniteObjectInfo.CanDestroy(this.asset); + if (flag3) + { + Resources.UnloadAsset(this.asset); + } + else + { + bool flag4 = this.asset is XAnimationClip; + if (flag4) + { + XAnimationClip xanimationClip = this.asset as XAnimationClip; + bool flag5 = xanimationClip.clip != null; + if (flag5) + { + Resources.UnloadAsset(xanimationClip.clip); + } + XAnimationPool.Release(xanimationClip); + } + } + } + this.loc = ""; + this.hashID = 0u; + this.asset = null; + this.refCount = 0; + this.next = null; + this.degenerationTime = 0f; + this.IsDegeneration = false; + this.assetBundleInfo = null; + } + + public void ClearPool() + { + bool flag = this.objPool != null; + if (flag) + { + while (this.objPool.Count > 0) + { + UnityEngine.Object @object = this.objPool.Dequeue(); + UnityEngine.Object.Destroy(@object); + } + QueuePool.Release(this.objPool); + this.objPool = null; + } + } + + public static bool CanDestroy(UnityEngine.Object obj) + { + return obj is GameObject || obj is ScriptableObject || obj is Material; + } + } + + public XResourceLoaderMgr() + { + this.xmlSerializerCache[0] = new XmlSerializer(typeof(XSkillData)); + this.xmlSerializerCache[1] = new XmlSerializer(typeof(XCutSceneData)); + this._prefixHash = XSingleton.singleton.XHashLowerRelpaceDot(this._prefixHash, "Assets.Resources."); + } + + public void LoadServerCurve(string location) + { + TextAsset sharedResource = this.GetSharedResource(location, ".bytes", true, false); + bool flag = sharedResource == null || sharedResource.bytes == null; + if (flag) + { + XResourceLoaderMgr.LoadErrorLog(location); + } + XBinaryReader xbinaryReader = XBinaryReader.Get(); + xbinaryReader.Init(sharedResource); + int num = xbinaryReader.ReadInt32(); + XSingleton.singleton.AddLog("loadServerCurve" + num, null, null, null, null, null, XDebugColor.XDebug_None); + this.m_curveData = new List(num); + for (int i = 0; i < num; i++) + { + FloatCurve floatCurve = new FloatCurve(); + floatCurve.namehash = xbinaryReader.ReadUInt32(); + floatCurve.maxValue = xbinaryReader.ReadInt16(); + floatCurve.landValue = xbinaryReader.ReadInt16(); + int num2 = xbinaryReader.ReadInt32(); + bool flag2 = num2 > 0; + if (flag2) + { + floatCurve.value = new short[num2]; + for (int j = 0; j < num2; j++) + { + floatCurve.value[j] = xbinaryReader.ReadInt16(); + } + } + this.m_curveData.Add(floatCurve); + } + XBinaryReader.Return(xbinaryReader, false); + this.UnSafeDestroyShareResource(location, ".bytes", sharedResource, false); + } + + public void ReleasePool() + { + bool flag = this.useNewMgr; + if (flag) + { + foreach (KeyValuePair keyValuePair in this.m_assetPool) + { + XResourceLoaderMgr.UniteObjectInfo value = keyValuePair.Value; + bool flag2 = value.asset != null; + if (flag2) + { + bool flag3 = !value.IsDontDestroyAsset && !value.IsDegeneration; + if (flag3) + { + keyValuePair.Value.ClearPool(); + bool flag4 = value.HasPreload && value.refCount == 0; + if (flag4) + { + value.IsDegeneration = true; + value.degenerationTime = 2f; + bool flag5 = this.m_degenerationQueue == null; + if (flag5) + { + this.m_degenerationQueue = value; + this.m_currentDegeneration = value; + } + else + { + bool flag6 = this.m_currentDegeneration != null; + if (flag6) + { + this.m_currentDegeneration.next = value; + this.m_currentDegeneration = value; + } + } + bool flag7 = value.asset != null; + if (flag7) + { + this.m_instanceIDAssetMap.Remove(value.asset.GetInstanceID()); + } + } + else + { + XSingleton.singleton.AddWarningLog2("Asset Not Release:{0} Ref:{1}", new object[] + { + value.loc, + value.refCount + }); + } + } + } + else + { + XSingleton.singleton.AddWarningLog2("Asset null:{0} Ref:{1}", new object[] + { + value.loc, + value.refCount + }); + } + } + this.DelayDestroy(0f, true); + } + else + { + foreach (KeyValuePair> keyValuePair2 in this._object_pool) + { + while (keyValuePair2.Value.Count > 0) + { + this.UnSafeDestroy(keyValuePair2.Value.Dequeue(), false, true); + } + } + this._object_pool.Clear(); + this._asset_pool.Clear(); + this._script_pool.Clear(); + List list = new List(this._asset_ref_count.Keys); + for (int i = 0; i < list.Count; i++) + { + this._asset_ref_count[list[i]] = 0; + } + foreach (KeyValuePair keyValuePair3 in this._bundle_pool) + { + keyValuePair3.Value.Release(); + } + this._bundle_pool.Clear(); + } + XSingleton.singleton.AddWarningLog2("ResourceLoad:{0} ABLoad:{1} Instance:{2}", new object[] + { + XResourceLoaderMgr.resourceLoadCount, + XResourceLoaderMgr.abLoadCount, + XResourceLoaderMgr.instanceCount + }); + XResourceLoaderMgr.resourceLoadCount = 0; + XResourceLoaderMgr.abLoadCount = 0; + XResourceLoaderMgr.instanceCount = 0; + this.isCurrentLoading = false; + for (int j = 0; j < this._async_task_list.Count; j++) + { + this._async_task_list[j].Clear(); + } + this._async_task_list.Clear(); + this.shareMemoryStream.Close(); + this.shareMemoryStream = new MemoryStream(8192); + XSingleton.singleton.Clear(); + this.delayUpdateList.Clear(); + } + + public void DebugPrint() + { + foreach (KeyValuePair keyValuePair in this.m_assetPool) + { + XResourceLoaderMgr.UniteObjectInfo value = keyValuePair.Value; + bool flag = value.asset != null; + if (flag) + { + bool flag2 = !value.IsDontDestroyAsset; + if (flag2) + { + XSingleton.singleton.AddWarningLog2("Asset Not Release:{0} Ref:{1}", new object[] + { + value.loc, + value.refCount + }); + } + } + else + { + XSingleton.singleton.AddWarningLog2("Asset null:{0} Ref:{1}", new object[] + { + value.loc, + value.refCount + }); + } + } + } + + public void SetUnloadCallback(BeforeUnityUnLoadResource cb) + { + this.m_BeforeUnityUnLoadResourceCb = cb; + } + + public void CallUnloadCallback() + { + bool flag = this.m_BeforeUnityUnLoadResourceCb != null; + if (flag) + { + this.m_BeforeUnityUnLoadResourceCb(); + } + } + + private uint Hash(string location, string ext) + { + uint hash = XSingleton.singleton.XHashLowerRelpaceDot(this._prefixHash, location); + return XSingleton.singleton.XHashLowerRelpaceDot(hash, ext); + } + + public Stream ReadText(string location, string suffix, bool error = true) + { + TextAsset sharedResource = this.GetSharedResource(location, suffix, error, false); + bool flag = sharedResource == null; + if (flag) + { + if (!error) + { + return null; + } + XResourceLoaderMgr.LoadErrorLog(location); + } + Stream result; + try + { + this.shareMemoryStream.SetLength(0L); + this.shareMemoryStream.Write(sharedResource.bytes, 0, sharedResource.bytes.Length); + this.shareMemoryStream.Seek(0L, SeekOrigin.Begin); + result = this.shareMemoryStream; + } + catch (Exception ex) + { + XSingleton.singleton.AddErrorLog(ex.Message, location, null, null, null, null); + result = this.shareMemoryStream; + } + finally + { + this.UnSafeDestroyShareResource(location, suffix, sharedResource, false); + } + return result; + } + + public void ClearStream(Stream s) + { + bool flag = s != null; + if (flag) + { + bool flag2 = s == this.shareMemoryStream; + if (flag2) + { + this.shareMemoryStream.SetLength(0L); + } + else + { + s.Close(); + } + } + } + + public XBinaryReader ReadBinary(string location, string suffix, bool readShareResource, bool error = true) + { + TextAsset sharedResource = this.GetSharedResource(location, suffix, error, false); + bool flag = sharedResource == null; + if (flag) + { + if (!error) + { + return null; + } + XResourceLoaderMgr.LoadErrorLog(location); + } + XBinaryReader result; + try + { + XBinaryReader xbinaryReader = XBinaryReader.Get(); + xbinaryReader.Init(sharedResource); + this.UnSafeDestroyShareResource(location, suffix, sharedResource, false); + result = xbinaryReader; + } + catch (Exception ex) + { + XSingleton.singleton.AddErrorLog(ex.Message, location, null, null, null, null); + result = null; + } + return result; + } + + public void ClearBinary(XBinaryReader reader, bool readShareResource) + { + bool flag = reader != null; + if (flag) + { + XBinaryReader.Return(reader, readShareResource); + } + } + + public bool ReadText(string location, string suffix, XBinaryReader stream, bool error = true) + { + bool flag = true; + TextAsset sharedResource = this.GetSharedResource(location, suffix, error, false); + bool flag2 = sharedResource == null; + bool result; + if (flag2) + { + if (error) + { + XResourceLoaderMgr.LoadErrorLog(location); + } + result = false; + } + else + { + stream.Init(sharedResource); + this.UnSafeDestroyShareResource(location, suffix, sharedResource, false); + result = flag; + } + return result; + } + + public TextAsset ReadLuaBytes(string filename_without_ext) + { + string location = "lua/Hotfix/" + filename_without_ext; + TextAsset sharedResource = this.GetSharedResource(location, ".txt", false, false); + bool flag = sharedResource == null; + TextAsset result; + if (flag) + { + result = null; + } + else + { + result = sharedResource; + } + return result; + } + + public void ReleaseLuaBytes(string filename_without_ext, TextAsset data) + { + string location = "lua/Hotfix/" + filename_without_ext; + this.UnSafeDestroyShareResource(location, ".txt", data, false); + } + + public bool ReadFile(string location, CVSReader reader) + { + TextAsset textAsset = null; + textAsset = this.GetSharedResource(location, ".bytes", true, false); + bool flag = textAsset == null || textAsset.bytes == null; + if (flag) + { + XResourceLoaderMgr.LoadErrorLog(location); + } + bool flag2 = true; + XBinaryReader xbinaryReader = XBinaryReader.Get(); + xbinaryReader.Init(textAsset); + try + { + flag2 = reader.ReadFile(xbinaryReader); + bool flag3 = !flag2; + if (flag3) + { + XSingleton.singleton.AddErrorLog("in File: ", location, reader.error, null, null, null); + } + } + catch (Exception ex) + { + XSingleton.singleton.AddErrorLog(ex.Message, " in File: ", location, reader.error, null, null); + flag2 = false; + } + finally + { + XBinaryReader.Return(xbinaryReader, false); + } + this.UnSafeDestroyShareResource(location, ".bytes", textAsset, false); + return flag2; + } + + public bool ReadFile(TextAsset data, CVSReader reader) + { + bool flag = data == null || reader == null; + bool result; + if (flag) + { + result = false; + } + else + { + XBinaryReader xbinaryReader = XBinaryReader.Get(); + xbinaryReader.Init(data); + bool flag2 = true; + try + { + flag2 = reader.ReadFile(xbinaryReader); + return flag2; + } + catch (Exception ex) + { + XSingleton.singleton.AddErrorLog("ReadFile: ", ex.Message, null, null, null, null); + flag2 = false; + } + finally + { + XBinaryReader.Return(xbinaryReader, false); + } + result = flag2; + } + return result; + } + + public void CreateInAdvance(string location, int num, ECreateHideType hideType) + { + bool flag = location == null || location.Length == 0; + if (!flag) + { + uint num2 = this.Hash(location, ".prefab"); + int num3 = 0; + bool flag2 = this.useNewMgr; + if (flag2) + { + XResourceLoaderMgr.UniteObjectInfo uniteObjectInfo = null; + bool flag3 = this.m_assetPool.TryGetValue(num2, out uniteObjectInfo); + if (flag3) + { + bool flag4 = uniteObjectInfo.objPool != null; + if (flag4) + { + num3 = uniteObjectInfo.objPool.Count; + } + } + else + { + uniteObjectInfo = this.GetObjectInfo(); + uniteObjectInfo.Init(location, ".prefab", num2, false, typeof(GameObject), true); + this.m_assetPool.Add(num2, uniteObjectInfo); + } + bool flag5 = uniteObjectInfo.objPool == null; + if (flag5) + { + uniteObjectInfo.objPool = QueuePool.Get(); + } + for (int i = 0; i < num - num3; i++) + { + bool flag6 = uniteObjectInfo.asset != null; + if (flag6) + { + GameObject gameObject = XCommon.Instantiate(uniteObjectInfo.asset) as GameObject; + bool flag7 = gameObject != null; + if (flag7) + { + uniteObjectInfo.objPool.Enqueue(gameObject); + switch (hideType) + { + case ECreateHideType.DisableObject: + gameObject.SetActive(false); + break; + case ECreateHideType.DisableAnim: + { + Animator componentInChildren = gameObject.GetComponentInChildren(); + bool flag8 = componentInChildren != null; + if (flag8) + { + componentInChildren.enabled = false; + } + break; + } + case ECreateHideType.DisableParticleRenderer: + XSingleton.singleton.EnableParticleRenderer(gameObject, false); + break; + } + } + } + } + } + else + { + bool flag9 = this._object_pool.ContainsKey(num2); + if (flag9) + { + Queue queue = this._object_pool[num2]; + num3 = queue.Count; + } + for (int j = 0; j < num - num3; j++) + { + UnityEngine.Object @object = this.CreateFromPrefab(location, false, false); + this.AddToObjectPool(num2, @object); + GameObject gameObject2 = @object as GameObject; + bool flag10 = gameObject2 != null; + if (flag10) + { + switch (hideType) + { + case ECreateHideType.DisableObject: + gameObject2.SetActive(false); + break; + case ECreateHideType.DisableAnim: + { + Animator componentInChildren2 = gameObject2.GetComponentInChildren(); + bool flag11 = componentInChildren2 != null; + if (flag11) + { + componentInChildren2.enabled = false; + } + break; + } + case ECreateHideType.DisableParticleRenderer: + XSingleton.singleton.EnableParticleRenderer(gameObject2, false); + break; + } + } + } + } + } + } + + public XResourceLoaderMgr.UniteObjectInfo GetUOI(uint hash, out UnityEngine.Object obj, bool useObjPool) + { + XResourceLoaderMgr.UniteObjectInfo uniteObjectInfo = null; + obj = null; + bool flag = this.m_assetPool.TryGetValue(hash, out uniteObjectInfo); + XResourceLoaderMgr.UniteObjectInfo result; + if (flag) + { + obj = uniteObjectInfo.Get(useObjPool, false); + result = uniteObjectInfo; + } + else + { + result = null; + } + return result; + } + + public bool GetUOIAsync(string location, uint hash, UnityEngine.Object asset, AssetBundleInfo info, bool isSharedResource, out XResourceLoaderMgr.UniteObjectInfo uoi) + { + uoi = null; + bool flag = this.m_assetPool.TryGetValue(hash, out uoi); + bool result; + if (flag) + { + XSingleton.singleton.AddWarningLog2("LoadAsync asset:{0},already loaded.", new object[] + { + location + }); + bool flag2 = asset != uoi.asset; + if (flag2) + { + XSingleton.singleton.AddErrorLog("not same asset at same path.", null, null, null, null, null); + } + result = false; + } + else + { + uoi = this.GetObjectInfo(); + bool flag3 = uoi.InitAsync(location, hash, asset, info, isSharedResource, true); + bool flag4 = isSharedResource && uoi.asset != null; + if (flag4) + { + int instanceID = uoi.asset.GetInstanceID(); + bool flag5 = this.m_instanceIDAssetMap.ContainsKey(instanceID); + if (flag5) + { + XSingleton.singleton.AddErrorLog2("same key already exists in the dictionary:{0}", new object[] + { + uoi.asset.name + }); + } + else + { + this.m_instanceIDAssetMap[instanceID] = uoi; + } + } + this.m_assetPool.Add(hash, uoi); + result = flag3; + } + return result; + } + + public UnityEngine.Object GetUOI(XResourceLoaderMgr.UniteObjectInfo uoi, bool isSharedResource, bool useObjPool) + { + UnityEngine.Object @object = uoi.Get(useObjPool, false); + bool flag = !isSharedResource; + if (flag) + { + int instanceID = @object.GetInstanceID(); + bool flag2 = this.m_instanceIDAssetMap.ContainsKey(instanceID); + if (flag2) + { + XSingleton.singleton.AddErrorLog2("same key already exists in the dictionary:{0}", new object[] + { + @object.name + }); + } + else + { + this.m_instanceIDAssetMap.Add(instanceID, uoi); + } + } + return @object; + } + + private void ReturnObject(XResourceLoaderMgr.UniteObjectInfo uoi, UnityEngine.Object obj, int instanceID, bool usePool) + { + bool flag = uoi != null; + if (flag) + { + bool flag2 = uoi.Return(obj, usePool); + if (flag2) + { + bool flag3 = this.m_degenerationQueue == null; + if (flag3) + { + this.m_degenerationQueue = uoi; + this.m_currentDegeneration = uoi; + } + else + { + bool flag4 = this.m_currentDegeneration != null; + if (flag4) + { + this.m_currentDegeneration.next = uoi; + this.m_currentDegeneration = uoi; + } + else + { + this.ReturnObject(uoi); + } + } + this.m_instanceIDAssetMap.Remove(instanceID); + } + else + { + bool flag5 = !uoi.IsSharedResource; + if (flag5) + { + this.m_instanceIDAssetMap.Remove(instanceID); + } + } + } + else + { + bool flag6 = XResourceLoaderMgr.UniteObjectInfo.CanDestroy(obj); + if (flag6) + { + UnityEngine.Object.Destroy(obj); + } + else + { + Resources.UnloadAsset(obj); + } + } + } + + private void ReturnObject(XResourceLoaderMgr.UniteObjectInfo uoi) + { + bool isDegeneration = uoi.IsDegeneration; + if (isDegeneration) + { + this.m_assetPool.Remove(uoi.hashID); + uoi.Clear(); + this.m_objInfoPool.Enqueue(uoi); + } + } + + private XResourceLoaderMgr.UniteObjectInfo GetObjectInfo() + { + bool flag = this.m_objInfoPool.Count > 0; + XResourceLoaderMgr.UniteObjectInfo result; + if (flag) + { + result = this.m_objInfoPool.Dequeue(); + } + else + { + result = new XResourceLoaderMgr.UniteObjectInfo(); + } + return result; + } + + private void PushLoadTask(uint hash, out LoadAsyncTask task) + { + this.isCurrentLoading = true; + LoadAsyncTask loadAsyncTask = null; + int count = this._async_task_list.Count; + int i; + for (i = 0; i < count; i++) + { + LoadAsyncTask loadAsyncTask2 = this._async_task_list[i]; + bool flag = loadAsyncTask2.loadState == EAsyncLoadState.EFree; + if (flag) + { + loadAsyncTask = loadAsyncTask2; + } + else + { + bool flag2 = loadAsyncTask2.hash == hash; + if (flag2) + { + task = loadAsyncTask2; + return; + } + } + } + bool flag3 = loadAsyncTask == null; + if (flag3) + { + for (i++; i < count; i++) + { + LoadAsyncTask loadAsyncTask3 = this._async_task_list[i]; + bool flag4 = loadAsyncTask3.loadState == EAsyncLoadState.EFree; + if (flag4) + { + loadAsyncTask = loadAsyncTask3; + break; + } + } + } + bool flag5 = loadAsyncTask == null; + if (flag5) + { + loadAsyncTask = new LoadAsyncTask(); + this._async_task_list.Add(loadAsyncTask); + } + task = loadAsyncTask; + task.Clear(); + task.loadState = EAsyncLoadState.EPreLoading; + } + + private LoadAsyncTask CreateAsyncTask(string location, string suffix, uint hash, LoadCallBack Cb, object cbOjb, bool sharedRes, bool usePool, Type t) + { + LoadAsyncTask loadAsyncTask; + this.PushLoadTask(hash, out loadAsyncTask); + LoadInfo item; + item.loadCb = Cb; + item.usePool = usePool; + loadAsyncTask.loadType = t; + loadAsyncTask.hash = hash; + loadAsyncTask.location = location; + loadAsyncTask.ext = suffix; + loadAsyncTask.isSharedRes = sharedRes; + loadAsyncTask.cbObj = cbOjb; + loadAsyncTask.loadCbList.Add(item); + return loadAsyncTask; + } + + public GameObject CreateFromPrefab(string location, Vector3 position, Quaternion quaternion, bool usePool = true, bool dontDestroy = false) + { + GameObject gameObject = this.CreateFromPrefab(location, usePool, dontDestroy) as GameObject; + gameObject.transform.position = position; + gameObject.transform.rotation = quaternion; + return gameObject; + } + + public UnityEngine.Object CreateFromPrefab(string location, bool usePool = true, bool dontDestroy = false) + { + return this.CreateFromAsset(location, ".prefab", usePool, dontDestroy); + } + + public T CreateFromAsset(string location, string suffix, bool usePool = true, bool dontDestroy = false) where T : UnityEngine.Object + { + uint num = this.Hash(location, suffix); + bool flag = this.useNewMgr; + T result; + if (flag) + { + UnityEngine.Object @object = null; + XResourceLoaderMgr.UniteObjectInfo uniteObjectInfo = this.GetUOI(num, out @object, usePool); + bool flag2 = uniteObjectInfo == null; + if (flag2) + { + uniteObjectInfo = this.GetObjectInfo(); + bool flag3 = uniteObjectInfo.Init(location, suffix, num, false, typeof(T), true); + if (flag3) + { + @object = uniteObjectInfo.Get(usePool, false); + } + this.m_assetPool.Add(num, uniteObjectInfo); + } + uniteObjectInfo.IsDontDestroyAsset = dontDestroy; + bool flag4 = @object != null; + if (flag4) + { + this.m_instanceIDAssetMap.Add(@object.GetInstanceID(), uniteObjectInfo); + } + result = (@object as T); + } + else + { + float time = Time.time; + UnityEngine.Object object2 = null; + bool flag5 = usePool && this.GetInObjectPool(ref object2, num); + UnityEngine.Object object3; + if (flag5) + { + object3 = object2; + } + else + { + object2 = this.GetAssetInPool(num); + bool flag6 = object2 == null; + if (flag6) + { + AssetBundleInfo assetBundleInfo = null; + bool flag7 = XSingleton.singleton.ABManager != null; + if (flag7) + { + assetBundleInfo = XSingleton.singleton.ABManager.LoadImm(num, location, suffix, null); + } + bool flag8 = assetBundleInfo != null; + if (flag8) + { + object2 = this.CreateFromAssetBundle(location, num, assetBundleInfo, true); + } + else + { + object2 = this.CreateFromAssets(location, num, true); + } + } + object3 = ((object2 != null) ? XCommon.Instantiate(object2) : null); + bool flag9 = object3 != null; + if (flag9) + { + this.AssetsRefRetain(num); + this.LogReverseID(object3, num); + } + bool flag10 = XSingleton.singleton.EnableRecord(); + if (flag10) + { + XSingleton.singleton.AddPoint(num, location, Time.time - time, 0, XDebug.RecordChannel.EResourceLoad); + } + } + result = (object3 as T); + } + return result; + } + + public LoadAsyncTask CreateFromPrefabAsync(string location, LoadCallBack Cb, object cbOjb, bool usePool = true) + { + uint num = this.Hash(location, ".prefab"); + bool flag = this.useNewMgr; + LoadAsyncTask result; + if (flag) + { + UnityEngine.Object obj = null; + XResourceLoaderMgr.UniteObjectInfo uoi = this.GetUOI(num, out obj, usePool); + bool flag2 = uoi != null; + if (flag2) + { + Cb(obj, cbOjb); + result = null; + } + else + { + result = this.CreateAsyncTask(location, ".prefab", num, Cb, cbOjb, false, usePool, typeof(GameObject)); + } + } + else + { + UnityEngine.Object @object = null; + bool flag3 = usePool && this.GetInObjectPool(ref @object, num); + if (flag3) + { + Cb(@object, cbOjb); + result = null; + } + else + { + bool flag4 = !this._asset_pool.TryGetValue(num, out @object); + if (flag4) + { + result = this.CreateAsyncTask(location, ".prefab", num, Cb, cbOjb, false, usePool, typeof(GameObject)); + } + else + { + LoadAsyncTask loadAsyncTask = this.CreateAsyncTask(location, ".prefab", num, Cb, cbOjb, false, usePool, typeof(GameObject)); + loadAsyncTask.asset = @object; + loadAsyncTask.loadState = EAsyncLoadState.EInstance; + result = loadAsyncTask; + } + } + } + return result; + } + + public T GetSharedResource(string location, string suffix, bool canNotNull = true, bool preload = false) where T : UnityEngine.Object + { + uint num = this.Hash(location, suffix); + bool flag = this.useNewMgr; + T result; + if (flag) + { + UnityEngine.Object @object = null; + XResourceLoaderMgr.UniteObjectInfo uniteObjectInfo = this.GetUOI(num, out @object, false); + bool flag2 = uniteObjectInfo == null; + if (flag2) + { + uniteObjectInfo = this.GetObjectInfo(); + uniteObjectInfo.IsDontDestroyAsset = this.dontDestroy; + bool flag3 = uniteObjectInfo.Init(location, suffix, num, true, typeof(T), canNotNull); + if (flag3) + { + @object = uniteObjectInfo.Get(preload, false); + } + else + { + bool flag4 = !canNotNull; + if (flag4) + { + this.m_objInfoPool.Enqueue(uniteObjectInfo); + return default(T); + } + } + this.m_assetPool.Add(num, uniteObjectInfo); + bool flag5 = @object != null; + if (flag5) + { + this.m_instanceIDAssetMap.Add(@object.GetInstanceID(), uniteObjectInfo); + } + } + result = (@object as T); + } + else + { + float time = Time.time; + UnityEngine.Object object2 = this.GetAssetInPool(num); + bool flag6 = object2 == null; + if (flag6) + { + AssetBundleInfo assetBundleInfo = null; + bool flag7 = XSingleton.singleton.ABManager != null; + if (flag7) + { + assetBundleInfo = XSingleton.singleton.ABManager.LoadImm(num, location, suffix, null); + } + bool flag8 = assetBundleInfo != null; + if (flag8) + { + object2 = this.CreateFromAssetBundle(location, num, assetBundleInfo, canNotNull); + } + else + { + object2 = this.CreateFromAssets(location, num, canNotNull); + } + } + bool flag9 = object2 != null; + if (flag9) + { + this.AssetsRefRetain(num); + } + bool flag10 = XSingleton.singleton.EnableRecord(); + if (flag10) + { + XSingleton.singleton.AddPoint(num, location, Time.time - time, 1, XDebug.RecordChannel.EResourceLoad); + } + result = (object2 as T); + } + return result; + } + + public LoadAsyncTask GetShareResourceAsync(string location, string suffix, LoadCallBack Cb, object cbOjb) where T : UnityEngine.Object + { + uint num = this.Hash(location, suffix); + bool flag = this.useNewMgr; + LoadAsyncTask result; + if (flag) + { + UnityEngine.Object obj = null; + XResourceLoaderMgr.UniteObjectInfo uoi = this.GetUOI(num, out obj, false); + bool flag2 = uoi != null; + if (flag2) + { + Cb(obj, cbOjb); + result = null; + } + else + { + result = this.CreateAsyncTask(location, suffix, num, Cb, null, true, false, typeof(T)); + } + } + else + { + UnityEngine.Object obj2 = null; + bool flag3 = this._asset_pool.TryGetValue(num, out obj2); + if (flag3) + { + Cb(obj2, cbOjb); + this.AssetsRefRetain(num); + result = null; + } + else + { + result = this.CreateAsyncTask(location, suffix, num, Cb, cbOjb, true, false, typeof(T)); + } + } + return result; + } + + public XAnimationClip GetXAnimation(string location, bool showLog = true, bool preload = false) + { + uint num = this.Hash(location, ".anim"); + bool flag = this.useNewMgr; + XAnimationClip result; + if (flag) + { + UnityEngine.Object @object = null; + XResourceLoaderMgr.UniteObjectInfo uniteObjectInfo = this.GetUOI(num, out @object, false); + bool flag2 = uniteObjectInfo == null; + if (flag2) + { + uniteObjectInfo = this.GetObjectInfo(); + bool flag3 = uniteObjectInfo.InitAnim(location, ".anim", num); + if (flag3) + { + @object = uniteObjectInfo.Get(false, preload); + } + this.m_assetPool.Add(num, uniteObjectInfo); + bool flag4 = @object != null; + if (flag4) + { + this.m_instanceIDAssetMap.Add(@object.GetInstanceID(), uniteObjectInfo); + } + } + result = (@object as XAnimationClip); + } + else + { + UnityEngine.Object object2 = this.GetAssetInPool(num); + bool flag5 = object2 == null; + if (flag5) + { + AssetBundleInfo assetBundleInfo = null; + bool flag6 = XSingleton.singleton.ABManager != null; + if (flag6) + { + assetBundleInfo = XSingleton.singleton.ABManager.LoadImm(num, location, ".anim", null); + } + bool flag7 = assetBundleInfo != null; + if (flag7) + { + object2 = this.CreateFromAssetBundle(location, num, assetBundleInfo, showLog); + } + else + { + object2 = this.CreateFromAssets(location, num, showLog); + } + } + bool flag8 = object2 != null; + if (flag8) + { + this.AssetsRefRetain(num); + } + result = (object2 as XAnimationClip); + } + return result; + } + + public static void SafeGetAnimationClip(string location, ref XAnimationClip clip) + { + bool flag = clip != null; + if (flag) + { + XSingleton.singleton.UnSafeDestroyShareResource(location, ".anim", clip, false); + clip = null; + } + clip = XSingleton.singleton.GetXAnimation(location, true, false); + } + + public static void SafeDestroy(ref UnityEngine.Object obj, bool returnPool = true) + { + XSingleton.singleton.UnSafeDestroy(obj, returnPool, false); + obj = null; + } + + public static void SafeDestroy(ref GameObject obj, bool returnPool = true) + { + XSingleton.singleton.UnSafeDestroy(obj, returnPool, false); + obj = null; + } + + public static void SafeDestroyShareResource(string location, ref GameObject obj, bool triggerRelease = false) + { + XSingleton.singleton.UnSafeDestroyShareResource(location, ".prefab", obj, triggerRelease); + obj = null; + } + + public static void SafeDestroyShareResource(string location, ref Material obj) + { + XSingleton.singleton.UnSafeDestroyShareResource(location, ".mat", obj, false); + obj = null; + } + + public static void SafeDestroyShareResource(string location, ref XAnimationClip obj) + { + bool flag = obj != null; + if (flag) + { + XSingleton.singleton.UnSafeDestroyShareResource(location, ".anim", obj.clip, false); + obj = null; + } + } + + private void InnerDestroy(UnityEngine.Object obj, int instanceID, bool sharedRes) + { + XResourceLoaderMgr.UniteObjectInfo uoi = null; + bool flag = this.m_instanceIDAssetMap.TryGetValue(instanceID, out uoi); + if (flag) + { + this.ReturnObject(uoi, obj, instanceID, false); + } + else if (sharedRes) + { + bool flag2 = !XResourceLoaderMgr.UniteObjectInfo.CanDestroy(obj); + if (flag2) + { + Resources.UnloadAsset(obj); + } + } + else + { + bool flag3 = XResourceLoaderMgr.UniteObjectInfo.CanDestroy(obj); + if (flag3) + { + UnityEngine.Object.Destroy(obj); + } + } + } + + public void UnSafeDestroy(UnityEngine.Object o, bool returnPool = true, bool destroyImm = false) + { + bool flag = o == null; + if (!flag) + { + int instanceID = o.GetInstanceID(); + bool flag2 = this.useNewMgr; + if (flag2) + { + this.InnerDestroy(o, instanceID, false); + } + else + { + uint num = 0u; + bool flag3 = returnPool && this._reverse_map.TryGetValue(instanceID, out num); + if (flag3) + { + this.AddToObjectPool(num, o); + } + else + { + bool flag4 = this._reverse_map.TryGetValue(instanceID, out num); + if (flag4) + { + this.AssetsRefRelease(num); + this._reverse_map.Remove(instanceID); + } + if (destroyImm) + { + UnityEngine.Object.DestroyImmediate(o); + } + else + { + UnityEngine.Object.Destroy(o); + } + } + } + } + } + + public void UnSafeDestroyShareResource(string location, string suffix, UnityEngine.Object o, bool triggerRelease = false) + { + bool flag = o == null; + if (!flag) + { + bool flag2 = this.useNewMgr; + if (flag2) + { + int instanceID = o.GetInstanceID(); + this.InnerDestroy(o, instanceID, true); + } + else + { + bool flag3 = !string.IsNullOrEmpty(location); + if (flag3) + { + uint num = this.Hash(location, suffix); + bool flag4 = this._asset_ref_count.ContainsKey(num); + if (flag4) + { + bool flag5 = this.AssetsRefRelease(num) && triggerRelease && !XResourceLoaderMgr.UniteObjectInfo.CanDestroy(o); + if (flag5) + { + Resources.UnloadAsset(o); + } + } + else + { + bool flag6 = !XResourceLoaderMgr.UniteObjectInfo.CanDestroy(o); + if (flag6) + { + bool flag7 = !(XSingleton.singleton.ABManager != null) || !XSingleton.singleton.ABManager.CheckInDep(num); + if (flag7) + { + Resources.UnloadAsset(o); + } + } + } + } + } + } + } + + private void DelayDestroy(float deltaTime, bool force) + { + XResourceLoaderMgr.UniteObjectInfo uniteObjectInfo = this.m_degenerationQueue; + this.m_degenerationQueue = null; + XResourceLoaderMgr.UniteObjectInfo uniteObjectInfo2 = null; + while (uniteObjectInfo != null) + { + XResourceLoaderMgr.UniteObjectInfo next = uniteObjectInfo.next; + uniteObjectInfo.degenerationTime += deltaTime; + bool flag = force || !uniteObjectInfo.IsDegeneration || uniteObjectInfo.degenerationTime > 2f; + if (flag) + { + bool flag2 = uniteObjectInfo2 != null; + if (flag2) + { + uniteObjectInfo2.next = uniteObjectInfo.next; + } + this.ReturnObject(uniteObjectInfo); + } + else + { + uniteObjectInfo2 = uniteObjectInfo; + bool flag3 = this.m_degenerationQueue == null; + if (flag3) + { + this.m_degenerationQueue = uniteObjectInfo; + } + } + uniteObjectInfo = next; + } + this.m_currentDegeneration = this.m_degenerationQueue; + while (this.m_currentDegeneration != null && this.m_currentDegeneration.next != null) + { + this.m_currentDegeneration = this.m_currentDegeneration.next; + } + } + + public void LoadABScene(string path) + { + uint hash = 0u; + hash = XSingleton.singleton.XHashLowerRelpaceDot(hash, "Assets.XScene.Scenelib."); + hash = XSingleton.singleton.XHashLowerRelpaceDot(hash, path); + hash = XSingleton.singleton.XHashLowerRelpaceDot(hash, ".unity"); + AssetBundleInfo assetBundleInfo = XSingleton.singleton.ABManager.LoadImm(hash, path, ".unity", "Assets.XScene.Scenelib."); + bool flag = assetBundleInfo != null; + if (flag) + { + XSingleton.singleton.AddLog("Load AB Scene Finish!", null, null, null, null, null, XDebugColor.XDebug_None); + } + } + + public IXCurve GetCurve(string location) + { + bool useCurveTable = XResourceLoaderMgr.UseCurveTable; + IXCurve result; + if (useCurveTable) + { + uint num = XSingleton.singleton.XHash(location); + IXCurve ixcurve = this.GetServerCurve(num); + bool flag = ixcurve == null; + if (flag) + { + XSingleton.singleton.AddLog2("curve not found:{0}|Hash:{1}", new object[] + { + location, + num + }); + GameObject sharedResource = this.GetSharedResource(location, ".prefab", true, false); + ixcurve = (sharedResource.GetComponent("XCurve") as IXCurve); + } + result = ixcurve; + } + else + { + GameObject sharedResource2 = this.GetSharedResource(location, ".prefab", true, false); + result = (sharedResource2.GetComponent("XCurve") as IXCurve); + } + return result; + } + + private FloatCurve _GetFloatCurve(uint hash) + { + int i = 0; + int num = this.m_curveData.Count - 1; + while (i <= num) + { + int num2 = (i + num) / 2; + bool flag = hash > this.m_curveData[num2].namehash; + if (flag) + { + i = num2 + 1; + } + else + { + bool flag2 = hash < this.m_curveData[num2].namehash; + if (!flag2) + { + return this.m_curveData[num2]; + } + num = num2 - 1; + } + } + return null; + } + + public FloatCurve GetServerCurve(uint hash) + { + return this._GetFloatCurve(hash); + } + + public T GetData(string pathwithname, string suffix) + { + uint key = XSingleton.singleton.XHash(pathwithname); + UnityEngine.Object @object = null; + bool flag = !this._script_pool.TryGetValue(key, out @object); + if (flag) + { + TextAsset sharedResource = this.GetSharedResource(pathwithname, suffix, true, false); + bool flag2 = sharedResource == null; + if (flag2) + { + XSingleton.singleton.AddErrorLog("Deserialize file ", pathwithname, " Error!", null, null, null); + } + int num = (typeof(T) == typeof(XCutSceneData)) ? 1 : 0; + XmlSerializer xmlSerializer = this.xmlSerializerCache[num]; + this.shareMemoryStream.Seek(0L, SeekOrigin.Begin); + this.shareMemoryStream.SetLength(0L); + this.shareMemoryStream.Write(sharedResource.bytes, 0, sharedResource.bytes.Length); + this.shareMemoryStream.Seek(0L, SeekOrigin.Begin); + object data = xmlSerializer.Deserialize(this.shareMemoryStream); + XDataWrapper xdataWrapper = ScriptableObject.CreateInstance(); + xdataWrapper.Data = data; + this.UnSafeDestroyShareResource(pathwithname, suffix, sharedResource, false); + @object = xdataWrapper; + bool flag3 = null != @object; + if (flag3) + { + this._script_pool.Add(key, @object); + } + } + return (T)((object)(@object as XDataWrapper).Data); + } + + public UnityEngine.Object AddAssetInPool(UnityEngine.Object asset, uint hash, AssetBundleInfo info = null) + { + bool flag = asset == null; + UnityEngine.Object result; + if (flag) + { + result = null; + } + else + { + UnityEngine.Object @object = null; + this._asset_pool.TryGetValue(hash, out @object); + bool flag2 = @object == null; + if (flag2) + { + @object = asset; + this._asset_pool[hash] = @object; + bool flag3 = info != null && !this._bundle_pool.ContainsKey(hash); + if (flag3) + { + info.Retain(); + this._bundle_pool.Add(hash, info); + } + } + result = @object; + } + return result; + } + + public UnityEngine.Object GetAssetInPool(uint hash) + { + UnityEngine.Object result = null; + this._asset_pool.TryGetValue(hash, out result); + return result; + } + + public bool GetInObjectPool(ref UnityEngine.Object o, uint id) + { + Queue queue = null; + bool flag = this._object_pool.TryGetValue(id, out queue); + if (flag) + { + int count = queue.Count; + bool flag2 = count > 0; + if (flag2) + { + UnityEngine.Object @object = queue.Dequeue(); + while (@object == null && queue.Count > 0) + { + @object = queue.Dequeue(); + } + bool flag3 = @object == null; + if (flag3) + { + return false; + } + o = @object; + return true; + } + } + return false; + } + + private UnityEngine.Object CreateFromAssets(string location, uint hash, bool showError = true) + { + bool flag = typeof(T) == typeof(XAnimationClip); + UnityEngine.Object @object; + if (flag) + { + XAnimationClip xanimationClip = XAnimationPool.Get(); + xanimationClip.clip = (Resources.Load(location, typeof(AnimationClip)) as AnimationClip); + bool flag2 = xanimationClip.clip == null; + if (flag2) + { + if (showError) + { + XResourceLoaderMgr.LoadErrorLog(location); + } + return null; + } + xanimationClip.length = xanimationClip.clip.length; + @object = xanimationClip; + } + else + { + @object = Resources.Load(location, typeof(T)); + } + XResourceLoaderMgr.resourceLoadCount++; + @object = this.AddAssetInPool(@object, hash, null); + bool flag3 = @object == null; + UnityEngine.Object result; + if (flag3) + { + if (showError) + { + XResourceLoaderMgr.LoadErrorLog(location); + } + result = null; + } + else + { + result = @object; + } + return result; + } + + private UnityEngine.Object CreateFromAssetBundle(string location, uint hash, AssetBundleInfo info, bool showError = true) + { + bool flag = typeof(T) == typeof(XAnimationClip); + UnityEngine.Object @object; + if (flag) + { + XAnimationClip xanimationClip = XAnimationPool.Get(); + xanimationClip.clip = (info.mainObject as AnimationClip); + bool flag2 = xanimationClip.clip == null; + if (flag2) + { + if (showError) + { + XResourceLoaderMgr.LoadErrorLog(location); + } + return null; + } + xanimationClip.length = xanimationClip.clip.length; + @object = xanimationClip; + } + else + { + @object = info.mainObject; + } + XResourceLoaderMgr.abLoadCount++; + @object = this.AddAssetInPool(@object, hash, info); + bool flag3 = @object == null; + UnityEngine.Object result; + if (flag3) + { + if (showError) + { + XResourceLoaderMgr.LoadErrorLog(location); + } + result = null; + } + else + { + result = @object; + } + return result; + } + + private void AddToObjectPool(uint id, UnityEngine.Object obj) + { + Queue queue = null; + bool flag = !this._object_pool.TryGetValue(id, out queue); + if (flag) + { + queue = new Queue(); + this._object_pool.Add(id, queue); + } + GameObject gameObject = obj as GameObject; + bool flag2 = gameObject != null; + if (flag2) + { + Transform transform = gameObject.transform; + transform.position = XResourceLoaderMgr.Far_Far_Away; + transform.rotation = Quaternion.identity; + transform.parent = null; + } + queue.Enqueue(obj); + } + + public void AssetsRefRetain(uint hash) + { + int num = 0; + this._asset_ref_count.TryGetValue(hash, out num); + num++; + this._asset_ref_count[hash] = num; + } + + public bool AssetsRefRelease(uint hash) + { + int num = 0; + bool flag = this._asset_ref_count.TryGetValue(hash, out num); + if (flag) + { + num--; + bool flag2 = num < 0; + if (flag2) + { + num = 0; + } + bool flag3 = num == 0; + if (flag3) + { + this._asset_pool.Remove(hash); + this._asset_ref_count.Remove(hash); + AssetBundleInfo assetBundleInfo = null; + bool flag4 = this._bundle_pool.TryGetValue(hash, out assetBundleInfo); + if (flag4) + { + assetBundleInfo.Release(); + this._bundle_pool.Remove(hash); + return false; + } + return true; + } + else + { + this._asset_ref_count[hash] = num; + } + } + return false; + } + + public void LogReverseID(UnityEngine.Object o, uint id) + { + bool flag = o != null; + if (flag) + { + int instanceID = o.GetInstanceID(); + bool flag2 = !this._reverse_map.ContainsKey(instanceID); + if (flag2) + { + this._reverse_map.Add(instanceID, id); + } + } + } + + public static void LoadErrorLog(string prefab) + { + XSingleton.singleton.AddErrorLog("Load resource: ", prefab, " error!", null, null, null); + } + + public void Update(float deltaTime) + { + bool flag = false; + bool flag2 = true; + float time = Time.time; + for (int i = 0; i < this._async_task_list.Count; i++) + { + LoadAsyncTask loadAsyncTask = this._async_task_list[i]; + bool flag3 = flag2; + if (flag3) + { + bool flag4 = loadAsyncTask.Update(); + if (flag4) + { + loadAsyncTask.Clear(); + } + float num = Time.time - time; + bool flag5 = num >= this.maxLoadThresholdTime; + if (flag5) + { + flag2 = false; + } + } + flag |= (loadAsyncTask.loadState == EAsyncLoadState.ELoading); + } + bool flag6 = !flag; + if (flag6) + { + this.isCurrentLoading = false; + } + this.DelayDestroy(deltaTime, false); + this.UpdateDelayProcess(deltaTime); + } + + public void AddDelayProcess(IDelayLoad loader) + { + int i = 0; + int count = this.delayUpdateList.Count; + while (i < count) + { + IDelayLoad delayLoad = this.delayUpdateList[i]; + bool flag = delayLoad == loader; + if (flag) + { + return; + } + i++; + } + bool flag2 = this.currentDelayTime < 0.0; + if (flag2) + { + this.currentDelayTime = XResourceLoaderMgr.delayTime; + } + this.delayUpdateList.Add(loader); + } + + public void RemoveDelayProcess(IDelayLoad loader) + { + this.delayUpdateList.Remove(loader); + } + + public void UpdateDelayProcess(float deltaTime) + { + bool flag = this.delayUpdateList.Count > 0; + if (flag) + { + this.currentDelayTime -= XResourceLoaderMgr.delayTime; + bool flag2 = this.currentDelayTime <= 0.0; + if (flag2) + { + IDelayLoad delayLoad = this.delayUpdateList[0]; + EDelayProcessType edelayProcessType = delayLoad.DelayUpdate(); + bool flag3 = edelayProcessType == EDelayProcessType.EFinish; + if (flag3) + { + this.delayUpdateList.RemoveAt(0); + bool flag4 = this.delayUpdateList.Count > 0; + if (flag4) + { + this.currentDelayTime = XResourceLoaderMgr.delayTime; + } + } + } + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/XResourceLoaderMgr.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/XResourceLoaderMgr.cs.meta new file mode 100644 index 00000000..00ae518a --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XResourceLoaderMgr.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: a6608b745f91d594d9706d9ea067a55d +timeCreated: 1611465736 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/XResultAffectDirection.cs b/Client/Assets/Scripts/XUtliPoolLib/XResultAffectDirection.cs new file mode 100644 index 00000000..8bea9116 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XResultAffectDirection.cs @@ -0,0 +1,10 @@ +using System; + +namespace XUtliPoolLib +{ + public enum XResultAffectDirection + { + AttackDir, + ChargeDir + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/XResultAffectDirection.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/XResultAffectDirection.cs.meta new file mode 100644 index 00000000..2c02e2b7 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XResultAffectDirection.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 2f75956f6de7bc04da1ec7dff58f93e6 +timeCreated: 1611465307 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/XResultBulletType.cs b/Client/Assets/Scripts/XUtliPoolLib/XResultBulletType.cs new file mode 100644 index 00000000..d5374f92 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XResultBulletType.cs @@ -0,0 +1,12 @@ +using System; + +namespace XUtliPoolLib +{ + public enum XResultBulletType + { + Sphere, + Plane, + Satellite, + Ring + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/XResultBulletType.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/XResultBulletType.cs.meta new file mode 100644 index 00000000..1f17df37 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XResultBulletType.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 51c099649987e0148a7908f91c29d49f +timeCreated: 1611465644 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/XResultData.cs b/Client/Assets/Scripts/XUtliPoolLib/XResultData.cs new file mode 100644 index 00000000..0b1ba583 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XResultData.cs @@ -0,0 +1,121 @@ +using System; +using System.ComponentModel; +using UnityEngine; + +namespace XUtliPoolLib +{ + [Serializable] + public class XResultData : XBaseData + { + [SerializeField] + [DefaultValue(false)] + public bool LongAttackEffect; + + [SerializeField] + [DefaultValue(false)] + public bool Attack_Only_Target; + + [SerializeField] + [DefaultValue(false)] + public bool Attack_All; + + [SerializeField] + [DefaultValue(false)] + public bool Mobs_Inclusived; + + [SerializeField] + [DefaultValue(true)] + public bool Sector_Type; + + [SerializeField] + [DefaultValue(false)] + public bool Rect_HalfEffect; + + [SerializeField] + [DefaultValue(0)] + public int None_Sector_Angle_Shift; + + [SerializeField] + [DefaultValue(0f)] + public float At; + + [SerializeField] + [DefaultValue(0f)] + public float Low_Range; + + [SerializeField] + [DefaultValue(0f)] + public float Range; + + [SerializeField] + [DefaultValue(0f)] + public float Scope; + + [SerializeField] + [DefaultValue(0f)] + public float Offset_X; + + [SerializeField] + [DefaultValue(0f)] + public float Offset_Z; + + [SerializeField] + [DefaultValue(false)] + public bool Loop; + + [SerializeField] + [DefaultValue(false)] + public bool Group; + + [SerializeField] + [DefaultValue(0f)] + public float Cycle; + + [SerializeField] + [DefaultValue(0)] + public int Loop_Count; + + [SerializeField] + [DefaultValue(0)] + public int Deviation_Angle; + + [SerializeField] + [DefaultValue(0)] + public int Angle_Step; + + [SerializeField] + [DefaultValue(0f)] + public float Time_Step; + + [SerializeField] + [DefaultValue(0)] + public int Group_Count; + + [SerializeField] + [DefaultValue(0)] + public int Token; + + [SerializeField] + [DefaultValue(false)] + public bool Clockwise; + + [SerializeField] + public XLongAttackResultData LongAttackData; + + [SerializeField] + [DefaultValue(false)] + public bool Warning; + + [SerializeField] + [DefaultValue(0)] + public int Warning_Idx; + + [SerializeField] + public XResultAffectDirection Affect_Direction = XResultAffectDirection.AttackDir; + + public XResultData() + { + this.Sector_Type = true; + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/XResultData.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/XResultData.cs.meta new file mode 100644 index 00000000..bc78cddf --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XResultData.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: fc58ee9733f828a40855ac7baee0a1c8 +timeCreated: 1611465812 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/XScriptData.cs b/Client/Assets/Scripts/XUtliPoolLib/XScriptData.cs new file mode 100644 index 00000000..ef278540 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XScriptData.cs @@ -0,0 +1,21 @@ +using System; +using UnityEngine; + +namespace XUtliPoolLib +{ + [Serializable] + public class XScriptData + { + [SerializeField] + public string Start_Name = null; + + [SerializeField] + public string Update_Name = null; + + [SerializeField] + public string Result_Name = null; + + [SerializeField] + public string Stop_Name = null; + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/XScriptData.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/XScriptData.cs.meta new file mode 100644 index 00000000..cc86f359 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XScriptData.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: dca6ec9ad2c5e9e4d91b3e349c48f71b +timeCreated: 1611465796 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/XSetParentCommand.cs b/Client/Assets/Scripts/XUtliPoolLib/XSetParentCommand.cs new file mode 100644 index 00000000..8a446751 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XSetParentCommand.cs @@ -0,0 +1,54 @@ +using System; + +namespace XUtliPoolLib +{ + public class XSetParentCommand + { + public static ExecuteCommandHandler handler = new ExecuteCommandHandler(XSetParentCommand.Execute); + + public static CanExecuteHandler canExecute = new CanExecuteHandler(XSetParentCommand.CanExecute); + + public static DebugHandler debugHandler = new DebugHandler(XSetParentCommand.DebugString); + + public static void DebugString(XGameObject gameObject, XEngineCommand command, string str, int id) + { + bool flag = command.data != null; + if (flag) + { + XGameObject xgameObject = command.data.data as XGameObject; + bool flag2 = xgameObject != null; + if (flag2) + { + XSingleton.singleton.AddWarningLog2("[EngineCommand] SetParentCmd {0} ID:{1} parent:{2} current:{3}", new object[] + { + str, + id, + xgameObject.Name, + gameObject.Name + }); + } + } + } + + public static bool CanExecute(XGameObject gameObject, XEngineCommand command) + { + bool flag = command.data != null; + if (flag) + { + XGameObject xgameObject = command.data.data as XGameObject; + bool flag2 = xgameObject != null; + if (flag2) + { + return xgameObject.IsLoaded; + } + } + return true; + } + + public static void Execute(XGameObject gameObject, XEngineCommand command) + { + XGameObject parent = (command.data == null) ? null : (command.data.data as XGameObject); + gameObject.SyncSetParent(parent); + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/XSetParentCommand.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/XSetParentCommand.cs.meta new file mode 100644 index 00000000..3a6d9992 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XSetParentCommand.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 91c0eba51e73f284e96dbfbe64ceeb41 +timeCreated: 1611465705 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/XSingleton.cs b/Client/Assets/Scripts/XUtliPoolLib/XSingleton.cs new file mode 100644 index 00000000..df9e221d --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XSingleton.cs @@ -0,0 +1,36 @@ +using System; + +namespace XUtliPoolLib +{ + public abstract class XSingleton : XBaseSingleton where T : new() + { + public static T singleton + { + get + { + return XSingleton._instance; + } + } + + private static readonly T _instance = Activator.CreateInstance(); + + protected XSingleton() + { + bool flag = XSingleton._instance != null; + if (flag) + { + T instance = XSingleton._instance; + throw new XDoubleNewException(instance.ToString() + " can not be created again."); + } + } + + public override bool Init() + { + return true; + } + + public override void Uninit() + { + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/XSingleton.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/XSingleton.cs.meta new file mode 100644 index 00000000..fc5549c1 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XSingleton.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 25c79208423dd2b4393e491739d4c52c +timeCreated: 1611465301 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/XSkillData.cs b/Client/Assets/Scripts/XUtliPoolLib/XSkillData.cs new file mode 100644 index 00000000..be8deb5e --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XSkillData.cs @@ -0,0 +1,348 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Xml.Serialization; +using UnityEngine; + +namespace XUtliPoolLib +{ + [Serializable] + public class XSkillData + { + public static readonly string[] Skills = new string[] + { + "XJAComboSkill", + "XArtsSkill", + "XUltraSkill", + "XCombinedSkill" + }; + + public static readonly string[] JA_Command = new string[] + { + "ToSkill", + "ToJA_1_0", + "ToJA_2_0", + "ToJA_3_0", + "ToJA_4_0", + "ToJA_0_1", + "ToJA_0_2", + "ToJA_1_1", + "ToJA_1_2", + "ToJA_2_1", + "ToJA_2_2", + "ToJA_3_1", + "ToJA_3_2", + "ToJA_4_1", + "ToJA_4_2", + "ToJA_QTE" + }; + + public static readonly string[] Combined_Command = new string[] + { + "ToPhase", + "ToPhase1", + "ToPhase2", + "ToPhase3", + "ToPhase4", + "ToPhase5", + "ToPhase6", + "ToPhase7", + "ToPhase8", + "ToPhase9" + }; + + public static readonly string[] JaOverrideMap = new string[] + { + "A", + "AA", + "AAA", + "AAAA", + "AAAAA", + "AB", + "ABB", + "AAB", + "AABB", + "AAAB", + "AAABB", + "AAAAB", + "AAAABB", + "AAAAAB", + "AAAAABB", + "QTE" + }; + + public static readonly string[] CombinedOverrideMap = new string[] + { + "Phase0", + "Phase1", + "Phase2", + "Phase3", + "Phase4", + "Phase5", + "Phase6", + "Phase7", + "Phase8", + "Phase9" + }; + + public static readonly string[] MultipleAttackOverrideMap = new string[] + { + "Forward", + "RightForward", + "Right", + "RightBack", + "LeftForward", + "Left", + "LeftBack", + "Back" + }; + + [XmlIgnore] + public string Prefix = null; + + [SerializeField] + public string Name; + + [SerializeField] + [DefaultValue(1)] + public int TypeToken; + + [SerializeField] + public string ClipName; + + [SerializeField] + [DefaultValue(0)] + public int SkillPosition; + + [SerializeField] + [DefaultValue(false)] + public bool IgnoreCollision; + + [SerializeField] + [DefaultValue(true)] + public bool NeedTarget; + + [SerializeField] + [DefaultValue(false)] + public bool OnceOnly; + + [SerializeField] + [DefaultValue(false)] + public bool ForCombinedOnly; + + [SerializeField] + [DefaultValue(false)] + public bool MultipleAttackSupported; + + [SerializeField] + [DefaultValue(0.75f)] + public float BackTowardsDecline; + + [SerializeField] + public string PVP_Script_Name; + + [SerializeField] + public List Result; + + [SerializeField] + public List Charge; + + [SerializeField] + public List Ja; + + [SerializeField] + public List Hit; + + [SerializeField] + public List Manipulation; + + [SerializeField] + public List Fx; + + [SerializeField] + public List Audio; + + [SerializeField] + public List CameraEffect; + + [SerializeField] + public List Warning; + + [SerializeField] + public List Combined; + + [SerializeField] + public List Mob; + + [SerializeField] + public XScriptData Script; + + [SerializeField] + public XLogicalData Logical; + + [SerializeField] + public XCameraMotionData CameraMotion; + + [SerializeField] + public XCameraPostEffectData CameraPostEffect; + + [SerializeField] + public XCastChain Chain; + + [SerializeField] + [DefaultValue(1f)] + public float CoolDown; + + [SerializeField] + [DefaultValue(0f)] + public float Time; + + [SerializeField] + [DefaultValue(false)] + public bool Cast_Range_Rect; + + [SerializeField] + [DefaultValue(0f)] + public float Cast_Range_Upper; + + [SerializeField] + [DefaultValue(0f)] + public float Cast_Range_Lower; + + [SerializeField] + [DefaultValue(0f)] + public float Cast_Offset_X; + + [SerializeField] + [DefaultValue(0f)] + public float Cast_Offset_Z; + + [SerializeField] + [DefaultValue(0f)] + public float Cast_Scope; + + [SerializeField] + [DefaultValue(0f)] + public float Cast_Scope_Shift; + + [SerializeField] + [DefaultValue(1f)] + public float CameraTurnBack; + + public static bool PreLoad = false; + + public XSkillData() + { + this.TypeToken = 1; + this.NeedTarget = true; + this.BackTowardsDecline = 0.75f; + this.CameraTurnBack = 1f; + this.CoolDown = 1f; + } + + public static XSkillData PreLoadSkillForTemp(string skillprefix, string name, bool force = false) + { + XSkillData data = XSingleton.singleton.GetData(skillprefix + name, ".txt"); + data.Prefix = skillprefix; + bool flag = (int) Application.platform == 7 || (int)Application.platform == 0 || force; + if (flag) + { + XSkillData.PreLoadSkillResEx(data, 1); + } + else + { + XSkillData.PreLoadSkillRes(data, 1); + } + return data; + } + + public static void PreLoadSkillRes(XSkillData data, int count) + { + bool flag = !string.IsNullOrEmpty(data.ClipName); + if (flag) + { + XSingleton.singleton.GetXAnimation(data.ClipName, true, false); + } + bool flag2 = data.Fx != null; + if (flag2) + { + for (int i = 0; i < data.Fx.Count; i++) + { + XSingleton.singleton.CreateInAdvance(data.Fx[i].Fx, count, ECreateHideType.DisableParticleRenderer); + } + } + bool flag3 = data.Result != null; + if (flag3) + { + for (int j = 0; j < data.Result.Count; j++) + { + bool longAttackEffect = data.Result[j].LongAttackEffect; + if (longAttackEffect) + { + XSingleton.singleton.CreateInAdvance(data.Result[j].LongAttackData.End_Fx, count, ECreateHideType.DisableParticleRenderer); + XSingleton.singleton.CreateInAdvance(data.Result[j].LongAttackData.Prefab, count, ECreateHideType.DisableParticleRenderer); + } + } + } + } + + public static void PreLoadSkillResEx(XSkillData data, int count) + { + bool flag = !string.IsNullOrEmpty(data.ClipName); + if (flag) + { + XSingleton.singleton.GetXAnimation(data.ClipName, true, false); + bool multipleAttackSupported = data.MultipleAttackSupported; + if (multipleAttackSupported) + { + XSingleton.singleton.GetXAnimation(data.ClipName + "_right_forward", true, false); + XSingleton.singleton.GetXAnimation(data.ClipName + "_right", true, false); + XSingleton.singleton.GetXAnimation(data.ClipName + "_right_back", true, false); + XSingleton.singleton.GetXAnimation(data.ClipName + "_left_forward", true, false); + XSingleton.singleton.GetXAnimation(data.ClipName + "_left", true, false); + XSingleton.singleton.GetXAnimation(data.ClipName + "_left_back", true, false); + XSingleton.singleton.GetXAnimation(data.ClipName + "_back", true, false); + } + } + bool flag2 = data.Fx != null; + if (flag2) + { + for (int i = 0; i < data.Fx.Count; i++) + { + XSingleton.singleton.CreateInAdvance(data.Fx[i].Fx, count, ECreateHideType.DisableParticleRenderer); + } + } + bool flag3 = data.Hit != null && data.Hit.Count > 0; + if (flag3) + { + XSingleton.singleton.CreateInAdvance(data.Hit[0].Fx, 1, ECreateHideType.DisableParticleRenderer); + } + bool flag4 = data.Warning != null; + if (flag4) + { + for (int j = 0; j < data.Warning.Count; j++) + { + XSingleton.singleton.CreateInAdvance(data.Warning[j].Fx, count, ECreateHideType.DisableParticleRenderer); + } + } + bool flag5 = data.Result != null; + if (flag5) + { + for (int k = 0; k < data.Result.Count; k++) + { + bool longAttackEffect = data.Result[k].LongAttackEffect; + if (longAttackEffect) + { + XSingleton.singleton.CreateInAdvance(data.Result[k].LongAttackData.End_Fx, count, ECreateHideType.DisableParticleRenderer); + XSingleton.singleton.CreateInAdvance(data.Result[k].LongAttackData.Prefab, count, ECreateHideType.DisableParticleRenderer); + } + } + } + bool flag6 = data.CameraMotion != null && !string.IsNullOrEmpty(data.CameraMotion.Motion); + if (flag6) + { + XSingleton.singleton.GetXAnimation(data.CameraMotion.Motion, true, false); + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/XSkillData.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/XSkillData.cs.meta new file mode 100644 index 00000000..b7aae1df --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XSkillData.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 197e0bc365ccaf44fb11d02b7190a69d +timeCreated: 1611465296 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/XSkillScriptGen.cs b/Client/Assets/Scripts/XUtliPoolLib/XSkillScriptGen.cs new file mode 100644 index 00000000..cf1d4f34 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XSkillScriptGen.cs @@ -0,0 +1,152 @@ +using System; +using System.Collections.Generic; +using System.IO; +using System.Reflection; +using System.Text; +using System.Xml; + +namespace XUtliPoolLib +{ + public class XSkillScriptGen : XSingleton + { + private string _template; + + public readonly string ScriptPath = "..\\..\\src\\client\\XMainClient\\XMainClient\\Script\\XSkillGen\\XScriptCode\\"; + + private readonly string ProjectFile = "..\\..\\src\\client\\XMainClient\\XMainClient\\XMainClient.csproj"; + + private readonly string NameSpace = "http://schemas.microsoft.com/developer/msbuild/2003"; + + public XSkillScriptGen() + { + this._template = this.LoadTemplate(); + } + + public bool ScriptGen(string skill, string scriptname) + { + Dictionary dictionary = new Dictionary(); + dictionary.Add("class_name", skill); + dictionary.Add("method_name", scriptname); + string text = this.TemplateFormat(this._template, dictionary); + bool flag = text != null && text != ""; + if (flag) + { + string path = string.Concat(new string[] + { + this.ScriptPath, + skill, + "_", + scriptname, + ".cs" + }); + using (FileStream fileStream = new FileStream(path, FileMode.Create)) + { + StreamWriter streamWriter = new StreamWriter(fileStream, Encoding.UTF8); + streamWriter.Write(text); + streamWriter.Close(); + } + this.AddToProject(skill + "_" + scriptname + ".cs"); + } + return text != null && text.Length > 0; + } + + public bool ScriptDel(string skill, string scriptname) + { + return this.DelFromProject(skill + "_" + scriptname + ".cs"); + } + + private void AddToProject(string addname) + { + XmlDocument xmlDocument = new XmlDocument(); + xmlDocument.Load(this.ProjectFile); + XmlNamespaceManager xmlNamespaceManager = new XmlNamespaceManager(xmlDocument.NameTable); + xmlNamespaceManager.AddNamespace("ms", this.NameSpace); + XmlNode documentElement = xmlDocument.DocumentElement; + XmlNode xmlNode = documentElement.SelectSingleNode("ms:ItemGroup/ms:Compile", xmlNamespaceManager); + XmlElement xmlElement = xmlDocument.CreateElement("Compile", this.NameSpace); + xmlElement.SetAttribute("Include", "Script\\XSkillGen\\XScriptCode\\" + addname); + xmlNode.ParentNode.AppendChild(xmlElement); + xmlDocument.Save(this.ProjectFile); + } + + private bool DelFromProject(string name) + { + string str = "Script\\XSkillGen\\XScriptCode\\" + name; + XmlDocument xmlDocument = new XmlDocument(); + xmlDocument.Load(this.ProjectFile); + XmlNamespaceManager xmlNamespaceManager = new XmlNamespaceManager(xmlDocument.NameTable); + xmlNamespaceManager.AddNamespace("ms", this.NameSpace); + XmlNode documentElement = xmlDocument.DocumentElement; + XmlNode xmlNode = documentElement.SelectSingleNode("ms:ItemGroup/ms:Compile[@Include='" + str + "']", xmlNamespaceManager); + bool flag = xmlNode != null; + if (flag) + { + xmlNode.ParentNode.RemoveChild(xmlNode); + } + File.Delete(this.ScriptPath + name); + xmlDocument.Save(this.ProjectFile); + return xmlNode != null; + } + + private string LoadTemplate() + { + //! + Assembly assembly = Assembly.Load("XMainClient"); + Stream manifestResourceStream = assembly.GetManifestResourceStream("XMainClient.Script.XSkillGen.SkillGenTemplate.txt"); + byte[] array = new byte[5120]; + int count = (int)manifestResourceStream.Length; + manifestResourceStream.Read(array, 0, count); + manifestResourceStream.Close(); + UTF8Encoding utf8Encoding = new UTF8Encoding(); + return utf8Encoding.GetString(array, 0, count); + } + + private string TemplateFormat(string template, Dictionary dicts) + { + StringBuilder stringBuilder = new StringBuilder(); + int num = 0; + int num2; + for (;;) + { + num2 = template.IndexOf("%(", num); + bool flag = num2 != -1; + if (!flag) + { + goto IL_AE; + } + stringBuilder.Append(template.Substring(num, num2 - num)); + num = template.IndexOf(")s", num2); + bool flag2 = num != -1; + if (!flag2) + { + goto IL_9A; + } + string key = template.Substring(num2 + 2, num - num2 - 2); + bool flag3 = dicts.ContainsKey(key); + if (!flag3) + { + break; + } + stringBuilder.Append(dicts[key]); + num += 2; + } + return ""; + IL_9A: + stringBuilder.Append(template.Substring(num2)); + goto IL_C8; + IL_AE: + stringBuilder.Append(template.Substring(num)); + IL_C8: + return stringBuilder.ToString(); + } + + public override bool Init() + { + return true; + } + + public override void Uninit() + { + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/XSkillScriptGen.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/XSkillScriptGen.cs.meta new file mode 100644 index 00000000..aba69811 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XSkillScriptGen.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: b50a63967b59f8349a817d497de33b4e +timeCreated: 1611465746 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/XSkillUnexpectedFireException.cs b/Client/Assets/Scripts/XUtliPoolLib/XSkillUnexpectedFireException.cs new file mode 100644 index 00000000..531a7fee --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XSkillUnexpectedFireException.cs @@ -0,0 +1,16 @@ +using System; + +namespace XUtliPoolLib +{ + [Serializable] + public class XSkillUnexpectedFireException : XException + { + public XSkillUnexpectedFireException(string message) : base(message) + { + } + + public XSkillUnexpectedFireException(string message, Exception inner) : base(message, inner) + { + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/XSkillUnexpectedFireException.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/XSkillUnexpectedFireException.cs.meta new file mode 100644 index 00000000..ebe42d04 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XSkillUnexpectedFireException.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: a7979914bf8975d4c8602b5212373f1f +timeCreated: 1611465738 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/XSlashDataClip.cs b/Client/Assets/Scripts/XUtliPoolLib/XSlashDataClip.cs new file mode 100644 index 00000000..f2bda2d7 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XSlashDataClip.cs @@ -0,0 +1,24 @@ +using System; +using UnityEngine; + +namespace XUtliPoolLib +{ + [Serializable] + public class XSlashDataClip : XCutSceneClip + { + [SerializeField] + public float Duration = 1f; + + [SerializeField] + public string Name; + + [SerializeField] + public string Discription; + + [SerializeField] + public float AnchorX; + + [SerializeField] + public float AnchorY; + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/XSlashDataClip.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/XSlashDataClip.cs.meta new file mode 100644 index 00000000..e131e930 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XSlashDataClip.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 958136c52b42dc44e89300a8a56202b3 +timeCreated: 1611465707 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/XStrickenResponse.cs b/Client/Assets/Scripts/XUtliPoolLib/XStrickenResponse.cs new file mode 100644 index 00000000..c5dc4e39 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XStrickenResponse.cs @@ -0,0 +1,12 @@ +using System; + +namespace XUtliPoolLib +{ + public enum XStrickenResponse + { + Invincible, + Half_Endure, + Cease, + Full_Endure + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/XStrickenResponse.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/XStrickenResponse.cs.meta new file mode 100644 index 00000000..34c037f3 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XStrickenResponse.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: ea7811860e2f4d0419adf7946069f22c +timeCreated: 1611465804 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/XStringDefine.cs b/Client/Assets/Scripts/XUtliPoolLib/XStringDefine.cs new file mode 100644 index 00000000..84b3d2ae --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XStringDefine.cs @@ -0,0 +1,60 @@ +using System; + +namespace XUtliPoolLib +{ + public enum XStringDefine + { + STRING_START, + COMMON_OK, + COMMON_CANCEL, + COMMON_CONNECTION_CLOSE, + COMMON_AREA, + COMMON_BATTLE, + BATTLE_POFANG = 20, + BATTLE_BAOJI, + SERVER_STATE_FREE = 50, + SERVER_STATE_NORMAL, + SERVER_STATE_BUSY, + SERVER_STATE_CLOSE, + SERVER_NEW, + SKILL_LEARN = 100, + SKILL_PROMOTE_REQUIRE, + SKILL_OVERVIEW, + SKILL_PROMOTE, + SKILL_RESET_SP, + SKILL_RESET_PROF, + SKILL_CAN_PROMOTE, + SKILL_WILL_PROMOTE, + ITEM_REQUIRE_LEVEL = 200, + ITEM_PART_HEAD, + ITEM_PART_UPPERBODY, + ITEM_PART_LOWERBODY, + ITEM_PART_GLOVES, + ITEM_PART_BOOTS, + ITEM_PART_MAINWEAPON, + ITEM_PART_SECWEAPON, + ITEM_PART_NECKLACE, + ITEM_PART_EARRING, + ITEM_PART_RING1, + ITEM_PART_RING2, + FASHION_HEAD, + FASHION_UPPERBODY, + FASHION_LOWERBODY, + FASHION_GLOVES, + FASHION_BOOTS, + FASHION_MAINWEAPON, + FASHION_SECWEAPON, + FASHION_WINGS, + FASHION_TAIL, + FASHION_DECAL, + FASHION_PREFIX, + FASHION_HAIR, + ARTIFACT_ANSAB = 230, + ARTIFACT_GRAIL, + ARTIFACT_BATTLEHEART, + ARTIFACT_DRAGONHORN, + DRAW_FREE = 1000, + DRAW_ONE_AGAIN, + DRAW_TEN_AGAIN + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/XStringDefine.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/XStringDefine.cs.meta new file mode 100644 index 00000000..ba0fe321 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XStringDefine.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 69c6ccc0d3cd6e2429907c2a58b51c96 +timeCreated: 1611465684 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/XStringFormatHelper.cs b/Client/Assets/Scripts/XUtliPoolLib/XStringFormatHelper.cs new file mode 100644 index 00000000..b6672b79 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XStringFormatHelper.cs @@ -0,0 +1,154 @@ +using System; +using System.Collections.Generic; +using System.Text; + +namespace XUtliPoolLib +{ + public class XStringFormatHelper + { + public static readonly char EscapedSeparator = '\u001f'; + + public static readonly char[] Separator = new char[] + { + XStringFormatHelper.EscapedSeparator + }; + + private static readonly char _cSeparator = '|'; + + private static readonly char _cLeftBracket = '['; + + private static readonly char _EscapedLeftBracket = '\u0002'; + + private static readonly char _cRightBracket = ']'; + + private static readonly char _EscapedRightBracket = '\u0003'; + + private static readonly string _strSeparator = "|" + XStringFormatHelper._cSeparator.ToString(); + + private static readonly string _strLeftBracket = "|" + XStringFormatHelper._cLeftBracket.ToString(); + + private static readonly string _strRightBracket = "|" + XStringFormatHelper._cRightBracket.ToString(); + + private static readonly string _strEscapedSeparator = XStringFormatHelper.EscapedSeparator.ToString() ?? ""; + + private static readonly string _strEscapedLeftBracket = XStringFormatHelper._EscapedLeftBracket.ToString() ?? ""; + + private static readonly string _strEscapedRightBracket = XStringFormatHelper._EscapedRightBracket.ToString() ?? ""; + + private static StringBuilder _SB = new StringBuilder(); + + public static string FormatImage(string atlas, string sprite) + { + XStringFormatHelper._ResetSB(); + XStringFormatHelper._SB.Append(XStringFormatHelper._EscapedLeftBracket).Append("im=").Append(atlas).Append(XStringFormatHelper.EscapedSeparator).Append(sprite).Append(XStringFormatHelper._EscapedRightBracket); + return XStringFormatHelper._SB.ToString(); + } + + public static string FormatAnimation(string atlas, string sprite, int frameRate) + { + XStringFormatHelper._ResetSB(); + XStringFormatHelper._SB.Append(XStringFormatHelper._EscapedLeftBracket).Append("an=").Append(atlas).Append(XStringFormatHelper.EscapedSeparator).Append(sprite).Append(XStringFormatHelper.EscapedSeparator).Append(frameRate.ToString()).Append(XStringFormatHelper._EscapedRightBracket); + return XStringFormatHelper._SB.ToString(); + } + + public static string FormatGuild(string name, ulong uid) + { + XStringFormatHelper._ResetSB(); + XStringFormatHelper._SB.Append(XStringFormatHelper._EscapedLeftBracket).Append("gd=").Append(name).Append(XStringFormatHelper.EscapedSeparator).Append(uid).Append(XStringFormatHelper._EscapedRightBracket); + return XStringFormatHelper._SB.ToString(); + } + + public static string FormatDragonGuild(string name, string dragonguildname) + { + XStringFormatHelper._ResetSB(); + XStringFormatHelper._SB.Append(XStringFormatHelper._EscapedLeftBracket).Append("dg=").Append(name).Append(XStringFormatHelper.EscapedSeparator).Append(dragonguildname).Append(XStringFormatHelper._EscapedRightBracket); + return XStringFormatHelper._SB.ToString(); + } + + public static string FormatTeam(string name, int teamid, uint expid) + { + XStringFormatHelper._ResetSB(); + XStringFormatHelper._SB.Append(XStringFormatHelper._EscapedLeftBracket).Append("tm=").Append(name).Append(XStringFormatHelper.EscapedSeparator).Append(teamid).Append(XStringFormatHelper.EscapedSeparator).Append(expid).Append(XStringFormatHelper._EscapedRightBracket); + return XStringFormatHelper._SB.ToString(); + } + + public static string FormatItem(string name, string itemquality, ulong uid) + { + XStringFormatHelper._ResetSB(); + XStringFormatHelper._SB.Append(XStringFormatHelper._EscapedLeftBracket).Append("it=").Append(name).Append(XStringFormatHelper.EscapedSeparator).Append(itemquality).Append(XStringFormatHelper.EscapedSeparator).Append(uid).Append(XStringFormatHelper._EscapedRightBracket); + return XStringFormatHelper._SB.ToString(); + } + + public static string FormatName(string name, ulong uid, string color = "00ffff") + { + XStringFormatHelper._ResetSB(); + XStringFormatHelper._SB.Append(XStringFormatHelper._EscapedLeftBracket).Append("nm=").Append(name).Append(XStringFormatHelper.EscapedSeparator).Append(color).Append(XStringFormatHelper.EscapedSeparator).Append(uid).Append(XStringFormatHelper._EscapedRightBracket); + return XStringFormatHelper._SB.ToString(); + } + + public static string FormatPk(string name, ulong uid) + { + XStringFormatHelper._ResetSB(); + XStringFormatHelper._SB.Append(XStringFormatHelper._EscapedLeftBracket).Append("pk=").Append(name).Append(XStringFormatHelper.EscapedSeparator).Append(uid).Append(XStringFormatHelper._EscapedRightBracket); + return XStringFormatHelper._SB.ToString(); + } + + public static string FormatSpeactate(string name, int liveid, int type) + { + XStringFormatHelper._ResetSB(); + XStringFormatHelper._SB.Append(XStringFormatHelper._EscapedLeftBracket).Append("sp=").Append(name).Append(XStringFormatHelper.EscapedSeparator).Append(liveid).Append(XStringFormatHelper.EscapedSeparator).Append(type).Append(XStringFormatHelper._EscapedRightBracket); + return XStringFormatHelper._SB.ToString(); + } + + public static string FormatUI(string name, ulong uid, List paramList = null) + { + XStringFormatHelper._ResetSB(); + XStringFormatHelper._SB.Append(XStringFormatHelper._EscapedLeftBracket).Append("ui=").Append(name).Append(XStringFormatHelper.EscapedSeparator).Append(uid); + bool flag = paramList != null; + if (flag) + { + for (int i = 0; i < paramList.Count; i++) + { + XStringFormatHelper._SB.Append(XStringFormatHelper.EscapedSeparator).Append(paramList[i]); + } + } + XStringFormatHelper._SB.Append(XStringFormatHelper._EscapedRightBracket); + return XStringFormatHelper._SB.ToString(); + } + + private static void _ResetSB() + { + XStringFormatHelper._SB.Remove(0, XStringFormatHelper._SB.Length); + } + + public static string Escape(string s) + { + XStringFormatHelper._ResetSB(); + XStringFormatHelper._SB.Append(s); + XStringFormatHelper._Escape(); + return XStringFormatHelper._SB.ToString(); + } + + private static void _Escape() + { + XStringFormatHelper._SB.Replace(XStringFormatHelper._strSeparator, XStringFormatHelper._strEscapedSeparator); + XStringFormatHelper._SB.Replace(XStringFormatHelper._strLeftBracket, XStringFormatHelper._strEscapedLeftBracket); + XStringFormatHelper._SB.Replace(XStringFormatHelper._strRightBracket, XStringFormatHelper._strEscapedRightBracket); + } + + public static string UnEscape(string s) + { + XStringFormatHelper._ResetSB(); + XStringFormatHelper._SB.Append(s); + XStringFormatHelper._UnEscape(); + return XStringFormatHelper._SB.ToString(); + } + + private static void _UnEscape() + { + XStringFormatHelper._SB.Replace(XStringFormatHelper._strEscapedSeparator, XStringFormatHelper._strSeparator); + XStringFormatHelper._SB.Replace(XStringFormatHelper._strEscapedLeftBracket, XStringFormatHelper._strLeftBracket); + XStringFormatHelper._SB.Replace(XStringFormatHelper._strEscapedRightBracket, XStringFormatHelper._strRightBracket); + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/XStringFormatHelper.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/XStringFormatHelper.cs.meta new file mode 100644 index 00000000..eb662a81 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XStringFormatHelper.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: e9538d6c5a7f0fe48bfa5e7946d918d9 +timeCreated: 1611465803 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/XStringTable.cs b/Client/Assets/Scripts/XUtliPoolLib/XStringTable.cs new file mode 100644 index 00000000..c7e2fc39 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XStringTable.cs @@ -0,0 +1,116 @@ +using System; +using UnityEngine; +using XUpdater; + +namespace XUtliPoolLib +{ + public class XStringTable : XSingleton + { + private XTableAsyncLoader _async_loader = null; + + private StringTable _reader = new StringTable(); + + private bool _inited = false; + + public bool ReInit(TextAsset ta) + { + this.Uninit(); + bool flag = XSingleton.singleton.ReadFile(ta, this._reader); + bool result; + if (flag) + { + this._inited = true; + result = true; + } + else + { + result = false; + } + return result; + } + + public bool SyncInit() + { + bool inited = this._inited; + bool result; + if (inited) + { + result = true; + } + else + { + this._inited = XSingleton.singleton.ReadFile("Table/StringTable", this._reader); + bool inited2 = this._inited; + if (inited2) + { + } + result = this._inited; + } + return result; + } + + public override bool Init() + { + bool inited = this._inited; + bool result; + if (inited) + { + result = true; + } + else + { + bool flag = this._async_loader == null; + if (flag) + { + this._async_loader = new XTableAsyncLoader(); + this._async_loader.AddTask("Table/StringTable", this._reader, false); + this._async_loader.Execute(null); + } + this._inited = this._async_loader.IsDone; + result = this._inited; + } + return result; + } + + public override void Uninit() + { + this._inited = false; + this._async_loader = null; + } + + public bool StringTableUpdated() + { + return XSingleton.singleton.ContainRes(XSingleton.singleton.XHash("Table/StringTable")); + } + + public string GetString(string key) + { + string text = ""; + bool data = this.GetData(key, out text); + string result; + if (data) + { + result = text; + } + else + { + bool flag = key != "UNKNOWN_TARGET"; + if (flag) + { + result = this.GetString("UNKNOWN_TARGET") + " " + key; + } + else + { + result = "UNKNOWN_TARGET not found in StringTable"; + } + } + return result; + } + + public bool GetData(string key, out string value) + { + uint key2 = XSingleton.singleton.XHash(key); + return this._reader.Table.TryGetValue(key2, out value); + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/XStringTable.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/XStringTable.cs.meta new file mode 100644 index 00000000..dfda5c9a --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XStringTable.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 27046b12993c9694897f4262f4d2d338 +timeCreated: 1611465301 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/XSubTitleDataClip.cs b/Client/Assets/Scripts/XUtliPoolLib/XSubTitleDataClip.cs new file mode 100644 index 00000000..5cd3baef --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XSubTitleDataClip.cs @@ -0,0 +1,15 @@ +using System; +using UnityEngine; + +namespace XUtliPoolLib +{ + [Serializable] + public class XSubTitleDataClip : XCutSceneClip + { + [SerializeField] + public string Context = null; + + [SerializeField] + public float Duration = 45f; + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/XSubTitleDataClip.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/XSubTitleDataClip.cs.meta new file mode 100644 index 00000000..8da3829b --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XSubTitleDataClip.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 2855c8262c0b49c4ca790ed17c0314c4 +timeCreated: 1611465302 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/XTableAsyncLoader.cs b/Client/Assets/Scripts/XUtliPoolLib/XTableAsyncLoader.cs new file mode 100644 index 00000000..8573de96 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XTableAsyncLoader.cs @@ -0,0 +1,171 @@ +using System; +using System.Collections.Generic; +using System.Threading; +using UnityEngine; +using XUpdater; + +namespace XUtliPoolLib +{ + public sealed class XTableAsyncLoader + { + public bool IsDone + { + get + { + bool flag = false; + bool flag2 = this.currentXfra == null; + if (flag2) + { + bool flag3 = XTableAsyncLoader.currentThreadCount < XTableAsyncLoader.AsyncPerTime; + if (flag3) + { + XTableAsyncLoader.currentThreadCount++; + } + flag = this.InnerExecute(); + } + else + { + bool isDone = this.currentXfra.IsDone; + if (isDone) + { + bool flag4 = XTableAsyncLoader.currentThreadCount < XTableAsyncLoader.AsyncPerTime; + if (flag4) + { + XTableAsyncLoader.currentThreadCount++; + } + XBinaryReader.Return(this.currentXfra.Data, false); + this.currentXfra = null; + flag = this.InnerExecute(); + } + } + bool flag5 = flag; + if (flag5) + { + bool flag6 = this._call_back != null; + if (flag6) + { + this._call_back(); + this._call_back = null; + } + this._executing = false; + } + return flag; + } + } + + private bool _executing = false; + + private List _task_list = new List(); + + private OnLoadedCallback _call_back = null; + + private XFileReadAsync currentXfra = null; + + public static int currentThreadCount = 0; + + public static readonly int AsyncPerTime = 2; + + public void AddTask(string location, CVSReader reader, bool native = false) + { + INativePlugin nativePlugin = XSingleton.singleton.XPlatform.GetNativePlugin(); + bool flag = native && nativePlugin != null; + if (flag) + { + TextAsset sharedResource = XSingleton.singleton.GetSharedResource(location, ".bytes", true, false); + bool flag2 = sharedResource != null; + if (flag2) + { + nativePlugin.InputData(0, 0, sharedResource.bytes, sharedResource.bytes.Length); + XSingleton.singleton.UnSafeDestroyShareResource(location, ".bytes", sharedResource, false); + } + } + else + { + XFileReadAsync xfileReadAsync = new XFileReadAsync(); + xfileReadAsync.Location = location; + xfileReadAsync.Reader = reader; + this._task_list.Add(xfileReadAsync); + } + } + + private bool InnerExecute() + { + bool flag = this._task_list.Count > 0; + bool result; + if (flag) + { + bool flag2 = XTableAsyncLoader.currentThreadCount <= 0; + if (flag2) + { + result = false; + } + else + { + XTableAsyncLoader.currentThreadCount--; + this.currentXfra = this._task_list[this._task_list.Count - 1]; + this._task_list.RemoveAt(this._task_list.Count - 1); + this.ReadFileAsync(this.currentXfra); + result = false; + } + } + else + { + result = true; + } + return result; + } + + public bool Execute(OnLoadedCallback callback = null) + { + bool executing = this._executing; + bool result; + if (executing) + { + result = false; + } + else + { + this._call_back = callback; + this._executing = true; + this.InnerExecute(); + result = true; + } + return result; + } + + private void ReadFileAsync(XFileReadAsync xfra) + { + xfra.Data = XBinaryReader.Get(); + bool flag = XSingleton.singleton.ReadText(xfra.Location, ".bytes", xfra.Data, false); + bool flag2 = !flag; + if (flag2) + { + XResourceLoaderMgr.LoadErrorLog(xfra.Location); + XBinaryReader.Return(xfra.Data, false); + xfra.Data = null; + xfra.IsDone = true; + this.currentXfra = null; + } + else + { + ThreadPool.QueueUserWorkItem(delegate(object state) + { + try + { + bool flag3 = xfra.Reader.ReadFile(xfra.Data); + bool flag4 = !flag3; + if (flag4) + { + XSingleton.singleton.AddErrorLog("in File: ", xfra.Location, xfra.Reader.error, null, null, null); + } + } + catch (Exception ex) + { + XSingleton.singleton.AddErrorLog(ex.Message, " in File: ", xfra.Location, xfra.Reader.error, null, null); + } + xfra.IsDone = true; + }); + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/XTableAsyncLoader.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/XTableAsyncLoader.cs.meta new file mode 100644 index 00000000..70b6b8ec --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XTableAsyncLoader.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 002130faeae056048af9d8099f75900e +timeCreated: 1611465283 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/XTimerMgr.cs b/Client/Assets/Scripts/XUtliPoolLib/XTimerMgr.cs new file mode 100644 index 00000000..9971fd9e --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XTimerMgr.cs @@ -0,0 +1,374 @@ +using System; +using System.Collections.Generic; +using UnityEngine; + +namespace XUtliPoolLib +{ + public sealed class XTimerMgr : XSingleton + { + public double Elapsed + { + get + { + return this._elapsed; + } + } + + public bool NeedFixedUpdate + { + get + { + return this._fixedUpdate; + } + } + + private uint _token = 0u; + + private double _elapsed = 0.0; + + private Queue _pool = new Queue(); + + private XHeap _timers = new XHeap(); + + private Dictionary _dict = new Dictionary(20); + + private float _intervalTime = 0f; + + private float _updateTime = 0.1f; + + private bool _fixedUpdate = false; + + public bool update = true; + + public float updateStartTime = 0f; + + public delegate void ElapsedEventHandler(object param); + + public delegate void AccurateElapsedEventHandler(object param, float delay); + + public delegate void ElapsedIDEventHandler(object param, int id); + + private sealed class XTimer : IComparable, IHere + { + public double TriggerTime + { + get + { + return this._triggerTime; + } + } + + public bool IsGlobaled + { + get + { + return this._global; + } + } + + public bool IsInPool { get; set; } + + public uint Token + { + get + { + return this._token; + } + } + + public int Here { get; set; } + + public int Id { get; set; } + + private double _triggerTime; + + private object _param; + + private object _handler; + + private bool _global = false; + + private uint _token = 0u; + + public XTimer(double trigger, object handler, object parma, uint token, bool global, int id) + { + this.Refine(trigger, handler, parma, token, global, id); + } + + public void Refine(double trigger, object handler, object parma, uint token, bool global, int id) + { + this._triggerTime = trigger; + this._handler = handler; + this._param = parma; + this._global = global; + this._token = token; + this.Here = -1; + this.IsInPool = false; + this.Id = id; + } + + public void Refine(double trigger) + { + this._triggerTime = trigger; + } + + public void Fire(float delta) + { + bool flag = this._handler is XTimerMgr.AccurateElapsedEventHandler; + if (flag) + { + (this._handler as XTimerMgr.AccurateElapsedEventHandler)(this._param, delta); + } + else + { + bool flag2 = this._handler is XTimerMgr.ElapsedIDEventHandler; + if (flag2) + { + (this._handler as XTimerMgr.ElapsedIDEventHandler)(this._param, this.Id); + } + else + { + (this._handler as XTimerMgr.ElapsedEventHandler)(this._param); + } + } + } + + public int CompareTo(XTimerMgr.XTimer other) + { + return (int)((this._triggerTime == other._triggerTime) ? (this._token - other.Token) : ((this._triggerTime < other._triggerTime) ? uint.MaxValue : 1u)); + } + + public double TimeLeft() + { + return this._triggerTime - XSingleton.singleton.Elapsed; + } + } + + public uint SetTimer(float interval, XTimerMgr.ElapsedEventHandler handler, object param) + { + this._token += 1u; + bool flag = interval <= 0f; + if (flag) + { + handler(param); + this._token += 1u; + } + else + { + double trigger = this._elapsed + Math.Round((double)interval, 3); + XTimerMgr.XTimer timer = this.GetTimer(trigger, handler, param, this._token, false, -1); + this._timers.PushHeap(timer); + this._dict.Add(this._token, timer); + } + return this._token; + } + + public uint SetTimer(float interval, XTimerMgr.ElapsedIDEventHandler handler, object param, TEnum e) where TEnum : struct + { + this._token += 1u; + int id = XFastEnumIntEqualityComparer.ToInt(e); + bool flag = interval <= 0f; + if (flag) + { + handler(param, id); + this._token += 1u; + } + else + { + double trigger = this._elapsed + Math.Round((double)interval, 3); + XTimerMgr.XTimer timer = this.GetTimer(trigger, handler, param, this._token, false, id); + this._timers.PushHeap(timer); + this._dict.Add(this._token, timer); + } + return this._token; + } + + public uint SetGlobalTimer(float interval, XTimerMgr.ElapsedEventHandler handler, object param) + { + this._token += 1u; + bool flag = interval <= 0f; + if (flag) + { + handler(param); + this._token += 1u; + } + else + { + double trigger = this._elapsed + Math.Round((double)interval, 3); + XTimerMgr.XTimer timer = this.GetTimer(trigger, handler, param, this._token, true, -1); + this._timers.PushHeap(timer); + this._dict.Add(this._token, timer); + } + return this._token; + } + + public uint SetTimerAccurate(float interval, XTimerMgr.AccurateElapsedEventHandler handler, object param) + { + this._token += 1u; + bool flag = interval <= 0f; + if (flag) + { + handler(param, 0f); + this._token += 1u; + } + else + { + double trigger = this._elapsed + Math.Round((double)interval, 3); + XTimerMgr.XTimer timer = this.GetTimer(trigger, handler, param, this._token, false, -1); + this._timers.PushHeap(timer); + this._dict.Add(this._token, timer); + } + return this._token; + } + + public void AdjustTimer(float interval, uint token, bool closed = false) + { + XTimerMgr.XTimer xtimer = null; + bool flag = this._dict.TryGetValue(token, out xtimer) && !xtimer.IsInPool; + if (flag) + { + double trigger = closed ? (this._elapsed - (double)(Time.deltaTime * 0.5f) + Math.Round((double)interval, 3)) : (this._elapsed + Math.Round((double)interval, 3)); + double triggerTime = xtimer.TriggerTime; + xtimer.Refine(trigger); + this._timers.Adjust(xtimer, triggerTime < xtimer.TriggerTime); + } + } + + public void KillTimerAll() + { + List list = new List(); + foreach (XTimerMgr.XTimer xtimer in this._dict.Values) + { + bool isGlobaled = xtimer.IsGlobaled; + if (!isGlobaled) + { + list.Add(xtimer); + } + } + for (int i = 0; i < list.Count; i++) + { + this.KillTimer(list[i]); + } + list.Clear(); + } + + private void KillTimer(XTimerMgr.XTimer timer) + { + bool flag = timer == null; + if (!flag) + { + this._timers.PopHeapAt(timer.Here); + this.Discard(timer); + } + } + + public void KillTimer(uint token) + { + bool flag = token == 0u; + if (!flag) + { + XTimerMgr.XTimer timer = null; + bool flag2 = this._dict.TryGetValue(token, out timer); + if (flag2) + { + this.KillTimer(timer); + } + } + } + + public double TimeLeft(uint token) + { + XTimerMgr.XTimer xtimer = null; + bool flag = this._dict.TryGetValue(token, out xtimer); + double result; + if (flag) + { + result = xtimer.TimeLeft(); + } + else + { + result = 0.0; + } + return result; + } + + public void Update(float fDeltaT) + { + this._elapsed += (double)fDeltaT; + this._intervalTime += fDeltaT; + bool flag = this._intervalTime > this._updateTime; + if (flag) + { + this._intervalTime = 0f; + this._fixedUpdate = true; + } + this.TriggerTimers(); + } + + public void PostUpdate() + { + this._fixedUpdate = false; + } + + private void TriggerTimers() + { + while (this._timers.HeapSize > 0) + { + XTimerMgr.XTimer xtimer = this._timers.Peek(); + float num = (float)(this._elapsed - xtimer.TriggerTime); + bool flag = num >= 0f; + if (!flag) + { + break; + } + this.ExecuteTimer(this._timers.PopHeap(), num); + } + } + + private void ExecuteTimer(XTimerMgr.XTimer timer, float delta) + { + this.Discard(timer); + timer.Fire(delta); + } + + private void Discard(XTimerMgr.XTimer timer) + { + bool isInPool = timer.IsInPool; + if (!isInPool) + { + bool flag = this._dict.Remove(timer.Token); + if (flag) + { + timer.IsInPool = true; + this._pool.Enqueue(timer); + } + } + } + + private XTimerMgr.XTimer GetTimer(double trigger, object handler, object parma, uint token, bool global, int id = -1) + { + bool flag = this._pool.Count > 0; + XTimerMgr.XTimer result; + if (flag) + { + XTimerMgr.XTimer xtimer = this._pool.Dequeue(); + xtimer.Refine(trigger, handler, parma, token, global, id); + result = xtimer; + } + else + { + result = new XTimerMgr.XTimer(trigger, handler, parma, token, global, id); + } + return result; + } + + public override bool Init() + { + return true; + } + + public override void Uninit() + { + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/XTimerMgr.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/XTimerMgr.cs.meta new file mode 100644 index 00000000..f9233910 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XTimerMgr.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 1e83038616073bd46b3deeebc5b88ddb +timeCreated: 1611465299 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/XUIPool.cs b/Client/Assets/Scripts/XUtliPoolLib/XUIPool.cs new file mode 100644 index 00000000..db071777 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XUIPool.cs @@ -0,0 +1,376 @@ +using System; +using System.Collections.Generic; +using UILib; +using UnityEngine; + +namespace XUtliPoolLib +{ + public class XUIPool + { + public int TplWidth { get; set; } + + public int TplHeight { get; set; } + + public Vector3 TplPos { get; set; } + + public bool IsValid + { + get + { + return this._tpl != null; + } + } + + public int ActiveCount + { + get + { + return this._ActiveCount; + } + } + + public static int _far_far_away = 1000; + + public GameObject _tpl; + + protected List _pool = new List(); + + protected List _used = new List(); + + protected Stack _ToBeRemoved = new Stack(); + + protected bool _bEffectiveMode = true; + + public IXUITool _uiTool = null; + + private int _ActiveCount; + + public XUIPool(IXUITool uiTool) + { + this._uiTool = uiTool; + } + + public void SetupPool(GameObject parent, GameObject tpl, uint Count, bool bEffectiveMode = true) + { + this._pool.Clear(); + this._used.Clear(); + this._ToBeRemoved.Clear(); + this._tpl = tpl; + this._bEffectiveMode = bEffectiveMode; + this._ActiveCount = 0; + IXUISprite ixuisprite = this._tpl.GetComponent("XUISprite") as IXUISprite; + IXUILabel ixuilabel = this._tpl.GetComponent("XUILabel") as IXUILabel; + bool flag = ixuisprite != null; + if (flag) + { + this.TplWidth = ixuisprite.spriteWidth; + this.TplHeight = ixuisprite.spriteHeight; + } + else + { + bool flag2 = ixuilabel != null; + if (flag2) + { + this.TplWidth = ixuilabel.spriteWidth; + this.TplHeight = ixuilabel.spriteHeight; + } + else + { + this.TplWidth = 0; + this.TplHeight = 0; + } + } + bool flag3 = !bEffectiveMode; + if (flag3) + { + this.ReturnAllDisable(); + } + this.TplPos = this._tpl.transform.localPosition; + Transform parent2 = (parent == null) ? this._tpl.transform.parent : parent.transform; + int num = 0; + while ((long)num < (long)((ulong)Count)) + { + GameObject gameObject = XCommon.Instantiate(this._tpl); + gameObject.transform.parent = parent2; + gameObject.transform.localScale = Vector3.one; + gameObject.name = "item" + num; + bool bEffectiveMode2 = this._bEffectiveMode; + if (bEffectiveMode2) + { + gameObject.transform.localPosition = Vector3.one * (float)XUIPool._far_far_away; + } + else + { + gameObject.transform.localPosition = this._tpl.transform.localPosition; + this.MakeGameObjectEnabled(gameObject, false); + } + this._pool.Add(gameObject); + this._used.Add(false); + num++; + } + bool bEffectiveMode3 = this._bEffectiveMode; + if (bEffectiveMode3) + { + this._tpl.transform.parent = parent2; + this._tpl.transform.localPosition = Vector3.one * (float)XUIPool._far_far_away; + } + else + { + this._tpl.transform.parent = parent2; + this.MakeGameObjectEnabled(this._tpl, false); + } + } + + public GameObject FetchGameObject(bool fadeIn = false) + { + this._ActiveCount++; + bool flag = this._ToBeRemoved.Count > 0; + GameObject result; + if (flag) + { + int index = this._ToBeRemoved.Pop(); + this.CheckFadeIn(fadeIn, this._pool[index]); + result = this._pool[index]; + } + else + { + for (int i = 0; i < this._pool.Count; i++) + { + bool flag2 = !this._used[i]; + if (flag2) + { + bool flag3 = !this._bEffectiveMode; + if (flag3) + { + this.MakeGameObjectEnabled(this._pool[i], true); + } + this._used[i] = true; + this.CheckFadeIn(fadeIn, this._pool[i]); + return this._pool[i]; + } + } + int count = this._pool.Count; + bool flag4 = !this._bEffectiveMode; + if (flag4) + { + this.MakeGameObjectEnabled(this._tpl, true); + } + for (int j = 0; j < (count + 1) / 2; j++) + { + GameObject gameObject = XCommon.Instantiate(this._tpl); + gameObject.transform.parent = this._tpl.transform.parent; + gameObject.transform.localScale = Vector3.one; + gameObject.name = "item" + this._pool.Count; + bool bEffectiveMode = this._bEffectiveMode; + if (bEffectiveMode) + { + gameObject.transform.localPosition = Vector3.one * (float)XUIPool._far_far_away; + } + else + { + gameObject.transform.localPosition = this._tpl.transform.localPosition; + this.MakeGameObjectEnabled(gameObject, false); + } + this._pool.Add(gameObject); + this._used.Add(false); + } + bool flag5 = !this._bEffectiveMode; + if (flag5) + { + this.MakeGameObjectEnabled(this._tpl, false); + } + this._used[count] = true; + this.MakeGameObjectEnabled(this._pool[count], true); + this.CheckFadeIn(fadeIn, this._pool[count]); + result = this._pool[count]; + } + return result; + } + + private void CheckFadeIn(bool fadeIn, GameObject go) + { + bool flag = !fadeIn; + if (!flag) + { + IXTweenFadeIn ixtweenFadeIn = go.GetComponent("TweenFadeIn") as IXTweenFadeIn; + bool flag2 = ixtweenFadeIn == null; + if (flag2) + { + XSingleton.singleton.AddErrorLog("Tpl haven't FadeIn Component but Fetch try to get it.", null, null, null, null, null); + } + else + { + ixtweenFadeIn.PlayFadeIn(); + } + } + } + + public void FakeReturnAll() + { + this._ToBeRemoved.Clear(); + for (int i = this._used.Count - 1; i >= 0; i--) + { + bool flag = this._used[i]; + if (flag) + { + this._ToBeRemoved.Push(i); + } + } + this._ActiveCount = 0; + } + + public void ActualReturnAll(bool bChangeParent = false) + { + while (this._ToBeRemoved.Count > 0) + { + int index = this._ToBeRemoved.Pop(); + this._DisableGameObject(this._pool[index], bChangeParent); + this._used[index] = false; + } + } + + public void ReturnAll(bool bChangeParent = false) + { + for (int i = 0; i < this._pool.Count; i++) + { + GameObject go = this._pool[i]; + this._DisableGameObject(go, bChangeParent); + } + for (int j = 0; j < this._used.Count; j++) + { + this._used[j] = false; + } + this._ActiveCount = 0; + } + + public void ReturnAllDisable() + { + for (int i = 0; i < this._pool.Count; i++) + { + bool flag = !this._pool[i].activeSelf; + if (flag) + { + bool flag2 = i < this._used.Count; + if (flag2) + { + this._used[i] = false; + } + this._ActiveCount--; + } + } + } + + public void ReturnInstance(GameObject go, bool bChangeParent = false) + { + this._DisableGameObject(go, bChangeParent); + int num = -1; + for (int i = 0; i < this._pool.Count; i++) + { + bool flag = this._pool[i] == go; + if (flag) + { + num = i; + break; + } + } + bool flag2 = num > -1 && num < this._used.Count; + if (flag2) + { + this._used[num] = false; + } + this._ActiveCount--; + } + + public void ReturnAny(int count, bool bChangeParent = false) + { + int num = 0; + while (num < this._pool.Count && count > 0) + { + bool flag = this._used[num]; + if (flag) + { + this._used[num] = false; + this._DisableGameObject(this._pool[num], bChangeParent); + this._ActiveCount--; + count--; + } + num++; + } + } + + private void _DisableGameObject(GameObject go, bool bChangeParent) + { + if (bChangeParent) + { + go.transform.parent = this._tpl.transform.parent; + } + bool bEffectiveMode = this._bEffectiveMode; + if (bEffectiveMode) + { + go.transform.localPosition = Vector3.one * (float)XUIPool._far_far_away; + } + else + { + this.MakeGameObjectEnabled(go, false); + } + } + + public void GetActiveList(List ret) + { + int i = 0; + int count = this._pool.Count; + while (i < count) + { + GameObject gameObject = this._pool[i]; + bool bEffectiveMode = this._bEffectiveMode; + if (bEffectiveMode) + { + bool flag = gameObject.transform.localPosition.x < (float)XUIPool._far_far_away; + if (flag) + { + ret.Add(gameObject); + } + } + else + { + bool activeInHierarchy = gameObject.activeInHierarchy; + if (activeInHierarchy) + { + ret.Add(gameObject); + } + } + i++; + } + } + + protected void MakeGameObjectEnabled(GameObject go, bool enabled) + { + go.SetActive(enabled); + } + + public void PlayFadeInWithActiveList() + { + List list = ListPool.Get(); + this.GetActiveList(list); + bool flag = list.Count != 0; + if (flag) + { + IXTweenFadeIn ixtweenFadeIn = list[0].GetComponent("TweenFadeIn") as IXTweenFadeIn; + bool flag2 = ixtweenFadeIn == null; + if (flag2) + { + XSingleton.singleton.AddErrorLog("Tpl ActiveList haven't FadeIn Component but Fetch try to get it.", null, null, null, null, null); + } + else + { + ixtweenFadeIn.ResetGroupDelay(); + for (int i = 0; i < list.Count; i++) + { + this.CheckFadeIn(true, list[i]); + } + } + } + ListPool.Release(list); + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/XUIPool.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/XUIPool.cs.meta new file mode 100644 index 00000000..f9389472 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XUIPool.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 2af120a5b727c7c4682b2f93e8b1a701 +timeCreated: 1611465303 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/XUpdater.meta b/Client/Assets/Scripts/XUtliPoolLib/XUpdater.meta new file mode 100644 index 00000000..5023ab44 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XUpdater.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 2889f77fb0898b747bc1e7fdf5160187 +folderAsset: yes +timeCreated: 1611465282 +licenseType: Free +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/XUpdater/AssetLevel.cs b/Client/Assets/Scripts/XUtliPoolLib/XUpdater/AssetLevel.cs new file mode 100644 index 00000000..8d4ac78b --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XUpdater/AssetLevel.cs @@ -0,0 +1,11 @@ +using System; + +namespace XUpdater +{ + public enum AssetLevel + { + Memory, + Image, + Disk + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/XUpdater/AssetLevel.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/XUpdater/AssetLevel.cs.meta new file mode 100644 index 00000000..bebf8f33 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XUpdater/AssetLevel.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 11511373ad6c83c4ebf7b1a96b877ae9 +timeCreated: 1611465291 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/XUpdater/AsyncAssemblyRequest.cs b/Client/Assets/Scripts/XUtliPoolLib/XUpdater/AsyncAssemblyRequest.cs new file mode 100644 index 00000000..8ce94783 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XUpdater/AsyncAssemblyRequest.cs @@ -0,0 +1,12 @@ +using System; +using System.Reflection; + +namespace XUpdater +{ + public sealed class AsyncAssemblyRequest + { + public Assembly Main = null; + + public bool IsDone = false; + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/XUpdater/AsyncAssemblyRequest.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/XUpdater/AsyncAssemblyRequest.cs.meta new file mode 100644 index 00000000..96a8513d --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XUpdater/AsyncAssemblyRequest.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: ab80306a5baed0b438a50ef96d8ed683 +timeCreated: 1611465741 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/XUpdater/AsyncCachedRequest.cs b/Client/Assets/Scripts/XUtliPoolLib/XUpdater/AsyncCachedRequest.cs new file mode 100644 index 00000000..a3809d6d --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XUpdater/AsyncCachedRequest.cs @@ -0,0 +1,13 @@ +using System; + +namespace XUpdater +{ + internal sealed class AsyncCachedRequest + { + public bool Cached = false; + + public bool MaybeCached = false; + + public bool IsDone = false; + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/XUpdater/AsyncCachedRequest.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/XUpdater/AsyncCachedRequest.cs.meta new file mode 100644 index 00000000..ab02c220 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XUpdater/AsyncCachedRequest.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: fefa949f138c8da418ebb1ac4c88d742 +timeCreated: 1611465813 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/XUpdater/AsyncDecompressRequest.cs b/Client/Assets/Scripts/XUtliPoolLib/XUpdater/AsyncDecompressRequest.cs new file mode 100644 index 00000000..44410f71 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XUpdater/AsyncDecompressRequest.cs @@ -0,0 +1,13 @@ +using System; + +namespace XUpdater +{ + public sealed class AsyncDecompressRequest + { + public bool IsDone = false; + + public bool HasError = false; + + public float Ratio = 0f; + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/XUpdater/AsyncDecompressRequest.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/XUpdater/AsyncDecompressRequest.cs.meta new file mode 100644 index 00000000..80baef0a --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XUpdater/AsyncDecompressRequest.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: c1b139bb74e9c65488af36d532dbe8ec +timeCreated: 1611465753 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/XUpdater/AsyncExtractRequest.cs b/Client/Assets/Scripts/XUtliPoolLib/XUpdater/AsyncExtractRequest.cs new file mode 100644 index 00000000..697345a0 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XUpdater/AsyncExtractRequest.cs @@ -0,0 +1,11 @@ +using System; + +namespace XUpdater +{ + internal sealed class AsyncExtractRequest + { + public bool IsDone = false; + + public byte[] Data = null; + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/XUpdater/AsyncExtractRequest.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/XUpdater/AsyncExtractRequest.cs.meta new file mode 100644 index 00000000..876e2aad --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XUpdater/AsyncExtractRequest.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 5011231640afbcc4c8ac6dc741d6862f +timeCreated: 1611465643 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/XUpdater/AsyncLogRequest.cs b/Client/Assets/Scripts/XUtliPoolLib/XUpdater/AsyncLogRequest.cs new file mode 100644 index 00000000..138ca5f3 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XUpdater/AsyncLogRequest.cs @@ -0,0 +1,9 @@ +using System; + +namespace XUpdater +{ + internal sealed class AsyncLogRequest + { + public bool IsDone = false; + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/XUpdater/AsyncLogRequest.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/XUpdater/AsyncLogRequest.cs.meta new file mode 100644 index 00000000..2292840b --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XUpdater/AsyncLogRequest.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 266c9c0b4ff1d5f44b4dc47febd01fa8 +timeCreated: 1611465301 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/XUpdater/AsyncReadRequest.cs b/Client/Assets/Scripts/XUtliPoolLib/XUpdater/AsyncReadRequest.cs new file mode 100644 index 00000000..6cddb9e3 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XUpdater/AsyncReadRequest.cs @@ -0,0 +1,11 @@ +using System; + +namespace XUpdater +{ + internal sealed class AsyncReadRequest + { + public bool IsDone = false; + + public byte[] bytes = null; + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/XUpdater/AsyncReadRequest.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/XUpdater/AsyncReadRequest.cs.meta new file mode 100644 index 00000000..63a452d2 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XUpdater/AsyncReadRequest.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: c49dde5a2c4330d43a70cb229f191ee3 +timeCreated: 1611465755 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/XUpdater/AsyncVersionProcessRequest.cs b/Client/Assets/Scripts/XUtliPoolLib/XUpdater/AsyncVersionProcessRequest.cs new file mode 100644 index 00000000..35d4bf1d --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XUpdater/AsyncVersionProcessRequest.cs @@ -0,0 +1,11 @@ +using System; + +namespace XUpdater +{ + internal sealed class AsyncVersionProcessRequest + { + public bool IsDone = false; + + public bool IsCorrect = false; + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/XUpdater/AsyncVersionProcessRequest.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/XUpdater/AsyncVersionProcessRequest.cs.meta new file mode 100644 index 00000000..e563b514 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XUpdater/AsyncVersionProcessRequest.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: a9c0ae94ae541204d9b38b7b61fcaa13 +timeCreated: 1611465739 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/XUpdater/AsyncWriteRequest.cs b/Client/Assets/Scripts/XUtliPoolLib/XUpdater/AsyncWriteRequest.cs new file mode 100644 index 00000000..53577bdd --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XUpdater/AsyncWriteRequest.cs @@ -0,0 +1,17 @@ +using System; + +namespace XUpdater +{ + internal sealed class AsyncWriteRequest + { + public bool IsDone = false; + + public bool HasError = false; + + public string Location = null; + + public string Name = null; + + public uint Size = 0u; + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/XUpdater/AsyncWriteRequest.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/XUpdater/AsyncWriteRequest.cs.meta new file mode 100644 index 00000000..37f0f188 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XUpdater/AsyncWriteRequest.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: e366103fe3b18ee4d95e430c195d3e06 +timeCreated: 1611465801 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/XUpdater/BuildTarget.cs b/Client/Assets/Scripts/XUtliPoolLib/XUpdater/BuildTarget.cs new file mode 100644 index 00000000..4b58adae --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XUpdater/BuildTarget.cs @@ -0,0 +1,12 @@ +using System; + +namespace XUpdater +{ + public enum BuildTarget + { + Unknown, + IOS, + Android, + Standalone + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/XUpdater/BuildTarget.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/XUpdater/BuildTarget.cs.meta new file mode 100644 index 00000000..544f6004 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XUpdater/BuildTarget.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 29d77a42d1136f0429c70b41706ba425 +timeCreated: 1611465303 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/XUpdater/BundleMetaRes.cs b/Client/Assets/Scripts/XUtliPoolLib/XUpdater/BundleMetaRes.cs new file mode 100644 index 00000000..37e47794 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XUpdater/BundleMetaRes.cs @@ -0,0 +1,7 @@ +using System; +using System.Collections.Generic; + +namespace XUpdater +{ + public delegate List BundleMetaRes(List rawList, string destFoler); +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/XUpdater/BundleMetaRes.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/XUpdater/BundleMetaRes.cs.meta new file mode 100644 index 00000000..96b725a2 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XUpdater/BundleMetaRes.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 2f6317ec5b64c3c4a9291fdbeafb266e +timeCreated: 1611465307 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/XUpdater/HandleBundleDownload.cs b/Client/Assets/Scripts/XUtliPoolLib/XUpdater/HandleBundleDownload.cs new file mode 100644 index 00000000..08e62a97 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XUpdater/HandleBundleDownload.cs @@ -0,0 +1,7 @@ +using System; +using UnityEngine; + +namespace XUpdater +{ + internal delegate AsyncWriteRequest HandleBundleDownload(WWW www, XBundleData bundle, string error); +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/XUpdater/HandleBundleDownload.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/XUpdater/HandleBundleDownload.cs.meta new file mode 100644 index 00000000..776a5042 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XUpdater/HandleBundleDownload.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 4e48883f185e30c498dbd279d7ceddf7 +timeCreated: 1611465642 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/XUpdater/HandleFetchBundle.cs b/Client/Assets/Scripts/XUtliPoolLib/XUpdater/HandleFetchBundle.cs new file mode 100644 index 00000000..9270b174 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XUpdater/HandleFetchBundle.cs @@ -0,0 +1,7 @@ +using System; +using UnityEngine; + +namespace XUpdater +{ + internal delegate void HandleFetchBundle(WWW bundle, byte[] bytes, XBundleData data, bool newdownload); +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/XUpdater/HandleFetchBundle.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/XUpdater/HandleFetchBundle.cs.meta new file mode 100644 index 00000000..0ee08764 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XUpdater/HandleFetchBundle.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 54c07dfa9833fa14abfce085cbf6dc3e +timeCreated: 1611465645 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/XUpdater/HandleLoadAsset.cs b/Client/Assets/Scripts/XUtliPoolLib/XUpdater/HandleLoadAsset.cs new file mode 100644 index 00000000..eacf231b --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XUpdater/HandleLoadAsset.cs @@ -0,0 +1,7 @@ +using System; +using UnityEngine; + +namespace XUpdater +{ + internal delegate void HandleLoadAsset(XResPackage package, UnityEngine.Object asset); +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/XUpdater/HandleLoadAsset.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/XUpdater/HandleLoadAsset.cs.meta new file mode 100644 index 00000000..ef4377e4 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XUpdater/HandleLoadAsset.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 6d4aa5d1cc5ccba43a34283eb79b80d8 +timeCreated: 1611465685 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/XUpdater/HandleLoadBundle.cs b/Client/Assets/Scripts/XUtliPoolLib/XUpdater/HandleLoadBundle.cs new file mode 100644 index 00000000..55482def --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XUpdater/HandleLoadBundle.cs @@ -0,0 +1,7 @@ +using System; +using UnityEngine; + +namespace XUpdater +{ + internal delegate void HandleLoadBundle(AssetBundle bundle); +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/XUpdater/HandleLoadBundle.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/XUpdater/HandleLoadBundle.cs.meta new file mode 100644 index 00000000..ae3b1392 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XUpdater/HandleLoadBundle.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 93f6995e1f9a4de44a45bbd084448aed +timeCreated: 1611465707 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/XUpdater/HandlePreDecompressing.cs b/Client/Assets/Scripts/XUtliPoolLib/XUpdater/HandlePreDecompressing.cs new file mode 100644 index 00000000..b4436ea3 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XUpdater/HandlePreDecompressing.cs @@ -0,0 +1,6 @@ +using System; + +namespace XUpdater +{ + public delegate void HandlePreDecompressing(string error); +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/XUpdater/HandlePreDecompressing.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/XUpdater/HandlePreDecompressing.cs.meta new file mode 100644 index 00000000..345a87bb --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XUpdater/HandlePreDecompressing.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 9c4e5dd84410a0e40a0423a53f181555 +timeCreated: 1611465711 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/XUpdater/HandleVersionDownload.cs b/Client/Assets/Scripts/XUtliPoolLib/XUpdater/HandleVersionDownload.cs new file mode 100644 index 00000000..77435200 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XUpdater/HandleVersionDownload.cs @@ -0,0 +1,7 @@ +using System; +using UnityEngine; + +namespace XUpdater +{ + internal delegate AsyncVersionProcessRequest HandleVersionDownload(TextAsset text); +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/XUpdater/HandleVersionDownload.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/XUpdater/HandleVersionDownload.cs.meta new file mode 100644 index 00000000..48c83647 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XUpdater/HandleVersionDownload.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 15065b61bf5ac3d478f327cb5ae7a10b +timeCreated: 1611465294 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/XUpdater/HandleVersionLoaded.cs b/Client/Assets/Scripts/XUtliPoolLib/XUpdater/HandleVersionLoaded.cs new file mode 100644 index 00000000..efc66aa0 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XUpdater/HandleVersionLoaded.cs @@ -0,0 +1,6 @@ +using System; + +namespace XUpdater +{ + internal delegate void HandleVersionLoaded(bool correct); +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/XUpdater/HandleVersionLoaded.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/XUpdater/HandleVersionLoaded.cs.meta new file mode 100644 index 00000000..de47e11e --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XUpdater/HandleVersionLoaded.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: cffebd77213e132488f925c85afdb585 +timeCreated: 1611465760 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/XUpdater/ResourceType.cs b/Client/Assets/Scripts/XUtliPoolLib/XUpdater/ResourceType.cs new file mode 100644 index 00000000..a4e52b27 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XUpdater/ResourceType.cs @@ -0,0 +1,11 @@ +using System; + +namespace XUpdater +{ + public enum ResourceType + { + Assets, + Scene, + Script + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/XUpdater/ResourceType.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/XUpdater/ResourceType.cs.meta new file mode 100644 index 00000000..19ade6ce --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XUpdater/ResourceType.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 4bed5f3fc6adece4f9497c3d92c4fa51 +timeCreated: 1611465641 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/XUpdater/XBundle.cs b/Client/Assets/Scripts/XUtliPoolLib/XUpdater/XBundle.cs new file mode 100644 index 00000000..acb8fa42 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XUpdater/XBundle.cs @@ -0,0 +1,64 @@ +using System; +using System.Collections; +using UnityEngine; + +namespace XUpdater +{ + internal sealed class XBundle : MonoBehaviour + { + private AssetBundleRequest _assetloader = null; + + public void GetBundle(WWW www, byte[] data, HandleLoadBundle callback, bool load) + { + base.StartCoroutine(this.LoadBundle(www, data, callback, load)); + } + + public void GetAsset(AssetBundle bundle, XResPackage package, HandleLoadAsset callback) + { + base.StartCoroutine(this.LoadAsset(bundle, package, callback)); + } + + private IEnumerator LoadBundle(WWW www, byte[] data, HandleLoadBundle callback, bool load) + { + AssetBundle bundle = null; + if (load) + { + bool flag = www != null; + if (flag) + { + bundle = www.assetBundle; + } + else + { + bundle = AssetBundle.LoadFromMemory(data); + } + yield return null; + } + bool flag2 = callback != null; + if (flag2) + { + callback(bundle); + } + bool flag3 = www != null; + if (flag3) + { + www.Dispose(); + } + www = null; + yield break; + } + + private IEnumerator LoadAsset(AssetBundle bundle, XResPackage package, HandleLoadAsset callback) + { + this._assetloader = bundle.LoadAssetAsync(base.name, XUpdater.Ass.GetType(package.type)); + yield return this._assetloader; + bool flag = callback != null; + if (flag) + { + callback(package, this._assetloader.asset); + } + this._assetloader = null; + yield break; + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/XUpdater/XBundle.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/XUpdater/XBundle.cs.meta new file mode 100644 index 00000000..4c9a9bdb --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XUpdater/XBundle.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: d74b1473d4088034d828831e70be9ad7 +timeCreated: 1611465764 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/XUpdater/XBundleData.cs b/Client/Assets/Scripts/XUtliPoolLib/XUpdater/XBundleData.cs new file mode 100644 index 00000000..e42cb345 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XUpdater/XBundleData.cs @@ -0,0 +1,16 @@ +using System; + +namespace XUpdater +{ + [Serializable] + public class XBundleData + { + public string Name; + + public string MD5; + + public uint Size; + + public AssetLevel Level = AssetLevel.Memory; + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/XUpdater/XBundleData.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/XUpdater/XBundleData.cs.meta new file mode 100644 index 00000000..2fa3cc7b --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XUpdater/XBundleData.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 77c36f6c000743e479e8dce789a1d43e +timeCreated: 1611465691 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/XUpdater/XCaching.cs b/Client/Assets/Scripts/XUtliPoolLib/XUpdater/XCaching.cs new file mode 100644 index 00000000..a4780a7a --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XUpdater/XCaching.cs @@ -0,0 +1,404 @@ +using System; +using System.IO; +using System.Security.Cryptography; +using System.Text; +using System.Threading; +using UnityEngine; +using XUtliPoolLib; + +namespace XUpdater +{ + public sealed class XCaching : XSingleton + { + public string VersionServer + { + get + { + return this._version_server; + } + } + + public string HostUrl + { + get + { + return this._host_url; + } + } + + public string UpdatePath + { + get + { + return this._update_path; + } + } + + public XDownloader Downloader + { + get + { + return this._down_loader; + } + } + + private string _version_server = null; + + private string _host_url = null; + + internal static readonly string UPDATE_DIRECTORY = "/update/"; + + private string _update_path = null; + + private StringBuilder _log = new StringBuilder(); + + private XDownloader _down_loader = null; + + private MD5CryptoServiceProvider _md5Generator = null; + + private AsyncExtractRequest _aer = null; + + private AsyncWriteRequest _meta_awr = null; + + internal string GetLocalPath(XBundleData data) + { + return string.Format("{0}{1}.assetbundle", this._update_path, data.Name); + } + + internal string GetLocalUrl(XBundleData data) + { + bool flag = XSingleton.singleton.RunTimePlatform == BuildTarget.Standalone; + string arg; + if (flag) + { + arg = "file:///"; + } + else + { + arg = "file://"; + } + string text = string.Format("{0}{1}{2}.assetbundle", arg, this._update_path, data.Name); + XSingleton.singleton.AddLog("LocalURL: ", text, null, null, null, null, XDebugColor.XDebug_None); + return text; + } + + public string GetLoginServerAddress(string loginType) + { + IPlatform xplatform = XSingleton.singleton.XPlatform; + return xplatform.GetHostWithHttpDns(xplatform.GetLoginServer(loginType)); + } + + internal string GetDownloadUrl(XBundleData data) + { + return this.MakeToken(string.Format("{0}{1}/{2}.assetbundle", this.HostUrl, XSingleton.singleton.Platform, data.Name)); + } + + internal string MakeToken(string url) + { + return string.Format("{0}?token={1}", url, DateTime.Now.Ticks); + } + + public override bool Init() + { + IPlatform xplatform = XSingleton.singleton.XPlatform; + this._version_server = xplatform.GetHostWithHttpDns(xplatform.GetVersionServer()); + this._host_url = xplatform.GetHostUrl(); + this._md5Generator = new MD5CryptoServiceProvider(); + this._down_loader = XUpdater.XGameRoot.AddComponent(); + this._update_path = Application.persistentDataPath + XCaching.UPDATE_DIRECTORY; + return true; + } + + internal bool EnableCache() + { + bool flag = !Directory.Exists(this._update_path); + if (flag) + { + XSingleton.singleton.AddLog("Create new path " + this._update_path, null, null, null, null, null, XDebugColor.XDebug_None); + try + { + Directory.CreateDirectory(this._update_path); + return Directory.Exists(this._update_path); + } + catch (Exception ex) + { + XSingleton.singleton.AddErrorLog(string.Format("Error ", ex.Message), null, null, null, null, null); + return false; + } + } + XSingleton.singleton.AddLog(string.Format("Path {0} exists.", this._update_path), null, null, null, null, null, XDebugColor.XDebug_None); + return true; + } + + internal AsyncCachedRequest IsBundleCached(XBundleData bundle, uint size) + { + string fullpath = this.GetLocalPath(bundle); + AsyncCachedRequest req = new AsyncCachedRequest(); + bool flag = bundle.Size < size; + if (flag) + { + new Thread((ThreadStart) delegate + { + bool flag2 = File.Exists(fullpath); + if (flag2) + { + byte[] bundle2 = this.LoadFile(fullpath); + string a = this.CalculateMD5(bundle2); + req.Cached = (a == bundle.MD5); + req.MaybeCached = true; + } + req.IsDone = true; + }).Start(); + } + else + { + req.MaybeCached = File.Exists(fullpath); + req.IsDone = true; + } + return req; + } + + internal bool CleanCache() + { + string path = ((int)Application.platform == 8) ? ("/private" + this._update_path) : this._update_path; + bool result; + try + { + bool flag = Directory.Exists(path); + if (flag) + { + DirectoryInfo directoryInfo = new DirectoryInfo(path); + directoryInfo.Delete(true); + bool flag2 = !Directory.Exists(path); + bool flag3 = flag2; + if (flag3) + { + result = this.EnableCache(); + } + else + { + result = false; + } + } + else + { + result = true; + } + } + catch (Exception ex) + { + XSingleton.singleton.AddErrorLog("CleanCache error: ", ex.Message, null, null, null, null); + result = false; + } + return result; + } + + internal byte[] LoadFile(string fullpath) + { + return File.ReadAllBytes(fullpath); + } + + private AsyncReadRequest LoadFileAsync(string fullpath) + { + AsyncReadRequest arr = new AsyncReadRequest(); + new Thread((ThreadStart) delegate + { + arr.bytes = File.ReadAllBytes(fullpath); + arr.IsDone = true; + }).Start(); + return arr; + } + + internal void Download(XBundleData bundle, HandleFetchBundle callback, float percent) + { + this._down_loader.GetBundle(bundle, this.GetDownloadUrl(bundle), new HandleBundleDownload(this.OnBundleDownload), callback, percent); + } + + internal AsyncWriteRequest Download(string meta, uint size, float percent) + { + this._meta_awr = new AsyncWriteRequest(); + this._meta_awr.Size = size; + this._meta_awr.Location = meta; + this._meta_awr.Name = meta.Substring(meta.LastIndexOf('/') + 1); + this._meta_awr.HasError = false; + string name = meta.Substring(meta.LastIndexOf("/") + 1); + meta = this.MakeToken(this.HostUrl + XSingleton.singleton.Platform + meta); + this._down_loader.GetMeta(meta, name, new XDownloader.HandleBytesDownload(this.OnMetaDownload), percent); + return this._meta_awr; + } + + internal bool Extract(XBundleData bundle, HandleFetchBundle callback, float percent) + { + bool flag =(int) Application.platform == 8; + bool result; + if (flag) + { + bool flag2 = this._aer == null; + if (flag2) + { + this._aer = new AsyncExtractRequest(); + new Thread((ThreadStart)delegate + { + string localPath = this.GetLocalPath(bundle); + this._aer.Data = File.ReadAllBytes(localPath); + this._aer.IsDone = true; + }).Start(); + } + bool isDone = this._aer.IsDone; + if (isDone) + { + callback(null, this._aer.Data, bundle, false); + this._aer.Data = null; + this._aer = null; + result = true; + } + else + { + result = false; + } + } + else + { + this._down_loader.GetBundle(bundle, this.GetLocalUrl(bundle), null, callback, percent); + result = true; + } + return result; + } + + private void OnMetaDownload(WWW www, string error) + { + bool flag = string.IsNullOrEmpty(error); + if (flag) + { + byte[] bs = www.bytes; + new Thread((ThreadStart)delegate + { + try + { + bool needCheckFile = XSingleton.singleton.NeedCheckFile; + if (needCheckFile) + { + bool flag2 = Path.GetExtension(this._meta_awr.Location).Contains("ab"); + if (flag2) + { + bool flag3 = bs[0] != 85 || bs[1] != 110 || bs[2] != 105 || bs[3] != 116 || bs[4] != 121 || bs[5] != 70 || bs[6] != 83; + if (flag3) + { + throw new Exception("Meta head check failed."); + } + } + } + string text = Path.Combine(this._update_path, "AssetBundles"); + string fileName = Path.GetFileName(this._meta_awr.Location); + bool flag4 = !Directory.Exists(text); + if (flag4) + { + Directory.CreateDirectory(text); + } + string text2 = Path.Combine(text, fileName); + File.WriteAllBytes(text2, bs); + bool needCheckFile2 = XSingleton.singleton.NeedCheckFile; + if (needCheckFile2) + { + Thread.Sleep(1); + bool flag5 = this.CheckFileSize(text2, (long)((ulong)this._meta_awr.Size)); + if (!flag5) + { + throw new Exception("Meta File size " + this._meta_awr.Size + " not match."); + } + XSingleton.singleton.XPlatform.SetNoBackupFlag(text2); + this._meta_awr.IsDone = true; + } + else + { + XSingleton.singleton.XPlatform.SetNoBackupFlag(text2); + this._meta_awr.IsDone = true; + } + } + catch (Exception ex) + { + this.OnDownloadFailed(ex.Message, this._meta_awr); + } + }).Start(); + } + else + { + this.OnDownloadFailed(error, this._meta_awr); + } + } + + private void OnDownloadFailed(string error, AsyncWriteRequest awr) + { + XSingleton.singleton.AddErrorLog("Download Meta ", awr.Name, " error: ", error, null, null); + awr.HasError = true; + } + + private AsyncWriteRequest OnBundleDownload(WWW www, XBundleData bundle, string error) + { + AsyncWriteRequest req = new AsyncWriteRequest(); + bool flag = string.IsNullOrEmpty(error); + if (flag) + { + byte[] bs = www.bytes; + new Thread((ThreadStart)delegate + { + req.Location = this.GetLocalPath(bundle); + try + { + File.WriteAllBytes(req.Location, bs); + req.IsDone = true; + } + catch (Exception ex) + { + this.OnDownloadFailed(ex.Message, req); + } + }).Start(); + } + else + { + this.OnDownloadFailed(error, req); + } + return req; + } + + internal string CalculateMD5(byte[] bundle) + { + byte[] value = this._md5Generator.ComputeHash(bundle); + return BitConverter.ToString(value); + } + + internal string CalculateMD5(byte[] bundle, int offset, int count) + { + byte[] value = this._md5Generator.ComputeHash(bundle, offset, count); + return BitConverter.ToString(value); + } + + public bool CheckFileSize(string filePath, long fileSize) + { + bool result; + try + { + bool flag = !File.Exists(filePath); + if (flag) + { + result = false; + } + else + { + FileInfo fileInfo = new FileInfo(filePath); + result = (fileSize == fileInfo.Length); + } + } + catch (Exception ex) + { + XSingleton.singleton.AddErrorLog("XCaching.CheckFileSize: " + ex.Message, null, null, null, null, null); + result = false; + } + return result; + } + + public override void Uninit() + { + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/XUpdater/XCaching.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/XUpdater/XCaching.cs.meta new file mode 100644 index 00000000..6ab14d04 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XUpdater/XCaching.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: e212f5e587fc78e44bfa392acdcc623d +timeCreated: 1611465800 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/XUpdater/XDownloader.cs b/Client/Assets/Scripts/XUtliPoolLib/XUpdater/XDownloader.cs new file mode 100644 index 00000000..00e347ae --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XUpdater/XDownloader.cs @@ -0,0 +1,149 @@ +using System; +using System.Collections; +using System.Text; +using UnityEngine; +using XUtliPoolLib; + +namespace XUpdater +{ + public sealed class XDownloader : MonoBehaviour + { + private StringBuilder _log = new StringBuilder(); + + private WWW _downloader = null; + + private bool _download = true; + + private uint _token = 0u; + + private float _total_percent = 0f; + + private string _current_name = null; + + private XTimerMgr.ElapsedEventHandler _progressCb = null; + + public delegate void HandleBytesDownload(WWW www, string error); + + private void Awake() + { + this._progressCb = new XTimerMgr.ElapsedEventHandler(this.Progress); + } + + internal void GetBundle(XBundleData bundle, string url, HandleBundleDownload callback1, HandleFetchBundle callback2, float percent) + { + this._download = url.Contains("?token="); + this._current_name = bundle.Name; + this._total_percent = percent; + base.StartCoroutine(this.Download(bundle, url, callback1, callback2)); + } + + public void GetMeta(string url, string name, XDownloader.HandleBytesDownload callback, float percent) + { + this._download = true; + this._current_name = name; + this._total_percent = percent; + base.StartCoroutine(this.MetaDownload(url, callback)); + } + + public void GetBytes(string url, XDownloader.HandleBytesDownload callback) + { + base.StartCoroutine(this.BytesDownload(url, callback)); + } + + private IEnumerator MetaDownload(string url, XDownloader.HandleBytesDownload callback) + { + XSingleton.singleton.KillTimer(this._token); + this._token = XSingleton.singleton.SetTimer(0.1f, this._progressCb, null); + this._downloader = new WWW(url); + yield return this._downloader; + XSingleton.singleton.KillTimer(this._token); + this.Progress(null); + XSingleton.singleton.KillTimer(this._token); + bool flag = callback != null; + if (flag) + { + callback(this._downloader, this._downloader.error); + } + this._downloader.Dispose(); + this._downloader = null; + yield break; + } + + private IEnumerator BytesDownload(string url, XDownloader.HandleBytesDownload callback) + { + WWW www = new WWW(url); + yield return www; + bool flag = callback != null; + if (flag) + { + callback(www, www.error); + } + www.Dispose(); + www = null; + yield break; + } + + private IEnumerator Download(XBundleData bundle, string url, HandleBundleDownload callback1, HandleFetchBundle callback2) + { + XSingleton.singleton.KillTimer(this._token); + this._token = XSingleton.singleton.SetTimer(0.1f, this._progressCb, null); + this._downloader = new WWW(url); + yield return this._downloader; + XSingleton.singleton.KillTimer(this._token); + this.Progress(null); + XSingleton.singleton.KillTimer(this._token); + bool error = false; + bool flag = callback1 != null; + if (flag) + { + AsyncWriteRequest awr = callback1(this._downloader, bundle, this._downloader.error); + while (!awr.IsDone) + { + bool hasError = awr.HasError; + if (hasError) + { + error = true; + break; + } + yield return null; + } + XSingleton.singleton.XPlatform.SetNoBackupFlag(awr.Location); + awr = null; + } + bool flag2 = error; + if (flag2) + { + this._log.Length = 0; + this._log.AppendFormat(XSingleton.singleton.GetString("XUPDATE_ERROR_DOWNLOADRESFAILED"), bundle.Name); + XSingleton.singleton.SetStatus(this._log.ToString(), byte.MaxValue, byte.MaxValue, byte.MaxValue); + } + else + { + bool flag3 = callback2 != null; + if (flag3) + { + callback2(this._downloader, this._downloader.bytes, bundle, this._download); + } + } + this._downloader = null; + yield break; + } + + private void Progress(object o) + { + this._log.Remove(0, this._log.Length); + int num = Mathf.FloorToInt(this._total_percent * 100f); + bool download = this._download; + if (download) + { + this._log.AppendFormat(XSingleton.singleton.GetString("XUPDATE_INFO_DOWNLOADING"), num); + } + else + { + this._log.AppendFormat(XSingleton.singleton.GetString("XUPDATE_INFO_EXTRACTING"), num); + } + XSingleton.singleton.SetStatus(this._log.ToString(), byte.MaxValue, byte.MaxValue, byte.MaxValue); + this._token = XSingleton.singleton.SetTimer(0.1f, this._progressCb, o); + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/XUpdater/XDownloader.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/XUpdater/XDownloader.cs.meta new file mode 100644 index 00000000..637a01b8 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XUpdater/XDownloader.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 011390f5919ea604ba6a551c2601f729 +timeCreated: 1611465284 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/XUpdater/XLaunchMode.cs b/Client/Assets/Scripts/XUtliPoolLib/XUpdater/XLaunchMode.cs new file mode 100644 index 00000000..9b9e8e8e --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XUpdater/XLaunchMode.cs @@ -0,0 +1,11 @@ +using System; + +namespace XUpdater +{ + public enum XLaunchMode + { + Live = 100, + PreProduct, + Dev = 200 + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/XUpdater/XLaunchMode.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/XUpdater/XLaunchMode.cs.meta new file mode 100644 index 00000000..e559afb3 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XUpdater/XLaunchMode.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: a9dca030da976a842a72f0ce356aa6a5 +timeCreated: 1611465740 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/XUpdater/XLoadingUI.cs b/Client/Assets/Scripts/XUtliPoolLib/XUpdater/XLoadingUI.cs new file mode 100644 index 00000000..b74f8e39 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XUpdater/XLoadingUI.cs @@ -0,0 +1,238 @@ +using System; +using UILib; +using UnityEngine; +using XUtliPoolLib; + +namespace XUpdater +{ + internal class XLoadingUI : XSingleton + { + private IXUISprite JY; + + private IXUISprite Black; + + private IXUITweenTool JYPlayTween; + + private IXUITweenTool BlackPlayTween; + + private IXUILabel StatusText; + + private IXUILabel VersionText; + + private IXUISprite ClickBox; + + public bool LoadingOK = false; + + private bool TweenOK = false; + + private Transform mTextureTransform; + + private Transform mDialogTransform; + + private IXUIButton mDialogSureBtn; + + private IXUIButton mDialogCancelBtn; + + private IXUILabel mDialogCapacityLabel; + + private IXUITexture mDownLoadTexture; + + private IXUIButton mDownLoadNewBtn; + + private Transform mDownLoadTransform; + + private XLoadingUI.OnSureCallBack mDialogCallBack; + + private XLoadingUI.OnSureCallBack mDialogCancelCallBack; + + private XLoadingUI.OnSureCallBack mDownCallBack; + + public delegate void OnSureCallBack(); + + public override bool Init() + { + PlayerPrefs.SetString("Language", "Language"); + GameObject gameObject = GameObject.Find("UIRoot/StartLoadingDlg/Bg/Ailin"); + GameObject gameObject2 = GameObject.Find("UIRoot/StartLoadingDlg/Bg/JY"); + GameObject gameObject3 = GameObject.Find("UIRoot/StartLoadingDlg/Bg").transform.Find("Black").gameObject; + this.StatusText = (GameObject.Find("UIRoot/StartLoadingDlg/Bg/LabelStatus").GetComponent("XUILabel") as IXUILabel); + this.VersionText = (GameObject.Find("UIRoot/StartLoadingDlg/Bg/LabelVersion").GetComponent("XUILabel") as IXUILabel); + this.JY = (gameObject2.GetComponent("XUISprite") as IXUISprite); + this.Black = (gameObject3.GetComponent("XUISprite") as IXUISprite); + this.JYPlayTween = (gameObject2.GetComponent("XUIPlayTween") as IXUITweenTool); + this.BlackPlayTween = (gameObject3.GetComponent("XUIPlayTween") as IXUITweenTool); + this.JYPlayTween.SetTargetGameObject(gameObject2); + this.JYPlayTween.RegisterOnFinishEventHandler(new OnTweenFinishEventHandler(this.OnJYPlayTweenFinish)); + this.Black.SetVisible(true); + this.BlackPlayTween.SetTargetGameObject(gameObject3); + this.BlackPlayTween.RegisterOnFinishEventHandler(new OnTweenFinishEventHandler(this.OnBlackPlayTweenFinish)); + this.StatusText.SetVisible(false); + this.VersionText.SetVisible(false); + this.Black.SetVisible(false); + this.JY.SetVisible(true); + this.JYPlayTween.PlayTween(true, -1f); + this.ClickBox = (GameObject.Find("UIRoot/StartLoadingDlg/Bg").GetComponent("XUISprite") as IXUISprite); + this.ClickBox.RegisterSpriteClickEventHandler(new SpriteClickEventHandler(this.OnBoxClick)); + this.mTextureTransform = GameObject.Find("UIRoot/StartLoadingDlg/Bg/Texture").transform; + this.mDialogTransform = GameObject.Find("UIRoot/StartLoadingDlg/Bg/Dialog").transform; + this.mDialogSureBtn = (this.mDialogTransform.Find("OK").GetComponent("XUIButton") as IXUIButton); + this.mDialogCancelBtn = (this.mDialogTransform.Find("Cancel").GetComponent("XUIButton") as IXUIButton); + this.mDialogCapacityLabel = (this.mDialogTransform.Find("CapacityValue").GetComponent("XUILabel") as IXUILabel); + this.mDialogSureBtn.RegisterClickEventHandler(new ButtonClickEventHandler(this.OnDialogSureClick)); + this.mDialogCancelBtn.RegisterClickEventHandler(new ButtonClickEventHandler(this.OnDialogCancelClick)); + this.mTextureTransform.gameObject.SetActive(false); + this.mDialogTransform.gameObject.SetActive(false); + this.mDownLoadTransform = GameObject.Find("UIRoot/StartLoadingDlg/Bg/DownNew").transform; + this.mDownLoadTexture = (this.mDownLoadTransform.Find("Pic").GetComponent("XUITexture") as IXUITexture); + this.mDownLoadNewBtn = (this.mDownLoadTransform.Find("OK").GetComponent("XUIButton") as IXUIButton); + this.mDownLoadTransform.gameObject.SetActive(false); + this.mDownLoadNewBtn.RegisterClickEventHandler(new ButtonClickEventHandler(this.OnDownLoadCallback)); + return true; + } + + public bool OnDialogSureClick(IXUIButton btn) + { + this.mDialogTransform.gameObject.SetActive(false); + bool flag = this.mDialogCallBack != null; + if (flag) + { + this.mDialogCallBack(); + } + return true; + } + + public bool OnDialogCancelClick(IXUIButton btn) + { + this.mDialogTransform.gameObject.SetActive(false); + bool flag = this.mDialogCancelCallBack != null; + if (flag) + { + this.mDialogCancelCallBack(); + } + return true; + } + + public bool OnDownLoadCallback(IXUIButton btn) + { + this.mDownLoadTransform.gameObject.SetActive(false); + bool flag = this.mDownCallBack != null; + if (flag) + { + this.mDownCallBack(); + } + return true; + } + + public void OnBoxClick(IXUISprite sp) + { + XSingleton.singleton.OnRetry(); + } + + private void OnBlackPlayTweenFinish(IXUITweenTool iPlayTween) + { + XSingleton.singleton.Phase = eUPdatePhase.xUP_Finish; + } + + private void OnAilinPlayTweenFinish(IXUITweenTool iPlayTween) + { + this.TweenOK = true; + } + + private void OnJYPlayTweenFinish(IXUITweenTool iPlayTween) + { + this.JY.SetVisible(false); + this.mTextureTransform.gameObject.SetActive(true); + this.TweenOK = true; + XSingleton.singleton.Begin(); + } + + private void LoadFinishClean() + { + this.JY = null; + this.Black = null; + this.JYPlayTween = null; + this.BlackPlayTween = null; + this.StatusText = null; + this.VersionText = null; + this.ClickBox = null; + this.mDialogCallBack = null; + this.mDialogCancelCallBack = null; + this.mDialogCancelBtn = null; + this.mDialogSureBtn = null; + this.mDialogCapacityLabel = null; + this.mDialogTransform = null; + this.mDownLoadNewBtn = null; + this.mDownLoadTransform = null; + } + + public void SetDialog(ulong capacity, XLoadingUI.OnSureCallBack sureCallBack, XLoadingUI.OnSureCallBack cancelCallBack) + { + this.mDialogCallBack = sureCallBack; + this.mDialogCancelCallBack = cancelCallBack; + this.mDialogTransform.gameObject.SetActive(true); + this.mDialogCapacityLabel.SetText(this.GetCapacityValue(capacity)); + } + + public void SetDownLoad(XLoadingUI.OnSureCallBack sureCallBack, Texture tex) + { + this.mDownCallBack = sureCallBack; + this.mDownLoadTransform.gameObject.SetActive(true); + bool flag = tex != null; + if (flag) + { + this.mDownLoadTexture.SetRuntimeTex(tex, true); + } + } + + private string GetCapacityValue(ulong capacity) + { + bool flag = capacity < 1048576UL; + string result; + if (flag) + { + result = string.Format("{0}K", (capacity / 1024UL).ToString("F2")); + } + else + { + result = string.Format("{0}M", (capacity / 1024UL / 1024UL).ToString("F2")); + } + return result; + } + + public void SetStatus(string text, byte r = 255, byte g = 255, byte b = 255) + { + bool flag = !this.StatusText.IsVisible(); + if (flag) + { + this.StatusText.SetVisible(true); + } + this.StatusText.SetColor(new Color32(r, g, b, byte.MaxValue)); + this.StatusText.SetText(text); + } + + public void SetVersion(string text) + { + bool flag = !this.VersionText.IsVisible(); + if (flag) + { + this.VersionText.SetVisible(true); + } + this.VersionText.SetText(text); + } + + public void OnUpdate() + { + bool flag = this.TweenOK && this.LoadingOK; + if (flag) + { + this.TweenOK = (this.LoadingOK = false); + XSingleton.singleton.Phase = eUPdatePhase.xUP_Finish; + this.LoadFinishClean(); + } + } + + public override void Uninit() + { + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/XUpdater/XLoadingUI.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/XUpdater/XLoadingUI.cs.meta new file mode 100644 index 00000000..622cc014 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XUpdater/XLoadingUI.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 3a2909fecca65674ead27371201b0a69 +timeCreated: 1611465631 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/XUpdater/XMetaResPackage.cs b/Client/Assets/Scripts/XUtliPoolLib/XUpdater/XMetaResPackage.cs new file mode 100644 index 00000000..61145a31 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XUpdater/XMetaResPackage.cs @@ -0,0 +1,16 @@ +using System; + +namespace XUpdater +{ + [Serializable] + public class XMetaResPackage + { + public string download; + + public string buildinpath; + + public string bundle; + + public uint Size; + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/XUpdater/XMetaResPackage.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/XUpdater/XMetaResPackage.cs.meta new file mode 100644 index 00000000..f88076a3 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XUpdater/XMetaResPackage.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 40e229542a04c8b4e963b01fdd9911d4 +timeCreated: 1611465635 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/XUpdater/XResPackage.cs b/Client/Assets/Scripts/XUtliPoolLib/XUpdater/XResPackage.cs new file mode 100644 index 00000000..55d3277e --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XUpdater/XResPackage.cs @@ -0,0 +1,16 @@ +using System; + +namespace XUpdater +{ + [Serializable] + public class XResPackage + { + public string location; + + public string type; + + public string bundle; + + public ResourceType rtype = ResourceType.Assets; + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/XUpdater/XResPackage.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/XUpdater/XResPackage.cs.meta new file mode 100644 index 00000000..05281744 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XUpdater/XResPackage.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: de0d4b26a3f172d4bb888f7450d92e37 +timeCreated: 1611465797 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/XUpdater/XShell.cs b/Client/Assets/Scripts/XUtliPoolLib/XUpdater/XShell.cs new file mode 100644 index 00000000..81f4ee45 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XUpdater/XShell.cs @@ -0,0 +1,229 @@ +using System; +using System.Reflection; +using UnityEngine; +using UnityEngine.SceneManagement; +using XUtliPoolLib; + +namespace XUpdater +{ + public sealed class XShell : XSingleton + { + public bool Pause + { + get + { + return this._bPause; + } + set + { + bool isDone = XSingleton.singleton.IsDone; + if (isDone) + { + this._bPauseTrigger = value; + } + } + } + + public float CurrentTimeMagic + { + get + { + return Time.timeScale; + } + } + + public static readonly int TargetFrame = 30; + + private float _time_scale = 1f; + + private bool _bPause = false; + + private bool _bPauseTrigger = false; + + private IEntrance _entrance = null; + + public void PreLaunch() + { + this._entrance.Awake(); + bool flag = this._entrance != null; + if (flag) + { + IPlatform xplatform = XSingleton.singleton.XPlatform; + bool flag2 = xplatform != null; + if (flag2) + { + this._entrance.SetQualityLevel(xplatform.GetQualityLevel()); + } + } + } + + public void Launch() + { + this._entrance.Awake(); + } + + public bool Launched() + { + return this._entrance.Awaked; + } + + public void StartGame() + { + this._entrance.Start(); + } + + public void Awake() + { + bool flag = !XSingleton.singleton.IsDone; + if (flag) + { + XSingleton.singleton.Init(); + } + } + + public void Start() + { + Screen.sleepTimeout = -1; + Application.targetFrameRate = -1; + } + + private void NetUpdate() + { + this._entrance.NetUpdate(); + } + + public void PreUpdate() + { + this.NetUpdate(); + bool pause = this.Pause; + if (!pause) + { + this._entrance.PreUpdate(); + } + } + + public void Update() + { + bool isDone = XSingleton.singleton.IsDone; + if (isDone) + { + XSingleton.singleton.updateStartTime = Time.time; + this.PreUpdate(); + bool pause = this.Pause; + if (!pause) + { + bool update = XSingleton.singleton.update; + if (update) + { + XSingleton.singleton.Update(Time.deltaTime); + } + bool needFixedUpdate = XSingleton.singleton.NeedFixedUpdate; + if (needFixedUpdate) + { + XSingleton.singleton.Update(Time.deltaTime); + } + XSingleton.singleton.Update(); + this._entrance.Update(); + } + } + else + { + XSingleton.singleton.Update(Time.deltaTime); + XSingleton.singleton.Update(); + } + } + + public void PostUpdate() + { + bool isDone = XSingleton.singleton.IsDone; + if (isDone) + { + this.PauseChecker(); + this._entrance.FadeUpdate(); + bool pause = this.Pause; + if (pause) + { + return; + } + this._entrance.PostUpdate(); + XSingleton.singleton.PostUpdate(); + } + bool reboot = XSingleton.singleton.Reboot; + if (reboot) + { + this.Quit(); + SceneManager.LoadScene(0); + } + } + + public void Quit() + { + bool isDone = XSingleton.singleton.IsDone; + if (isDone) + { + this._entrance.Quit(); + } + XSingleton.singleton.Uninit(); + } + + public void MakeEntrance(Assembly main) + { + Type type = main.GetType("XMainClient.XGameEntrance"); + MethodInfo method = type.GetMethod("Fire"); + method.Invoke(null, null); + this._entrance = XSingleton.singleton.GetInterface(0u); + } + + //! + public void _MakeEntrance() + { + XMainClient.XGameEntrance.Fire(); + this._entrance = XSingleton.singleton.GetInterface(0u); + } + + public float TimeMagic(float value) + { + bool flag = Time.timeScale == 1f && !this._bPause; + if (flag) + { + Time.timeScale = value; + this._time_scale = value; + } + return Time.timeScale; + } + + public void TimeMagicBack() + { + Time.timeScale = 1f; + this._time_scale = 1f; + } + + private void PauseChecker() + { + bool flag = this._bPause == this._bPauseTrigger; + if (!flag) + { + this._bPause = this._bPauseTrigger; + Time.timeScale = (this._bPause ? 0f : this._time_scale); + } + } + + public override bool Init() + { + return true; + } + + public override void Uninit() + { + } + + public void MonoObjectRegister(string key, MonoBehaviour behavior) + { + bool flag = this._entrance != null; + if (flag) + { + this._entrance.MonoObjectRegister(key, behavior); + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/XUpdater/XShell.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/XUpdater/XShell.cs.meta new file mode 100644 index 00000000..d224cbd8 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XUpdater/XShell.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 28fb5d2f5ca05b943a403b7e467f69b8 +timeCreated: 1611465302 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/XUpdater/XUpdater.cs b/Client/Assets/Scripts/XUtliPoolLib/XUpdater/XUpdater.cs new file mode 100644 index 00000000..dba75741 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XUpdater/XUpdater.cs @@ -0,0 +1,1644 @@ +using System; +using System.Collections; +using System.Collections.Generic; +using System.IO; +using System.Reflection; +using System.Text; +using System.Threading; +using System.Xml.Serialization; +using UnityEngine; +using XUtliPoolLib; + +namespace XUpdater +{ + public sealed class XUpdater : XSingleton + { + public static XLaunchMode LaunchMode + { + get + { + return XUpdater._launch_mode; + } + } + + public bool EditorMode + { + get + { + return this._bEditorMode; + } + } + + public string Version + { + get + { + return this._version; + } + } + + public string TargetVersion + { + get + { + return this._target_version; + } + } + + public bool NeedCheckFile + { + get + { + return this._need_check_file; + } + } + + public BuildTarget RunTimePlatform + { + get + { + return this._runtime_platform; + } + } + + public string Platform + { + get + { + return this._platform_name; + } + } + + public IPlatform XPlatform + { + get + { + return this._platform; + } + } + + public ILuaEngine XLuaEngine + { + get + { + return this._lua_engine; + } + } + + public IApolloManager XApolloManager + { + get + { + return this._apolloManager; + } + } + + public IBroardcast XBroadCast + { + get + { + return this._broadcast; + } + } + + public ITssSdk XTssSdk + { + get + { + return this._tssSdk; + } + } + + public IXPandoraMgr XPandoraManager + { + get + { + return this._pandoraManager; + } + } + + public IXGameSirControl GameSirControl + { + get + { + return this._SirControl; + } + } + + public IResourceHelp XResourceHelp + { + get + { + return this._resourcehelp; + } + } + + public bool IsDone + { + get + { + return this._update_done; + } + } + + internal eUPdatePhase Phase + { + set + { + this._phase = value; + } + } + + public int ManagedThreadId + { + get + { + return this._main_threadId; + } + } + + public bool Reboot { get; set; } + + public static readonly uint Major_Version = 1u; + + private static XLaunchMode _launch_mode = XLaunchMode.Live; + + public static GameObject XGameRoot = null; + + public static Assembly Ass = Assembly.GetAssembly(typeof(GameObject)); + + public static int Md5Length = 16; + + private int _main_threadId = 0; + + private bool _bEditorMode = false; + + private bool _bFetchVersion = false; + + private bool _bFetchServer = false; + + private StringBuilder _log = new StringBuilder(); + + private IEnumerator _downloader = null; + + private IEnumerator _download_prepare = null; + + private IEnumerator _comparer = null; + + private IEnumerator _launcher = null; + + private IEnumerator _finish = null; + + private byte[] _script = null; + + private bool _on_file_download_retry = false; + + private bool _on_file_download_need_retry = false; + + private bool _update_done = false; + + private bool _bundle_fetching = false; + + private bool _asset_loading = false; + + private XVersion _version_getter = null; + + private XBundle _bundle_getter = null; + + private XFileLog _filelog_getter = null; + + private IFMOD_Listener _fmod_listenter = null; + + private ITssSdk _tssSdk = null; + + private IApolloManager _apolloManager = null; + + private IBroardcast _broadcast = null; + + private ILuaEngine _lua_engine = null; + + private IXPandoraMgr _pandoraManager = null; + + private IXGameSirControl _SirControl = null; + + private IXVideo _video = null; + + private IPlatform _platform = null; + + private BuildTarget _runtime_platform = BuildTarget.Unknown; + + private string _platform_name = ""; + + private string _version = "0.0.0"; + + private string _target_version = "0.0.0"; + + private bool _need_check_file = false; + + private bool _need_play_cg = true; + + private XFetchVersionNetwork _fetch_version_network = null; + + private float _fetch_version_time = 0f; + + private ulong _update_pakcage_size = 0UL; + + private XVersionData _server = null; + + private XVersionData _client = null; + + private XVersionData _buildin = null; + + private IResourceHelp _resourcehelp = null; + + private XBundleData _bundle_data = null; + + private eUPdatePhase _phase = eUPdatePhase.xUP_None; + + private List _download_bundle = new List(); + + private List _cacheload_bundle = new List(); + + private List _meta_bundle = new List(); + + private Dictionary _persist_assets = new Dictionary(); + + private Dictionary _persist_image = new Dictionary(); + + private Dictionary _assets = new Dictionary(); + + private Dictionary _res_list = new Dictionary(); + + private Dictionary _bundles = new Dictionary(); + + public AssetBundleManager ABManager; + + private bool _is_download_update_pic = false; + + public override bool Init() + { + this._main_threadId = Thread.CurrentThread.ManagedThreadId; + this._bEditorMode = ((int)Application.platform == 7 || (int)Application.platform == 0 || (int)Application.platform == 2); + this.Reboot = false; + XUpdater.XGameRoot = GameObject.Find("XGamePoint"); + this.GetLaunchMode(); + RuntimePlatform platform = Application.platform; + if ((int)platform != 8) + { + if ((int)platform != 11) + { + this._runtime_platform = BuildTarget.Standalone; + this._platform_name = (this.PatchPrefix() ?? ""); + } + else + { + this._runtime_platform = BuildTarget.Android; + this._platform_name = this.PatchPrefix() + "Android/"; + } + } + else + { + this._runtime_platform = BuildTarget.IOS; + this._platform_name = this.PatchPrefix() + "IOS/"; + } + this._version_getter = XUpdater.XGameRoot.AddComponent(); + this._bundle_getter = XUpdater.XGameRoot.AddComponent(); + this._filelog_getter = XUpdater.XGameRoot.AddComponent(); + this._fmod_listenter = (GameObject.Find("Main Camera").GetComponent("FMOD_Listener") as IFMOD_Listener); + this._tssSdk = (XUpdater.XGameRoot.GetComponent("TssSDKManager") as ITssSdk); + this._apolloManager = (XUpdater.XGameRoot.GetComponent("ApolloManager") as IApolloManager); + this._broadcast = (XUpdater.XGameRoot.GetComponent("BroadcastManager") as IBroardcast); + this._platform = (XUpdater.XGameRoot.GetComponent("XPlatform") as IPlatform); + this._video = (XUpdater.XGameRoot.GetComponent("XVideoMgr") as IXVideo); + this._lua_engine = (XUpdater.XGameRoot.GetComponent("LuaEngine") as ILuaEngine); + this._pandoraManager = (XUpdater.XGameRoot.GetComponent("XPandoraMgr") as IXPandoraMgr); + this._SirControl = (XUpdater.XGameRoot.GetComponent("XGameSirControl") as IXGameSirControl); + bool flag = this._SirControl != null; + if (flag) + { + this._SirControl.Init(); + } + this.ABManager = XUpdater.XGameRoot.AddComponent(); + this.ABManager.Init(); + XSingleton.singleton.Init(this._platform, this._filelog_getter); + XSingleton.singleton.Init(); + XSingleton.singleton.Init(); + XBinaryReader.Init(); + UnityEngine.Object.DontDestroyOnLoad(XUpdater.XGameRoot); + return true; + } + + public override void Uninit() + { + foreach (AssetBundle assetBundle in this._bundles.Values) + { + assetBundle.Unload(false); + } + this._assets.Clear(); + this._persist_assets.Clear(); + this._bundles.Clear(); + this._res_list.Clear(); + bool flag = this._video != null && this._video.isPlaying; + if (flag) + { + this._video.Stop(); + } + this._phase = eUPdatePhase.xUP_Prepare; + this._update_done = false; + bool flag2 = this._fetch_version_network != null; + if (flag2) + { + this._fetch_version_network.Close(); + } + UnityEngine.Object.Destroy(XUpdater.XGameRoot); + } + + public void Clear() + { + foreach (KeyValuePair keyValuePair in this._bundles) + { + AssetBundle value = keyValuePair.Value; + value.Unload(false); + } + this._bundles.Clear(); + } + + public void Update() + { + switch (this._phase) + { + case eUPdatePhase.xUP_Prepare: + { + bool flag = this.Preparing(); + if (flag) + { + this._phase = eUPdatePhase.xUP_FetchVersion; + } + else + { + XSingleton.singleton.SetStatus(XSingleton.singleton.GetString("XUPDATE_ERROR_FETCHLOCALVERSIONERROR"), byte.MaxValue, byte.MaxValue, byte.MaxValue); + this.OnError(); + } + break; + } + case eUPdatePhase.xUP_FetchVersion: + { + bool flag2 = !this._bFetchVersion; + if (flag2) + { + bool flag3 = this._fetch_version_network == null; + if (flag3) + { + this._fetch_version_network = new XFetchVersionNetwork(); + } + XSingleton.singleton.SetStatus(XSingleton.singleton.GetString("XUPDATE_INFO_FETCHVERSION"), byte.MaxValue, byte.MaxValue, byte.MaxValue); + this._fetch_version_network.Init(); + string host = XSingleton.singleton.VersionServer.Substring(0, XSingleton.singleton.VersionServer.LastIndexOf(':')); + string s = XSingleton.singleton.VersionServer.Substring(XSingleton.singleton.VersionServer.LastIndexOf(':') + 1); + bool flag4 = this._fetch_version_network.Connect(host, int.Parse(s)); + if (flag4) + { + this._bFetchVersion = true; + this._fetch_version_time = Time.time; + } + else + { + XSingleton.singleton.SetStatus(XSingleton.singleton.GetString("XUPDATE_ERROR_FETCHVERSIONERROR"), byte.MaxValue, byte.MaxValue, byte.MaxValue); + XSingleton.singleton.OnError(); + this._fetch_version_network.Close(); + } + } + else + { + bool flag5 = Time.time - this._fetch_version_time > 5f; + if (flag5) + { + XSingleton.singleton.SetStatus(XSingleton.singleton.GetString("XUPDATE_ERROR_FETCHVERSIONERROR"), byte.MaxValue, byte.MaxValue, byte.MaxValue); + XSingleton.singleton.OnError(); + this._fetch_version_network.Close(); + } + } + break; + } + case eUPdatePhase.xUP_LoadVersion: + { + bool flag6 = !this._bFetchServer; + if (flag6) + { + this._cacheload_bundle.Clear(); + this._download_bundle.Clear(); + this._meta_bundle.Clear(); + this._version_getter.ServerDownload(new HandleVersionDownload(this.OnVersionDownloaded), new HandleVersionLoaded(this.OnVersionLoaded)); + } + this._bFetchServer = true; + break; + } + case eUPdatePhase.xUP_CompareVersion: + { + bool flag7 = this._comparer == null; + if (flag7) + { + this._comparer = this.VersionComparer(); + } + else + { + bool flag8 = !this._comparer.MoveNext(); + if (flag8) + { + this._comparer = null; + } + } + break; + } + case eUPdatePhase.xUP_DownLoadBundle: + { + bool flag9 = this._downloader == null; + if (flag9) + { + this._downloader = this.DownLoadBundles(); + } + else + { + bool flag10 = !this._downloader.MoveNext(); + if (flag10) + { + this._downloader = null; + this._phase = eUPdatePhase.xUP_ShowVersion; + } + } + break; + } + case eUPdatePhase.xUP_ShowVersion: + this.ShowVersionInfo(this._server, true); + break; + case eUPdatePhase.xUP_LaunchGame: + { + bool flag11 = this._launcher == null; + if (flag11) + { + this._launcher = this.LaunchGame(); + } + else + { + bool flag12 = !this._launcher.MoveNext(); + if (flag12) + { + this._launcher = null; + this.OnEnding(); + } + } + break; + } + case eUPdatePhase.xUP_Finish: + { + bool flag13 = this._finish == null; + if (flag13) + { + this._finish = this.Finish(); + } + else + { + bool flag14 = !this._finish.MoveNext(); + if (flag14) + { + this._finish = null; + this._update_done = true; + XSingleton.singleton.StartGame(); + } + } + break; + } + } + XSingleton.singleton.OnUpdate(); + } + + public void Begin() + { + this._update_done = false; + this._bFetchVersion = false; + this._bFetchServer = false; + bool flag = !XSingleton.singleton.SyncInit(); + if (flag) + { + this._log.Remove(0, this._log.Length); + this._log.Append("Error occurred when loading string table."); + XSingleton.singleton.SetStatus(this._log.ToString(), byte.MaxValue, byte.MaxValue, byte.MaxValue); + XSingleton.singleton.OnError(); + } + else + { + bool flag2 = !this.CheckMemory(); + if (flag2) + { + this._log.Remove(0, this._log.Length); + this._log.Append(XSingleton.singleton.GetString("XUPDATE_INFO_EXCLUDE1GPHONE")); + XSingleton.singleton.SetStatus(this._log.ToString(), byte.MaxValue, byte.MaxValue, byte.MaxValue); + XSingleton.singleton.OnError(); + } + else + { + bool flag3 = XSingleton.singleton.EnableCache(); + if (flag3) + { + this._phase = eUPdatePhase.xUP_Prepare; + } + else + { + this._log.Remove(0, this._log.Length); + this._log.Append(XSingleton.singleton.GetString("XUPDATE_ERROR_ACCESSDENIED")); + XSingleton.singleton.SetStatus(this._log.ToString(), byte.MaxValue, byte.MaxValue, byte.MaxValue); + XSingleton.singleton.OnError(); + } + } + } + } + + private IEnumerator Finish() + { + bool flag = this._server != null; + if (flag) + { + this._server.Bundles.Clear(); + this._version = this._server.ToString(); + } + this._server = null; + this._client = null; + this._buildin = null; + bool flag2 = this._need_play_cg && this._video != null; + if (flag2) + { + this._video.Play(false); + yield return null; + while (this._video.isPlaying) + { + yield return null; + } + } + UnityEngine.Object.DestroyObject(this._version_getter); + UnityEngine.Object.DestroyObject(this._bundle_getter); + yield break; + } + + public void OnError() + { + this._phase = eUPdatePhase.xUP_Error; + } + + public void DevStart() + { + this._phase = eUPdatePhase.xUP_ShowVersion; + } + + public void OnRetry() + { + eUPdatePhase phase = this._phase; + if (phase != eUPdatePhase.xUP_DownLoadBundle) + { + if (phase != eUPdatePhase.xUP_Finish) + { + if (phase == eUPdatePhase.xUP_Error) + { + bool flag = this._server == null; + if (flag) + { + this.Begin(); + } + } + } + else + { + bool isPlaying = this._video.isPlaying; + if (isPlaying) + { + this._video.Stop(); + } + } + } + else + { + bool on_file_download_need_retry = this._on_file_download_need_retry; + if (on_file_download_need_retry) + { + this._on_file_download_retry = true; + } + } + } + + private void OnEnding() + { + XSingleton.singleton.LoadingOK = true; + this._download_bundle.Clear(); + this._cacheload_bundle.Clear(); + this._meta_bundle.Clear(); + this._phase = eUPdatePhase.xUP_Ending; + } + + public bool ContainRes(uint hash) + { + return this._res_list.ContainsKey(hash); + } + + public UnityEngine.Object ResourceLoad(uint hash) + { + UnityEngine.Object result = null; + XResPackage xresPackage = null; + bool flag = this._res_list != null && this._res_list.TryGetValue(hash, out xresPackage); + if (flag) + { + bool flag2 = !this._persist_assets.TryGetValue(hash, out result); + if (flag2) + { + AssetBundle assetBundle = null; + uint key = XSingleton.singleton.XHash(xresPackage.bundle); + bool flag3 = !this._bundles.TryGetValue(key, out assetBundle); + if (flag3) + { + byte[] array = null; + bool flag4 = !this._persist_image.TryGetValue(key, out array); + if (flag4) + { + XBundleData data = null; + bool flag5 = this._assets.TryGetValue(key, out data); + if (!flag5) + { + return null; + } + array = XSingleton.singleton.LoadFile(XSingleton.singleton.GetLocalPath(data)); + } + assetBundle = AssetBundle.LoadFromMemory(array); + this._bundles.Add(key, assetBundle); + } + string text = xresPackage.location.Substring(xresPackage.location.LastIndexOf('/') + 1); + result = assetBundle.LoadAsset(text, XUpdater.Ass.GetType(xresPackage.type)); + } + } + return result; + } + + private AsyncVersionProcessRequest OnVersionDownloaded(TextAsset text) + { + AsyncVersionProcessRequest avpr = new AsyncVersionProcessRequest(); + XSingleton.singleton.SetStatus(XSingleton.singleton.GetString("XUPDATE_INFO_FETCHMANIFEST"), byte.MaxValue, byte.MaxValue, byte.MaxValue); + bool flag = text != null; + if (flag) + { + byte[] contents = text.bytes; + //! + new Thread((ThreadStart)delegate + { + avpr.IsCorrect = this.LoadVersion(contents); + avpr.IsDone = true; + }).Start(); + } + else + { + avpr.IsDone = true; + avpr.IsCorrect = false; + } + return avpr; + } + + private void OnVersionLoaded(bool correct) + { + if (correct) + { + this._phase = eUPdatePhase.xUP_CompareVersion; + } + else + { + this._log.Remove(0, this._log.Length); + this._log.Append(XSingleton.singleton.GetString("XUPDATE_ERROR_MANIFESTERROR")); + XSingleton.singleton.SetStatus(this._log.ToString(), byte.MaxValue, byte.MaxValue, byte.MaxValue); + XSingleton.singleton.OnError(); + } + } + + private void OnBundleFetched(WWW www, byte[] bytes, XBundleData data, bool newdownload) + { + if (newdownload) + { + XSingleton.singleton.AddLog("Finished Download ", data.Name, null, null, null, null, XDebugColor.XDebug_None); + this._log.Remove(0, this._log.Length); + this._log.AppendFormat(XSingleton.singleton.GetString("XUPDATE_INFO_DOWNLOAD_FILE_COMPLETE"), data.Name); + XSingleton.singleton.SetStatus(this._log.ToString(), byte.MaxValue, byte.MaxValue, byte.MaxValue); + } + else + { + XSingleton.singleton.AddLog("Finished Extract ", data.Name, null, null, null, null, XDebugColor.XDebug_None); + this._log.Remove(0, this._log.Length); + this._log.AppendFormat(XSingleton.singleton.GetString("XUPDATE_INFO_EXTRACTING_COMPLETE"), data.Name); + XSingleton.singleton.SetStatus(this._log.ToString(), byte.MaxValue, byte.MaxValue, byte.MaxValue); + } + uint key = XSingleton.singleton.XHash(data.Name); + bool load = false; + this._bundle_data = data; + switch (this._bundle_data.Level) + { + case AssetLevel.Memory: + load = true; + break; + case AssetLevel.Image: + { + byte[] array = new byte[bytes.Length]; + bytes.CopyTo(array, 0); + this._persist_image.Add(key, array); + break; + } + } + this._assets.Add(key, this._bundle_data); + this._bundle_getter.GetBundle(www, bytes, new HandleLoadBundle(this.OnBundleLoaded), load); + } + + private void OnBundleLoaded(AssetBundle bundle) + { + bool flag = bundle != null; + if (flag) + { + this._bundles.Add(XSingleton.singleton.XHash(this._bundle_data.Name), bundle); + } + this._bundle_fetching = false; + } + + private void OnAssetLoaded(XResPackage package, UnityEngine.Object asset) + { + uint key = XSingleton.singleton.XHash(package.location); + bool flag = asset != null; + if (flag) + { + bool flag2 = !this._persist_assets.ContainsKey(key); + if (flag2) + { + this._persist_assets.Add(key, asset); + } + else + { + this._persist_assets[key] = asset; + } + } + this._asset_loading = false; + } + + private void UpdateLocalVersion(Stream s) + { + this._buildin = this.FetchBuildIn(s); + this._client = this.FetchBuildOut(); + bool flag = this._buildin != null; + if (flag) + { + XSingleton.singleton.AddLog("BuildIn version: ", this._buildin.ToString(), null, null, null, null, XDebugColor.XDebug_None); + } + bool flag2 = this._client != null; + if (flag2) + { + XSingleton.singleton.AddLog("BuildOut version: ", this._client.ToString(), null, null, null, null, XDebugColor.XDebug_None); + } + this._need_play_cg = (this._client == null); + bool flag3 = this._client == null; + if (flag3) + { + this._client = new XVersionData(this._buildin); + bool flag4 = !XSingleton.singleton.CleanCache(); + if (flag4) + { + this._log.Remove(0, this._log.Length); + this._log.Append(XSingleton.singleton.GetString("XUPDATE_ERROR_DELETEDENIED")); + XSingleton.singleton.SetStatus(this._log.ToString(), byte.MaxValue, byte.MaxValue, byte.MaxValue); + XSingleton.singleton.OnError(); + } + } + else + { + int num = this._client.CompareTo(this._buildin); + bool flag5 = num < 0 || this._buildin.Build_Version != this._client.Build_Version; + if (flag5) + { + this._need_play_cg = true; + this._client.VersionCopy(this._buildin); + bool flag6 = !XSingleton.singleton.CleanCache(); + if (flag6) + { + this._log.Remove(0, this._log.Length); + this._log.Append(XSingleton.singleton.GetString("XUPDATE_ERROR_DELETEDENIED")); + XSingleton.singleton.SetStatus(this._log.ToString(), byte.MaxValue, byte.MaxValue, byte.MaxValue); + XSingleton.singleton.OnError(); + } + } + } + XSingleton.singleton.AddLog("Client version: ", this._client.ToString(), null, null, null, null, XDebugColor.XDebug_None); + } + + private XVersionData FetchBuildIn(Stream s) + { + bool flag = s == null; + XVersionData result; + if (flag) + { + result = null; + } + else + { + StreamReader streamReader = new StreamReader(s); + string version = streamReader.ReadToEnd(); + result = XVersionData.Convert2Version(version); + } + return result; + } + + private XVersionData FetchBuildOut() + { + string localVersion = XVersion.GetLocalVersion(); + XSingleton.singleton.AddLog("Local Version Path " + localVersion, null, null, null, null, null, XDebugColor.XDebug_None); + XVersionData result = null; + bool flag = File.Exists(localVersion); + if (flag) + { + byte[] buffer = this.XCryptography(File.ReadAllBytes(localVersion)); + using (MemoryStream memoryStream = new MemoryStream(buffer)) + { + XmlSerializer xmlSerializer = new XmlSerializer(typeof(XVersionData)); + try + { + result = (xmlSerializer.Deserialize(memoryStream) as XVersionData); + } + catch (Exception ex) + { + result = null; + XSingleton.singleton.AddLog("Build Out Version Fetching FAILED! " + ex.Message, null, null, null, null, null, XDebugColor.XDebug_None); + } + finally + { + memoryStream.Close(); + } + } + } + else + { + XSingleton.singleton.AddLog("Local Version Path " + localVersion + " not exists.", null, null, null, null, null, XDebugColor.XDebug_None); + } + return result; + } + + private bool LoadVersion(byte[] text) + { + string a = BitConverter.ToString(text, 0, XUpdater.Md5Length); + string b = XSingleton.singleton.CalculateMD5(text, XUpdater.Md5Length, text.Length - XUpdater.Md5Length); + bool flag = a == b; + if (flag) + { + using (MemoryStream memoryStream = new MemoryStream(text, XUpdater.Md5Length, text.Length - XUpdater.Md5Length)) + { + XmlSerializer xmlSerializer = new XmlSerializer(typeof(XVersionData)); + this._server = (xmlSerializer.Deserialize(memoryStream) as XVersionData); + bool flag2 = this._server != null && this._server.Target_Platform == this._runtime_platform; + if (flag2) + { + XSingleton.singleton.AddLog("Server version: ", this._server.ToString(), null, null, null, null, XDebugColor.XDebug_None); + return true; + } + } + } + XSingleton.singleton.AddLog("Analysis Server version error!", null, null, null, null, null, XDebugColor.XDebug_None); + this._server = null; + return false; + } + + private bool CheckMemory() + { + return true; + } + + private bool Preparing() + { + Stream stream = null; + XSingleton.singleton.AddLog("Fetch local version...", null, null, null, null, null, XDebugColor.XDebug_None); + bool flag = (int)Application.platform == 8; + if (flag) + { + stream = XSingleton.singleton.ReadText("ios-version", ".bytes", false); + } + else + { + bool flag2 = (int)Application.platform == 11; + if (flag2) + { + stream = XSingleton.singleton.ReadText("android-version", ".bytes", false); + } + } + bool flag3 = stream != null; + bool result; + if (flag3) + { + this.UpdateLocalVersion(stream); + XSingleton.singleton.ClearStream(stream); + result = true; + } + else + { + result = (XUpdater.LaunchMode == XLaunchMode.Dev); + } + return result; + } + + private IEnumerator VersionComparer() + { + int compare = this._client.CompareTo(this._server); + this._update_pakcage_size = 0UL; + bool flag = compare > 0; + if (flag) + { + this._server = this._client; + this._download_prepare = null; + this.DownLoadConfirmed(false); + } + else + { + bool flag2 = compare == 0 || (compare < 0 && this._client.CanUpdated(this._server)); + if (flag2) + { + bool flag3 = this._download_prepare == null; + if (flag3) + { + this._download_prepare = this.DownLoadPrepare(); + } + while (this._download_prepare.MoveNext()) + { + yield return null; + } + this._download_prepare = null; + this.DownLoadConfirmed(compare != 0); + } + else + { + XSingleton.singleton.SetStatus(XSingleton.singleton.GetString("XUPDATE_ERROR_VERSIONNOTMATCH"), byte.MaxValue, byte.MaxValue, byte.MaxValue); + this.ShowVersionInfo(this._client, false); + Texture tex = null; + bool flag4 = !this._is_download_update_pic; + if (flag4) + { + WWW www = new WWW("https://image.lzgjx.qq.com/sharingicon/updateimg.jpg"); + while (!www.isDone) + { + yield return null; + } + bool flag5 = string.IsNullOrEmpty(www.error); + if (flag5) + { + tex = www.texture; + } + www.Dispose(); + this._is_download_update_pic = true; + www = null; + } + this._phase = eUPdatePhase.xUP_Error; + XSingleton.singleton.SetDownLoad(new XLoadingUI.OnSureCallBack(this.ToAppStore), tex); + tex = null; + } + } + yield break; + } + + private void ToAppStore() + { + RuntimePlatform platform = Application.platform; + if ((int)platform != 8) + { + if ((int)platform == 11) + { + for (int i = 0; i < this._client.Res.Count; i++) + { + bool flag = this._client.Res[i].location == "Table/StringTable"; + if (flag) + { + XBundleData specificBundle = this._client.GetSpecificBundle(this._client.Res[i].bundle); + string localPath = XSingleton.singleton.GetLocalPath(specificBundle); + try + { + byte[] array = File.ReadAllBytes(localPath); + bool flag2 = array != null; + if (flag2) + { + AssetBundle assetBundle = AssetBundle.LoadFromMemory(array); + bool flag3 = assetBundle != null; + if (flag3) + { + TextAsset textAsset = assetBundle.LoadAsset("StringTable", typeof(TextAsset)) as TextAsset; + bool flag4 = textAsset != null; + if (flag4) + { + bool flag5 = !XSingleton.singleton.ReInit(textAsset); + if (flag5) + { + XSingleton.singleton.SyncInit(); + } + } + } + } + } + catch (Exception ex) + { + XSingleton.singleton.AddErrorLog("ToAndroidAppStore: ", ex.Message, null, null, null, null); + } + break; + } + } + string @string = XSingleton.singleton.GetString("XUPDATE_ERROR_VERSIONNOTMATCH_ANDROID_URL"); + XSingleton.singleton.AddLog("AndroidAppStore Url: ", @string, null, null, null, null, XDebugColor.XDebug_None); + Application.OpenURL(@string); + } + } + else + { + for (int j = 0; j < this._client.Res.Count; j++) + { + bool flag6 = this._client.Res[j].location == "Table/StringTable"; + if (flag6) + { + XBundleData specificBundle2 = this._client.GetSpecificBundle(this._client.Res[j].bundle); + string localPath2 = XSingleton.singleton.GetLocalPath(specificBundle2); + try + { + byte[] array2 = File.ReadAllBytes(localPath2); + bool flag7 = array2 != null; + if (flag7) + { + AssetBundle assetBundle2 = AssetBundle.LoadFromMemory(array2); + bool flag8 = assetBundle2 != null; + if (flag8) + { + TextAsset textAsset2 = assetBundle2.LoadAsset("StringTable", typeof(TextAsset)) as TextAsset; + bool flag9 = textAsset2 != null; + if (flag9) + { + bool flag10 = !XSingleton.singleton.ReInit(textAsset2); + if (flag10) + { + XSingleton.singleton.SyncInit(); + } + } + } + } + } + catch (Exception ex2) + { + XSingleton.singleton.AddErrorLog("ToAppStore: ", ex2.Message, null, null, null, null); + } + break; + } + } + string string2 = XSingleton.singleton.GetString("XUPDATE_ERROR_VERSIONNOTMATCH_URL"); + XSingleton.singleton.AddLog("AppStore Url: ", string2, null, null, null, null, XDebugColor.XDebug_None); + Application.OpenURL(string2); + } + } + + private void DownLoadConfirmedCallBack() + { + this._phase = eUPdatePhase.xUP_DownLoadBundle; + } + + private void DownLoadCancelledCallBack() + { + this._phase = eUPdatePhase.xUP_Error; + XSingleton.singleton.SetStatus("", byte.MaxValue, byte.MaxValue, byte.MaxValue); + this.ShowVersionInfo(this._client, false); + } + + private void DownLoadConfirmed(bool updated) + { + if (updated) + { + bool flag = this._update_pakcage_size < 1048576UL; + if (flag) + { + this.DownLoadConfirmedCallBack(); + } + else + { + XSingleton.singleton.SetDialog(this._update_pakcage_size, new XLoadingUI.OnSureCallBack(this.DownLoadConfirmedCallBack), new XLoadingUI.OnSureCallBack(this.DownLoadCancelledCallBack)); + this._phase = eUPdatePhase.xUP_DownLoadConfirm; + } + } + else + { + this._phase = eUPdatePhase.xUP_DownLoadBundle; + } + } + + private IEnumerator DownLoadPrepare() + { + int num; + for (int i = 0; i < this._server.Res.Count; i = num + 1) + { + bool flag = !this._buildin.NeedDownload(this._server.Res[i].bundle); + if (!flag) + { + XBundleData bundle = this._server.GetSpecificBundle(this._server.Res[i].bundle); + bool flag2 = bundle == null; + if (flag2) + { + XSingleton.singleton.AddLog("Bundle ", this._server.Res[i].bundle, " is missing in sever bundle set.", null, null, null, XDebugColor.XDebug_None); + } + else + { + bool flag3 = this._cacheload_bundle.Contains(bundle); + if (!flag3) + { + bool flag4 = this._download_bundle.Contains(bundle); + if (!flag4) + { + AsyncCachedRequest acr = XSingleton.singleton.IsBundleCached(bundle, this._server.MD5_Size); + while (!acr.IsDone) + { + yield return null; + } + bool flag5 = !acr.Cached && acr.MaybeCached; + if (flag5) + { + XBundleData clientData = null; + foreach (XBundleData data in this._client.Bundles) + { + bool flag6 = data.Name == bundle.Name; + if (flag6) + { + clientData = data; + break; + } + //data = null; + } + List.Enumerator enumerator = default(List.Enumerator); + acr.Cached = (clientData != null && clientData.MD5 == bundle.MD5); + clientData = null; + } + XSingleton.singleton.AddLog("Bundle ", bundle.Name, " cached is ", acr.Cached.ToString(), null, null, XDebugColor.XDebug_None); + bool cached = acr.Cached; + if (cached) + { + this._cacheload_bundle.Add(bundle); + } + else + { + this._download_bundle.Add(bundle); + this._update_pakcage_size += (ulong)bundle.Size; + } + bundle = null; + acr = null; + } + } + } + } + num = i; + } + this.MetaPrepare(this._server.AB); + this.MetaPrepare(this._server.Scene); + this.MetaPrepare(this._server.FMOD); + yield break; + } + + private void MetaPrepare(List meta) + { + bool flag = this._platform != null && !this._platform.IsPublish(); + for (int i = 0; i < meta.Count; i++) + { + bool flag2 = !this._buildin.NeedDownload(meta[i].bundle) || !this._client.NeedDownload(meta[i].bundle); + if (!flag2) + { + bool flag3 = !this._meta_bundle.Contains(meta[i]); + if (flag3) + { + this._meta_bundle.Add(meta[i]); + } + bool flag4 = flag; + if (flag4) + { + XSingleton.singleton.AddLog("Meta ", meta[i].download, " is prepared to downloading...", null, null, null, XDebugColor.XDebug_None); + } + this._update_pakcage_size += (ulong)meta[i].Size; + } + } + } + + private IEnumerator DownLoadBundles() + { + bool log = this._platform != null && !this._platform.IsPublish(); + int total = this._download_bundle.Count + this._cacheload_bundle.Count + this._meta_bundle.Count; + int processed = 0; + int num; + for (int i = 0; i < this._download_bundle.Count; i = num + 1) + { + while (this._bundle_fetching) + { + yield return null; + } + bool flag = log; + if (flag) + { + XSingleton.singleton.AddLog("Updating ", this._download_bundle[i].Name, " ... ", processed.ToString(), "/", total.ToString(), XDebugColor.XDebug_None); + } + this._bundle_fetching = true; + num = processed + 1; + processed = num; + XSingleton.singleton.Download(this._download_bundle[i], new HandleFetchBundle(this.OnBundleFetched), (float)processed / (float)total); + num = i; + } + for (int j = 0; j < this._cacheload_bundle.Count; j = num + 1) + { + while (this._bundle_fetching) + { + yield return null; + } + bool flag2 = log; + if (flag2) + { + XSingleton.singleton.AddLog("Extracting ", this._cacheload_bundle[j].Name, " ... ", processed.ToString(), "/", total.ToString(), XDebugColor.XDebug_None); + } + this._bundle_fetching = true; + num = processed + 1; + processed = num; + bool flag3 = (int)Application.platform == 8; + if (flag3) + { + while (!XSingleton.singleton.Extract(this._cacheload_bundle[j], new HandleFetchBundle(this.OnBundleFetched), (float)processed / (float)total)) + { + yield return null; + } + } + else + { + XSingleton.singleton.Extract(this._cacheload_bundle[j], new HandleFetchBundle(this.OnBundleFetched), (float)processed / (float)total); + } + num = j; + } + while (this._bundle_fetching) + { + yield return null; + } + for (int k = 0; k < this._meta_bundle.Count; k = num + 1) + { + num = processed + 1; + processed = num; + AsyncWriteRequest awr = XSingleton.singleton.Download(this._meta_bundle[k].download, this._meta_bundle[k].Size, (float)processed / (float)total); + bool flag4 = log; + if (flag4) + { + XSingleton.singleton.AddLog("Download meta ", this._meta_bundle[k].download, " ... ", processed.ToString(), "/", total.ToString(), XDebugColor.XDebug_None); + } + while (!awr.IsDone) + { + bool hasError = awr.HasError; + if (hasError) + { + bool on_file_download_retry = this._on_file_download_retry; + if (on_file_download_retry) + { + this._on_file_download_retry = false; + this._on_file_download_need_retry = false; + num = k; + k = num - 1; + num = processed; + processed = num - 1; + this._log.Length = 0; + this._log.Append(XSingleton.singleton.GetString("XUPDATE_INFO_RETRY")); + XSingleton.singleton.SetStatus(this._log.ToString(), byte.MaxValue, byte.MaxValue, byte.MaxValue); + yield return null; + break; + } + this._on_file_download_need_retry = true; + this._log.Length = 0; + this._log.AppendFormat(XSingleton.singleton.GetString("XUPDATE_ERROR_DOWNLOADRESFAILED_AND_RETRY"), awr.Name); + XSingleton.singleton.SetStatus(this._log.ToString(), byte.MaxValue, byte.MaxValue, byte.MaxValue); + yield return null; + } + else + { + yield return null; + } + } + awr = null; + num = k; + } + for (int l = 0; l < this._server.Res.Count; l = num + 1) + { + bool flag5 = this.ProcessAssets(this._server.Res[l]); + if (flag5) + { + bool flag6 = this._server.Res[l].rtype != ResourceType.Script; + if (flag6) + { + uint hash = XSingleton.singleton.XHash(this._server.Res[l].location); + this._res_list.Add(hash, this._server.Res[l]); + } + this._log.Remove(0, this._log.Length); + this._log.AppendFormat(XSingleton.singleton.GetString("XUPDATE_INFO_PRELOADING"), ((float)l / (float)this._server.Res.Count * 100f).ToString("F0")); + XSingleton.singleton.SetStatus(this._log.ToString(), byte.MaxValue, byte.MaxValue, byte.MaxValue); + bool flag7 = l << 30 == 0; + if (flag7) + { + yield return null; + } + } + num = l; + } + AsyncLogRequest alr = this.LogNewVersion(); + while (!alr.IsDone) + { + Thread.Sleep(1); + } + this.XPlatform.SetNoBackupFlag(XVersion.GetLocalVersion()); + yield break; + } + + private AsyncLogRequest LogNewVersion() + { + AsyncLogRequest alr = new AsyncLogRequest(); + bool flag = this._server != this._client; + if (flag) + { + new Thread((ThreadStart)delegate + { + using (MemoryStream memoryStream = new MemoryStream()) + { + XmlSerializer xmlSerializer = new XmlSerializer(typeof(XVersionData)); + XmlSerializerNamespaces xmlSerializerNamespaces = new XmlSerializerNamespaces(); + xmlSerializerNamespaces.Add(string.Empty, string.Empty); + xmlSerializer.Serialize(memoryStream, this._server, xmlSerializerNamespaces); + File.WriteAllBytes(XVersion.GetLocalVersion(), this.XCryptography(memoryStream.ToArray())); + } + alr.IsDone = true; + }).Start(); + } + else + { + alr.IsDone = true; + } + return alr; + } + + private void ShowVersionInfo(XVersionData data, bool launch = true) + { + bool flag = data != null; + if (flag) + { + this._log.Remove(0, this._log.Length); + this._log.Append("v").Append(data.ToString()); + XSingleton.singleton.SetVersion(this._log.ToString()); + } + else + { + XSingleton.singleton.SetVersion("Dev 0.0.0"); + } + if (launch) + { + this._phase = eUPdatePhase.xUP_LaunchGame; + } + } + + private bool ProcessAssets(XResPackage res) + { + AssetBundle assetBundle = null; + bool flag = this._bundles.TryGetValue(XSingleton.singleton.XHash(res.bundle), out assetBundle); + bool result; + if (flag) + { + string text = res.location.Substring(res.location.LastIndexOf('/') + 1); + ResourceType rtype = res.rtype; + if (rtype != ResourceType.Assets) + { + if (rtype == ResourceType.Script) + { + TextAsset textAsset = assetBundle.LoadAsset(text, XUpdater.Ass.GetType(res.type)) as TextAsset; + this._script = textAsset.bytes; + assetBundle.Unload(false); + this._bundles.Remove(XSingleton.singleton.XHash(res.bundle)); + } + } + else + { + this.OnAssetLoaded(res, assetBundle.LoadAsset(text, XUpdater.Ass.GetType(res.type))); + } + result = true; + } + else + { + result = false; + } + return result; + } + + private IEnumerator AsyncProcessAssets(XResPackage package, AssetBundle bundle) + { + string name = package.location.Substring(package.location.LastIndexOf('/') + 1); + this._asset_loading = true; + this._bundle_getter.GetAsset(bundle, package, new HandleLoadAsset(this.OnAssetLoaded)); + while (this._asset_loading) + { + yield return null; + } + yield break; + } + + private IEnumerator LaunchGame() + { + XSingleton.singleton.SetStatus(XSingleton.singleton.GetString("XUPDATE_INFO_LOADING"), byte.MaxValue, byte.MaxValue, byte.MaxValue); + yield return null; + this.ABManager.Init(); + this.XPlatform.ReloadFMOD(); + AsyncAssemblyRequest aar = new AsyncAssemblyRequest(); + ResourceRequest rrq = null; + bool flag = (int) Application.platform == 11; + if (flag) + { + string path = Application.persistentDataPath + "/XMainClient.bytes"; + bool flag2 = File.Exists(path); + if (flag2) + { + this._script = File.ReadAllBytes(path); + } + bool flag3 = this._script == null && (int)Application.platform == 11; + if (flag3) + { + rrq = Resources.LoadAsync("XMainClient", typeof(TextAsset)); + yield return rrq; + this._script = (rrq.asset as TextAsset).bytes; + } + path = null; + } + RuntimePlatform platform = Application.platform; + if ((int)platform != 8) + { + if ((int)platform != 11) + { + } + //! + // aar.Main = ((this._script == null) ? Assembly.Load("XMainClient") : Assembly.Load(this._script)); + } + else + { +// aar.Main = Assembly.Load("XMainClient"); + } + // XSingleton.singleton.MakeEntrance(aar.Main); + XSingleton.singleton._MakeEntrance(); + + bool flag4 = rrq != null && rrq.asset != null; + if (flag4) + { + Resources.UnloadAsset(rrq.asset); + } + this._script = null; + this._log.Remove(0, this._log.Length); + this._log.Append(XSingleton.singleton.GetString("XUPDATE_INFO_LAUNCHING")); + XSingleton.singleton.SetStatus(this._log.ToString(), byte.MaxValue, byte.MaxValue, byte.MaxValue); + yield return null; + XSingleton.singleton.PreLaunch(); + while (!XSingleton.singleton.Launched()) + { + yield return null; + XSingleton.singleton.Launch(); + } + this.XLuaEngine.InitLua(); + yield break; + } + + private byte[] XCryptography(byte[] bs) + { + for (int i = 0; i < bs.Length; i++) + { + bs[i] ^= 154; + } + return bs; + } + + private string PatchPrefix() + { + XLaunchMode launchMode = XUpdater.LaunchMode; + string result; + if (launchMode != XLaunchMode.Live) + { + if (launchMode != XLaunchMode.PreProduct) + { + if (launchMode != XLaunchMode.Dev) + { + result = "Patch/Live/"; + } + else + { + result = "Patch/Dev/"; + } + } + else + { + result = "Patch/PreProduct/"; + } + } + else + { + result = "Patch/Live/"; + } + return result; + } + + private void GetLaunchMode() + { + XUpdater._launch_mode = XLaunchMode.Dev; + } + + public void PlayCG(object o = null) + { + this._video.Play(false); + } + + public void SetServerVersion(string data) + { + string b = ""; + bool flag = this._buildin != null; + if (flag) + { + b = this._buildin.Build_Version.ToString(); + } + string[] array = data.Split(new char[] + { + '|' + }); + RuntimePlatform platform = Application.platform; + if ((int)platform != 8) + { + if ((int)platform == 11) + { + this._target_version = array[1]; + try + { + bool flag2 = array.Length > 4; + if (flag2) + { + string[] array2 = array[4].Split(new char[] + { + ':' + }); + for (int i = 0; i < array2.Length; i++) + { + string[] array3 = array2[i].Split(new char[] + { + '.' + }); + bool flag3 = array3.Length > 1 && array3[1] == b; + if (flag3) + { + this._target_version = array2[i]; + } + } + } + } + catch (Exception ex) + { + XSingleton.singleton.AddErrorLog("GetServer ExData Error!!! " + ex.Message, null, null, null, null, null); + } + } + } + else + { + this._target_version = array[0]; + try + { + bool flag4 = array.Length > 3; + if (flag4) + { + string[] array4 = array[3].Split(new char[] + { + ':' + }); + for (int j = 0; j < array4.Length; j++) + { + string[] array5 = array4[j].Split(new char[] + { + '.' + }); + bool flag5 = array5.Length > 1 && array5[1] == b; + if (flag5) + { + this._target_version = array4[j]; + } + } + } + } + catch (Exception ex2) + { + XSingleton.singleton.AddErrorLog("GetServer ExData Error!!! " + ex2.Message, null, null, null, null, null); + } + } + try + { + bool flag6 = array.Length > 2; + if (flag6) + { + this._need_check_file = (array[2] == "1"); + } + } + catch (Exception ex3) + { + XSingleton.singleton.AddErrorLog("GetServer CheckFile Flag Error!!! " + ex3.Message, null, null, null, null, null); + } + XSingleton.singleton.AddGreenLog(data, null, null, null, null, null); + this._fetch_version_network.Close(); + this._phase = eUPdatePhase.xUP_LoadVersion; + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/XUpdater/XUpdater.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/XUpdater/XUpdater.cs.meta new file mode 100644 index 00000000..5c15329c --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XUpdater/XUpdater.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: f2420f6e29a73574bb6c20d4c46e16fa +timeCreated: 1611465807 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/XUpdater/XVersion.cs b/Client/Assets/Scripts/XUtliPoolLib/XUpdater/XVersion.cs new file mode 100644 index 00000000..6c9759de --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XUpdater/XVersion.cs @@ -0,0 +1,174 @@ +using System; +using System.Collections; +using System.IO; +using System.Threading; +using UnityEngine; +using XUtliPoolLib; + +namespace XUpdater +{ + internal sealed class XVersion : MonoBehaviour + { + public static string VERSION_FILE + { + get + { + return string.Format("manifest.{0}.assetbundle", XSingleton.singleton.TargetVersion.ToString()); + } + } + + public static readonly string LOCAL_VERSION_FILE = "manifest.asset"; + + private WWW _server_Version = null; + + private uint _time_out_token = 0u; + + private delegate void HandleFinishDownload(WWW www, string error); + + public static string GetLocalVersion() + { + return XSingleton.singleton.UpdatePath + XVersion.LOCAL_VERSION_FILE; + } + + public void ServerDownload(HandleVersionDownload callback1, HandleVersionLoaded callback2) + { + base.StopAllCoroutines(); + string text = XSingleton.singleton.HostUrl + XSingleton.singleton.Platform; + XSingleton.singleton.SetStatus(XSingleton.singleton.GetString("XUPDATE_INFO_CONNECTING"), byte.MaxValue, byte.MaxValue, byte.MaxValue); + XSingleton.singleton.AddLog("connecting to update server: ", text, null, null, null, null, XDebugColor.XDebug_None); + this._time_out_token = XSingleton.singleton.SetTimer(5f, new XTimerMgr.ElapsedEventHandler(this.OnTimeOut), null); + base.StartCoroutine(this.DownloadVersion(XSingleton.singleton.MakeToken(text + XVersion.VERSION_FILE), callback1, callback2)); + } + + private IEnumerator DownloadVersion(string url, HandleVersionDownload callback1, HandleVersionLoaded callback2) + { + this._server_Version = new WWW(url); + yield return this._server_Version; + XSingleton.singleton.SetStatus(XSingleton.singleton.GetString("XUPDATE_INFO_CHECKUPDATING"), byte.MaxValue, byte.MaxValue, byte.MaxValue); + XSingleton.singleton.KillTimer(this._time_out_token); + bool flag = this._server_Version != null; + if (flag) + { + bool flag2 = string.IsNullOrEmpty(this._server_Version.error); + if (flag2) + { + bool flag3 = callback1 != null; + if (flag3) + { + AssetBundle ab = this._server_Version.assetBundle; + bool flag4 = ab == null; + if (flag4) + { + XSingleton.singleton.AddErrorLog("load server manifest bundle error.", null, null, null, null, null); + XSingleton.singleton.SetStatus(XSingleton.singleton.GetString("XUPDATE_ERROR_FETCHMANIFESTERROR"), byte.MaxValue, byte.MaxValue, byte.MaxValue); + XSingleton.singleton.OnError(); + } + else + { + UnityEngine.Object asset = ab.LoadAsset("manifest", typeof(TextAsset)); + bool flag5 = asset == null; + if (flag5) + { + XSingleton.singleton.AddErrorLog("load server manifest bundle error.", null, null, null, null, null); + XSingleton.singleton.SetStatus(XSingleton.singleton.GetString("XUPDATE_ERROR_FETCHMANIFESTERROR"), byte.MaxValue, byte.MaxValue, byte.MaxValue); + XSingleton.singleton.OnError(); + } + else + { + AsyncVersionProcessRequest avpr = callback1(asset as TextAsset); + while (!avpr.IsDone) + { + Thread.Sleep(1); + } + bool flag6 = callback2 != null; + if (flag6) + { + callback2(avpr.IsCorrect); + } + ab.Unload(false); + avpr = null; + } + asset = null; + } + ab = null; + } + } + else + { + bool flag7 = XUpdater.LaunchMode == XLaunchMode.Dev; + if (flag7) + { + XSingleton.singleton.DevStart(); + } + else + { + XSingleton.singleton.AddErrorLog(this._server_Version.error, null, null, null, null, null); + XSingleton.singleton.SetStatus(XSingleton.singleton.GetString("XUPDATE_ERROR_FETCHMANIFESTERROR"), byte.MaxValue, byte.MaxValue, byte.MaxValue); + XSingleton.singleton.OnError(); + } + } + this._server_Version.Dispose(); + this._server_Version = null; + } + else + { + XSingleton.singleton.AddErrorLog("ERROR: _server_Version is NULL!", null, null, null, null, null); + XSingleton.singleton.SetStatus(XSingleton.singleton.GetString("XUPDATE_ERROR_FETCHMANIFESTERROR"), byte.MaxValue, byte.MaxValue, byte.MaxValue); + XSingleton.singleton.OnError(); + } + yield break; + } + + private IEnumerator LocalDownload(XVersion.HandleFinishDownload callback) + { + string path = Application.persistentDataPath + XVersion.VERSION_FILE; + bool flag = !File.Exists(path); + if (flag) + { + bool flag2 = callback != null; + if (flag2) + { + callback(null, null); + } + } + else + { + string local_location = "file://" + path; + WWW localVersion = new WWW(local_location); + yield return localVersion; + bool flag3 = callback != null; + if (flag3) + { + callback(localVersion, localVersion.error); + } + localVersion.Dispose(); + localVersion = null; + local_location = null; + localVersion = null; + } + yield break; + } + + private void OnTimeOut(object o) + { + bool flag = XUpdater.LaunchMode == XLaunchMode.Dev; + if (flag) + { + XSingleton.singleton.DevStart(); + bool flag2 = (int)Application.platform == 7 || Application.platform == 0; + if (flag2) + { + XSingleton.singleton.AddErrorLog("Connect to update server timeout...", null, null, null, null, null); + } + } + else + { + XSingleton.singleton.SetStatus(XSingleton.singleton.GetString("XUPDATE_ERROR_CANNOTCONNECTTOSERVER"), byte.MaxValue, byte.MaxValue, byte.MaxValue); + XSingleton.singleton.OnError(); + } + base.StopAllCoroutines(); + this._server_Version.Dispose(); + this._server_Version = null; + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/XUpdater/XVersion.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/XUpdater/XVersion.cs.meta new file mode 100644 index 00000000..4c400128 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XUpdater/XVersion.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: dc1c1d77f6956704f90eda9af3c6ef9b +timeCreated: 1611465795 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/XUpdater/XVersionData.cs b/Client/Assets/Scripts/XUtliPoolLib/XUpdater/XVersionData.cs new file mode 100644 index 00000000..714d2189 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XUpdater/XVersionData.cs @@ -0,0 +1,287 @@ +using System; +using System.Collections.Generic; +using System.Text.RegularExpressions; +using XUtliPoolLib; + +namespace XUpdater +{ + [Serializable] + public class XVersionData : IComparable + { + public bool HasRCVersion + { + get + { + return this.rc_Build_Version > 0u || this.rc_Minor_Version > 0u; + } + } + + public bool IsNewly + { + get + { + return this.Build_Version == 0u && this.Minor_Version == 0u; + } + } + + public uint Major_Version + { + get + { + return this._major_version; + } + } + + private static readonly string pattern = "^(\\d+).(\\d+).(\\d+)(.(\\d+)p(\\d+))?\\b"; + + private static Regex r = new Regex(XVersionData.pattern); + + private uint _major_version; + + public uint Build_Version = 0u; + + public uint Minor_Version = 0u; + + public uint rc_Build_Version = 0u; + + public uint rc_Minor_Version = 0u; + + public uint MD5_Size = 1048576u; + + public BuildTarget Target_Platform = BuildTarget.Unknown; + + public List Bundles = new List(); + + public List Res = new List(); + + public List AB = new List(); + + public List Scene = new List(); + + public List FMOD = new List(); + + public XVersionData() + { + this._major_version = XUpdater.Major_Version; + } + + public XVersionData(uint major) + { + this._major_version = major; + } + + public XVersionData(XVersionData rhs) : this() + { + this.VersionCopy(rhs); + } + + public void VersionCopy(XVersionData rhs) + { + bool flag = rhs == null; + if (flag) + { + this.Build_Version = 0u; + this.Minor_Version = 0u; + this.rc_Build_Version = 0u; + this.rc_Minor_Version = 0u; + } + else + { + this.Build_Version = rhs.Build_Version; + this.Minor_Version = rhs.Minor_Version; + this.rc_Build_Version = rhs.rc_Build_Version; + this.rc_Minor_Version = rhs.rc_Minor_Version; + } + } + + public void RC() + { + bool hasRCVersion = this.HasRCVersion; + if (!hasRCVersion) + { + this.rc_Build_Version = 1u; + } + } + + public XVersionData Increment(bool rebuild) + { + XVersionData xversionData = new XVersionData(this); + if (rebuild) + { + bool hasRCVersion = this.HasRCVersion; + if (hasRCVersion) + { + xversionData.rc_Build_Version += 1u; + xversionData.rc_Minor_Version = 0u; + } + else + { + xversionData.Build_Version += 1u; + xversionData.Minor_Version = 0u; + xversionData.rc_Build_Version = 0u; + xversionData.rc_Minor_Version = 0u; + } + } + else + { + bool hasRCVersion2 = this.HasRCVersion; + if (hasRCVersion2) + { + xversionData.rc_Minor_Version += 1u; + } + else + { + xversionData.Minor_Version += 1u; + xversionData.rc_Build_Version = 0u; + xversionData.rc_Minor_Version = 0u; + } + } + return xversionData; + } + + public override string ToString() + { + return this.HasRCVersion ? string.Format("{0}.{1}.{2}.{3}p{4}", new object[] + { + this._major_version, + this.Build_Version, + this.Minor_Version, + this.rc_Build_Version, + this.rc_Minor_Version + }) : string.Format("{0}.{1}.{2}", this._major_version, this.Build_Version, this.Minor_Version); + } + + public static XVersionData Convert2Version(string version) + { + Match match = XVersionData.r.Match(version); + bool success = match.Success; + XVersionData result; + if (success) + { + XVersionData xversionData = new XVersionData(uint.Parse(match.Groups[1].Value)); + xversionData.Build_Version = uint.Parse(match.Groups[2].Value); + xversionData.Minor_Version = uint.Parse(match.Groups[3].Value); + bool flag = !string.IsNullOrEmpty(match.Groups[4].Value); + if (flag) + { + xversionData.rc_Build_Version = uint.Parse(match.Groups[5].Value); + xversionData.rc_Minor_Version = uint.Parse(match.Groups[6].Value); + } + result = xversionData; + } + else + { + result = null; + } + return result; + } + + public int CompareTo(XVersionData other) + { + bool flag = other == null; + int result; + if (flag) + { + result = 1; + } + else + { + bool flag2 = this._major_version == other.Major_Version; + if (flag2) + { + bool flag3 = this.Build_Version == other.Build_Version; + if (flag3) + { + bool flag4 = this.Minor_Version == other.Minor_Version; + if (flag4) + { + bool flag5 = this.rc_Build_Version == other.rc_Build_Version; + if (flag5) + { + bool flag6 = this.rc_Minor_Version == other.rc_Minor_Version; + if (flag6) + { + result = 0; + } + else + { + result = (int)(this.rc_Minor_Version - other.rc_Minor_Version); + } + } + else + { + result = (int)(this.rc_Build_Version - other.rc_Build_Version); + } + } + else + { + result = (int)(this.Minor_Version - other.Minor_Version); + } + } + else + { + result = (int)(this.Build_Version - other.Build_Version); + } + } + else + { + result = (int)(this._major_version - other.Major_Version); + } + } + return result; + } + + public bool CanUpdated(XVersionData other) + { + bool flag = this._major_version == other.Major_Version; + if (flag) + { + bool flag2 = this.Build_Version == other.Build_Version; + if (flag2) + { + bool flag3 = this.Minor_Version == other.Minor_Version; + if (!flag3) + { + return !this.HasRCVersion && !other.HasRCVersion; + } + bool flag4 = this.rc_Build_Version == other.rc_Build_Version; + if (flag4) + { + return true; + } + } + } + return false; + } + + public bool NeedDownload(string version) + { + XVersionData xversionData = XVersionData.Convert2Version(version); + bool flag = xversionData == null; + bool result; + if (flag) + { + XSingleton.singleton.AddErrorLog("Error bundle with name ", version, null, null, null, null); + result = false; + } + else + { + result = (this.CompareTo(xversionData) < 0); + } + return result; + } + + public XBundleData GetSpecificBundle(string name) + { + for (int i = 0; i < this.Bundles.Count; i++) + { + bool flag = name == this.Bundles[i].Name; + if (flag) + { + return this.Bundles[i]; + } + } + return null; + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/XUpdater/XVersionData.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/XUpdater/XVersionData.cs.meta new file mode 100644 index 00000000..d316b132 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XUpdater/XVersionData.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 167c1ce87a560024da3c8f9f142f83da +timeCreated: 1611465295 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/XUpdater/eUPdatePhase.cs b/Client/Assets/Scripts/XUtliPoolLib/XUpdater/eUPdatePhase.cs new file mode 100644 index 00000000..560b15cd --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XUpdater/eUPdatePhase.cs @@ -0,0 +1,20 @@ +using System; + +namespace XUpdater +{ + internal enum eUPdatePhase + { + xUP_None, + xUP_Prepare, + xUP_FetchVersion, + xUP_LoadVersion, + xUP_CompareVersion, + xUP_DownLoadConfirm, + xUP_DownLoadBundle, + xUP_ShowVersion, + xUP_LaunchGame, + xUP_Ending, + xUP_Finish, + xUP_Error + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/XUpdater/eUPdatePhase.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/XUpdater/eUPdatePhase.cs.meta new file mode 100644 index 00000000..a4dd6f19 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XUpdater/eUPdatePhase.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: b8a4179b6e8aefe4aadb7ec6af562313 +timeCreated: 1611465748 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/XUtliPoolLib.csproj b/Client/Assets/Scripts/XUtliPoolLib/XUtliPoolLib.csproj new file mode 100644 index 00000000..fbd81454 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XUtliPoolLib.csproj @@ -0,0 +1,685 @@ + + + + + Debug + AnyCPU + {B1AD6835-3615-4028-A15D-D7BC74909D04} + Library + XUtliPoolLib + XUtliPoolLib + v3.5 + 512 + + + AnyCPU + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + true + + + AnyCPU + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + true + + + + ..\..\..\..\..\..\..\Games\Steam\steamapps\common\My Friend Pedro\My Friend Pedro - Blood Bullets Bananas_Data\Managed\UnityEngine.dll + + + + ..\..\..\Client\Assets\Lib\UILib.dll + + + + + ..\..\..\Client\Assets\Lib\enum2int.dll + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Client/Assets/Scripts/XUtliPoolLib/XUtliPoolLib.csproj.meta b/Client/Assets/Scripts/XUtliPoolLib/XUtliPoolLib.csproj.meta new file mode 100644 index 00000000..01e95be1 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XUtliPoolLib.csproj.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 6ddba18448ada8548a80a91bffd3a111 +timeCreated: 1611465283 +licenseType: Free +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/XWarningData.cs b/Client/Assets/Scripts/XUtliPoolLib/XWarningData.cs new file mode 100644 index 00000000..a85f3c31 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XWarningData.cs @@ -0,0 +1,65 @@ +using System; +using System.ComponentModel; +using UnityEngine; + +namespace XUtliPoolLib +{ + [Serializable] + public class XWarningData : XBaseData + { + [SerializeField] + public XWarningType Type = XWarningType.Warning_None; + + [SerializeField] + [DefaultValue(0f)] + public float At; + + [SerializeField] + [DefaultValue(0f)] + public float FxDuration; + + [SerializeField] + [DefaultValue(0f)] + public float OffsetX; + + [SerializeField] + [DefaultValue(0f)] + public float OffsetY; + + [SerializeField] + [DefaultValue(0f)] + public float OffsetZ; + + [SerializeField] + public string Fx = null; + + [SerializeField] + [DefaultValue(1f)] + public float Scale = 1f; + + [SerializeField] + [DefaultValue(false)] + public bool Mobs_Inclusived; + + [SerializeField] + [DefaultValue(0)] + public int MaxRandomTarget; + + [SerializeField] + [DefaultValue(false)] + public bool RandomWarningPos; + + [SerializeField] + [DefaultValue(0)] + public float PosRandomRange; + + [SerializeField] + [DefaultValue(0)] + public int PosRandomCount; + + public XWarningData() + { + this.Scale = 1f; + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/XWarningData.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/XWarningData.cs.meta new file mode 100644 index 00000000..b1f08c30 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XWarningData.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: b09c7ce7886575c43b39b941eb9597c0 +timeCreated: 1611465744 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/XWarningType.cs b/Client/Assets/Scripts/XUtliPoolLib/XWarningType.cs new file mode 100644 index 00000000..7279c241 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XWarningType.cs @@ -0,0 +1,12 @@ +using System; + +namespace XUtliPoolLib +{ + public enum XWarningType + { + Warning_None, + Warning_Target, + Warning_Multiple, + Warning_All + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/XWarningType.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/XWarningType.cs.meta new file mode 100644 index 00000000..0ff047d2 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XWarningType.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 8621d1c249a343a42b09409c706d7be6 +timeCreated: 1611465696 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/XZeroCoolDownTimeException.cs b/Client/Assets/Scripts/XUtliPoolLib/XZeroCoolDownTimeException.cs new file mode 100644 index 00000000..3b3dfce6 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XZeroCoolDownTimeException.cs @@ -0,0 +1,16 @@ +using System; + +namespace XUtliPoolLib +{ + [Serializable] + public class XZeroCoolDownTimeException : XException + { + public XZeroCoolDownTimeException(string message) : base(message) + { + } + + public XZeroCoolDownTimeException(string message, Exception inner) : base(message, inner) + { + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/XZeroCoolDownTimeException.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/XZeroCoolDownTimeException.cs.meta new file mode 100644 index 00000000..385bc02f --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XZeroCoolDownTimeException.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: daf1eee6a169f944d9ada0d88b2e4f82 +timeCreated: 1611465765 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/XZeroDelayException.cs b/Client/Assets/Scripts/XUtliPoolLib/XZeroDelayException.cs new file mode 100644 index 00000000..dc6f088b --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XZeroDelayException.cs @@ -0,0 +1,16 @@ +using System; + +namespace XUtliPoolLib +{ + [Serializable] + public class XZeroDelayException : XException + { + public XZeroDelayException(string message) : base(message) + { + } + + public XZeroDelayException(string message, Exception inner) : base(message, inner) + { + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/XZeroDelayException.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/XZeroDelayException.cs.meta new file mode 100644 index 00000000..4d1cc6fc --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/XZeroDelayException.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 3f2d91badaa8a7442a9c53cd4021e54d +timeCreated: 1611465633 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Client/Assets/Scripts/XUtliPoolLib/YorozuyaTable.cs b/Client/Assets/Scripts/XUtliPoolLib/YorozuyaTable.cs new file mode 100644 index 00000000..3c6301b0 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/YorozuyaTable.cs @@ -0,0 +1,75 @@ +using System; + +namespace XUtliPoolLib +{ + public class YorozuyaTable : CVSReader + { + public YorozuyaTable.RowData[] Table = null; + + public class RowData + { + public byte ID; + + public SeqListRef SceneIDs; + + public string IconName; + + public string Name; + + public byte IsOpen; + } + + public YorozuyaTable.RowData GetByID(byte key) + { + bool flag = this.Table == null || this.Table.Length == 0; + YorozuyaTable.RowData result; + if (flag) + { + result = null; + } + else + { + for (int i = 0; i < this.Table.Length; i++) + { + bool flag2 = this.Table[i].ID == key; + if (flag2) + { + return this.Table[i]; + } + } + result = null; + } + return result; + } + + protected override void ReadLine(XBinaryReader reader) + { + YorozuyaTable.RowData rowData = new YorozuyaTable.RowData(); + base.Read(reader, ref rowData.ID, CVSReader.byteParse); + this.columnno = 0; + rowData.SceneIDs.Read(reader, this.m_DataHandler); + this.columnno = 1; + base.Read(reader, ref rowData.IconName, CVSReader.stringParse); + this.columnno = 2; + base.Read(reader, ref rowData.Name, CVSReader.stringParse); + this.columnno = 3; + base.Read(reader, ref rowData.IsOpen, CVSReader.byteParse); + this.columnno = 4; + this.Table[this.lineno] = rowData; + this.columnno = -1; + } + + protected override void OnClear(int lineCount) + { + bool flag = lineCount > 0; + if (flag) + { + this.Table = new YorozuyaTable.RowData[lineCount]; + } + else + { + this.Table = null; + } + } + } +} diff --git a/Client/Assets/Scripts/XUtliPoolLib/YorozuyaTable.cs.meta b/Client/Assets/Scripts/XUtliPoolLib/YorozuyaTable.cs.meta new file mode 100644 index 00000000..db0854b8 --- /dev/null +++ b/Client/Assets/Scripts/XUtliPoolLib/YorozuyaTable.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 64f5bf1875f17cc41b51b2ce6d7f9890 +timeCreated: 1611465655 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: -- cgit v1.1-26-g67d0