---
--- Generated by EmmyLua(https://github.com/EmmyLua)
--- Created by 0.
--- DateTime: 2019/4/12 19:09
---
XDataCenter = XDataCenter or {}

function XDataCenter.Init()
    XEventManager.RemoveAllListener()
    CsXGameEventManager.Instance:Clear()
    CS.XLuaMethodManager.ClearAll()

    XAnalyticsEvent.Init()

    local dataCenterProfiler = XGame.Profiler:CreateChild("XDataCenter")
    dataCenterProfiler:Start()

    local antiAddictionProfiler = dataCenterProfiler:CreateChild("AntiAddictionManager")
    antiAddictionProfiler:Start()
    XDataCenter.AntiAddictionManager = XAntiAddictionManagerCreator()
    antiAddictionProfiler:Stop()

    local guideProfiler = dataCenterProfiler:CreateChild("GuideManager")
    guideProfiler:Start()
    XDataCenter.GuideManager = XGuideManagerCreator()
    guideProfiler:Stop()

    local loadingProfiler = dataCenterProfiler:CreateChild("LoadingManager")
    loadingProfiler:Start()
    XDataCenter.LoadingManager = XLoadingManagerCreator()
    loadingProfiler:Stop()

    local characterProfiler = dataCenterProfiler:CreateChild("CharacterManager")
    characterProfiler:Start()
    XDataCenter.CharacterManager = XCharacterManagerCreator()
    characterProfiler:Stop()

    local itemProfiler = dataCenterProfiler:CreateChild("ItemManager")
    itemProfiler:Start()
    XDataCenter.ItemManager = XItemManagerCreator()
    itemProfiler:Stop()

    local fubenProfiler = dataCenterProfiler:CreateChild("FubenMainLineManager")
    fubenProfiler:Start()
    XDataCenter.FubenMainLineManager = XFubenMainLineManagerCreator()
    fubenProfiler:Stop()

    local fubenDailyProfiler = dataCenterProfiler:CreateChild("FubenDailyManager")
    fubenDailyProfiler:Start()
    XDataCenter.FubenDailyManager = XFubenDailyManagerCreator()
    fubenDailyProfiler:Stop()

    local fubenRescourceProfiler = dataCenterProfiler:CreateChild("FubenResourceManager")
    fubenRescourceProfiler:Start()
    XDataCenter.FubenResourceManager = XFubenResourceManagerCreator()
    fubenRescourceProfiler:Stop()

    local practiceProfiler = dataCenterProfiler:CreateChild("PracticeManager")
    practiceProfiler:Start()
    XDataCenter.PracticeManager = XPracticeManagerCreator()
    practiceProfiler:Stop()

    local fubenFestivalActivityProfiler = dataCenterProfiler:CreateChild("FubenFestivalActivityManager")
    fubenFestivalActivityProfiler:Start()
    XDataCenter.FubenFestivalActivityManager = XFubenFestivalActivityManagerCreator()
    fubenFestivalActivityProfiler:Stop()

    local fubenUrgentProfiler = dataCenterProfiler:CreateChild("FubenUrgentEventManager")
    fubenUrgentProfiler:Start()
    XDataCenter.FubenUrgentEventManager = XFubenUrgentEventManagerCreator()
    fubenUrgentProfiler:Stop()

    local fubenBossSingleProfiler = dataCenterProfiler:CreateChild("FubenBossSingleManager")
    fubenBossSingleProfiler:Start()
    XDataCenter.FubenBossSingleManager = XFubenBossSingleManagerCreator()
    fubenBossSingleProfiler:Stop()

    local fubenBossOnlineProfiler = dataCenterProfiler:CreateChild("FubenBossOnlineManager")
    fubenBossOnlineProfiler:Start()
    XDataCenter.FubenBossOnlineManager = XFubenBossOnlineManagerCreator()
    fubenBossOnlineProfiler:Stop()

    local fubenActivityBranchProfiler = dataCenterProfiler:CreateChild("FubenActivityBranchManager")
    fubenActivityBranchProfiler:Start()
    XDataCenter.FubenActivityBranchManager = XFubenActivityBranchManagerCreator()
    fubenActivityBranchProfiler:Stop()

    XDataCenter.FubenActivityBossSingleManager = XFubenActivityBossSingleManagerCreator()

    local teamProfiler = dataCenterProfiler:CreateChild("TeamManager")
    teamProfiler:Start()
    XDataCenter.TeamManager = XTeamManagerCreator()
    teamProfiler:Stop()

    local equipProfiler = dataCenterProfiler:CreateChild("EquipManager")
    equipProfiler:Start()
    XDataCenter.EquipManager = XEquipManagerCreator()
    equipProfiler:Stop()

    local furnitureProfiler = dataCenterProfiler:CreateChild("FurnitureManager")
    furnitureProfiler:Start()
    XDataCenter.FurnitureManager = XFurnitureManagerCreator()
    furnitureProfiler:Stop()

    local HeadPortraitProfiler = dataCenterProfiler:CreateChild("XHeadPortraitManager")
    HeadPortraitProfiler:Start()
    XDataCenter.HeadPortraitManager = XHeadPortraitManagerCreator()
    HeadPortraitProfiler:Stop()

    local dormProfiler = dataCenterProfiler:CreateChild("DormManager")
    dormProfiler:Start()
    XDataCenter.DormManager = XDormManagerCreator()
    dormProfiler:Stop()

    local baseEquipProfiler = dataCenterProfiler:CreateChild("BaseEquipManager")
    baseEquipProfiler:Start()
    XDataCenter.BaseEquipManager = XBaseEquipManagerCreator()
    baseEquipProfiler:Stop()

    local personalInfoProfiler = dataCenterProfiler:CreateChild("PersonalInfoManager")
    personalInfoProfiler:Start()
    XDataCenter.PersonalInfoManager = XPersonalInfoManagerCreator()
    personalInfoProfiler:Stop()

    local displayProfiler = dataCenterProfiler:CreateChild("DisplayManager")
    displayProfiler:Start()
    XDataCenter.DisplayManager = XDisplayManagerCreator()
    displayProfiler:Stop()

    local storyProfiler = dataCenterProfiler:CreateChild("StoryManager")
    storyProfiler:Start()
    XDataCenter.StoryManager = XStoryManagerCreator()
    storyProfiler:Stop()

    local assistProfiler = dataCenterProfiler:CreateChild("AssistManager")
    assistProfiler:Start()
    XDataCenter.AssistManager = XAssistManagerCreator()
    assistProfiler:Stop()

    local taskProfiler = dataCenterProfiler:CreateChild("TaskManager")
    taskProfiler:Start()
    XDataCenter.TaskManager = XTaskManagerCreator()
    taskProfiler:Stop()

    local fashionProfiler = dataCenterProfiler:CreateChild("FashionManager")
    fashionProfiler:Start()
    XDataCenter.FashionManager = XFashionManagerCreator()
    fashionProfiler:Stop()

    local drawProfiler = dataCenterProfiler:CreateChild("DrawManager")
    drawProfiler:Start()
    XDataCenter.DrawManager = XDrawManagerCreator()
    drawProfiler:Stop()

    local gaChaProfiler = dataCenterProfiler:CreateChild("GachaManager")
    gaChaProfiler:Start()
    XDataCenter.GachaManager = XGachaManagerCreator()
    gaChaProfiler:Stop()

    local mailProfiler = dataCenterProfiler:CreateChild("MailManager")
    mailProfiler:Start()
    XDataCenter.MailManager = XMailManagerCreator()
    mailProfiler:Stop()

    local socialProfiler = dataCenterProfiler:CreateChild("SocialManager")
    socialProfiler:Start()
    XDataCenter.SocialManager = XSocialManagerCreator()
    socialProfiler:Stop()

    local chatProfiler = dataCenterProfiler:CreateChild("ChatManager")
    chatProfiler:Start()
    XDataCenter.ChatManager = XChatManagerCreator()
    chatProfiler:Stop()

    local hostelProfiler = dataCenterProfiler:CreateChild("HostelManager")
    hostelProfiler:Start()
    XDataCenter.HostelManager = XHostelManagerCreator()
    hostelProfiler:Stop()

    local hostelDelegateProfiler = dataCenterProfiler:CreateChild("HostelDelegateManager")
    hostelDelegateProfiler:Start()
    XDataCenter.HostelDelegateManager = XHostelDelegateManagerCreator()
    hostelDelegateProfiler:Stop()

    local bountyTaskProfiler = dataCenterProfiler:CreateChild("BountyTaskManager")
    bountyTaskProfiler:Start()
    XDataCenter.BountyTaskManager = XBountyTaskManagerCreator()
    bountyTaskProfiler:Stop()

    local taskForceProfiler = dataCenterProfiler:CreateChild("TaskForceManager")
    taskForceProfiler:Start()
    XDataCenter.TaskForceManager = XTaskForceManagerCreator()
    taskForceProfiler:Stop()

    local bfrtProfiler = dataCenterProfiler:CreateChild("BfrtManager")
    bfrtProfiler:Start()
    XDataCenter.BfrtManager = XBfrtManagerCreator()
    bfrtProfiler:Stop()

    local prequelProfiler = dataCenterProfiler:CreateChild("PrequelManager")
    prequelProfiler:Start()
    XDataCenter.PrequelManager = XPrequelManagerCreator()
    prequelProfiler:Stop()

    local fubenBabelTowerProfiler = dataCenterProfiler:CreateChild("FubenBabelTowerManager")
    fubenBabelTowerProfiler:Start()
    XDataCenter.FubenBabelTowerManager = XFubenBabelTowerManagerCreator()
    fubenBabelTowerProfiler:Stop()

    local trialProfiler = dataCenterProfiler:CreateChild("TrialManager")
    trialProfiler:Start()
    XDataCenter.TrialManager = XTrialManagerCreator()
    trialProfiler:Stop()

    local arenaProfiler = dataCenterProfiler:CreateChild("ArenaManager")
    arenaProfiler:Start()
    XDataCenter.ArenaManager = XArenaManagerCreator()
    arenaProfiler:Stop()

    local fubenExploreProfiler = dataCenterProfiler:CreateChild("FubenExploreManager")
    fubenExploreProfiler:Start()
    XDataCenter.FubenExploreManager = XFubenExploreManagerCreator()
    fubenExploreProfiler:Stop()

    local fubenProfiler = dataCenterProfiler:CreateChild("FubenManager")
    fubenProfiler:Start()
    XDataCenter.FubenManager = XFubenManagerCreator()
    fubenProfiler:Stop()

    local signBoardProfiler = dataCenterProfiler:CreateChild("SignBoardManager")
    signBoardProfiler:Start()
    XDataCenter.SignBoardManager = XSignBoardManagerCreator()
    signBoardProfiler:Stop()

    local voteProfiler = dataCenterProfiler:CreateChild("VoteManager")
    voteProfiler:Start()
    XDataCenter.VoteManager = XVoteManagerCreator()
    voteProfiler:Stop()

    local favourProfiler = dataCenterProfiler:CreateChild("FavorabilityManager")
    favourProfiler:Start()
    XDataCenter.FavorabilityManager = XFavorabilityManagerCreator()
    favourProfiler:Stop()

    local comeAcrossProfiler = dataCenterProfiler:CreateChild("ComeAcrossManager")
    comeAcrossProfiler:Start()
    XDataCenter.ComeAcrossManager = XComeAcrossManagerCreator()
    comeAcrossProfiler:Stop()

    local autoFightProfiler = dataCenterProfiler:CreateChild("AutoFightManager")
    autoFightProfiler:Start()
    XDataCenter.AutoFightManager = XAutoFightManagerCreator()
    autoFightProfiler:Stop()

    local noticeProfiler = dataCenterProfiler:CreateChild("NoticeManager")
    noticeProfiler:Start()
    XDataCenter.NoticeManager = XNoticeManagerCreator()
    noticeProfiler:Stop()

    local roomProfiler = dataCenterProfiler:CreateChild("RoomManager")
    roomProfiler:Start()
    XDataCenter.RoomManager = XRoomManagerCreator()
    roomProfiler:Stop()

    local communicationProfiler = dataCenterProfiler:CreateChild("CommunicationManager")
    communicationProfiler:Start()
    XDataCenter.CommunicationManager = XFunctionCommunicationManagerCreator()
    communicationProfiler:Stop()

    local functionEventProfiler = dataCenterProfiler:CreateChild("FunctionEventManager")
    functionEventProfiler:Start()
    XDataCenter.FunctionEventManager = XFunctionEventManagerCreator()
    functionEventProfiler:Stop()

    local typeProfiler = dataCenterProfiler:CreateChild("XTypeManager")
    typeProfiler:Start()
    XTypeManager.Init()
    typeProfiler:Stop()

    local fubenExperimentProfiler = dataCenterProfiler:CreateChild("FubenExperimentManager")
    fubenExperimentProfiler:Start()
    XDataCenter.FubenExperimentManager = XFubenExperimentManagerCreator()
    fubenExperimentProfiler:Stop()

    local ExhibitionProfier = dataCenterProfiler:CreateChild("Exhibition")
    ExhibitionProfier:Start()
    XDataCenter.ExhibitionManager = XExhibitionManagerCreator()
    dataCenterProfiler:Stop()

    local autoWindowProfiler = dataCenterProfiler:CreateChild("AutoWindowManager")
    autoWindowProfiler:Start()
    XDataCenter.AutoWindowManager = XAutoWindowManagerCreator()
    autoWindowProfiler:Stop()

    local playerInfoProfiler = dataCenterProfiler:CreateChild("PlayerInfoManager")
    playerInfoProfiler:Start()
    XDataCenter.PlayerInfoManager = XPlayerInfoManagerCreator()
    playerInfoProfiler:Stop()

    local signInProfiler = dataCenterProfiler:CreateChild("XSignInManager")
    signInProfiler:Start()
    XDataCenter.SignInManager = XSignInManagerCreator()
    signInProfiler:Stop()

    local MedalProfiler = dataCenterProfiler:CreateChild("XMedalManager")
    MedalProfiler:Start()
    XDataCenter.MedalManager = XMedalManagerCreator()
    MedalProfiler:Stop()

    local purchaseProfiler = dataCenterProfiler:CreateChild("PurchaseManagerCreator")
    purchaseProfiler:Start()
    XDataCenter.PurchaseManager = XPurchaseManagerCreator()
    purchaseProfiler:Stop()

    XDataCenter.PayManager = XPayManagerCreator()

    local ReportProfiler = dataCenterProfiler:CreateChild("ReportManagerCreater")
    ReportProfiler:Start()
    XDataCenter.ReportManager = XReportManagerCreater()
    ReportProfiler:Stop()

    local CdKeyProfiler = dataCenterProfiler:CreateChild("CdKeyManagerCreator")
    CdKeyProfiler:Start()
    XDataCenter.CdKeyManager = XCdKeyManagerCreator()
    CdKeyProfiler:Stop()

    local functionalSkipProfiler = dataCenterProfiler:CreateChild("FunctionalSkipManagerCreator")
    functionalSkipProfiler:Start()
    XDataCenter.FunctionalSkipManager = XFunctionalSkipManagerCreator()
    functionalSkipProfiler:Stop()

    local guildProfiler = dataCenterProfiler:CreateChild("GuildManager")
    guildProfiler:Start()
    XDataCenter.GuildManager = XGuildManagerCreator()
    guildProfiler:Stop()

    XDataCenter.ActivityManager = XActivityManagerCreator()
    XDataCenter.ActivityBriefManager = XActivityBriefManagerCreator()

    XDataCenter.SetManager = XSetManagerCreator()

    CS.XLuaMethodManager.RefreshAll()
end