Просмотр исходного кода

Merge branch 'hy_ru' of ssh://192.168.0.8:29418/xianjing into hy_ios_ru

gdl_123 7 месяцев назад
Родитель
Сommit
581e2f08ca
45 измененных файлов с 2946 добавлено и 674 удалено
  1. 10 10
      Assets/Content/Config/LanguagePackage_cn.csv
  2. 8 0
      Assets/Content/Icons/ActivityImgNew1.meta
  3. BIN
      Assets/Content/Icons/ActivityImgNew1/img_shuang11Signin_cn.png
  4. 135 0
      Assets/Content/Icons/ActivityImgNew1/img_shuang11Signin_cn.png.meta
  5. BIN
      Assets/Content/Icons/ActivityImgNew1/shuang11charge1_cn.png
  6. 135 0
      Assets/Content/Icons/ActivityImgNew1/shuang11charge1_cn.png.meta
  7. 132 6
      Assets/Content/Prefabs/UI/UIActivity/UIActivityFortnightLogin.prefab
  8. 36 2
      Assets/Content/Prefabs/UI/UIDojo/UIDojo2D.prefab
  9. 185 17
      Assets/Content/Prefabs/UI/UIPet/UIPetLvUp.prefab
  10. 133 100
      Assets/Content/Prefabs/UI/UIPet/UIPetStampList.prefab
  11. 142 100
      Assets/Content/Prefabs/UI/UIRoleMessage/UICreateName.prefab
  12. 41 9
      Assets/Content/Prefabs/UI/UISkillExpBattle/UIEvil.prefab
  13. 78 9
      Assets/Content/Prefabs/UI/UITips/UITips.prefab
  14. 282 134
      Assets/Content/Prefabs/UI/UITitle/TitleListItem.prefab
  15. 223 166
      Assets/Content/Prefabs/UI/UITitle/UITitleList.prefab
  16. BIN
      Assets/Content/Raw_Art/UI/UILanuch/img_logo_01.png
  17. 4 3
      Assets/Editor/AssetBundle/CheckHotUpdateRes.cs
  18. 16 2
      Assets/Editor/AssetBundle/CheckResWindowInfo.cs
  19. 7 2
      Assets/Editor/AssetBundle/Hy_Android_ru.asset
  20. 16 1
      Assets/Editor/CsvToLua/CsvToLua.cs
  21. 4 4
      Assets/Lua/Config/ActivitiesCfg.lua
  22. 1 1
      Assets/Lua/Config/ActivitiesFortnightOnlineCfg.lua
  23. 1 1
      Assets/Lua/Config/ActivitiesTaskCfg.lua
  24. 0 1
      Assets/Lua/Core/PlatformPack.lua
  25. 1 0
      Assets/Lua/Logic/LuckyEggDataMgr.lua
  26. 10 1
      Assets/Lua/Managers/CfgMgr.lua
  27. 14 7
      Assets/Lua/UI/UIActivity/UIActivityFortnightLoginView.lua
  28. 30 0
      Assets/Lua/UI/UIActivity/UIActivityFortnightLoginView_Generate.lua
  29. 1 1
      Assets/Lua/UI/UIExpedition/UIExpeditionBattleView.lua
  30. 2 1
      Assets/Lua/UI/UILuckyEgg/UILuckyEggCtr.lua
  31. 2 1
      Assets/Lua/UI/UILuckyEgg/UILuckyEggResultCtr.lua
  32. 46 19
      Assets/TextMesh Pro/Resources/Fonts & Materials/LiberationSans SDF - Fallback.asset
  33. 1 1
      Build/BuildDependenceResource/CurPackEnv.ini
  34. 7 3
      Build/BuildDependenceResource/PackConfig.json
  35. 172 0
      Build/BuildDependenceResource/Plugins/SDKBridge/Android_en_hx/YouYiListener.cs
  36. 11 0
      Build/BuildDependenceResource/Plugins/SDKBridge/Android_en_hx/YouYiListener.cs.meta
  37. 298 0
      Build/BuildDependenceResource/Plugins/SDKBridge/Android_en_hx/YouYiSDKAndroid.cs
  38. 11 0
      Build/BuildDependenceResource/Plugins/SDKBridge/Android_en_hx/YouYiSDKAndroid.cs.meta
  39. 170 0
      Build/BuildDependenceResource/Plugins/SDKBridge/Quick_andriod_hy_en/YouYiListener.cs
  40. 11 0
      Build/BuildDependenceResource/Plugins/SDKBridge/Quick_andriod_hy_en/YouYiListener.cs.meta
  41. 297 0
      Build/BuildDependenceResource/Plugins/SDKBridge/Quick_andriod_hy_en/YouYiSDKAndroid.cs
  42. 11 0
      Build/BuildDependenceResource/Plugins/SDKBridge/Quick_andriod_hy_en/YouYiSDKAndroid.cs.meta
  43. 190 0
      Build/BuildDependenceResource/Plugins/iOS/MianYou_SDK_IOS/QsdkMgr.mm
  44. 68 68
      Build/NewCfg/Language_merge.csv
  45. 4 4
      ProjectSettings/ProjectSettings.asset

Разница между файлами не показана из-за своего большого размера
+ 10 - 10
Assets/Content/Config/LanguagePackage_cn.csv


+ 8 - 0
Assets/Content/Icons/ActivityImgNew1.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 61a8f13c1abbbd646ae7455240513d90
+folderAsset: yes
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

BIN
Assets/Content/Icons/ActivityImgNew1/img_shuang11Signin_cn.png


+ 135 - 0
Assets/Content/Icons/ActivityImgNew1/img_shuang11Signin_cn.png.meta

@@ -0,0 +1,135 @@
+fileFormatVersion: 2
+guid: f27798867dc48ca4182c004e82a8a494
+TextureImporter:
+  internalIDToNameTable: []
+  externalObjects: {}
+  serializedVersion: 12
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 0
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  vTOnly: 0
+  ignoreMasterTextureLimit: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: 1
+    aniso: 1
+    mipBias: 0
+    wrapU: 1
+    wrapV: 1
+    wrapW: 0
+  nPOTScale: 0
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 1
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 1
+  spriteTessellationDetail: -1
+  textureType: 8
+  textureShape: 1
+  singleChannelComponent: 0
+  flipbookRows: 1
+  flipbookColumns: 1
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  ignorePngGamma: 0
+  applyGammaDecoding: 0
+  cookieLightType: 0
+  platformSettings:
+  - serializedVersion: 3
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 0
+  - serializedVersion: 3
+    buildTarget: Standalone
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: 12
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 1
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 0
+  - serializedVersion: 3
+    buildTarget: iPhone
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: 50
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 1
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 0
+  - serializedVersion: 3
+    buildTarget: Android
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: 47
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 1
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: 5e97eb03825dee720800000000000000
+    internalID: 0
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+    secondaryTextures: []
+    nameFileIdTable: {}
+  spritePackingTag: 
+  pSDRemoveMatte: 0
+  pSDShowRemoveMatteOption: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

BIN
Assets/Content/Icons/ActivityImgNew1/shuang11charge1_cn.png


+ 135 - 0
Assets/Content/Icons/ActivityImgNew1/shuang11charge1_cn.png.meta

@@ -0,0 +1,135 @@
+fileFormatVersion: 2
+guid: 6317e0370abe39b4095649666e67918b
+TextureImporter:
+  internalIDToNameTable: []
+  externalObjects: {}
+  serializedVersion: 12
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 0
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  vTOnly: 0
+  ignoreMasterTextureLimit: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: 1
+    aniso: 1
+    mipBias: 0
+    wrapU: 1
+    wrapV: 1
+    wrapW: 0
+  nPOTScale: 0
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 1
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 1
+  spriteTessellationDetail: -1
+  textureType: 8
+  textureShape: 1
+  singleChannelComponent: 0
+  flipbookRows: 1
+  flipbookColumns: 1
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  ignorePngGamma: 0
+  applyGammaDecoding: 0
+  cookieLightType: 0
+  platformSettings:
+  - serializedVersion: 3
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 0
+  - serializedVersion: 3
+    buildTarget: Standalone
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: 12
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 1
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 0
+  - serializedVersion: 3
+    buildTarget: iPhone
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: 50
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 1
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 0
+  - serializedVersion: 3
+    buildTarget: Android
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: 47
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 1
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: 5e97eb03825dee720800000000000000
+    internalID: 0
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+    secondaryTextures: []
+    nameFileIdTable: {}
+  spritePackingTag: 
+  pSDRemoveMatte: 0
+  pSDShowRemoveMatteOption: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 132 - 6
Assets/Content/Prefabs/UI/UIActivity/UIActivityFortnightLogin.prefab

@@ -209,7 +209,7 @@ RectTransform:
   m_AnchorMin: {x: 0, y: 1}
   m_AnchorMax: {x: 0, y: 1}
   m_AnchoredPosition: {x: 90, y: -40}
-  m_SizeDelta: {x: 74, y: 80}
+  m_SizeDelta: {x: 75, y: 80}
   m_Pivot: {x: 0, y: 0.5}
 --- !u!222 &5775774133583567986
 CanvasRenderer:
@@ -304,6 +304,7 @@ MonoBehaviour:
   - UINode
   values: 000001000000
   depObjs: []
+  IsNewNode: 0
   activeType: 0
 --- !u!1 &1288330801487319876
 GameObject:
@@ -461,6 +462,127 @@ MonoBehaviour:
   m_FillOrigin: 0
   m_UseSpriteMesh: 0
   m_PixelsPerUnitMultiplier: 1
+--- !u!1 &2250178556336975859
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 7090128607979971633}
+  - component: {fileID: 3234724669688900522}
+  - component: {fileID: 2972951451793614893}
+  - component: {fileID: 4831942557624623708}
+  - component: {fileID: 299752443199769593}
+  m_Layer: 5
+  m_Name: CurLoginTxt
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &7090128607979971633
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 2250178556336975859}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_ConstrainProportionsScale: 0
+  m_Children: []
+  m_Father: {fileID: 4100088124785731602}
+  m_RootOrder: 4
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: 1, y: 0}
+  m_AnchoredPosition: {x: 0, y: 100}
+  m_SizeDelta: {x: -300, y: 100}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &3234724669688900522
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 2250178556336975859}
+  m_CullTransparentMesh: 1
+--- !u!114 &2972951451793614893
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 2250178556336975859}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 0.33333334, g: 0.36862746, b: 0.454902, a: 1}
+  m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_FontData:
+    m_Font: {fileID: 12800000, guid: 90ed5292e87d8a64aac7038df97ece85, type: 3}
+    m_FontSize: 40
+    m_FontStyle: 0
+    m_BestFit: 1
+    m_MinSize: 4
+    m_MaxSize: 48
+    m_Alignment: 3
+    m_AlignByGeometry: 0
+    m_RichText: 1
+    m_HorizontalOverflow: 0
+    m_VerticalOverflow: 0
+    m_LineSpacing: 1
+  m_Text: "\u0412\u0445\u043E\u0434 <color=#FF9600>{0}</color>-\u0439 \u0434\u0435\u043D\u044C
+    \u043F\u043E\u043B\u0443\u0447\u0438\u0442\u0435 <color=#FF9600>{1}</color>"
+--- !u!114 &4831942557624623708
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 2250178556336975859}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 8759edc0b8b4b3d4aa8ffef2482e17ee, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  UIName: curLoginTxt
+  keys:
+  - UnityEngine.RectTransform
+  - UnityEngine.CanvasRenderer
+  - UnityEngine.UI.Text
+  - UINode
+  - UnityEngine.UI.Outline
+  values: 0000010000
+  depObjs: []
+  IsNewNode: 1
+  activeType: 0
+--- !u!114 &299752443199769593
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 2250178556336975859}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: e19747de3f5aca642ab2be37e372fb86, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_EffectColor: {r: 1, g: 1, b: 1, a: 1}
+  m_EffectDistance: {x: 2, y: -2}
+  m_UseGraphicAlpha: 1
 --- !u!1 &2340892001243189159
 GameObject:
   m_ObjectHideFlags: 0
@@ -620,6 +742,7 @@ MonoBehaviour:
   - UINode
   values: 000000
   depObjs: []
+  IsNewNode: 0
   activeType: 0
 --- !u!1 &2764878607990487817
 GameObject:
@@ -736,7 +859,7 @@ RectTransform:
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
   m_AnchorMin: {x: 0, y: 1}
   m_AnchorMax: {x: 0, y: 1}
-  m_AnchoredPosition: {x: 214, y: -40}
+  m_AnchoredPosition: {x: 215, y: -40}
   m_SizeDelta: {x: 80, y: 80}
   m_Pivot: {x: 0.5, y: 0.5}
 --- !u!222 &5851747639837583344
@@ -1181,6 +1304,7 @@ MonoBehaviour:
   - UINode
   values: 00000100
   depObjs: []
+  IsNewNode: 0
   activeType: 0
 --- !u!1 &5185877690595201390
 GameObject:
@@ -1217,6 +1341,7 @@ RectTransform:
   - {fileID: 2135698403620338885}
   - {fileID: 2675368309411793864}
   - {fileID: 5985979696530369344}
+  - {fileID: 7090128607979971633}
   m_Father: {fileID: 3151090880979479083}
   m_RootOrder: 1
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
@@ -1773,7 +1898,7 @@ GameObject:
   m_Icon: {fileID: 0}
   m_NavMeshLayer: 0
   m_StaticEditorFlags: 0
-  m_IsActive: 1
+  m_IsActive: 0
 --- !u!224 &5985979696530369344
 RectTransform:
   m_ObjectHideFlags: 0
@@ -1796,7 +1921,7 @@ RectTransform:
   m_AnchorMin: {x: 0.5, y: 0}
   m_AnchorMax: {x: 0.5, y: 0}
   m_AnchoredPosition: {x: 0, y: 80}
-  m_SizeDelta: {x: 0, y: 80}
+  m_SizeDelta: {x: 579, y: 80}
   m_Pivot: {x: 0.5, y: 0.5}
 --- !u!114 &6415103357067401882
 MonoBehaviour:
@@ -2181,8 +2306,8 @@ RectTransform:
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
   m_AnchorMin: {x: 0, y: 1}
   m_AnchorMax: {x: 0, y: 1}
-  m_AnchoredPosition: {x: 264, y: -40}
-  m_SizeDelta: {x: 316, y: 80}
+  m_AnchoredPosition: {x: 265, y: -40}
+  m_SizeDelta: {x: 314, y: 80}
   m_Pivot: {x: 0, y: 0.5}
 --- !u!222 &3078565096580051987
 CanvasRenderer:
@@ -2277,6 +2402,7 @@ MonoBehaviour:
   - UINode
   values: 000001000000
   depObjs: []
+  IsNewNode: 0
   activeType: 0
 --- !u!1 &6545404168248536075
 GameObject:

+ 36 - 2
Assets/Content/Prefabs/UI/UIDojo/UIDojo2D.prefab

@@ -478,6 +478,7 @@ MonoBehaviour:
   - UINode
   values: 0000
   depObjs: []
+  IsNewNode: 0
   activeType: 0
 --- !u!1 &484284092361616038
 GameObject:
@@ -717,6 +718,7 @@ MonoBehaviour:
   - UINode
   values: 0000000100
   depObjs: []
+  IsNewNode: 0
   activeType: 0
 --- !u!1 &604169070156606587
 GameObject:
@@ -821,6 +823,7 @@ MonoBehaviour:
   - UnityEngine.UI.Outline
   values: 0000010000
   depObjs: []
+  IsNewNode: 0
   activeType: 0
 --- !u!114 &4124130209110937353
 MonoBehaviour:
@@ -934,6 +937,7 @@ MonoBehaviour:
   - UINode
   values: 00000100
   depObjs: []
+  IsNewNode: 0
   activeType: 0
 --- !u!1 &865857300230945961
 GameObject:
@@ -990,6 +994,7 @@ MonoBehaviour:
   - UINode
   values: 0000
   depObjs: []
+  IsNewNode: 0
   activeType: 0
 --- !u!1 &918493045955741720
 GameObject:
@@ -1090,6 +1095,7 @@ MonoBehaviour:
   - UnityEngine.UI.Button
   values: 0000000001
   depObjs: []
+  IsNewNode: 0
   activeType: 0
 --- !u!114 &2048432108579829642
 MonoBehaviour:
@@ -1388,6 +1394,7 @@ MonoBehaviour:
   - UINode
   values: 00000100
   depObjs: []
+  IsNewNode: 0
   activeType: 0
 --- !u!1 &1238753600624739697
 GameObject:
@@ -2100,6 +2107,7 @@ MonoBehaviour:
   - UINode
   values: 000000
   depObjs: []
+  IsNewNode: 0
   activeType: 0
 --- !u!1 &2302763410734658172
 GameObject:
@@ -2447,6 +2455,7 @@ MonoBehaviour:
   values: 0000010000
   depObjs:
   - {fileID: 6157224965281936822}
+  IsNewNode: 0
   activeType: 0
 --- !u!1 &2487429229064538610
 GameObject:
@@ -2505,6 +2514,7 @@ MonoBehaviour:
   - UINode
   values: 0000
   depObjs: []
+  IsNewNode: 0
   activeType: 0
 --- !u!1 &2561350525077319079
 GameObject:
@@ -2567,6 +2577,7 @@ MonoBehaviour:
   - UnityEngine.UI.Image
   values: 00000000
   depObjs: []
+  IsNewNode: 0
   activeType: 0
 --- !u!222 &940143751219987203
 CanvasRenderer:
@@ -2739,6 +2750,7 @@ MonoBehaviour:
   - TweenRectTransformPosition
   values: 010000
   depObjs: []
+  IsNewNode: 0
   activeType: 0
 --- !u!114 &5627718769591915253
 MonoBehaviour:
@@ -2888,6 +2900,7 @@ MonoBehaviour:
   - UINode
   values: 00000100
   depObjs: []
+  IsNewNode: 0
   activeType: 0
 --- !u!1 &2868673510988095934
 GameObject:
@@ -3189,6 +3202,7 @@ MonoBehaviour:
   - UINode
   values: 0000000100
   depObjs: []
+  IsNewNode: 0
   activeType: 0
 --- !u!1 &3016158187586197544
 GameObject:
@@ -3310,6 +3324,7 @@ MonoBehaviour:
   - TweenRectTransformPosition
   values: 010000
   depObjs: []
+  IsNewNode: 0
   activeType: 0
 --- !u!114 &238146951547425137
 MonoBehaviour:
@@ -3415,6 +3430,7 @@ MonoBehaviour:
   - TweenRectTransformPosition
   values: 010000
   depObjs: []
+  IsNewNode: 0
   activeType: 0
 --- !u!114 &205995124678375789
 MonoBehaviour:
@@ -4200,6 +4216,7 @@ MonoBehaviour:
   - UINode
   values: 0000
   depObjs: []
+  IsNewNode: 0
   activeType: 0
 --- !u!1 &4137952953930526503
 GameObject:
@@ -4571,6 +4588,7 @@ MonoBehaviour:
   - UnityEngine.UI.Outline
   values: 0000010000
   depObjs: []
+  IsNewNode: 0
   activeType: 0
 --- !u!114 &8014679086011576753
 MonoBehaviour:
@@ -4659,9 +4677,9 @@ MonoBehaviour:
     m_Font: {fileID: 12800000, guid: 90ed5292e87d8a64aac7038df97ece85, type: 3}
     m_FontSize: 28
     m_FontStyle: 0
-    m_BestFit: 0
+    m_BestFit: 1
     m_MinSize: 2
-    m_MaxSize: 40
+    m_MaxSize: 28
     m_Alignment: 5
     m_AlignByGeometry: 0
     m_RichText: 1
@@ -4690,6 +4708,7 @@ MonoBehaviour:
   - UnityEngine.UI.Outline
   values: 0000010000
   depObjs: []
+  IsNewNode: 0
   activeType: 0
 --- !u!114 &2764409672988232065
 MonoBehaviour:
@@ -4913,6 +4932,7 @@ MonoBehaviour:
   - UINode
   values: 0000
   depObjs: []
+  IsNewNode: 0
   activeType: 0
 --- !u!1 &5253422929849686685
 GameObject:
@@ -5092,6 +5112,7 @@ MonoBehaviour:
   - UINode
   values: 00000100
   depObjs: []
+  IsNewNode: 0
   activeType: 0
 --- !u!1 &5322288593765421808
 GameObject:
@@ -5646,6 +5667,7 @@ MonoBehaviour:
   - UnityEngine.UI.LayoutElement
   values: 000000010000
   depObjs: []
+  IsNewNode: 0
   activeType: 0
 --- !u!114 &5983228406791729870
 MonoBehaviour:
@@ -5818,6 +5840,7 @@ MonoBehaviour:
   - TweenRectTransformPosition
   values: 010000
   depObjs: []
+  IsNewNode: 0
   activeType: 0
 --- !u!114 &5072936789163478922
 MonoBehaviour:
@@ -6009,6 +6032,7 @@ MonoBehaviour:
   - TMPro.TextMeshProUGUI
   values: 00000001
   depObjs: []
+  IsNewNode: 0
   activeType: 0
 --- !u!114 &2280588855425293236
 MonoBehaviour:
@@ -6157,6 +6181,7 @@ MonoBehaviour:
   - TweenRectTransformPosition
   values: 010000
   depObjs: []
+  IsNewNode: 0
   activeType: 0
 --- !u!114 &2226444021161667006
 MonoBehaviour:
@@ -6674,6 +6699,7 @@ MonoBehaviour:
   - UINode
   values: 00000100
   depObjs: []
+  IsNewNode: 0
   activeType: 0
 --- !u!1 &6914965266696582040
 GameObject:
@@ -6776,6 +6802,7 @@ MonoBehaviour:
   - UINode
   values: 00000100
   depObjs: []
+  IsNewNode: 0
   activeType: 0
 --- !u!1 &7111320037440594090
 GameObject:
@@ -7236,6 +7263,7 @@ MonoBehaviour:
   - UINode
   values: 0000000100
   depObjs: []
+  IsNewNode: 0
   activeType: 0
 --- !u!1 &7469123717332189553
 GameObject:
@@ -7400,6 +7428,7 @@ MonoBehaviour:
   - UINode
   values: 00000100
   depObjs: []
+  IsNewNode: 0
   activeType: 0
 --- !u!1 &7710149530829885928
 GameObject:
@@ -7698,6 +7727,7 @@ MonoBehaviour:
   - UINode
   values: 000000010000
   depObjs: []
+  IsNewNode: 0
   activeType: 0
 --- !u!1 &8031236061255127554
 GameObject:
@@ -7900,6 +7930,7 @@ MonoBehaviour:
   - UINode
   values: 00000100
   depObjs: []
+  IsNewNode: 0
   activeType: 0
 --- !u!1 &8471647504145531106
 GameObject:
@@ -8045,6 +8076,7 @@ MonoBehaviour:
   - UINode
   values: 0000000100
   depObjs: []
+  IsNewNode: 0
   activeType: 0
 --- !u!1 &8543127722067204583
 GameObject:
@@ -8309,6 +8341,7 @@ MonoBehaviour:
   - TweenRectTransformPosition
   values: 010000
   depObjs: []
+  IsNewNode: 0
   activeType: 0
 --- !u!114 &731248004923001815
 MonoBehaviour:
@@ -8573,6 +8606,7 @@ MonoBehaviour:
   - UINode
   values: 0000
   depObjs: []
+  IsNewNode: 0
   activeType: 0
 --- !u!1 &9015806885753277548
 GameObject:

Разница между файлами не показана из-за своего большого размера
+ 185 - 17
Assets/Content/Prefabs/UI/UIPet/UIPetLvUp.prefab


Разница между файлами не показана из-за своего большого размера
+ 133 - 100
Assets/Content/Prefabs/UI/UIPet/UIPetStampList.prefab


Разница между файлами не показана из-за своего большого размера
+ 142 - 100
Assets/Content/Prefabs/UI/UIRoleMessage/UICreateName.prefab


+ 41 - 9
Assets/Content/Prefabs/UI/UISkillExpBattle/UIEvil.prefab

@@ -394,6 +394,7 @@ MonoBehaviour:
   - UINode
   values: 00000100
   depObjs: []
+  IsNewNode: 0
   activeType: 0
 --- !u!1 &721534434495511988
 GameObject:
@@ -602,6 +603,7 @@ MonoBehaviour:
   - UnityEngine.Animator
   values: 0000010000
   depObjs: []
+  IsNewNode: 0
   activeType: 0
 --- !u!95 &3653232912932550069
 Animator:
@@ -864,6 +866,7 @@ MonoBehaviour:
   - UINode
   values: 00000100
   depObjs: []
+  IsNewNode: 0
   activeType: 0
 --- !u!1 &1447797341346704186
 GameObject:
@@ -1091,6 +1094,7 @@ MonoBehaviour:
   - UINode
   values: 00000100
   depObjs: []
+  IsNewNode: 0
   activeType: 0
 --- !u!1 &2734382023651719711
 GameObject:
@@ -1205,7 +1209,7 @@ RectTransform:
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
   m_AnchorMin: {x: 0, y: 1}
   m_AnchorMax: {x: 0, y: 1}
-  m_AnchoredPosition: {x: 162.11, y: -59}
+  m_AnchoredPosition: {x: 162.11, y: -56.5}
   m_SizeDelta: {x: 284.22, y: 0}
   m_Pivot: {x: 0.5, y: 0.5}
 --- !u!222 &8819853729672122193
@@ -1286,6 +1290,7 @@ MonoBehaviour:
   values: 0000010000
   depObjs:
   - {fileID: 1989106635}
+  IsNewNode: 0
   activeType: 0
 --- !u!1 &2884423999348599702
 GameObject:
@@ -1835,6 +1840,7 @@ MonoBehaviour:
   - UnityEngine.UI.LayoutElement
   values: 000000000100
   depObjs: []
+  IsNewNode: 0
   activeType: 0
 --- !u!114 &7795869257164249280
 MonoBehaviour:
@@ -2086,10 +2092,10 @@ RectTransform:
   m_Father: {fileID: 2558568583545577340}
   m_RootOrder: 4
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
-  m_AnchorMin: {x: 0.5, y: 0.5}
-  m_AnchorMax: {x: 0.5, y: 0.5}
-  m_AnchoredPosition: {x: 27.72, y: 34.15}
-  m_SizeDelta: {x: 162.56, y: 47.69}
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: 1, y: 1}
+  m_AnchoredPosition: {x: 27.720001, y: 36}
+  m_SizeDelta: {x: -125.44, y: -80.31}
   m_Pivot: {x: 0.5, y: 0.5}
 --- !u!222 &2707963559071329782
 CanvasRenderer:
@@ -2160,7 +2166,7 @@ MonoBehaviour:
   m_faceColor:
     serializedVersion: 2
     rgba: 4294967295
-  m_fontSize: 39.25
+  m_fontSize: 40
   m_fontSizeBase: 36
   m_fontWeight: 400
   m_enableAutoSizing: 1
@@ -2736,6 +2742,7 @@ MonoBehaviour:
   - UINode
   values: 000000000000
   depObjs: []
+  IsNewNode: 0
   activeType: 0
 --- !u!1 &4856470178805628203
 GameObject:
@@ -2819,6 +2826,7 @@ MonoBehaviour:
   - UIAnimationEvent
   values: 00010000
   depObjs: []
+  IsNewNode: 0
   activeType: 0
 --- !u!114 &1662131228252721026
 MonoBehaviour:
@@ -3345,6 +3353,7 @@ MonoBehaviour:
   - UINode
   values: 0000
   depObjs: []
+  IsNewNode: 0
   activeType: 0
 --- !u!1 &5772951887155689486
 GameObject:
@@ -3785,6 +3794,7 @@ MonoBehaviour:
   - UnityEngine.UI.Text
   values: 00000001
   depObjs: []
+  IsNewNode: 0
   activeType: 0
 --- !u!114 &4091435896685575870
 MonoBehaviour:
@@ -3810,9 +3820,9 @@ MonoBehaviour:
     m_Font: {fileID: 12800000, guid: 90ed5292e87d8a64aac7038df97ece85, type: 3}
     m_FontSize: 36
     m_FontStyle: 0
-    m_BestFit: 0
+    m_BestFit: 1
     m_MinSize: 3
-    m_MaxSize: 40
+    m_MaxSize: 36
     m_Alignment: 4
     m_AlignByGeometry: 0
     m_RichText: 1
@@ -3965,6 +3975,7 @@ MonoBehaviour:
   - UILocalizeScript
   values: 0000000100
   depObjs: []
+  IsNewNode: 0
   activeType: 0
 --- !u!114 &931628909483907776
 MonoBehaviour:
@@ -4014,7 +4025,7 @@ MonoBehaviour:
   m_faceColor:
     serializedVersion: 2
     rgba: 4294967295
-  m_fontSize: 46.9
+  m_fontSize: 48
   m_fontSizeBase: 48
   m_fontWeight: 400
   m_enableAutoSizing: 1
@@ -4301,6 +4312,7 @@ MonoBehaviour:
   - UINode
   values: 000000
   depObjs: []
+  IsNewNode: 0
   activeType: 0
 --- !u!1 &7869382053976323467
 GameObject:
@@ -4468,6 +4480,7 @@ MonoBehaviour:
   - UINode
   values: 000000010000
   depObjs: []
+  IsNewNode: 0
   activeType: 0
 --- !u!1 &8082626594947481998
 GameObject:
@@ -4863,6 +4876,7 @@ MonoBehaviour:
   - UINode
   values: 000000010000
   depObjs: []
+  IsNewNode: 0
   activeType: 0
 --- !u!1 &8981928961999393681
 GameObject:
@@ -5002,6 +5016,7 @@ MonoBehaviour:
   - UnityEngine.UI.VerticalLayoutGroup
   values: 000000
   depObjs: []
+  IsNewNode: 0
   activeType: 0
 --- !u!114 &9098797426156415267
 MonoBehaviour:
@@ -5287,6 +5302,11 @@ PrefabInstance:
       propertyPath: m_AnchoredPosition.y
       value: -24.599998
       objectReference: {fileID: 0}
+    - target: {fileID: 3783439950371940756, guid: 4ced2851b471eee42a74c1e35f40d8cf,
+        type: 3}
+      propertyPath: m_fontSize
+      value: 72
+      objectReference: {fileID: 0}
     - target: {fileID: 3783439950371940756, guid: 4ced2851b471eee42a74c1e35f40d8cf,
         type: 3}
       propertyPath: m_textAlignment
@@ -5709,6 +5729,7 @@ MonoBehaviour:
   values: 00000000
   depObjs:
   - {fileID: 2922036580210614482}
+  IsNewNode: 0
   activeType: 0
 --- !u!224 &8458424247601256065 stripped
 RectTransform:
@@ -5876,6 +5897,7 @@ MonoBehaviour:
   - UINode
   values: 00000100
   depObjs: []
+  IsNewNode: 0
   activeType: 0
 --- !u!224 &3797534686012227826 stripped
 RectTransform:
@@ -5940,6 +5962,11 @@ PrefabInstance:
       propertyPath: m_AnchoredPosition.y
       value: -24.599998
       objectReference: {fileID: 0}
+    - target: {fileID: 3783439950371940756, guid: 4ced2851b471eee42a74c1e35f40d8cf,
+        type: 3}
+      propertyPath: m_fontSize
+      value: 72
+      objectReference: {fileID: 0}
     - target: {fileID: 3783439950371940756, guid: 4ced2851b471eee42a74c1e35f40d8cf,
         type: 3}
       propertyPath: m_textAlignment
@@ -6555,6 +6582,11 @@ PrefabInstance:
       propertyPath: m_AnchoredPosition.y
       value: -24.599998
       objectReference: {fileID: 0}
+    - target: {fileID: 3783439950371940756, guid: 4ced2851b471eee42a74c1e35f40d8cf,
+        type: 3}
+      propertyPath: m_fontSize
+      value: 72
+      objectReference: {fileID: 0}
     - target: {fileID: 3783439950371940756, guid: 4ced2851b471eee42a74c1e35f40d8cf,
         type: 3}
       propertyPath: m_textAlignment

+ 78 - 9
Assets/Content/Prefabs/UI/UITips/UITips.prefab

@@ -119,6 +119,7 @@ MonoBehaviour:
   - UnityEngine.UI.ContentSizeFitter
   values: 0000000000
   depObjs: []
+  IsNewNode: 0
   activeType: 0
 --- !u!114 &1173114820442619323
 MonoBehaviour:
@@ -611,6 +612,7 @@ MonoBehaviour:
   values: 00000100
   depObjs:
   - {fileID: 8496751995553779941}
+  IsNewNode: 0
   activeType: 0
 --- !u!1 &638089119063365731
 GameObject:
@@ -827,6 +829,7 @@ MonoBehaviour:
   values: 000001000000
   depObjs:
   - {fileID: 7043320812614819791}
+  IsNewNode: 0
   activeType: 0
 --- !u!1 &668030599648716055
 GameObject:
@@ -948,6 +951,7 @@ MonoBehaviour:
   values: 0000010000
   depObjs:
   - {fileID: 1864908260596172886}
+  IsNewNode: 0
   activeType: 0
 --- !u!1 &712597008379751745
 GameObject:
@@ -1008,6 +1012,7 @@ MonoBehaviour:
   - UnityEngine.UI.LayoutElement
   values: 000000
   depObjs: []
+  IsNewNode: 0
   activeType: 0
 --- !u!114 &5749634126315494298
 MonoBehaviour:
@@ -1245,6 +1250,7 @@ MonoBehaviour:
   values: 000000010000
   depObjs:
   - {fileID: 7170257878926731557}
+  IsNewNode: 0
   activeType: 0
 --- !u!114 &1738490651784211186
 MonoBehaviour:
@@ -1361,6 +1367,7 @@ MonoBehaviour:
   - UINode
   values: 00000000
   depObjs: []
+  IsNewNode: 0
   activeType: 0
 --- !u!1 &908800171072668869
 GameObject:
@@ -1523,6 +1530,7 @@ MonoBehaviour:
   values: 000001000000
   depObjs:
   - {fileID: 8727562782146022982}
+  IsNewNode: 0
   activeType: 0
 --- !u!1 &929739830813479278
 GameObject:
@@ -1629,6 +1637,7 @@ MonoBehaviour:
   - UINode
   values: 00000000
   depObjs: []
+  IsNewNode: 0
   activeType: 0
 --- !u!1 &934839221919810030
 GameObject:
@@ -1775,6 +1784,7 @@ MonoBehaviour:
   - UnityEngine.Animator
   values: 000000010000
   depObjs: []
+  IsNewNode: 0
   activeType: 0
 --- !u!95 &2301405803629429423
 Animator:
@@ -2007,6 +2017,7 @@ MonoBehaviour:
   - UINode
   values: 0000
   depObjs: []
+  IsNewNode: 0
   activeType: 0
 --- !u!1 &1125146633284989855
 GameObject:
@@ -2127,6 +2138,7 @@ MonoBehaviour:
   - UnityEngine.UI.LayoutElement
   values: 000001000000
   depObjs: []
+  IsNewNode: 0
   activeType: 0
 --- !u!95 &4861522012528023281
 Animator:
@@ -2857,6 +2869,7 @@ MonoBehaviour:
   values: 0000000000
   depObjs:
   - {fileID: 7832733812411471615}
+  IsNewNode: 0
   activeType: 0
 --- !u!114 &6885819584552888626
 MonoBehaviour:
@@ -3107,6 +3120,7 @@ MonoBehaviour:
   - UINode
   values: 000001000000
   depObjs: []
+  IsNewNode: 0
   activeType: 0
 --- !u!1 &1644197921454271421
 GameObject:
@@ -3164,6 +3178,7 @@ MonoBehaviour:
   - UINode
   values: 0000
   depObjs: []
+  IsNewNode: 0
   activeType: 0
 --- !u!1 &1646728179104572469
 GameObject:
@@ -3371,6 +3386,7 @@ MonoBehaviour:
   values: 0000010000
   depObjs:
   - {fileID: 7170257878926731557}
+  IsNewNode: 0
   activeType: 0
 --- !u!114 &9091791182743235741
 MonoBehaviour:
@@ -4194,6 +4210,7 @@ MonoBehaviour:
   - UnityEngine.UI.GraphicRaycaster
   values: 0000010000
   depObjs: []
+  IsNewNode: 0
   activeType: 0
 --- !u!114 &8855219795525822273
 MonoBehaviour:
@@ -4424,6 +4441,7 @@ MonoBehaviour:
   values: 00000100
   depObjs:
   - {fileID: 2920578063658991211}
+  IsNewNode: 0
   activeType: 0
 --- !u!1 &2170787677632255670
 GameObject:
@@ -4515,6 +4533,7 @@ MonoBehaviour:
   values: 00000000
   depObjs:
   - {fileID: 8727562782146022982}
+  IsNewNode: 0
   activeType: 0
 --- !u!1 &2195384777567565312
 GameObject:
@@ -4773,6 +4792,7 @@ MonoBehaviour:
   - UINode
   values: 000001000000
   depObjs: []
+  IsNewNode: 0
   activeType: 0
 --- !u!1 &2232442887417502038
 GameObject:
@@ -5045,6 +5065,7 @@ MonoBehaviour:
   values: 00000100
   depObjs:
   - {fileID: 2920578063658991211}
+  IsNewNode: 0
   activeType: 0
 --- !u!1 &2424331744736425887
 GameObject:
@@ -5550,6 +5571,7 @@ MonoBehaviour:
   values: 00000100
   depObjs:
   - {fileID: 3618567942269297178}
+  IsNewNode: 0
   activeType: 0
 --- !u!1 &3020877466715515906
 GameObject:
@@ -5779,6 +5801,7 @@ MonoBehaviour:
   - UnityEngine.UI.LayoutElement
   values: 000000
   depObjs: []
+  IsNewNode: 0
   activeType: 0
 --- !u!1 &3161055974902758456
 GameObject:
@@ -6016,6 +6039,7 @@ MonoBehaviour:
   - UINode
   values: 000001000000
   depObjs: []
+  IsNewNode: 0
   activeType: 0
 --- !u!1 &3342753415308758324
 GameObject:
@@ -6239,6 +6263,7 @@ MonoBehaviour:
   - UnityEngine.UI.HorizontalLayoutGroup
   values: 00000000
   depObjs: []
+  IsNewNode: 0
   activeType: 0
 --- !u!114 &3114260140774969071
 MonoBehaviour:
@@ -6818,6 +6843,7 @@ MonoBehaviour:
   - UnityEngine.UI.ContentSizeFitter
   values: 0000000000
   depObjs: []
+  IsNewNode: 0
   activeType: 0
 --- !u!114 &6082332015603555754
 MonoBehaviour:
@@ -7136,6 +7162,7 @@ MonoBehaviour:
   values: 0000010000
   depObjs:
   - {fileID: 255803957712659736}
+  IsNewNode: 0
   activeType: 0
 --- !u!114 &9175570608115571707
 MonoBehaviour:
@@ -7466,6 +7493,7 @@ MonoBehaviour:
   - UnityEngine.Animator
   values: 000000010000
   depObjs: []
+  IsNewNode: 0
   activeType: 0
 --- !u!95 &272313011123037409
 Animator:
@@ -7819,6 +7847,7 @@ MonoBehaviour:
   values: 00000100
   depObjs:
   - {fileID: 2921624887155666246}
+  IsNewNode: 0
   activeType: 0
 --- !u!114 &3118266154222939079
 MonoBehaviour:
@@ -7841,6 +7870,7 @@ MonoBehaviour:
   values: 00000100
   depObjs:
   - {fileID: 2921624887155666246}
+  IsNewNode: 0
   activeType: 0
 --- !u!1 &4229840175644058040
 GameObject:
@@ -7925,6 +7955,7 @@ MonoBehaviour:
   values: 000000
   depObjs:
   - {fileID: 8727562782146022982}
+  IsNewNode: 0
   activeType: 0
 --- !u!1 &4243826666836439936
 GameObject:
@@ -8105,6 +8136,7 @@ MonoBehaviour:
   - UnityEngine.UI.LayoutElement
   values: 0000010000
   depObjs: []
+  IsNewNode: 0
   activeType: 0
 --- !u!114 &7897205702815260459
 MonoBehaviour:
@@ -9218,6 +9250,7 @@ MonoBehaviour:
   - UINode
   values: 000000
   depObjs: []
+  IsNewNode: 0
   activeType: 0
 --- !u!1 &4803846326724600997
 GameObject:
@@ -9584,6 +9617,7 @@ MonoBehaviour:
   values: 000001010000
   depObjs:
   - {fileID: 2921624887155666246}
+  IsNewNode: 0
   activeType: 0
 --- !u!1 &5129834381071682241
 GameObject:
@@ -10008,6 +10042,7 @@ MonoBehaviour:
   - UnityEngine.UI.LayoutElement
   values: 000001000000
   depObjs: []
+  IsNewNode: 0
   activeType: 0
 --- !u!114 &2016819973397186698
 MonoBehaviour:
@@ -10162,6 +10197,7 @@ MonoBehaviour:
   - UnityEngine.UI.LayoutElement
   values: 000001000000
   depObjs: []
+  IsNewNode: 0
   activeType: 0
 --- !u!95 &7331738956136937374
 Animator:
@@ -10472,6 +10508,7 @@ MonoBehaviour:
   - UINode
   values: 0000000000
   depObjs: []
+  IsNewNode: 0
   activeType: 0
 --- !u!1 &5514916323396668851
 GameObject:
@@ -10766,6 +10803,7 @@ MonoBehaviour:
   values: 00000100
   depObjs:
   - {fileID: 8990677121984430512}
+  IsNewNode: 0
   activeType: 0
 --- !u!1 &5584509154880937814
 GameObject:
@@ -10945,6 +10983,7 @@ MonoBehaviour:
   - UINode
   values: 00000000
   depObjs: []
+  IsNewNode: 0
   activeType: 0
 --- !u!1 &5615479453181800055
 GameObject:
@@ -11044,6 +11083,7 @@ MonoBehaviour:
   values: 00000100
   depObjs:
   - {fileID: 8990677121984430512}
+  IsNewNode: 0
   activeType: 0
 --- !u!1 &5717492143469210848
 GameObject:
@@ -11232,6 +11272,7 @@ MonoBehaviour:
   - UINode
   values: 000100
   depObjs: []
+  IsNewNode: 0
   activeType: 0
 --- !u!1 &5833476054543972460
 GameObject:
@@ -11623,6 +11664,7 @@ MonoBehaviour:
   - UINode
   values: 000001000000
   depObjs: []
+  IsNewNode: 0
   activeType: 0
 --- !u!1 &5949519662602165657
 GameObject:
@@ -12283,6 +12325,7 @@ MonoBehaviour:
   values: 00000000
   depObjs:
   - {fileID: 8727562782146022982}
+  IsNewNode: 0
   activeType: 0
 --- !u!1 &6377340111750078854
 GameObject:
@@ -12714,6 +12757,7 @@ MonoBehaviour:
   values: 000001000000
   depObjs:
   - {fileID: 1864908260596172886}
+  IsNewNode: 0
   activeType: 0
 --- !u!114 &6942645984975007209
 MonoBehaviour:
@@ -13184,6 +13228,7 @@ MonoBehaviour:
   - UnityEngine.UI.LayoutElement
   values: 000001000000
   depObjs: []
+  IsNewNode: 0
   activeType: 0
 --- !u!95 &6693582152287258892
 Animator:
@@ -13480,6 +13525,7 @@ MonoBehaviour:
   - UINode
   values: 00000000
   depObjs: []
+  IsNewNode: 0
   activeType: 0
 --- !u!1 &7027933092237548804
 GameObject:
@@ -13642,6 +13688,7 @@ MonoBehaviour:
   values: 000001000000
   depObjs:
   - {fileID: 8727562782146022982}
+  IsNewNode: 0
   activeType: 2
 --- !u!1 &7080608366922659695
 GameObject:
@@ -13882,6 +13929,7 @@ MonoBehaviour:
   - UnityEngine.UI.ContentSizeFitter
   values: 0000000000
   depObjs: []
+  IsNewNode: 0
   activeType: 0
 --- !u!114 &8929698541989986734
 MonoBehaviour:
@@ -14110,6 +14158,7 @@ MonoBehaviour:
   values: 00000000
   depObjs:
   - {fileID: 7043320812614819791}
+  IsNewNode: 0
   activeType: 0
 --- !u!114 &2360412626117868229
 MonoBehaviour:
@@ -14223,6 +14272,7 @@ MonoBehaviour:
   - UnityEngine.UI.ContentSizeFitter
   values: 0000000000
   depObjs: []
+  IsNewNode: 0
   activeType: 0
 --- !u!114 &3448266790084353333
 MonoBehaviour:
@@ -14368,6 +14418,7 @@ MonoBehaviour:
   values: 0000010000
   depObjs:
   - {fileID: 8311691977094672394}
+  IsNewNode: 0
   activeType: 0
 --- !u!114 &7869516069850480413
 MonoBehaviour:
@@ -14527,8 +14578,8 @@ RectTransform:
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
   m_AnchorMin: {x: 0, y: 1}
   m_AnchorMax: {x: 0, y: 1}
-  m_AnchoredPosition: {x: 200, y: -70}
-  m_SizeDelta: {x: 400, y: 0}
+  m_AnchoredPosition: {x: 350, y: -70}
+  m_SizeDelta: {x: 700, y: 0}
   m_Pivot: {x: 0.5, y: 0.5}
 --- !u!114 &9070722995359258316
 MonoBehaviour:
@@ -14550,7 +14601,7 @@ MonoBehaviour:
   m_ChildAlignment: 0
   m_StartCorner: 0
   m_StartAxis: 0
-  m_CellSize: {x: 400, y: 50}
+  m_CellSize: {x: 700, y: 50}
   m_Spacing: {x: 0, y: 0}
   m_Constraint: 1
   m_ConstraintCount: 1
@@ -14589,6 +14640,7 @@ MonoBehaviour:
   values: 00000000
   depObjs:
   - {fileID: 6209523073373075511}
+  IsNewNode: 0
   activeType: 0
 --- !u!1 &7731012351666373171
 GameObject:
@@ -14672,6 +14724,7 @@ MonoBehaviour:
   - UIAnimationEvent
   values: 00010000
   depObjs: []
+  IsNewNode: 0
   activeType: 0
 --- !u!114 &5820483564690773116
 MonoBehaviour:
@@ -14940,6 +14993,7 @@ MonoBehaviour:
   - UnityEngine.UI.ContentSizeFitter
   values: 0000000000
   depObjs: []
+  IsNewNode: 0
   activeType: 0
 --- !u!114 &849503188758994638
 MonoBehaviour:
@@ -15273,6 +15327,7 @@ MonoBehaviour:
   - UnityEngine.UI.LayoutElement
   values: 000001000000
   depObjs: []
+  IsNewNode: 0
   activeType: 0
 --- !u!95 &961011159347294285
 Animator:
@@ -15489,6 +15544,7 @@ MonoBehaviour:
   values: 0000000100
   depObjs:
   - {fileID: 8990677121984430512}
+  IsNewNode: 0
   activeType: 0
 --- !u!114 &8687699845321813827
 MonoBehaviour:
@@ -15642,6 +15698,7 @@ MonoBehaviour:
   values: 000001010000
   depObjs:
   - {fileID: 8555734468395854631}
+  IsNewNode: 0
   activeType: 0
 --- !u!1 &8498622465860936523
 GameObject:
@@ -15715,6 +15772,7 @@ MonoBehaviour:
   - UnityEngine.UI.ContentSizeFitter
   values: 0000000000
   depObjs: []
+  IsNewNode: 0
   activeType: 0
 --- !u!114 &7032218135344405776
 MonoBehaviour:
@@ -15854,6 +15912,7 @@ MonoBehaviour:
   values: 00000000
   depObjs:
   - {fileID: 1340728856}
+  IsNewNode: 0
   activeType: 0
 --- !u!1 &8608311580164541679
 GameObject:
@@ -16051,6 +16110,7 @@ MonoBehaviour:
   values: 000001000000
   depObjs:
   - {fileID: 8727562782146022982}
+  IsNewNode: 0
   activeType: 0
 --- !u!95 &8494067324426506421
 Animator:
@@ -16444,6 +16504,7 @@ MonoBehaviour:
   values: 0000000000
   depObjs:
   - {fileID: 8151894651014578497}
+  IsNewNode: 0
   activeType: 0
 --- !u!114 &296847639519268256
 MonoBehaviour:
@@ -16597,6 +16658,7 @@ MonoBehaviour:
   values: 000000010000
   depObjs:
   - {fileID: 255803957712659736}
+  IsNewNode: 0
   activeType: 0
 --- !u!1 &8991793049746619159
 GameObject:
@@ -16717,6 +16779,7 @@ MonoBehaviour:
   - UnityEngine.UI.LayoutElement
   values: 000001000000
   depObjs: []
+  IsNewNode: 0
   activeType: 0
 --- !u!95 &5827057107903168254
 Animator:
@@ -16939,6 +17002,7 @@ MonoBehaviour:
   values: 0000010000
   depObjs:
   - {fileID: 8555734468395854631}
+  IsNewNode: 0
   activeType: 0
 --- !u!114 &6251296186236201236
 MonoBehaviour:
@@ -17040,7 +17104,12 @@ PrefabInstance:
     - target: {fileID: 14532477887240790, guid: b36ea122c84dd3f479ae9c35fd3c051d,
         type: 3}
       propertyPath: m_SizeDelta.x
-      value: 0
+      value: 100
+      objectReference: {fileID: 0}
+    - target: {fileID: 69131081454360664, guid: b36ea122c84dd3f479ae9c35fd3c051d,
+        type: 3}
+      propertyPath: m_SizeDelta.x
+      value: 112
       objectReference: {fileID: 0}
     - target: {fileID: 6765649501214168865, guid: b36ea122c84dd3f479ae9c35fd3c051d,
         type: 3}
@@ -17075,7 +17144,7 @@ PrefabInstance:
     - target: {fileID: 7625732548870835287, guid: b36ea122c84dd3f479ae9c35fd3c051d,
         type: 3}
       propertyPath: m_AnchorMax.y
-      value: 0
+      value: 1
       objectReference: {fileID: 0}
     - target: {fileID: 7625732548870835287, guid: b36ea122c84dd3f479ae9c35fd3c051d,
         type: 3}
@@ -17085,7 +17154,7 @@ PrefabInstance:
     - target: {fileID: 7625732548870835287, guid: b36ea122c84dd3f479ae9c35fd3c051d,
         type: 3}
       propertyPath: m_AnchorMin.y
-      value: 0
+      value: 1
       objectReference: {fileID: 0}
     - target: {fileID: 7625732548870835287, guid: b36ea122c84dd3f479ae9c35fd3c051d,
         type: 3}
@@ -17095,7 +17164,7 @@ PrefabInstance:
     - target: {fileID: 7625732548870835287, guid: b36ea122c84dd3f479ae9c35fd3c051d,
         type: 3}
       propertyPath: m_SizeDelta.y
-      value: 0
+      value: 50
       objectReference: {fileID: 0}
     - target: {fileID: 7625732548870835287, guid: b36ea122c84dd3f479ae9c35fd3c051d,
         type: 3}
@@ -17135,12 +17204,12 @@ PrefabInstance:
     - target: {fileID: 7625732548870835287, guid: b36ea122c84dd3f479ae9c35fd3c051d,
         type: 3}
       propertyPath: m_AnchoredPosition.x
-      value: 0
+      value: 370
       objectReference: {fileID: 0}
     - target: {fileID: 7625732548870835287, guid: b36ea122c84dd3f479ae9c35fd3c051d,
         type: 3}
       propertyPath: m_AnchoredPosition.y
-      value: 0
+      value: -535
       objectReference: {fileID: 0}
     - target: {fileID: 7625732548870835287, guid: b36ea122c84dd3f479ae9c35fd3c051d,
         type: 3}

Разница между файлами не показана из-за своего большого размера
+ 282 - 134
Assets/Content/Prefabs/UI/UITitle/TitleListItem.prefab


Разница между файлами не показана из-за своего большого размера
+ 223 - 166
Assets/Content/Prefabs/UI/UITitle/UITitleList.prefab


BIN
Assets/Content/Raw_Art/UI/UILanuch/img_logo_01.png


+ 4 - 3
Assets/Editor/AssetBundle/CheckHotUpdateRes.cs

@@ -57,6 +57,7 @@ public class CheckHotUpdateRes : EditorWindow
         string path = "Assets/Editor/AssetBundle/CheckHotResWindownInfo.asset";
         //Debug.Log();
         info = AssetDatabase.LoadAssetAtPath<CheckResWindowInfo>(path);
+        info.InitTags();
         curResInfo = info.GetResInfo();
         if (curResInfo == null)
         {
@@ -117,10 +118,10 @@ public class CheckHotUpdateRes : EditorWindow
         GUILayout.Box("", GUILayout.Width(790));
         GUILayout.BeginHorizontal();
         GUILayout.Label("平台", GUILayout.Width(65));
-        BuildTag tag = (BuildTag)EditorGUILayout.EnumPopup(info.buildTag, GUILayout.Width(100));
-        if (tag != info.buildTag)
+        int TagIndex = EditorGUILayout.Popup(info.buildTag, info.Tags, GUILayout.Width(100));
+        if (TagIndex != info.buildTag)
         {
-            info.buildTag = tag;
+            info.buildTag = TagIndex;
             ResInfo ri = info.GetResInfo();
             if (ri != null)
             {

+ 16 - 2
Assets/Editor/AssetBundle/CheckResWindowInfo.cs

@@ -53,15 +53,16 @@ public class CheckResWindowInfo : ScriptableObject
     public BuildLanguage Language = BuildLanguage.cn;
 
 
-    public BuildTag buildTag = BuildTag.Hy_Test;
+    public int buildTag = 0;
 
     public List<ResInfo> ResInfos;
+    public string[] Tags = null; 
 
     private ResInfo curResInfo;
     public ResInfo GetResInfo()
     {
         ResInfo resInfo = null;
-        string curName = buildTag.ToString();
+        string curName = Tags[buildTag];
         if (curResInfo != null && curResInfo.Name == curName)
         {
             resInfo = curResInfo;
@@ -84,5 +85,18 @@ public class CheckResWindowInfo : ScriptableObject
 
         return resInfo;
     }
+
+    public void InitTags()
+    {
+        if (ResInfos != null && ResInfos.Count > 0)
+        {
+            List<string> tags = new List<string>();
+            foreach (var item in ResInfos)
+            {
+                tags.Add(item.Name);
+            }
+            Tags = tags.ToArray();
+        }
+    }
 }
 

+ 7 - 2
Assets/Editor/AssetBundle/Hy_Android_ru.asset

@@ -19,8 +19,13 @@ MonoBehaviour:
   OutputPath: "D:\\\u9879\u76EE\\\u70ED\u66F4\u8D44\u6E90/3_ru"
   VersionFileName: Version
   mainfestFileName: mainfest
-  ResVersion: 0.1.0.0
-  IgnoreFiles: []
+  ResVersion: 0.1.0.12
+  IgnoreFiles:
+  - effect.unity3d
+  - fashion_cloth_model.unity3d
+  - fashion_headtop_model.unity3d
+  - hero_hair_model.unity3d
+  - mat.unity3d
   ChangeNum: 0
   IsIgnore: 1
   Language: 1

+ 16 - 1
Assets/Editor/CsvToLua/CsvToLua.cs

@@ -165,7 +165,12 @@ return aaa";
         if (GUILayout.Button("合并Language"))
         {
             //MergeLanauage("Assets/Content/Config/LanguagePackage_cn.csv", "Build/NewCfg/ROLanguagePackage_cn.csv", "Build/NewCfg/Language_merge.csv");
-            MergeLanauage("Build/NewCfg/Language.csv", "Assets/Content/Config/LanguagePackage_cn.csv", "Build/NewCfg/Language_merge_cn.csv");
+            MergeLanauage("Assets/Content/Config/LanguagePackage_cn.csv", "D:/项目/其他/RO11.csv", "Build/NewCfg/Language_merge.csv");
+            ///MergeLanauage("Build/NewCfg/Language.csv", "Assets/Content/Config/LanguagePackage_cn.csv", "Build/NewCfg/Language_merge_cn.csv");
+        }
+        if (GUILayout.Button("二进制转换"))
+        {
+            B2T("D:/项目/其他/Language15000-19000.csv", "D:/项目/其他/111.csv",Encoding.UTF8);
         }
     }
 
@@ -795,4 +800,14 @@ return aaa";
         Debug.Log("合并完成");
     }
 
+
+    private void B2T(string bPath,string outPath, Encoding read)
+    {
+        using (FileStream binaryFileStream = new FileStream(bPath, FileMode.Open, FileAccess.Read))
+        using (StreamReader reader = new StreamReader(binaryFileStream, read)) // 使用ASCII编码读取
+        using (StreamWriter writer = new StreamWriter(outPath))
+        {
+            writer.Write(reader.ReadToEnd()); // 读取并写入文本文件
+        }
+    }
 }

+ 4 - 4
Assets/Lua/Config/ActivitiesCfg.lua

@@ -1917,8 +1917,8 @@ local ActivitiesCfg = {
 ['Type']=12,
 ['Name']='ActCfg_Name134',
 ['Order']=1,
-['BG']='ActivityImg/shuang11charge1_cn',
-['ActivityBG']='ActivityImg/shuang11charge1_cn',
+['BG']='ActivityImgNew1/shuang11charge1_cn',
+['ActivityBG']='ActivityImgNew1/shuang11charge1_cn',
 ['PageId']=335,
 ['Entrance']={159},
 ['NeedShow']=true,
@@ -1959,8 +1959,8 @@ local ActivitiesCfg = {
 ['Type']=4,
 ['Name']='ActCfg_Name137',
 ['Order']=2,
-['BG']='ActivityImg/shuang11Signin_cn',
-['ActivityBG']='ActivityImg/img_shuang11Signin_cn',
+['BG']='ActivityImgNew1/img_shuang11Signin_cn',
+['ActivityBG']='ActivityImgNew1/img_shuang11Signin_cn',
 ['PageId']=304,
 ['Entrance']={159},
 ['NeedShow']=true,

+ 1 - 1
Assets/Lua/Config/ActivitiesFortnightOnlineCfg.lua

@@ -777,7 +777,7 @@ local ActivitiesFortnightOnlineCfg = {
 },
 [84]={
 ['Id']=84,
-['Rewards']={{12338,1}},
+['Rewards']={{13190,1}},
 ['RewardBg']='ContinuousLogin/img_activity_login_bg4',
 ['TextColour']='#ff9600',
 ['ActivitiesId']=137,

+ 1 - 1
Assets/Lua/Config/ActivitiesTaskCfg.lua

@@ -6998,7 +6998,7 @@ local ActivitiesTaskCfg = {
     [636]={
     ['TaskId']=636,
     ['TaskCondition']={{60,20000}},
-    ['Reward']={{12187,1},{12186,1},{15046,2},{268,15}},
+    ['Reward']={{15111,1},{12186,1},{15046,2},{268,15}},
     ['Title']='ATCfg_Title_690',
     ['Desc']='',
     ['GoPageId']=117,

+ 0 - 1
Assets/Lua/Core/PlatformPack.lua

@@ -4,7 +4,6 @@ local PlatformPack = {
 	NOTIFY_URL = 'http://165.154.215.99:88/res/NoticeNew/',
 	SPECIAL_INFO_URL = 'http://165.154.215.99:81//channel',
 	CUSTOMER_SERVICE_INFO_URL = 'http://165.154.215.99:81//vipService',
-	SpecialFuncShield = true,
 }
 
 return PlatformPack

+ 1 - 0
Assets/Lua/Logic/LuckyEggDataMgr.lua

@@ -13,6 +13,7 @@ function LuckyEggDataMgr:ctor()
     self.luckyMsgList = nil
     --- 红点等本地缓存的数据
     self.cacheLuckyEggData = nil
+    self.curActID = nil
 end
 
 function LuckyEggDataMgr:Clear()

+ 10 - 1
Assets/Lua/Managers/CfgMgr.lua

@@ -1606,7 +1606,16 @@ function CfgMgr:GetLuckyEggCfgByType(type)
         end
     end
 end
-
+function CfgMgr:GetLuckyEggCfgByTypeAndActid(type,actID)
+    if self.LuckyEggCfg == nil then
+        return
+    end
+    for k,v in pairs(self.LuckyEggCfg) do
+        if v.Type == type and v.ActivitiesId == actID then
+            return v
+        end
+    end
+end
 
 function CfgMgr:GetAllVipCfg()
     if Constant.OpenPay then

+ 14 - 7
Assets/Lua/UI/UIActivity/UIActivityFortnightLoginView.lua

@@ -21,6 +21,8 @@ function UIActivityFortnightLoginView:FillContent(data, uiBase)
 	end
 	self:InitGenerate(self.transform, data)
 	self.curRewardName.text.text =""
+	self.curRewardTxt =""
+	self.curDayStr = ""
 	self:Init()
 end
 
@@ -70,7 +72,8 @@ end
 function UIActivityFortnightLoginView:RefreshActData()
 	local activityItem = self.controller:GetActivityData()
 	if activityItem ~= nil then
-		self.curDayTxt.text.text = activityItem.curDay .." ".. I18N.T("Day")
+		--self.curDayTxt.text.text = activityItem.curDay .." ".. I18N.T("Day")
+		self.curDayStr = tostring(activityItem.curDay)
 		local data = activityItem:GetActivityData()
 		local maxDayData = 0
 		
@@ -87,10 +90,12 @@ function UIActivityFortnightLoginView:RefreshActData()
 		end
 
 		if activityItem.curDay > maxDayData  and maxItemCfg then
-			self.curRewardName.text.text = I18N.T(maxItemCfg.Name)
-			self.curDayTxt.text.text = maxDayData .. I18N.T("Day")
+			--self.curRewardName.text.text = I18N.T(maxItemCfg.Name)
+			--self.curDayTxt.text.text = maxDayData .. I18N.T("Day")
+			self.curRewardTxt =I18N.T(maxItemCfg.Name)
+			self.curDayStr = tostring(maxDayData)
 		end 
-
+		self.curLoginTxt.text.text = I18N.SetLanguageValue("signinTxt",self.curDayStr,self.curRewardTxt)
 	end
 end
 
@@ -126,7 +131,8 @@ function UIActivityFortnightLoginView:RefreshItemData(rewardItemLua,itemData,cur
 		rewardItemLua.iconItem.bg.button.interactable = false
 		itemCfg = IconItemCtr:SetData(self, rewardItemLua.iconItem, rewardData)
 		if itemData.day == curDay then
-			self.curRewardName.text.text = I18N.T(itemCfg.Name)
+			--self.curRewardName.text.text = I18N.T(itemCfg.Name)
+			self.curRewardTxt =I18N.T(itemCfg.Name)
 		end
 	elseif itemData.isOutdate then
 		rewardItemLua.gotRewardNode:SetActive(false)
@@ -143,14 +149,15 @@ function UIActivityFortnightLoginView:RefreshItemData(rewardItemLua,itemData,cur
 			rewardItemLua.shad:SetActive(false)
 			itemCfg = IconItemCtr:SetData(self, rewardItemLua.iconItem, rewardData, nil, self, self.OnClickGetReward,itemData.day)
 			if itemData.day == curDay then
-				self.curRewardName.text.text = I18N.T(itemCfg.Name)
+				--self.curRewardName.text.text = I18N.T(itemCfg.Name)
+				self.curRewardTxt =I18N.T(itemCfg.Name)
 			end
 		else
 			IconItemCtr:SetData(self, rewardItemLua.iconItem, rewardData, nil, self, self.OnClickItem)
 			rewardItemLua.shad:SetActive(true)
 		end
 	end
-
+	self.curLoginTxt.text.text = I18N.SetLanguageValue("signinTxt",self.curDayStr,self.curRewardTxt)
 	rewardItemLua.iconItem.redPoint:SetActive(itemData.isFinished and (not itemData.isOutdate) and (not itemData.isGotReward))
 	return itemCfg
 end

+ 30 - 0
Assets/Lua/UI/UIActivity/UIActivityFortnightLoginView_Generate.lua

@@ -2,6 +2,10 @@
 ---@field public gameObject UnityEngine.GameObject
 ---@field public button UnityEngine.UI.Button
 
+---@class UIActivityFortnightLogin__Generate_curLoginTxt
+---@field public gameObject UnityEngine.GameObject
+---@field public text UnityEngine.UI.Text
+
 ---@class UIActivityFortnightLogin__Generate_curRewardName
 ---@field public gameObject UnityEngine.GameObject
 ---@field public text UnityEngine.UI.Text
@@ -32,6 +36,7 @@
 ---@field private image UIActivityFortnightLogin__Generate_image
 ---@field private curDayTxt UIActivityFortnightLogin__Generate_curDayTxt
 ---@field private curRewardName UIActivityFortnightLogin__Generate_curRewardName
+---@field private curLoginTxt UIActivityFortnightLogin__Generate_curLoginTxt
 ---@field private backBtn UIActivityFortnightLogin__Generate_backBtn
 local UIActivityFortnightLoginView = class("UIActivityFortnightLoginView", require("UIViewBase"))
 
@@ -59,6 +64,7 @@ function UIActivityFortnightLoginView:InitGenerate(Root, data)
 	self:InitGenerate__5(Root,data)
 	self:InitGenerate__6(Root,data)
 	self:InitGenerate__7(Root,data)
+	self:InitGenerate__8(Root,data)
 
 
 end
@@ -150,6 +156,26 @@ end
 
 ---@private
 function UIActivityFortnightLoginView:InitGenerate__7(Root, data)
+--[[
+	UIAnimator/Window/Baner/CurLoginTxt
+--]]
+	local tmp = nil
+	local tfm = Root:Find("UIAnimator/Window/Baner/CurLoginTxt")
+	if tfm == nil then
+		return
+	else
+		tmp = tfm.gameObject
+	end
+	if tolua.getpeer(tmp) == nil then
+		tolua.setpeer(tmp, {})
+	end
+	self.curLoginTxt = tmp
+
+	tmp.text = tmp:GetComponent(Enum.TypeInfo.Text)
+end
+
+---@private
+function UIActivityFortnightLoginView:InitGenerate__8(Root, data)
 --[[
 	UIAnimator/Window/BtnBack
 --]]
@@ -191,6 +217,10 @@ function UIActivityFortnightLoginView:GenerateDestroy()
 		tolua.setpeer(self.curRewardName, nil)
 	end
 	self.curRewardName = nil
+	if tolua.getpeer(self.curLoginTxt) ~= nil then
+		tolua.setpeer(self.curLoginTxt, nil)
+	end
+	self.curLoginTxt = nil
 	if tolua.getpeer(self.backBtn) ~= nil then
 		tolua.setpeer(self.backBtn, nil)
 	end

+ 1 - 1
Assets/Lua/UI/UIExpedition/UIExpeditionBattleView.lua

@@ -52,7 +52,7 @@ function UIExpeditionBattleView:Init()
 
 	local mapData = ManagerContainer.DataMgr.ExpeditionDataMgr:CurChallengingMap()
 	if mapData ~= nil then
-		self.mapName.text.text = mapData.name
+		self.mapName.text.text = I18N.T(mapData.name)
 		self.curLevel.text.text = tostring(ManagerContainer.DataMgr.ExpeditionDataMgr:GetCurLevelId()) .. "/" .. mapData.maxLevelNum
 	end
 end

+ 2 - 1
Assets/Lua/UI/UILuckyEgg/UILuckyEggCtr.lua

@@ -41,6 +41,7 @@ end
 function UILuckyEggCtr:InitData()
 	local cfgs = {}
 	local cfgSource = ManagerContainer.CfgMgr:GetLuckyEggCfg()
+	ManagerContainer.DataMgr.LuckyEggDataMgr.curActID = self.data.actId
 	--LogError("--------------------self.data.actId-- "..Inspect(self.data.actId))
 	for id, cfg in pairs(cfgSource) do
 		--LogError("----------------------"..Inspect(cfg))
@@ -156,7 +157,7 @@ end
 function UILuckyEggCtr:HasNeedShowItem()
 	local luckyData = ManagerContainer.DataMgr.LuckyEggDataMgr:GetLuckyEggData()
 	if luckyData then
-		local luckyCfgData = ManagerContainer.CfgMgr:GetLuckyEggCfgByType(luckyData.luckyType)
+		local luckyCfgData = ManagerContainer.CfgMgr:GetLuckyEggCfgByTypeAndActid(luckyData.luckyType,self.data.actId)
 		if luckyCfgData and luckyCfgData.ShowItemType and #luckyCfgData.ShowItemType > 0 then
 			if luckyData.rewards then
 				for i = 1, #luckyData.rewards do

+ 2 - 1
Assets/Lua/UI/UILuckyEgg/UILuckyEggResultCtr.lua

@@ -25,9 +25,10 @@ end
 
 function UILuckyEggResultCtr:InitData()
 	local LuckyEggData = ManagerContainer.DataMgr.LuckyEggDataMgr:GetLuckyEggData()
+	local curActid = ManagerContainer.DataMgr.LuckyEggDataMgr.curActID
 	local cfgData, LuckyEggNum, rewards, extraReward, extraRewards, lastPercent, percent
 	if LuckyEggData then
-		cfgData = ManagerContainer.CfgMgr:GetLuckyEggCfgByType(LuckyEggData.luckyType)
+		cfgData = ManagerContainer.CfgMgr:GetLuckyEggCfgByTypeAndActid(LuckyEggData.luckyType,curActid)
 		LuckyEggNum = LuckyEggData.luckyNum
 		rewards = LuckyEggData.rewards
 		extraRewards = LuckyEggData.extraRewards

Разница между файлами не показана из-за своего большого размера
+ 46 - 19
Assets/TextMesh Pro/Resources/Fonts & Materials/LiberationSans SDF - Fallback.asset


+ 1 - 1
Build/BuildDependenceResource/CurPackEnv.ini

@@ -1 +1 @@
-{"m_ChannelUniqueId":"22002010","m_BuildClassName":"Pack.PackPlatformiOS"}
+{"m_ChannelUniqueId":"12002023","m_BuildClassName":"Pack.PackPlatformAndroid"}

+ 7 - 3
Build/BuildDependenceResource/PackConfig.json

@@ -645,9 +645,13 @@
             "gameAssetsPath": "Default",
             "specialFuncShield": false,
             "splashScreenRelativeFiles": [],
-            "obscureKey": "",
+            "obscureKey": "1ada09c25fda1fa9bcafe3c",
             "obscureOffsetMin": 0,
-            "obscureOffsetValues": [],
+            "obscureOffsetValues": [
+                4,
+                16,
+                8
+            ],
             "sdkVerifyUrl": "http://165.154.202.27:81//",
             "serverListUrl": "http://165.154.202.27:81//serverlist",
             "notifyUrl": "http://165.154.202.27:88/res/NoticeNew/",
@@ -661,7 +665,7 @@
                 "YOUYI_1.6.9"
             ],
             "sdkBridges": [
-                "YOUYI_1.6.9"
+                "Android_en_hx"
             ],
             "keystoreName": "wenting.keystore",
             "keystorePass": "n9P5j2b7blMm",

+ 172 - 0
Build/BuildDependenceResource/Plugins/SDKBridge/Android_en_hx/YouYiListener.cs

@@ -0,0 +1,172 @@
+using System.Collections;
+using System.Text;
+using UnityEngine;
+using UnityEngine.Networking;
+namespace quicksdk
+{
+    public class YouYiListener : MonoBehaviour
+    {
+        private UnityWebRequest m_CheckLoginWebRequest;
+        private string m_Token = string.Empty;
+        private string m_Uid = string.Empty;
+        private Coroutine m_CheckCoroutine = null;
+
+        public void OnInitSuccess()
+        {
+            SDKMgr.Instance.SetInited(true);
+            SDKEventUtil.SendMessage(SDKCBEnum.INIT_SUCCESS_CB);
+        }
+
+        public void OnInitFailed()
+        {
+            SDKMgr.Instance.SetInited(false);
+            SDKEventUtil.SendMessage(SDKCBEnum.INIT_FAILED_CB);
+        }
+
+        public void OnLoginSuccess(string token)
+        {
+            SDKMgr.Instance.SetLogined(true);
+            m_Token = token;
+            // StartCheckLogin();
+            UserInfo userInfo = new UserInfo()
+            {
+                uid = m_Uid,
+                userName = "",
+                token = m_Token,
+            };
+            SDKMgr.Instance.SetInited(true);
+            SDKEventUtil.SendMessage(SDKCBEnum.LOGIN_SUCCESS_CB, userInfo);
+        }
+
+        public void SetUserId(string uid)
+        {
+            m_Uid = uid;
+        }
+
+        public void OnLoginFailed()
+        {
+            SDKEventUtil.SendMessage(SDKCBEnum.LOGIN_FAILED_CB);
+            StopCheckLogin();
+        }
+
+        public void OnLogoutSuccess()
+        {
+            m_Token = string.Empty;
+            SDKMgr.Instance.SetLogined(false);
+            SDKEventUtil.SendMessage(SDKCBEnum.LOGOUT_SUCCESS_CB);
+        }
+
+        public void OnExitSuccess()
+        {
+            SDKEventUtil.SendMessage(SDKCBEnum.EXIT_SUCCESS_CB);
+        }
+
+        public void OnPaySuccess()
+        {
+            SDKEventUtil.SendMessage(SDKCBEnum.PAY_SUCCESS_CB);
+        }
+
+        public void OnPayFailed()
+        {
+            SDKEventUtil.SendMessage(SDKCBEnum.PAY_FAILED_CB);
+        }
+
+        public void OnCanEnterServerJudge(string args)
+        {
+            SDKEventUtil.SendMessage(SDKCBEnum.CAN_ENTER_SERVER_JUDGE_CB, args);
+        }
+
+        private void StopCheckLogin()
+        {
+            if (m_CheckCoroutine != null)
+            {
+                StopCoroutine(m_CheckCoroutine);
+                m_CheckCoroutine = null;
+            }
+            if (m_CheckLoginWebRequest != null)
+            {
+                m_CheckLoginWebRequest.Dispose();
+                m_CheckLoginWebRequest = null;
+            }
+        }
+
+        public void StartCheckLogin()
+        {
+            StopCheckLogin();
+            m_CheckCoroutine = StartCoroutine(CheckLogin());
+        }
+
+        private IEnumerator CheckLogin()
+        {
+            StringBuilder sb = new StringBuilder();
+            sb.Append(SDKMgr.Instance.httpCheckUrl);
+            sb.Append("sdkcheck?platform=");
+            if (SDKMgr.Instance.sdk != null)
+            {
+                sb.Append(SDKMgr.Instance.sdk.SDKName);
+                string subplatform = SDKMgr.Instance.GetChannelName();
+                if (!string.IsNullOrEmpty(subplatform))
+                {
+                    sb.Append("&sub_platform=");
+                    sb.Append(subplatform);
+                }
+            }
+            sb.Append("&sauthjson=");
+            sb.Append(m_Token);
+            m_CheckLoginWebRequest = UnityWebRequest.Get(sb.ToString());
+            yield return m_CheckLoginWebRequest.SendWebRequest();
+            if (!string.IsNullOrEmpty(m_CheckLoginWebRequest.error))
+            {
+                OnLoginFailed();
+                yield break;
+            }
+            var downloadHandler = m_CheckLoginWebRequest.downloadHandler;
+            if (downloadHandler == null)
+            {
+                OnLoginFailed();
+                yield break;
+            }
+            string text = downloadHandler.text;
+            try
+            {
+                var result = JsonUtility.FromJson<CheckLoginResult>(text);
+                if (result.code == 0 && !string.IsNullOrEmpty(result.userinfo))
+                {
+                    var arr = result.userinfo.Split('.');
+                    var userinfoStr = Encoding.UTF8.GetString(System.Convert.FromBase64String(arr[0]));
+                    var userinfo = JsonUtility.FromJson<LoginResultUserInfo>(userinfoStr);
+                    UserInfo userInfo = new UserInfo()
+                    {
+                        uid = m_Uid,
+                        userName = "",
+                        token = m_Token,
+                    };
+                    SDKMgr.Instance.SetInited(true);
+                    SDKEventUtil.SendMessage(SDKCBEnum.LOGIN_SUCCESS_CB, userInfo);
+                }
+                else
+                {
+                    OnLoginFailed();
+                    SDKMgr.Instance.Logout();
+                }
+            }
+            catch
+            {
+                OnLoginFailed();
+                Debug.LogWarning("CheckLogin Fail   " + sb.ToString());
+            }
+        }
+
+        private class CheckLoginResult
+        {
+            public int code = 0;
+            public string userinfo = string.Empty;
+            public string platform = string.Empty;
+        }
+
+        private class LoginResultUserInfo
+        {
+            public string aid = string.Empty;
+        }
+    }
+}

+ 11 - 0
Build/BuildDependenceResource/Plugins/SDKBridge/Android_en_hx/YouYiListener.cs.meta

@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 487a476c504f9f74da509ffeb5deb207
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 298 - 0
Build/BuildDependenceResource/Plugins/SDKBridge/Android_en_hx/YouYiSDKAndroid.cs

@@ -0,0 +1,298 @@
+#if UNITY_ANDROID
+using System;
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+namespace quicksdk
+{
+    public class YouYiSDKAndroid : SDKBase
+    {
+        private AndroidJavaObject m_AJO;
+        private YouYiListener m_YouYiListener;
+
+        public YouYiSDKAndroid()
+        {
+            using (AndroidJavaClass ajc = new AndroidJavaClass("com.unity3d.player.UnityPlayer"))
+            {
+                m_AJO = ajc.GetStatic<AndroidJavaObject>("currentActivity");
+            }
+            m_YouYiListener = SDKMgr.Instance.gameObject.AddComponent<YouYiListener>();
+            SDKName = "SDKHwQuick";
+        }
+
+        public override void Init()
+        {
+            base.Init();
+            if (m_AJO != null)
+            {
+                m_AJO.Call("init", "SDKMgr");
+            }
+            else
+            {
+                m_YouYiListener.OnInitFailed();
+            }
+        }
+
+
+        public override void Login()
+        {
+            if (m_AJO != null)
+            {
+                m_AJO.Call("login");
+            }
+            else
+            {
+                m_YouYiListener.OnLoginFailed();
+            }
+        }
+
+        public override void Logout()
+        {
+            if (m_AJO != null)
+            {
+                m_AJO.Call("switchAccountLogin");
+            }
+        }
+
+        public override void SwitchAccount()
+        {
+            if (m_AJO != null)
+            {
+                m_AJO.Call("switchAccountLogin");
+            }
+        }
+
+        public override void Pay(int goodsId, string goodsName, string goodsDesc, int count, float amount, string cpOrderId, string extrasParams)
+    {
+        if (m_AJO != null)
+        {
+            GameRoleInfo gameRoleInfo = SDKMgr.Instance.GetGameRoleInfo();
+
+
+
+            if (gameRoleInfo != null)
+            {
+                Dictionary<string, SDKMgr.ProductInfo> cfgs = SDKMgr.Instance.ProductInfos;
+
+                string pice = amount.ToString("F2");
+
+                if (cfgs.ContainsKey(pice))
+                {
+                    SDKMgr.ProductInfo productInfo = cfgs[pice];
+                    m_AJO.Call("pay", cpOrderId, amount.ToString(), productInfo.ID, productInfo.Name, gameRoleInfo.roleId.ToString(), gameRoleInfo.roleName, gameRoleInfo.serverId.ToString(), gameRoleInfo.serverName, gameRoleInfo.roleLv, extrasParams, goodsName,productInfo.Other);
+
+                }
+                else
+                    m_YouYiListener.OnPayFailed();
+            }
+            else
+                m_YouYiListener.OnPayFailed();
+        }
+        else
+        {
+            m_YouYiListener.OnPayFailed();
+        }
+    }
+
+        public override void CreateRole()
+        {
+            GameRoleInfo gameRoleInfo = SDKMgr.Instance.GetGameRoleInfo();
+            if (gameRoleInfo == null || !gameRoleInfo.Valid())
+            {
+                Debug.LogError("[YouYiSDK][CreateRole] GameRoleInfo is null or not valid !!!");
+                return;
+            }
+            if (m_AJO != null)
+            {
+                m_AJO.Call("createRoleLog", gameRoleInfo.roleId.ToString(), gameRoleInfo.roleName, gameRoleInfo.serverId.ToString(), gameRoleInfo.serverName, gameRoleInfo.roleLv, gameRoleInfo.openServerTime.ToString());
+            }
+        }
+
+        public override void EnterGame()
+        {
+            GameRoleInfo gameRoleInfo = SDKMgr.Instance.GetGameRoleInfo();
+            if (gameRoleInfo == null || !gameRoleInfo.Valid())
+            {
+                Debug.LogError("[YouYiSDK][EnterGame] GameRoleInfo is null or not valid !!!");
+                return;
+            }
+            if (m_AJO != null)
+            {
+                m_AJO.Call("loginRoleLog", gameRoleInfo.roleId.ToString(), gameRoleInfo.roleName, gameRoleInfo.serverId.ToString(), gameRoleInfo.serverName, gameRoleInfo.roleLv, gameRoleInfo.openServerTime.ToString());
+            }
+        }
+
+        public override void UpdateRoleLv()
+        {
+            GameRoleInfo gameRoleInfo = SDKMgr.Instance.GetGameRoleInfo();
+            if (gameRoleInfo == null || !gameRoleInfo.Valid())
+            {
+                Debug.LogError("[YouYiSDK][UpdateRoleLv] GameRoleInfo is null or not valid !!!");
+                return;
+            }
+            if (m_AJO != null)
+            {
+                m_AJO.Call("levelLog", gameRoleInfo.roleId.ToString(), gameRoleInfo.roleName, gameRoleInfo.serverId.ToString(), gameRoleInfo.serverName, gameRoleInfo.roleLv, gameRoleInfo.openServerTime.ToString());
+            }
+        }
+
+        public override void ExitGame()
+        {
+
+        }
+
+        public override bool Exit()
+        {
+            return false;
+        }
+
+        public override bool Quit()
+        {
+            return false;
+        }
+
+        public override void CallInitSuccessCB()
+        {
+            m_YouYiListener.OnInitSuccess();
+        }
+
+        public override void CallLoginSuccessCB()
+        {
+            m_YouYiListener.StartCheckLogin();
+        }
+
+        public override bool CheckHasModul(SDKModulType needCheckModulType)
+        {
+            if (needCheckModulType == SDKModulType.EXIT_VIEW)
+            {
+                return true;
+            }
+            return base.CheckHasModul(needCheckModulType);
+        }
+
+        public override void OpenModul(SDKModulType sDKModulType)
+        {
+            if (sDKModulType == SDKModulType.EXIT_VIEW)
+            {
+                if (m_AJO != null)
+                {
+                    m_AJO.Call("exit");
+                }
+                return;
+            }
+            base.OpenModul(sDKModulType);
+        }
+
+        public override bool IsReportAction() { return true; }
+
+        public override void ReportAction(Dictionary<object, object> datas)
+        {
+            base.ReportAction(datas);
+            if (m_AJO != null)
+            {
+                using (AndroidJavaObject hashMapAJO = DictionaryToJavaHashMap(datas))
+                {
+                    m_AJO.Call("reportAction", hashMapAJO);
+                }
+            }
+        }
+
+        public override bool HasCanEnterServerJudge() { return true; }
+        public override void CanEnterServerJudge(string serverId, string serverName)
+        {
+            base.CanEnterServerJudge(serverId, serverName);
+            if (m_AJO != null)
+            {
+                m_AJO.Call("canEnterServerJudge", serverId, serverName);
+            }
+        }
+
+
+        private AndroidJavaObject DictionaryToJavaHashMap(Dictionary<object, object> datas)
+        {
+            AndroidJavaObject hashMapAJO = new AndroidJavaObject("java.util.HashMap");
+            object[] args = new object[2];
+            System.IntPtr putMethod = AndroidJNIHelper.GetMethodID(
+                hashMapAJO.GetRawClass(), "put",
+                "(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;");
+            foreach (var data in datas)
+            {
+                AndroidJavaObject key = GetAndroidJavaObject(data.Key);
+                if (key == null) continue;
+                AndroidJavaObject value = GetAndroidJavaObject(data.Value);
+                if (value == null) continue;
+                args[0] = key;
+                args[1] = value;
+                AndroidJNI.CallObjectMethod(
+                    hashMapAJO.GetRawObject(),
+                    putMethod,
+                    AndroidJNIHelper.CreateJNIArgArray(args));
+                key.Dispose();
+                value.Dispose();
+            }
+            return hashMapAJO;
+        }
+
+        private AndroidJavaObject GetAndroidJavaObject(object value)
+        {
+            System.Type type = value.GetType();
+            if (type.IsPrimitive)
+            {
+                if (type.Equals(typeof(int)))
+                {
+                    return new AndroidJavaObject("java.lang.Integer", value);
+                }
+                if (type.Equals(typeof(bool)))
+                {
+                    return new AndroidJavaObject("java.lang.Boolean", value);
+                }
+                if (type.Equals(typeof(byte)))
+                {
+                    return new AndroidJavaObject("java.lang.Byte", value);
+                }
+                if (type.Equals(typeof(short)))
+                {
+                    return new AndroidJavaObject("java.lang.Short", value);
+                }
+                if (type.Equals(typeof(long)))
+                {
+                    return new AndroidJavaObject("java.lang.Long", value);
+                }
+                if (type.Equals(typeof(float)))
+                {
+                    return new AndroidJavaObject("java.lang.Float", value);
+                }
+                if (type.Equals(typeof(double)))
+                {
+                    double dVal = (double)value;
+                    if (dVal > int.MinValue && dVal < int.MaxValue)
+                    {
+                        int intVal = (int)dVal;
+                        if (intVal == dVal)
+                        {
+                            return new AndroidJavaObject("java.lang.Integer", intVal);
+                        }
+                    }
+                    return new AndroidJavaObject("java.lang.Double", value);
+                }
+                if (type.Equals(typeof(char)))
+                {
+                    return new AndroidJavaObject("java.lang.Character", value);
+                }
+            }
+            else
+            {
+                if (type.Equals(typeof(string)))
+                {
+                    return new AndroidJavaObject("java.lang.String", value);
+                }
+                else if (type.Equals(typeof(AndroidJavaObject)))
+                {
+                    return value as AndroidJavaObject;
+                }
+            }
+            return null;
+        }
+    }
+}
+#endif

+ 11 - 0
Build/BuildDependenceResource/Plugins/SDKBridge/Android_en_hx/YouYiSDKAndroid.cs.meta

@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: e7f8c4f237e05ee41a270d9e329ae034
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 170 - 0
Build/BuildDependenceResource/Plugins/SDKBridge/Quick_andriod_hy_en/YouYiListener.cs

@@ -0,0 +1,170 @@
+using System.Collections;
+using System.Text;
+using UnityEngine;
+using UnityEngine.Networking;
+
+public class YouYiListener : MonoBehaviour
+{
+    private UnityWebRequest m_CheckLoginWebRequest;
+    private string m_Token = string.Empty;
+    private string m_Uid = string.Empty;
+    private Coroutine m_CheckCoroutine = null;
+
+    public void OnInitSuccess()
+    {
+        SDKMgr.Instance.SetInited(true);
+        SDKEventUtil.SendMessage(SDKCBEnum.INIT_SUCCESS_CB);
+    }
+    
+    public void OnInitFailed()
+    {
+        SDKMgr.Instance.SetInited(false);
+        SDKEventUtil.SendMessage(SDKCBEnum.INIT_FAILED_CB);
+    }
+    
+    public void OnLoginSuccess(string token)
+    {
+        SDKMgr.Instance.SetLogined(true);
+        m_Token = token;
+        // StartCheckLogin();
+        UserInfo userInfo = new UserInfo()
+        {
+            uid = m_Uid,
+            userName = "",
+            token = m_Token,
+        };
+        SDKMgr.Instance.SetInited(true);
+        SDKEventUtil.SendMessage(SDKCBEnum.LOGIN_SUCCESS_CB , userInfo);
+    }
+
+    public void SetUserId(string uid) 
+    {
+        m_Uid = uid;
+    }
+
+    public void OnLoginFailed()
+    {
+        SDKEventUtil.SendMessage(SDKCBEnum.LOGIN_FAILED_CB);
+        StopCheckLogin();
+    }
+
+    public void OnLogoutSuccess()
+    {
+        m_Token = string.Empty;
+        SDKMgr.Instance.SetLogined(false);
+        SDKEventUtil.SendMessage(SDKCBEnum.LOGOUT_SUCCESS_CB);
+    }
+
+    public void OnExitSuccess()
+    {
+        SDKEventUtil.SendMessage(SDKCBEnum.EXIT_SUCCESS_CB);
+    }
+    
+    public void OnPaySuccess()
+    {
+        SDKEventUtil.SendMessage(SDKCBEnum.PAY_SUCCESS_CB);
+    }
+
+    public void OnPayFailed()
+    {
+        SDKEventUtil.SendMessage(SDKCBEnum.PAY_FAILED_CB);
+    }
+
+    public void OnCanEnterServerJudge(string args)
+    {
+        SDKEventUtil.SendMessage(SDKCBEnum.CAN_ENTER_SERVER_JUDGE_CB, args);
+    }
+
+    private void StopCheckLogin()
+    {
+        if (m_CheckCoroutine != null)
+        {
+            StopCoroutine(m_CheckCoroutine);
+            m_CheckCoroutine = null;
+        }
+        if (m_CheckLoginWebRequest != null)
+        {
+            m_CheckLoginWebRequest.Dispose();
+            m_CheckLoginWebRequest = null;
+        }
+    }
+
+    public void StartCheckLogin()
+    {
+        StopCheckLogin();
+        m_CheckCoroutine = StartCoroutine(CheckLogin());
+    }
+
+    private IEnumerator CheckLogin()
+    {
+        StringBuilder sb = new StringBuilder();
+        sb.Append(SDKMgr.Instance.httpCheckUrl);
+        sb.Append("sdkcheck?platform=");
+        if (SDKMgr.Instance.sdk != null)
+        {
+            sb.Append(SDKMgr.Instance.sdk.SDKName);
+            string subplatform = SDKMgr.Instance.GetChannelName();
+            if (!string.IsNullOrEmpty(subplatform))
+            {
+                sb.Append("&sub_platform=");
+                sb.Append(subplatform);
+            }
+        }
+        sb.Append("&sauthjson=");
+        sb.Append(m_Token);
+        m_CheckLoginWebRequest = UnityWebRequest.Get(sb.ToString());
+        yield return m_CheckLoginWebRequest.SendWebRequest();
+        if (!string.IsNullOrEmpty(m_CheckLoginWebRequest.error))
+        {
+            OnLoginFailed();
+            yield break;
+        }
+        var downloadHandler = m_CheckLoginWebRequest.downloadHandler;
+        if (downloadHandler == null)
+        {
+            OnLoginFailed();
+            yield break;
+        }
+        string text = downloadHandler.text;
+        try
+        {
+            var result = JsonUtility.FromJson<CheckLoginResult>(text);
+            if (result.code == 0 && !string.IsNullOrEmpty(result.userinfo))
+            {
+                var arr = result.userinfo.Split('.');
+                var userinfoStr = Encoding.UTF8.GetString(System.Convert.FromBase64String(arr[0]));
+                var userinfo = JsonUtility.FromJson<LoginResultUserInfo>(userinfoStr);
+                UserInfo userInfo = new UserInfo()
+                {
+                    uid = m_Uid,
+                    userName = "",
+                    token = m_Token,
+                };
+                SDKMgr.Instance.SetInited(true);
+                SDKEventUtil.SendMessage(SDKCBEnum.LOGIN_SUCCESS_CB , userInfo);
+            }
+            else
+            {
+                OnLoginFailed();
+                SDKMgr.Instance.Logout();
+            }
+        }
+        catch
+        {
+            OnLoginFailed();
+            Debug.LogWarning("CheckLogin Fail   " + sb.ToString());
+        }
+    }
+
+    private class CheckLoginResult
+    {
+        public int code = 0;
+        public string userinfo = string.Empty;
+        public string platform = string.Empty;
+    }
+
+    private class LoginResultUserInfo
+    {
+        public string aid = string.Empty;
+    }
+}

+ 11 - 0
Build/BuildDependenceResource/Plugins/SDKBridge/Quick_andriod_hy_en/YouYiListener.cs.meta

@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 487a476c504f9f74da509ffeb5deb207
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 297 - 0
Build/BuildDependenceResource/Plugins/SDKBridge/Quick_andriod_hy_en/YouYiSDKAndroid.cs

@@ -0,0 +1,297 @@
+#if UNITY_ANDROID
+using System;
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+public class YouYiSDKAndroid : SDKBase
+{
+    private AndroidJavaObject m_AJO;
+    private YouYiListener m_YouYiListener;
+
+    public YouYiSDKAndroid()
+    {
+        using (AndroidJavaClass ajc = new AndroidJavaClass("com.unity3d.player.UnityPlayer"))
+        {
+            m_AJO = ajc.GetStatic<AndroidJavaObject>("currentActivity");
+        }
+        m_YouYiListener = SDKMgr.Instance.gameObject.AddComponent<YouYiListener>();
+        SDKName = "SDKHwQuick";
+    }
+
+    public override void Init()
+    {
+        base.Init();
+        if (m_AJO != null)
+        {
+            m_AJO.Call("init", "SDKMgr");
+        }
+        else
+        {
+            m_YouYiListener.OnInitFailed();
+        }
+    }
+
+
+    public override void Login()
+    {
+        if (m_AJO != null)
+        {
+            m_AJO.Call("login");
+        }
+        else
+        {
+            m_YouYiListener.OnLoginFailed();
+        }
+    }
+
+    public override void Logout()
+    {
+        if (m_AJO != null)
+        {
+            m_AJO.Call("switchAccountLogin");
+        }
+    }
+
+    public override void SwitchAccount()
+    {
+        if (m_AJO != null)
+        {
+            m_AJO.Call("switchAccountLogin");
+        }
+    }
+
+
+    public override void Pay(int goodsId, string goodsName, string goodsDesc, int count, float amount, string cpOrderId, string extrasParams)
+    {
+        if (m_AJO != null)
+        {
+            GameRoleInfo gameRoleInfo = SDKMgr.Instance.GetGameRoleInfo();
+
+
+
+            if (gameRoleInfo != null)
+            {
+                Dictionary<string, SDKMgr.ProductInfo> cfgs = SDKMgr.Instance.ProductInfos;
+
+                string pice = amount.ToString("F2");
+
+                if (cfgs.ContainsKey(pice))
+                {
+                    SDKMgr.ProductInfo productInfo = cfgs[pice];
+                    m_AJO.Call("pay", cpOrderId, amount.ToString(), productInfo.ID, productInfo.Name, gameRoleInfo.roleId.ToString(), gameRoleInfo.roleName, gameRoleInfo.serverId.ToString(), gameRoleInfo.serverName, gameRoleInfo.roleLv, extrasParams, goodsName,productInfo.Other);
+
+                }
+                else
+                    m_YouYiListener.OnPayFailed();
+            }
+            else
+                m_YouYiListener.OnPayFailed();
+        }
+        else
+        {
+            m_YouYiListener.OnPayFailed();
+        }
+    }
+
+    public override void CreateRole()
+    {
+        GameRoleInfo gameRoleInfo = SDKMgr.Instance.GetGameRoleInfo();
+        if (gameRoleInfo == null || !gameRoleInfo.Valid())
+        {
+            Debug.LogError("[YouYiSDK][CreateRole] GameRoleInfo is null or not valid !!!");
+            return;
+        }
+        if (m_AJO != null)
+        {
+            m_AJO.Call("createRoleLog", gameRoleInfo.roleId.ToString(), gameRoleInfo.roleName, gameRoleInfo.serverId.ToString(), gameRoleInfo.serverName, gameRoleInfo.roleLv, gameRoleInfo.openServerTime.ToString());
+        }
+    }
+
+    public override void EnterGame()
+    {
+        GameRoleInfo gameRoleInfo = SDKMgr.Instance.GetGameRoleInfo();
+        if (gameRoleInfo == null || !gameRoleInfo.Valid())
+        {
+            Debug.LogError("[YouYiSDK][EnterGame] GameRoleInfo is null or not valid !!!");
+            return;
+        }
+        if (m_AJO != null)
+        {
+            m_AJO.Call("loginRoleLog", gameRoleInfo.roleId.ToString(), gameRoleInfo.roleName, gameRoleInfo.serverId.ToString(), gameRoleInfo.serverName, gameRoleInfo.roleLv, gameRoleInfo.openServerTime.ToString());
+        }
+    }
+
+    public override void UpdateRoleLv()
+    {
+        GameRoleInfo gameRoleInfo = SDKMgr.Instance.GetGameRoleInfo();
+        if (gameRoleInfo == null || !gameRoleInfo.Valid())
+        {
+            Debug.LogError("[YouYiSDK][UpdateRoleLv] GameRoleInfo is null or not valid !!!");
+            return;
+        }
+        if (m_AJO != null)
+        {
+            m_AJO.Call("levelLog", gameRoleInfo.roleId.ToString(), gameRoleInfo.roleName, gameRoleInfo.serverId.ToString(), gameRoleInfo.serverName, gameRoleInfo.roleLv, gameRoleInfo.openServerTime.ToString());
+        }
+    }
+
+    public override void ExitGame()
+    {
+
+    }
+
+    public override bool Exit()
+    {
+        return false;
+    }
+
+    public override bool Quit()
+    {
+        return false;
+    }
+
+    public override void CallInitSuccessCB()
+    {
+        m_YouYiListener.OnInitSuccess();
+    }
+
+    public override void CallLoginSuccessCB()
+    {
+        m_YouYiListener.StartCheckLogin();
+    }
+
+    public override bool CheckHasModul(SDKModulType needCheckModulType)
+	{
+		if (needCheckModulType == SDKModulType.EXIT_VIEW)
+		{
+            return true;
+        }	
+		return base.CheckHasModul(needCheckModulType);
+	}
+
+	public override void OpenModul(SDKModulType sDKModulType)
+	{
+		if (sDKModulType == SDKModulType.EXIT_VIEW)
+		{
+			if (m_AJO != null)
+            {
+                m_AJO.Call("exit");
+            }
+			return;
+		}
+		base.OpenModul(sDKModulType);
+	}
+
+    public override bool IsReportAction() { return true; }
+
+    public override void ReportAction(Dictionary<object, object> datas)
+    {
+        base.ReportAction(datas);
+        if (m_AJO != null)
+        {
+            using (AndroidJavaObject hashMapAJO = DictionaryToJavaHashMap(datas))
+            {
+                m_AJO.Call("reportAction", hashMapAJO);
+            }
+        }
+    }
+
+    public override bool HasCanEnterServerJudge() { return true; }
+    public override void CanEnterServerJudge(string serverId, string serverName)
+    {
+        base.CanEnterServerJudge(serverId, serverName);
+        if (m_AJO != null)
+        {
+            m_AJO.Call("canEnterServerJudge", serverId, serverName);
+        }
+    }
+
+
+    private AndroidJavaObject DictionaryToJavaHashMap(Dictionary<object, object> datas)
+    {
+        AndroidJavaObject hashMapAJO = new AndroidJavaObject("java.util.HashMap");
+        object[] args = new object[2];
+        System.IntPtr putMethod = AndroidJNIHelper.GetMethodID(
+			hashMapAJO.GetRawClass(), "put",
+			"(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;");
+        foreach(var data in datas)
+        {
+            AndroidJavaObject key = GetAndroidJavaObject(data.Key);
+            if (key == null) continue;
+            AndroidJavaObject value = GetAndroidJavaObject(data.Value);
+            if (value == null) continue;
+            args[0] = key;
+			args[1] = value;
+			AndroidJNI.CallObjectMethod(
+				hashMapAJO.GetRawObject(),
+				putMethod, 
+				AndroidJNIHelper.CreateJNIArgArray(args));
+            key.Dispose();
+            value.Dispose();
+        }
+        return hashMapAJO;
+    }
+
+    private AndroidJavaObject GetAndroidJavaObject(object value)
+    {
+        System.Type type = value.GetType();
+        if (type.IsPrimitive)
+        {
+            if (type.Equals(typeof(int)))
+            {
+                return new AndroidJavaObject("java.lang.Integer", value);
+            }
+            if (type.Equals(typeof(bool)))
+            {
+                return new AndroidJavaObject("java.lang.Boolean", value);
+            }
+            if (type.Equals(typeof(byte)))
+            {
+                return new AndroidJavaObject("java.lang.Byte", value);
+            }
+            if (type.Equals(typeof(short)))
+            {
+                return new AndroidJavaObject("java.lang.Short", value);
+            }
+            if (type.Equals(typeof(long)))
+            {
+                return new AndroidJavaObject("java.lang.Long", value);
+            }
+            if (type.Equals(typeof(float)))
+            {
+                return new AndroidJavaObject("java.lang.Float", value);
+            }
+            if (type.Equals(typeof(double)))
+            {
+                double dVal = (double)value;
+                if (dVal > int.MinValue && dVal < int.MaxValue)
+                {
+                    int intVal = (int)dVal;
+                    if (intVal == dVal)
+                    {
+                        return new AndroidJavaObject("java.lang.Integer", intVal);
+                    }
+                }
+                return new AndroidJavaObject("java.lang.Double", value);
+            }
+            if (type.Equals(typeof(char)))
+            {
+                return new AndroidJavaObject("java.lang.Character", value);
+            }
+        }
+        else
+        {
+            if (type.Equals(typeof(string)))
+            {
+                return new AndroidJavaObject ("java.lang.String", value);
+            }
+            else if (type.Equals(typeof(AndroidJavaObject)))
+            {
+                return value as AndroidJavaObject;
+            }
+        }
+        return null;
+    }
+}
+#endif

+ 11 - 0
Build/BuildDependenceResource/Plugins/SDKBridge/Quick_andriod_hy_en/YouYiSDKAndroid.cs.meta

@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: e7f8c4f237e05ee41a270d9e329ae034
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 190 - 0
Build/BuildDependenceResource/Plugins/iOS/MianYou_SDK_IOS/QsdkMgr.mm

@@ -0,0 +1,190 @@
+#import <Foundation/Foundation.h>
+
+@import OEGFramework;
+
+extern "C" 
+{
+    static  NSString* UnityListenerGoName;
+
+
+    void QSDK_SetListener(const char *gameObjectName){
+       UnityListenerGoName = QsdkCreateNSString(gameObjectName);
+    }
+
+
+    void SendMsgToUnity(NSString* messageName,messageName* parameters)
+    {
+
+        if (!UnityListenerGoName) {
+            NSLog(@"U3D not set listener");
+            return;
+        }
+        if ([parameters isKindOfClass:NSString.class] && [parameters length]) {
+            UnitySendMessage([UnityListenerGoName UTF8String], [messageName UTF8String], [parameters UTF8String]);
+        }
+        else{
+            UnitySendMessage([UnityListenerGoName UTF8String], [messageName UTF8String], "");
+        }
+    }
+
+    NSString* QsdkCreateNSString (const char* string)
+    {
+        if (string)
+            return [NSString stringWithUTF8String: string];
+        else
+            return [NSString stringWithUTF8String: ""];
+    }
+
+
+void QSDK_Init() {
+    
+    //SDK初始化 code: 0:成功, 1:失败
+    [[CrudeMingle share] InitEhuoia:^(int code, NSString * _Nonnull msg) {
+        NSLog(@"code=%d, msg=%@", code, msg);
+        if(code == 0)
+        {
+            SendMsgToUnity(@"onInitSuccess",@"Init:Init Success");
+        }
+        else
+        {
+            SendMsgToUnity(@"onInitSuccess",@"Fail");
+        }
+    }];
+
+}
+
+void QSDK_login() {
+
+    //使用SDK登录界面登录
+    [[CrudeMingle share] LoginEhuoiaWithCallback:^(int code, NSString * _Nonnull msg, NSString * _Nonnull sessionID, NSString * _Nonnull accountid, NSString * _Nonnull fbid, NSString * _Nonnull loginType) {
+        NSLog(@"code=%d, msg=%@, sessionID=%@, accountid=%@, loginType=%@", code, msg, sessionID, accountid, loginType);
+
+        if (code == 0)
+        {
+            SendMsgToUnity(@"onLoginSuccess",[NSString stringWithFormat:@"%d[]%@[]%@[]%@[]%@",code,msg, sessionID, accountid, loginType]);
+        }
+        else
+        {
+             SendMsgToUnity(@"onLoginFail",msg);
+        }
+    }];
+
+}
+
+void QSDK_Pay(const char *productId,const char *productName,const char * amount,const char *orderNo,
+                const char *callBackUrl,const char *extrasParams, 
+                const char * gameName,const char * serverName,const char* productDesc) {
+    
+    //支付
+    [[CrudeMingle share] FuEhuoiaWithPrice:QsdkCreateNSString(amount)
+         GameName:QsdkCreateNSString(gameName)
+       ServerName:QsdkCreateNSString(serverName)
+    CustomOrderId:QsdkCreateNSString(orderNo)
+       CustomInfo:QsdkCreateNSString(extrasParams)
+        ProductId:QsdkCreateNSString(productId)
+      ProductDesc:QsdkCreateNSString(productDesc)
+      CallBackUrl:QsdkCreateNSString(callBackUrl) AndCallBack:^(int code, NSString * _Nonnull msg, NSString * _Nonnull orderID) {
+          
+          NSLog(@"支付回调:code=%d, msg=%@, orderID=%@", code, msg, orderID);
+        if (code == 0)
+        {
+            SendMsgToUnity(@"onPaySuccess",@"支付Suc");
+        }
+        else
+        {
+             SendMsgToUnity(@"onPayFail",@"");
+        }
+      }];
+    
+}
+
+void QSDK_logout() {
+    
+    //退出登录
+    if ([[CrudeMingle share] logout]) {
+        NSLog(@"退出登录成功");
+         SendMsgToUnity(@"onLogoutSuccess",@"");
+    };
+}
+
+}
+// 1. OEGActionType:
+// typedef enum {
+//     Register = 0,
+//     LoginOEGID,
+//     LoginFacebook,
+//     LoginGoogle,
+//     LoginApple,
+//     Playnow,
+//     Logout,
+//     Profile,
+//     ChangePassword,
+//     ForgotPassword,
+//     VerifyEmail,
+//     VerifyPhone,
+//     Close
+// }OEGActionType;
+void SDK_OEG_AccountCallback(OEGActionType type, id _Nullable response, BOOL success, NSError  * _Nullable error)
+{
+    if(error)
+    {
+        NSLog(@"error:%@",error);
+    }
+    else
+    {
+        if(type == OEGActionType.Logout)
+        {
+            if(success)
+            {
+                NSLog(@"退出登录成功");
+                SendMsgToUnity(@"onLogoutSuccess",@"");
+            }
+            return;
+        }
+
+        if(success)
+        {
+            NSString status = response[@"status"];
+            NSString token = response[@"token"];
+            NSString uuid = response[@"uuid"];
+            NSString message = response[@"message"];
+
+            if(status == @"success")
+            {
+                int code = 0;
+                SendMsgToUnity(@"onLoginSuccess",[NSString stringWithFormat:@"%d[]%@[]%@[]%@[]%@",code,message, token, uuid, "111"]);
+            }
+            else
+            {
+                SendMsgToUnity(@"onLoginFail",message);
+            }
+        }
+    }
+}
+
+// typedef enum {
+//         OEGPurchasing = 0,
+//         OEGPurchased, // Purchased with Apple and verify server error
+//         OEGRestored,
+//         OEGFailed,
+//         OEGRequestError, // Request Product ID error
+//         OEGVerified // Purchased with Apple and verify server success
+// }OEGIAPStatus;
+void SDK_OEG_Pay_IAPCallback(OEGIAPStatus status, NSString *message, NSError  * _Nullable error)
+{
+    if(error)
+    {
+          NSLog(@"error:%@",error);
+    }
+    else
+    {
+        if(status == OEGIAPStatus.OEGVerified)
+        {
+            SendMsgToUnity(@"onPaySuccess",@"支付Suc");
+        }
+        else
+        {
+             SendMsgToUnity(@"onPayFail",@"");
+        }
+    }
+}

+ 68 - 68
Build/NewCfg/Language_merge.csv

@@ -358,7 +358,7 @@ BtnForgeReport,Синтетическая запись
 300,Невозможно отправить сообщение самому себе (300)
 301,Не отправляйте пустые сообщения (301)
 302,Сообщение отправлено слишком быстро (302)
-303,"Накопление пополнения: 4,99$ или 10 Подземье Гиффена, чтобы разблокировать функцию чата на публичном экране (303)"
+303,"Функция чата откроется после завершения первой главы сюжета(303)"
 304,Игрок не в сети (304)
 305,"<color=#fe5478>Накопление попления в размере 4,99₽ или Подземье Гиффена 10</color> разблокирует функцию чата на публичном экране (305)"
 310,Сброс (310)
@@ -940,7 +940,7 @@ Zeny,Zeny
 ExpBase,Базовый опыт
 ExpParnter,Опыт партнера
 Cruise,Ценность поиска сокровищ
-ExpJob,Опыт работы
+ExpJob,EXP профессии
 TitleProfitIncrease,Увеличение доходов
 BtnUpgrade,Обновл.
 BtnEvolution,Продв.
@@ -1002,7 +1002,7 @@ Condition_14,Общий БМ достиг {0}
 Condition_22,Исцелить {0} любых партнёров
 Condition_23,Ур. партнера достигает {0}
 Base,База
-Job,Работа
+Job,Профессия
 s,с
 m,м
 sp,Мана
@@ -1146,14 +1146,14 @@ MyFashion,Мои костюмы
 DscNoFashion,Пока нет атрибутов костюма
 FashionIllustrater,Сборник костюмов
 BtnIllustrater,Сборник
-DscJobLevelUP,Повышение ур. должности
+DscJobLevelUP,Повышение ур. профессии
 BtnLearn,изучать
 MailBeginTime,{0}
 MailOver,Скоро истекает
 TitleNewSkill,Приобретайте новые навыки
 LabelNew,новый
 LevelLimit,Вы сможете продолжить испытание после достижения ур.{0}!
-JobLimit,"Ур. задания заполнен, пожалуйста, завершите передачу задания, прежде чем бросать вызов!"
+JobLimit,"Ур. профессии максимальный, смените профессию для продолжения!"
 DscNoMail,Нет почты
 CardCompositionTips,"В составляемой карточке есть <color=#ff9600>карта MVP</color>, вы уверены, что хотите продолжить слияние?"
 CardCompositionRule,3 одинаковые карты можно объединить в карту более высокого ур.
@@ -1274,7 +1274,7 @@ RecruitPartnerConfirm3,Хотите ли вы исцелить этого пар
 RecruitItemUnFull,"<color=#fe5478>Воды жизни недостаточно</color>, вы можете перейти на <color=#078DF5>осн. главы</color>, чтобы получить ее"
 RecruitSuccess,Исцеление успешно!
 RecruitTips1,Советы по исцелению партнера
-RecruitTips2,<size=40>Полезные советы!!</size><color=#555e74>В вашем составе не хватает</color> напарников Мечника <color=#555e74> или</color> Служитель<color=#555e74>. Выбор другой профессии увеличивает сложность прохождения
+RecruitTips2,<size=40>Полезные советы!!</size><color=#555e74>В вашем составе не хватает</color> напарников Мечника <color=#555e74> или</color>  Служитель<color=#555e74>. Выбор другой профессии увеличивает сложность прохождения</color>
 RecruitTips3,Продолжать лечение {0}{1}?
 RecruitTips4,Продолжайте лечить
 RecruitTips5,Я подумаю об этом еще раз.
@@ -6275,14 +6275,14 @@ HeadFrameResolveSuCcess,Успешное преобразование
 HeadFrameUseSuCcess,Успешное использование
 ConvertHeadFrameNotice,Стоит ли конвертировать в золотые монеты
 ConvertHeadFrameTitle,Скидка на рамку аватара
-DscShop01,За каждое пополнение в 1$ дарится 10 монет RO
+DscShop01,За каждое пополнение в 100₽ дарится 10 монет RO
 DscClub01,"Обычные и высшие ежемесячные карты можно активировать одновременно, а ежедневные награды будут рассылаться по электронной почте~"
-DscClub02,За каждое пополнение в 1$ дополнительно дарится 60 монет RO.
+DscClub02,За каждое пополнение в 100₽ дополнительно дарится 60 монет RO.
 DscClub03,"Ограниченная по времени распродажа, не пропустите, если будете проходить мимо~"
 DscClub04,"Вы можете получить исследовательский опыт, выполняя задания и потребляя золотые монеты. Вы можете получить дополнительные награды после достижения максимального расстояния исследования!"
-DscClub05,За каждое пополнение в 1$ дополнительно дарится 60 монет RO.
-DscClub06,За каждое пополнение в 1$ дополнительно дарится 60 монет RO.
-DscClub07,За каждое пополнение в 1$ дополнительно дарится 60 монет RO.
+DscClub05,За каждое пополнение в 100₽ дополнительно дарится 60 монет RO.
+DscClub06,За каждое пополнение в 100₽ дополнительно дарится 60 монет RO.
+DscClub07,За каждое пополнение в 100₽ дополнительно дарится 60 монет RO.
 TitleDaily,Можно получить ежедневно
 TitleTotal,Можно получить всего
 DscClubMonth1,Ежедневные награды отправляются по <color=#33a3dc>почте</color>
@@ -6889,7 +6889,7 @@ LackPartnerLv,"<color=#fe5478>Недостаточный ур. партнёра<
 LackCard,"<color=#fe5478>Недостаточно карт</color>, можно получить в <color=#078DF5>Призыве</color> и <color=#078DF5>сундуке автосражений</color>"
 LackEquipment,"<color=#fe5478>Недостаточно снаряжения</color>, можно получить в <color=#078DF5>сундуке автосражений</color> и <color=#078DF5>магазине</color>"
 FashionTitlePaper,рисунок
-SourceFunColor,<color=#078DF5>{0}</цвет>
+SourceFunColor,<color=#078DF5>{0}</color>
 ItemNotEnoughDefault,Отсутствие инструментов
 ItemNotEnough,<color=#fe5478>{0} недостаточно</color>
 ItemNotEnoughSource,"<color=#fe5478>{0} недостаточно</color>, вы можете перейти к {1}, чтобы получить"
@@ -9943,7 +9943,7 @@ BoliVipDesc14,<color={0}>В магазине добавлены <color={1}>Кр
 BoliVipDesc15,<color={0}>В магазине теперь есть <color={1}>новые редкие предметы</color></color>
 BoliVipDesc16,<color={0}>Добавлены <color={1}>привилегии ур.6 для покупки предметов</color></color>
 TitleReturnGift,Подарить комплект для возвращения
-RechargeWalletRule,"1. Игроки могут снять бесплатные депозиты с депозитного кошелька, чтобы купить золотые монеты\n2. Бесплатные депозиты можно получить из Башня испытаний, Осн. главы, 100-игрока додзё и простоя сундука с сокровищами и положить их в депозитный кошелек\n3. Кошелёк пополнения будет обнуляться каждый день в 5:00\n4. Существует дневной лимит на бесплатное пополнение, который можно навсегда увеличить с помощью карты привилегий\n5. При обмене подарочной валюты на накопленные бонусы пополнения:\n1 подарочная валюта = 0.14 $\n30 подарочных валют = 4.2 $\n98 подарочных валют = 13.72 $\n128 подарочных валют = 17.92 $\n328 подарочных валют = 45.92 $\n648 подарочных валют = 90.72 $\n1000 подарочных валют = 140 $\n2000 подарочных валют = 280 $\n5000 подарочных валют = 700 $"
+RechargeWalletRule,"1. Игроки могут снять бесплатные депозиты с депозитного кошелька, чтобы купить золотые монеты\n2. Бесплатные депозиты можно получить из Башня испытаний, Осн. главы, 100-игрока додзё и простоя сундука с сокровищами и положить их в депозитный кошелек\n3. Кошелёк пополнения будет обнуляться каждый день в 5:00\n4. Существует дневной лимит на бесплатное пополнение, который можно навсегда увеличить с помощью карты привилегий"
 ShopLv,Ур. магазина
 PrivilegeGift,Пакет привилегий
 ShopUpgrade,Обновление торгового центра Полли
@@ -9987,7 +9987,7 @@ PassCheck02,<color={0}>Сила времени увеличивает опыт 
 PassCheck03,<color={0}>Здоровье главного героя +1000</color>
 PassCheck04,<color={0}>Физ. защита героя +20</color>
 PassCheck05,<color={0}>Основная магическая защита рога +20</color>
-DscROPassport,Купите и получите 120 монет RO и 120 очков опыта Домена Бога немедленно
+DscROPassport,Купите и получите 119 монет RO и 119 очков опыта Домена Бога немедленно
 EvilFreeTimesTip01,Обновление времени всегда бесплатно
 EvilFreeTimesTip02,Бесплатно {0} сбросов
 BtnMvpPreview,Предпросмотр главного приза
@@ -10032,7 +10032,7 @@ TaskUI_1,Сложные задачи
 TaskUI_2,Задание кошмар
 ConditionCfg_ConditionDescribe_20002,Пройти Южные ворота Пронтеры {0}
 ConditionCfg_ConditionDescribe_1,Пройти {0} для разблокировки
-ConditionCfg_ConditionDescribe_10003,Ур. работы повышен до {0}
+ConditionCfg_ConditionDescribe_10003,Повышение уро. профессии до {0}
 ConditionCfg_ConditionDescribe_30003,"Разблокируется, когда базовый ур. повышается до {0}"
 ConditionCfg_ConditionDescribe_10005,Это займет {0}
 MapCfg_Name_3,Карта Мира1
@@ -10224,7 +10224,7 @@ ADCfg_Name_340,Суперпакет питомеца
 ADCfg_Name_50,Эксклюзивный подарочный набор Vulcan Cave 80
 ADCfg_Name_300,Пакет для повыш. партнёра до ур.110
 ADCfg_Name_202,Пакет со спецпредл. для 25F Башни Испытаний
-ADCfg_Name_336,"Супервыгодный подарочный набор за 0,99₽"
+ADCfg_Name_336,"Супервыгодный подарочный набор за 99₽"
 ADCfg_Name_203,Пакет со спецпредл. для 45F Башни Испытаний
 ADCfg_Name_308,Пакет для повыш. партнёра до ур.150
 ADCfg_Name_332,Партнерский прорыв +12 Пакет улучшений
@@ -10288,17 +10288,17 @@ ADCfg_Name_118,Экскл. пакет Гнезда Цветочного Тене
 ATCfg_Title_2,Достигнута 20F Башни Испытаний
 ATCfg_Title_31,Бросьте вызов Залу доблести 70 раз
 ATCfg_Title_484,Выполнить золотое задание Ассоциации Демонов 80 р.
-ATCfg_Title_20196,"Суммарное пополнение за время события: 1299,99$."
+ATCfg_Title_20196,"Суммарное пополнение за время события: 129999₽."
 ATCfg_Title_488,Синтетический взрывной лук x1
 ATCfg_Title_492,Призыв карт 50 раз
 ATCfg_Title_496,Синтезировать двуручный посох Таноса x1
 ATCfg_Title_20006,Накопл. пополнение на 400 RO монет
 ATCfg_Title_28,Фиол. задание Ассоциации Демонов 20 р.
-ATCfg_Title_20103,"Суммарное пополнение за время события: 39,99$."
+ATCfg_Title_20103,"Суммарное пополнение за время события: 3590₽."
 ATCfg_Title_500,Призыв питомцев 50 р.
-ATCfg_Title_504,"Сумма пополнения достигает 9,99₽"
-ATCfg_Title_20169,"Суммарное пополнение за время события: 1999,99$."
-ATCfg_Title_508,"Сумма пополнения достигает 0,99₽"
+ATCfg_Title_504,"Сумма пополнения достигает 899₽"
+ATCfg_Title_20169,"Суммарное пополнение за время события: 199999₽."
+ATCfg_Title_508,"Сумма пополнения достигает 99₽"
 ATCfg_Title_513,Призыв карт 5 раз
 ATCfg_Title_388,Призыв питомцев 5 р.
 ATCfg_Title_29,Пройдите любое подземелье Экспедиции 4 раза.
@@ -10312,53 +10312,53 @@ ATCfg_Title_553,Синтетическая джентльменская трос
 ATCfg_Title_26,Бросьте вызов Залу доблести 60 раз
 ATCfg_Title_400,Выполнить золотое задание Ассоциации Демонов 6 р.
 ATCfg_Title_412,Синтезировать волшебную палочку x1
-ATCfg_Title_697,"Суммарное пополнение за время события: 19,99$."
+ATCfg_Title_697,"Суммарное пополнение за время события: 1790₽."
 ATCfg_Title_27,Достигнута 110F Башни Испытаний
 ATCfg_Title_420,Синтетический кровавый кулак x1
-ATCfg_Title_424,"Суммарное пополнение за время события: 99,99$."
-ATCfg_Title_20053,"Суммарное пополнение за время события: 599,99$."
-ATCfg_Title_428,"Суммарное пополнение за время события: 399,99$."
+ATCfg_Title_424,"Суммарное пополнение за время события: 9490₽."
+ATCfg_Title_20053,"Суммарное пополнение за время события: 59999₽."
+ATCfg_Title_428,"Суммарное пополнение за время события: 39999₽."
 ATCfg_Title_20022,Накопл. пополнение на 110000 RO монет
-ATCfg_Title_432,"Суммарное пополнение за время события: 899,99$."
+ATCfg_Title_432,"Суммарное пополнение за время события: 89999₽."
 ATCfg_Title_24,Пройдите любое подземелье Экспедиции 3 раза.
 ATCfg_Title_440,Синтетическая белая одежда с крыльями x1
-ATCfg_Title_641,"Суммарное пополнение за время события: 9,99$."
-ATCfg_Title_634,"Суммарное пополнение за время события: 69,99$."
+ATCfg_Title_641,"Суммарное пополнение за время события: 899₽."
+ATCfg_Title_634,"Суммарное пополнение за время события: 6999₽."
 ATCfg_Title_25,6 шт. снар. качества фиолет и выше
 ATCfg_Title_320,Синтез карты Осириса ур.2 x1
 ATCfg_Title_328,Синтетическая скелетная палочка x1
-ATCfg_Title_20030,"Накопление попления: 699,99$"
+ATCfg_Title_20030,"Накопление попления: 69999₽"
 ATCfg_Title_22,Достигнута 90F Башни Испытаний
 ATCfg_Title_336,Синтетический лук Серафима x1
-ATCfg_Title_586,"Суммарное пополнение за время события: 0,99$."
-ATCfg_Title_20193,"Суммарное пополнение за время события: 699,99$."
+ATCfg_Title_586,"Суммарное пополнение за время события: 99₽."
+ATCfg_Title_20193,"Суммарное пополнение за время события: 69999₽."
 ATCfg_Title_348,Синтезируйте карту ледяного дракона 2-го уровня x1
-ATCfg_Title_20162,"Суммарное пополнение за время события: 49,99$."
+ATCfg_Title_20162,"Суммарное пополнение за время события: 4690₽."
 ATCfg_Title_356,Синтетическая куртка для приключений x1
-ATCfg_Title_20003,"Накопление попления: 159,99$"
+ATCfg_Title_20003,"Накопление попления: 15999₽"
 ATCfg_Title_23,Фиол. задание Ассоциации Демонов 15 р.
 ATCfg_Title_364,Синтетическая шляпа воина x1
-ATCfg_Title_20069,"Суммарное пополнение за время события: 4,99$."
-ATCfg_Title_20135,"Суммарное пополнение за время события: 799,99$."
+ATCfg_Title_20069,"Суммарное пополнение за время события: 449₽."
+ATCfg_Title_20135,"Суммарное пополнение за время события: 79999₽."
 ATCfg_Title_20,3 шт. снар. качества фиолет и выше
 ATCfg_Title_376,Синтез карты Барон Дракула ур.2 x1
 ATCfg_Title_20011,Накопл. пополнение на 20000 RO монет
 ATCfg_Title_21,Пройти испытание 50 раз в Зале доблести
 ATCfg_Title_256,Синтезировать карту Женщина-змея Леди ур.3 x1
-ATCfg_Title_20077,"Суммарное пополнение за время события: 299,99$."
+ATCfg_Title_20077,"Суммарное пополнение за время события: 29999₽."
 ATCfg_Title_18,Фиол. задание Ассоциации Демонов 10 р.
-ATCfg_Title_690,"Суммарное пополнение за время события: 199,99$."
+ATCfg_Title_690,"Суммарное пополнение за время события: 19999₽."
 ATCfg_Title_292,Синтез карты Некромантского рыцаря ур.2 x1
-ATCfg_Title_682,"Суммарное пополнение за время события: 359,99$."
+ATCfg_Title_682,"Суммарное пополнение за время события: 35999₽."
 ATCfg_Title_19,Пройдите любое подземелье Экспедиции 2 раза.
-ATCfg_Title_674,"Суммарное пополнение за время события: 499,99$."
+ATCfg_Title_674,"Суммарное пополнение за время события: 49999₽."
 ATCfg_Title_300,Синтетические теневые сапоги x1
 ATCfg_Title_308,Синтетическая шаль милосердия x1
-ATCfg_Title_20120,"Суммарное пополнение за время события: 1,99$."
-ATCfg_Title_650,"Суммарное пополнение за время события: 1199,99$."
+ATCfg_Title_20120,"Суммарное пополнение за время события: 199₽."
+ATCfg_Title_650,"Суммарное пополнение за время события: 119999₽."
 ATCfg_Title_16,Пройти 40 испытаний в Зале доблести
-ATCfg_Title_20186,"Суммарное пополнение за время события: 149,99$."
-ATCfg_Title_635,"Суммарное пополнение за время события: 119,99$."
+ATCfg_Title_20186,"Суммарное пополнение за время события: 14999₽."
+ATCfg_Title_635,"Суммарное пополнение за время события: 11999₽."
 ATCfg_Title_627,Создать карту Духа мертвых ур.2
 ATCfg_Title_228,Синтезировать карту Вожака орловой совы ур.3 x1
 ATCfg_Title_453,Синтетические сапоги мечты x1
@@ -10366,15 +10366,15 @@ ATCfg_Title_619,Синтезируйте Destruction Rod x1 во время со
 ATCfg_Title_230,Синтетические белые крылатые ботинки x1
 ATCfg_Title_17,Достигнута 70F Башни Испытаний
 ATCfg_Title_236,Синтетический плащ разъяренного дракона x1
-ATCfg_Title_20128,"Суммарное пополнение за время события: 249,99$."
+ATCfg_Title_20128,"Суммарное пополнение за время события: 24999₽."
 ATCfg_Title_473,Синтезировать карту Темного Демона ур.3 x1
 ATCfg_Title_15,Подпишитесь на 20 друзей взаимно
 ATCfg_Title_481,Синтезировать Посох Гладиатора x1
 ATCfg_Title_244,Синтетическое белое крыловое кольцо x1
 ATCfg_Title_489,Синтезировать лук Таноса x1
-ATCfg_Title_20004,"Накопление попления: 249,99$"
+ATCfg_Title_20004,"Накопление попления: 24999₽"
 ATCfg_Title_242,Синтез карты Мардука ур.3 x1
-ATCfg_Title_20167,"Суммарное пополнение за время события: 1099,99$."
+ATCfg_Title_20167,"Суммарное пополнение за время события: 109999₽."
 ATCfg_Title_501,Синтез карты Ледяного гиганта ур.3 x1
 ATCfg_Title_509,Синтезировать карту Королевы пчёл ур.2 x1
 ATCfg_Title_14,Пройдите любое подземелье Экспедиции 1 раз
@@ -10383,23 +10383,23 @@ ATCfg_Title_523,Составить карту Эфирного Воина ур.2
 ATCfg_Title_385,Синтезировать Кольцо Шамана x1
 ATCfg_Title_531,Синтетическая шаль Йеля x1
 ATCfg_Title_397,Синтезировать карту Женщина-змея Леди ур.2 x1
-ATCfg_Title_20078,"Суммарное пополнение за время события: 349,99$."
+ATCfg_Title_20078,"Суммарное пополнение за время события: 34999₽."
 ATCfg_Title_413,Синтезированный багровый посох x1
-ATCfg_Title_20210,"Суммарное пополнение за время события: 1599,99$."
+ATCfg_Title_20210,"Суммарное пополнение за время события: 159999₽."
 ATCfg_Title_13,Cин. задания Ассоциации Демонов 20 р.
 ATCfg_Title_200,Синтез карты Лидера Гниющего Мертвеца ур.2 x1
-ATCfg_Title_691,"Суммарное пополнение за время события: 279,99$."
+ATCfg_Title_691,"Суммарное пополнение за время события: 27999₽."
 ATCfg_Title_20020,Накопл. пополнение на 50000 RO монет
-ATCfg_Title_425,"Суммарное пополнение за время события: 159,99$."
+ATCfg_Title_425,"Суммарное пополнение за время события: 15999₽."
 ATCfg_Title_214,Синтезируйте карту кошмара 3-го уровня x1
 ATCfg_Title_208,Синтетический сверлильный кулак-лезвие x1
-ATCfg_Title_433,"Суммарное пополнение за время события: 999,99$."
+ATCfg_Title_433,"Суммарное пополнение за время события: 99999₽."
 ATCfg_Title_222,Синтетический борцовский шлем x1
 ATCfg_Title_445,Синтезировать карту героя орка 3-го уровня x1
 ATCfg_Title_12,Достигнута 50F Башни Испытаний
 ATCfg_Title_172,Синтезируйте карту взрывной летучей мыши 3-го уровня x1
 ATCfg_Title_349,Синтетический клинок кулака духа ветра x1
-ATCfg_Title_20001,"Накопление попления: 59,99$"
+ATCfg_Title_20001,"Накопление попления: 5999₽"
 ATCfg_Title_357,Синтетический халат создателя x1
 ATCfg_Title_11,Бросьте вызов Залу доблести 30 раз
 ATCfg_Title_369,Синтезировать карту Вожака орловой совы ур.2 x1
@@ -10421,8 +10421,8 @@ ATCfg_Title_301,Сапоги из синтетического диталона
 ATCfg_Title_144,Создать карту Лунной кошки ур.3 x1
 ATCfg_Title_158,Синтез карты Бога Моря ур.3 x1
 ATCfg_Title_313,Синтезируйте карту взрывной летучей мыши 2-го уровня x1
-ATCfg_Title_20171,"Суммарное пополнение за время события: 59,99$."
-ATCfg_Title_20168,"Суммарное пополнение за время события: 1499,99$."
+ATCfg_Title_20171,"Суммарное пополнение за время события: 5999₽."
+ATCfg_Title_20168,"Суммарное пополнение за время события: 149999₽."
 ATCfg_Title_8,Cин. задания Ассоциации Демонов 10 р.
 ATCfg_Title_116,Герой достигает ур.62
 ATCfg_Title_117,Достигнута 320F Башни Испытаний
@@ -10479,7 +10479,7 @@ ATCfg_Title_83,Зол. задание Ассоциации Демонов 5 р.
 ATCfg_Title_82,Достигнута 100F Башни Испытаний
 ATCfg_Title_93,Зол. задание Ассоциации Демонов 10 р.
 ATCfg_Title_92,Достигнута 170F Башни Испытаний
-ATCfg_Title_20031,"Накопление попления: 899,99$"
+ATCfg_Title_20031,"Накопление попления: 89999₽"
 ATCfg_Title_362,Синтезируйте карту монумента ?Генеральный демон? 2-го уровня x1
 ATCfg_Title_20024,Накопл. пополнение на 200000 RO монет
 ATCfg_Title_20023,Накопл. пополнение на 150000 RO монет
@@ -10505,7 +10505,7 @@ ATCfg_Title_20008,Накопл. пополнение на 1500 RO монет
 ATCfg_Title_69,Пройдите любое подземелье Экспедиции 5 раз.
 ATCfg_Title_589,Активный Период Синтеза Шляпа Дирижабля x1
 ATCfg_Title_66,Бросьте вызов Залу доблести 140 раз
-ATCfg_Title_20002,"Накопление попления: 99,99$"
+ATCfg_Title_20002,"Накопление попления: 9490₽"
 ATCfg_Title_67,Достигнута 270F Башни Испытаний
 ATCfg_Title_65,30 шт. снар. качества фиолет и выше
 ATCfg_Title_530,Синтезировать Уровень 2 Карту Бетбо x1
@@ -10525,9 +10525,9 @@ ATCfg_Title_4,Исцелить 1 партнёра
 ATCfg_Title_58,Фиол. задание Ассоциации Демонов 80 р.
 ATCfg_Title_591,Синтезировать плащ дирижабля x1 во время события
 ATCfg_Title_475,Синтезируйте Великий Меч Таноса x1
-ATCfg_Title_20000,"Накопление попления: 9,99$"
+ATCfg_Title_20000,"Накопление попления: 899₽"
 ATCfg_Title_235,Синтез карты Барон Дракула ур.3 x1
-ATCfg_Title_676,"Суммарное пополнение за время события: 14,99$."
+ATCfg_Title_676,"Суммарное пополнение за время события: 1290₽."
 ATCfg_Title_487,Синтезируйте карту ледяного дракона 3-го уровня x1
 ATCfg_Title_56,Бросьте вызов Залу доблести 120 раз
 ATCfg_Title_1,Герой достигает ур.15
@@ -10560,7 +10560,7 @@ ATCfg_Title_620,Синтезируйте Кулачный клинок из че
 ATCfg_Title_618,Синтезируйте Проклятый лук x1 во время события
 ATCfg_Title_617,Во время события синтезируйте палочку гипнотизера x1
 ATCfg_Title_43,Фиол. задание Ассоциации Демонов 50 р.
-ATCfg_Title_20032,"Накопление попления: 1199,99$"
+ATCfg_Title_20032,"Накопление попления: 119999₽"
 ATCfg_Title_3,Cин. задания Ассоциации Демонов 4 р.
 ATCfg_Title_41,Бросьте вызов Залу доблести 90 раз
 ATCfg_Title_355,Синтезируйте карту кошмара 2-го уровня x1
@@ -10971,11 +10971,11 @@ DCCfg_TaskConditionDesc_405,Очищение всего снар. у 4 чело
 DCCfg_Name_406,Элитный учитель
 DCCfg_TaskConditionDesc_406,Очищение всего снар. у 4 человек +15
 DCCfg_Name_206,Капра VIP
-DCCfg_TaskConditionDesc_206,Накопленный депозит в размере 99 долларов за один день (прогресс обнуляется в 5 часов)
+DCCfg_TaskConditionDesc_206,Накопл. пополнение 9490₽ в день (сброс в 5:00)
 DCCfg_Name_401,Золотой Воин
 DCCfg_TaskConditionDesc_401,В бою все участники полностью экипированы снар. золот. качества
 DCCfg_Name_207,Лидер Капра
-DCCfg_TaskConditionDesc_207,Накопленный депозит за один день составляет 1199₽ (прогресс обнуляется в 5 часов)
+DCCfg_TaskConditionDesc_207,Накопл. пополнение 119900₽ в день (сброс в 5:00)
 DCCfg_Name_403,Твердый переплет
 DCCfg_TaskConditionDesc_403,Очищение всего снар. у 4 человек +5
 DCCfg_Name_412,Мастер мастерства
@@ -10983,7 +10983,7 @@ DCCfg_TaskConditionDesc_412,Продвинутые 2 навыка
 DCCfg_Name_413,Мастер мастерства
 DCCfg_TaskConditionDesc_413,Продвинутые 10 навыка
 DCCfg_Name_205,Член Капры
-DCCfg_TaskConditionDesc_205,Накопленный депозит в размере 9 долларов за один день (прогресс обнуляется в 5 часов)
+DCCfg_TaskConditionDesc_205,Накопл. пополнение 899₽ в день (сброс в 5:00)
 DCCfg_Name_408,Blue Print Экстраординарный
 DCCfg_TaskConditionDesc_408,1 питомец в бою оснащен набором меток питомца синего качества.
 DCCfg_Name_409,Фиолетовая Печать Экстраординарная
@@ -13872,7 +13872,7 @@ ICfg_Describe_227,После открытия вы можете получить
 ICfg_Name_227,Фрагменты артефакта MVP
 ICfg_Describe_12835,"Соберите 20 фрагментов карты Золотого жука, чтобы синтезировать 1 карту Золотого жука."
 ICfg_Name_12835,Фрагмент карты ?Золотой жук?
-ICfg_Describe_4,Опыт работы
+ICfg_Describe_4,EXP профессии
 ICfg_Describe_8013,Ангельская накидка с превосходным сохранением тепла
 ICfg_Describe_11213,"После открытия вы можете случайным образом получить одну из следующих наград:\n(Сундук с выбором артефакта 4 зв, Сундук с выбором артефакта 3 зв, Альбом карт MVP, Яйцо питомца Mvp, Фрагмент карты MVP, Фиол. снаряжение T1, опыт главного героя, Серебро, опыт партнера, опыт навыков)"
 ICfg_Name_11213,Подарочная коробка короля демонов 3 уровня
@@ -18915,22 +18915,22 @@ RobotCfg_RobotName_1349,Лю Бэй
 RobotCfg_RobotName_1656,Волк-царь Гу Цзе
 RobotCfg_RobotName_1094,Чжан Санфэн
 RobotCfg_RobotName_20006,Хань Цайин
-RobotCfg_RobotName_10004,Охранник додзё третьего уровня
+RobotCfg_RobotName_10004,Страж додзё ур.3
 RobotCfg_RobotName_1494,Брат Цицань
 RobotCfg_RobotName_1446,Чжан Фэй
 RobotCfg_RobotName_20003,Царь овец Гоу Хо
-RobotCfg_RobotName_10005,Охранник додзё четвёртого уровня
+RobotCfg_RobotName_10005,Страж додзё ур.4
 RobotCfg_RobotName_20009,Полив цветов каждый день
 RobotCfg_RobotName_20007,Вершина — маленькая ведьма
-RobotCfg_RobotName_10003,Охранник додзё второго уровня
+RobotCfg_RobotName_10003,Страж додзё ур.2
 RobotCfg_RobotName_20008,Красивая Сяо Цзинь
 RobotCfg_RobotName_20010,Сотрудник Капры
 RobotCfg_RobotName_20005,Чёрная комната
 RobotCfg_RobotName_20004,Секретарь Капры (женщина)
 RobotCfg_RobotName_20002,Вершина — большой демон
 RobotCfg_RobotName_20001,Мисс Капра
-RobotCfg_RobotName_10002,Охранник додзё первого уровня
-RobotCfg_RobotName_10001,Охранник додзё особого уровня
+RobotCfg_RobotName_10002,Страж додзё ур.1
+RobotCfg_RobotName_10001,Страж додзё выс. ур.
 RobotCfg_RobotName_10000,Охранник додзё высшего уровня
 ExpeditionCfg_Name_5001,Пролив Дрейка
 ExpeditionCfg_UnlockDesc_5001,Открывается после прохождения Храма Ата

+ 4 - 4
ProjectSettings/ProjectSettings.asset

@@ -13,7 +13,7 @@ PlayerSettings:
   useOnDemandResources: 0
   accelerometerFrequency: 60
   companyName: WentingTec
-  productName: "\u0420\u044B\u0446\u0430\u0440\u0441\u043A\u0430\u044F \u043B\u0435\u0433\u0435\u043D\u0434\u0430"
+  productName: "\u0420\u0430\u0433\u043D\u0430\u0440\u0451\u043A \u041E\u043D\u043B\u0430\u0439\u043D"
   defaultCursor: {fileID: 0}
   cursorHotspot: {x: 0, y: 0}
   m_SplashScreenBackgroundColor: {r: 1, g: 1, b: 1, a: 1}
@@ -138,7 +138,7 @@ PlayerSettings:
     16:10: 1
     16:9: 1
     Others: 1
-  bundleVersion: 0.1.0
+  bundleVersion: 1.0.0.0
   preloadedAssets: []
   metroInputSource: 0
   wsaTransparentSwapchain: 0
@@ -846,10 +846,10 @@ PlayerSettings:
   webGLDecompressionFallback: 1
   webGLPowerPreference: 1
   scriptingDefineSymbols:
-    Android: USE_LUA;VUPLEX_CCU
+    Android: USE_LUA;VUPLEX_CCU;FPS_DISABLE
     Standalone: USE_LUA;VUPLEX_CCU
     WebGL: USE_LUA;VUPLEX_CCU
-    iPhone: USE_LUA;VUPLEX_CCU;FPS_DISABLE
+    iPhone: USE_LUA;VUPLEX_CCU
   additionalCompilerArguments: {}
   platformArchitecture:
     iPhone: 1

Некоторые файлы не были показаны из-за большого количества измененных файлов