fix: 统一装备图标 + 评估翻译 + 警告清理 + 连续训练修复
- EditorContentCtrl: 统一使用carIcon.png作为所有装备图标 - TransportScoreCtrl: 添加LanguageChanged订阅实时翻译最短耗时/转运耗时 - AppraiseSliderCtrl: 评价指标名称用Get()翻译 - WaitResultPanel: 评价等级用Get()翻译避免先闪中文 - EditorAppraiser: 厂区距离提示中厂区名称先Get()翻译 - GameObjectManager: 距离提示用Get()翻译 - StudentSub2EditorPanel: Text_terrainName同步+实时翻译, SetPromptLocalized - StudentSub1EditorPanel: 地形名SetFormatted+DisplayName实时翻译 - Subject1EditorCtrl: InitCarIcon用RemoveAll+CreatChildren重建 - Subject2EditorCtrl: 编辑想定设置地形下拉框, CreatOnMapCar回退装备列表图标 - SubStart: 车辆列表为空时回退CameraPos定位相机 - StreamingAssetsManager: 移除GetPath中Debug.LogWarning - 5吨火炮拆装车_Tex替换为统一图标 - 新增评估因素/分组错误翻译条目 - 所有UI预制体verticalOverflow改为Overflow
This commit is contained in:
parent
31a3fb4f30
commit
1481c1c6f3
@ -1,11 +1,10 @@
|
||||
{
|
||||
"unity_port": 52435,
|
||||
"stream_port": 49756,
|
||||
"unity_port": 64000,
|
||||
"stream_port": 60971,
|
||||
"created_date": "2026-07-02T06:04:43.8452691Z",
|
||||
"project_path": "C:/Users/27228/Desktop/0520Client/0520Client/Assets",
|
||||
"reloading": false,
|
||||
"reason": "ready",
|
||||
"seq": 183431,
|
||||
"last_heartbeat": "2026-08-04T02:32:38.354Z"
|
||||
}"
|
||||
"seq": 46,
|
||||
"last_heartbeat": "2026-08-04T06:09:29.816Z"
|
||||
}
|
||||
@ -80,3 +80,5 @@ Panel_studentSub2=UIPrefab/Panel/student/Panel_studentSub2
|
||||
Panel_studentSub3推演=UIPrefab/Panel/student/Panel_studentSub3推演
|
||||
Panel_studentWatingMain=UIPrefab/Panel/student/Panel_studentWatingMain
|
||||
Panel_WaitResultPanel=UIPrefab/Panel/student/Panel_WaitResultPanel
|
||||
编队行军编辑界面-_0001_东风后勤保障=Sprite/编队行军编辑界面-_0001_东风后勤保障
|
||||
carIcon=carIcon
|
||||
|
||||
BIN
Assets/Resources/Sprite/编队行军编辑界面-_0001_东风后勤保障.png
Normal file
BIN
Assets/Resources/Sprite/编队行军编辑界面-_0001_东风后勤保障.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 6.9 KiB |
92
Assets/Resources/Sprite/编队行军编辑界面-_0001_东风后勤保障.png.meta
Normal file
92
Assets/Resources/Sprite/编队行军编辑界面-_0001_东风后勤保障.png.meta
Normal file
@ -0,0 +1,92 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 160c40d95342eb04c8c555b36279be6e
|
||||
TextureImporter:
|
||||
internalIDToNameTable: []
|
||||
externalObjects: {}
|
||||
serializedVersion: 11
|
||||
mipmaps:
|
||||
mipMapMode: 0
|
||||
enableMipMap: 1
|
||||
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
|
||||
grayScaleToAlpha: 0
|
||||
generateCubemap: 6
|
||||
cubemapConvolution: 0
|
||||
seamlessCubemap: 0
|
||||
textureFormat: 1
|
||||
maxTextureSize: 2048
|
||||
textureSettings:
|
||||
serializedVersion: 2
|
||||
filterMode: 1
|
||||
aniso: 1
|
||||
mipBias: 0
|
||||
wrapU: 0
|
||||
wrapV: 0
|
||||
wrapW: 0
|
||||
nPOTScale: 1
|
||||
lightmap: 0
|
||||
compressionQuality: 50
|
||||
spriteMode: 0
|
||||
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: 0
|
||||
spriteTessellationDetail: -1
|
||||
textureType: 0
|
||||
textureShape: 1
|
||||
singleChannelComponent: 0
|
||||
maxTextureSizeSet: 0
|
||||
compressionQualitySet: 0
|
||||
textureFormatSet: 0
|
||||
applyGammaDecoding: 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
|
||||
spriteSheet:
|
||||
serializedVersion: 2
|
||||
sprites: []
|
||||
outline: []
|
||||
physicsShape: []
|
||||
bones: []
|
||||
spriteID:
|
||||
internalID: 0
|
||||
vertices: []
|
||||
indices:
|
||||
edges: []
|
||||
weights: []
|
||||
secondaryTextures: []
|
||||
spritePackingTag:
|
||||
pSDRemoveMatte: 0
|
||||
pSDShowRemoveMatteOption: 0
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@ -1,4 +1,4 @@
|
||||
%YAML 1.1
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!1 &3616374059221973013
|
||||
GameObject:
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
%YAML 1.1
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!1 &1106984069965660
|
||||
GameObject:
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
%YAML 1.1
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!1 &214484058097580011
|
||||
GameObject:
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
%YAML 1.1
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!1 &1370150282
|
||||
GameObject:
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
%YAML 1.1
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!1 &7813618798179688436
|
||||
GameObject:
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
%YAML 1.1
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!1 &589691519999409300
|
||||
GameObject:
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
%YAML 1.1
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!1 &3315967724757797640
|
||||
GameObject:
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
%YAML 1.1
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!1 &3108833167014843931
|
||||
GameObject:
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
%YAML 1.1
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!1 &3125547545627911407
|
||||
GameObject:
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
%YAML 1.1
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!1 &82058828772843888
|
||||
GameObject:
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
%YAML 1.1
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!1 &8402700412858976255
|
||||
GameObject:
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
%YAML 1.1
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!1 &3434091835877576161
|
||||
GameObject:
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
%YAML 1.1
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!1 &3590280462961183066
|
||||
GameObject:
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
%YAML 1.1
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!1 &1274072925730314405
|
||||
GameObject:
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
%YAML 1.1
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!1 &868351462890481783
|
||||
GameObject:
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
%YAML 1.1
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!1 &844052711166502400
|
||||
GameObject:
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
%YAML 1.1
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!1 &1193932761403511005
|
||||
GameObject:
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
%YAML 1.1
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!1 &1005779247420219473
|
||||
GameObject:
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
%YAML 1.1
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!1 &6487249514628813768
|
||||
GameObject:
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
%YAML 1.1
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!1 &2148298613770932290
|
||||
GameObject:
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
%YAML 1.1
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!1 &487893749556672722
|
||||
GameObject:
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
%YAML 1.1
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!1 &3313869782843363496
|
||||
GameObject:
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
%YAML 1.1
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!1 &303071113378937640
|
||||
GameObject:
|
||||
@ -1823,7 +1823,7 @@ MonoBehaviour:
|
||||
m_EditorClassIdentifier:
|
||||
childPrefab: {fileID: 5284238725627834056, guid: e190eb2c827322e489d5422bb64761c9,
|
||||
type: 3}
|
||||
needSprite: 0
|
||||
needSprite: 1
|
||||
buildInSprite: 0
|
||||
--- !u!1 &4298130452376964379
|
||||
GameObject:
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
%YAML 1.1
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!1 &876993476989344154
|
||||
GameObject:
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
%YAML 1.1
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!1 &1935207593513568508
|
||||
GameObject:
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
%YAML 1.1
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!1 &15625365078616507
|
||||
GameObject:
|
||||
@ -2839,6 +2839,7 @@ MonoBehaviour:
|
||||
m_CaretBlinkRate: 0.85
|
||||
m_CaretWidth: 1
|
||||
m_ReadOnly: 0
|
||||
m_ShouldActivateOnSelect: 1
|
||||
--- !u!1 &6722779735168275860
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
%YAML 1.1
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!1 &876993476989344154
|
||||
GameObject:
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
%YAML 1.1
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!1 &3045505165218802427
|
||||
GameObject:
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
%YAML 1.1
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!1 &27537736769312482
|
||||
GameObject:
|
||||
@ -6396,6 +6396,7 @@ MonoBehaviour:
|
||||
m_CaretBlinkRate: 0.85
|
||||
m_CaretWidth: 1
|
||||
m_ReadOnly: 0
|
||||
m_ShouldActivateOnSelect: 1
|
||||
--- !u!1 &6969781580255018737
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
%YAML 1.1
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!1 &2905738067223659177
|
||||
GameObject:
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
%YAML 1.1
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!1 &5189025931152347541
|
||||
GameObject:
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
%YAML 1.1
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!1 &677944956668035580
|
||||
GameObject:
|
||||
@ -241,7 +241,7 @@ MonoBehaviour:
|
||||
m_HorizontalOverflow: 1
|
||||
m_VerticalOverflow: 1
|
||||
m_LineSpacing: 1
|
||||
m_Text: "\u8F6C\u8FD0\u8017\u65F6\uFF1A5\u520615\u79D2"
|
||||
m_Text:
|
||||
--- !u!1 &3598891298843645712
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
@ -570,7 +570,7 @@ MonoBehaviour:
|
||||
m_HorizontalOverflow: 0
|
||||
m_VerticalOverflow: 1
|
||||
m_LineSpacing: 1
|
||||
m_Text: "\u67E5\u770B\u5E03\u5C40"
|
||||
m_Text: \u67E5\u770B\u5E03\u5C40
|
||||
--- !u!1 &5717351215093549152
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
@ -723,7 +723,7 @@ MonoBehaviour:
|
||||
m_HorizontalOverflow: 1
|
||||
m_VerticalOverflow: 1
|
||||
m_LineSpacing: 1
|
||||
m_Text: "\u6700\u77ED\u8017\u65F6\uFF1A"
|
||||
m_Text:
|
||||
--- !u!1 &7570292331416418713
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
%YAML 1.1
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!1 &4151171443173648906
|
||||
GameObject:
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
%YAML 1.1
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!1 &723290734874051712
|
||||
GameObject:
|
||||
@ -2526,8 +2526,8 @@ RectTransform:
|
||||
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: -224, y: 358}
|
||||
m_SizeDelta: {x: 160, y: 30}
|
||||
m_AnchoredPosition: {x: -18.450012, y: 358}
|
||||
m_SizeDelta: {x: 571.1, y: 30}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!222 &4614399930633415736
|
||||
CanvasRenderer:
|
||||
@ -2560,14 +2560,14 @@ MonoBehaviour:
|
||||
m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
|
||||
m_FontSize: 22
|
||||
m_FontStyle: 0
|
||||
m_BestFit: 0
|
||||
m_MinSize: 2
|
||||
m_MaxSize: 40
|
||||
m_BestFit: 1
|
||||
m_MinSize: 20
|
||||
m_MaxSize: 22
|
||||
m_Alignment: 3
|
||||
m_AlignByGeometry: 0
|
||||
m_AlignByGeometry: 1
|
||||
m_RichText: 1
|
||||
m_HorizontalOverflow: 0
|
||||
m_VerticalOverflow: 1
|
||||
m_VerticalOverflow: 0
|
||||
m_LineSpacing: 1
|
||||
m_Text: "\u64CD\u4F5C\u8BE6\u60C5\uFF1A"
|
||||
--- !u!1 &6433369456735920292
|
||||
@ -2835,8 +2835,8 @@ RectTransform:
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0.5}
|
||||
m_AnchorMax: {x: 0, y: 0.5}
|
||||
m_AnchoredPosition: {x: 115, y: 401}
|
||||
m_SizeDelta: {x: 160, y: 30}
|
||||
m_AnchoredPosition: {x: 335.1, y: 401}
|
||||
m_SizeDelta: {x: 600, y: 30}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!222 &8024291315218636464
|
||||
CanvasRenderer:
|
||||
@ -2869,14 +2869,14 @@ MonoBehaviour:
|
||||
m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
|
||||
m_FontSize: 18
|
||||
m_FontStyle: 0
|
||||
m_BestFit: 0
|
||||
m_MinSize: 1
|
||||
m_MaxSize: 40
|
||||
m_BestFit: 1
|
||||
m_MinSize: 15
|
||||
m_MaxSize: 18
|
||||
m_Alignment: 3
|
||||
m_AlignByGeometry: 0
|
||||
m_RichText: 1
|
||||
m_HorizontalOverflow: 1
|
||||
m_VerticalOverflow: 1
|
||||
m_HorizontalOverflow: 0
|
||||
m_VerticalOverflow: 0
|
||||
m_LineSpacing: 1
|
||||
m_Text: "\u5B66\u5458:457898 \u5B8C\u6210\u8BAD\u7EC3\u79D1\u76EE\uFF1A\u7F16\u961F\u884C\u519B+\u4FEE\u7406\u6240\u5C55\u5F00"
|
||||
--- !u!1 &6611560986485133716
|
||||
@ -2897,7 +2897,7 @@ GameObject:
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
m_IsActive: 0
|
||||
--- !u!224 &3515239700554139175
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
@ -3143,6 +3143,7 @@ MonoBehaviour:
|
||||
m_CaretBlinkRate: 0.85
|
||||
m_CaretWidth: 1
|
||||
m_ReadOnly: 0
|
||||
m_ShouldActivateOnSelect: 1
|
||||
--- !u!1 &7109321623463882742
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
@ -3759,7 +3760,7 @@ RectTransform:
|
||||
m_RootOrder: 0
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 1, y: 1}
|
||||
m_AnchoredPosition: {x: 0, y: 0}
|
||||
m_SizeDelta: {x: 0, y: 20}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
@ -3827,26 +3828,21 @@ PrefabInstance:
|
||||
propertyPath: m_Name
|
||||
value: TransportTimePre
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 5346773284729297405, guid: 628be995583da79498bb64c7335f4d85,
|
||||
type: 3}
|
||||
propertyPath: m_AnchoredPosition.x
|
||||
value: 90
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 5346773284729297405, guid: 628be995583da79498bb64c7335f4d85,
|
||||
type: 3}
|
||||
propertyPath: m_AnchorMin.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 5346773284729297405, guid: 628be995583da79498bb64c7335f4d85,
|
||||
type: 3}
|
||||
propertyPath: m_AnchorMax.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 5363330708825747453, guid: 628be995583da79498bb64c7335f4d85,
|
||||
- target: {fileID: 5346773284729297405, guid: 628be995583da79498bb64c7335f4d85,
|
||||
type: 3}
|
||||
propertyPath: m_AnchorMin.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 5346773284729297405, guid: 628be995583da79498bb64c7335f4d85,
|
||||
type: 3}
|
||||
propertyPath: m_AnchoredPosition.x
|
||||
value: 90
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 5363330708825747453, guid: 628be995583da79498bb64c7335f4d85,
|
||||
type: 3}
|
||||
propertyPath: m_AnchorMax.x
|
||||
@ -3857,9 +3853,19 @@ PrefabInstance:
|
||||
propertyPath: m_AnchorMax.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 5363330708825747453, guid: 628be995583da79498bb64c7335f4d85,
|
||||
type: 3}
|
||||
propertyPath: m_AnchorMin.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 5966996696604502574, guid: 628be995583da79498bb64c7335f4d85,
|
||||
type: 3}
|
||||
propertyPath: m_Color.r
|
||||
propertyPath: m_Color.a
|
||||
value: 0.5803922
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 5966996696604502574, guid: 628be995583da79498bb64c7335f4d85,
|
||||
type: 3}
|
||||
propertyPath: m_Color.b
|
||||
value: 0.4528302
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 5966996696604502574, guid: 628be995583da79498bb64c7335f4d85,
|
||||
@ -3869,13 +3875,53 @@ PrefabInstance:
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 5966996696604502574, guid: 628be995583da79498bb64c7335f4d85,
|
||||
type: 3}
|
||||
propertyPath: m_Color.b
|
||||
propertyPath: m_Color.r
|
||||
value: 0.4528302
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 5966996696604502574, guid: 628be995583da79498bb64c7335f4d85,
|
||||
- target: {fileID: 6516190488594330770, guid: 628be995583da79498bb64c7335f4d85,
|
||||
type: 3}
|
||||
propertyPath: m_Color.a
|
||||
value: 0.5803922
|
||||
propertyPath: m_Pivot.x
|
||||
value: 0.5
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6516190488594330770, guid: 628be995583da79498bb64c7335f4d85,
|
||||
type: 3}
|
||||
propertyPath: m_Pivot.y
|
||||
value: 0.5
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6516190488594330770, guid: 628be995583da79498bb64c7335f4d85,
|
||||
type: 3}
|
||||
propertyPath: m_RootOrder
|
||||
value: 12
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6516190488594330770, guid: 628be995583da79498bb64c7335f4d85,
|
||||
type: 3}
|
||||
propertyPath: m_AnchorMax.x
|
||||
value: 1
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6516190488594330770, guid: 628be995583da79498bb64c7335f4d85,
|
||||
type: 3}
|
||||
propertyPath: m_AnchorMax.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6516190488594330770, guid: 628be995583da79498bb64c7335f4d85,
|
||||
type: 3}
|
||||
propertyPath: m_AnchorMin.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6516190488594330770, guid: 628be995583da79498bb64c7335f4d85,
|
||||
type: 3}
|
||||
propertyPath: m_AnchorMin.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6516190488594330770, guid: 628be995583da79498bb64c7335f4d85,
|
||||
type: 3}
|
||||
propertyPath: m_SizeDelta.x
|
||||
value: -80
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6516190488594330770, guid: 628be995583da79498bb64c7335f4d85,
|
||||
type: 3}
|
||||
propertyPath: m_SizeDelta.y
|
||||
value: 40
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6516190488594330770, guid: 628be995583da79498bb64c7335f4d85,
|
||||
type: 3}
|
||||
@ -3892,6 +3938,11 @@ PrefabInstance:
|
||||
propertyPath: m_LocalPosition.z
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6516190488594330770, guid: 628be995583da79498bb64c7335f4d85,
|
||||
type: 3}
|
||||
propertyPath: m_LocalRotation.w
|
||||
value: 1
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6516190488594330770, guid: 628be995583da79498bb64c7335f4d85,
|
||||
type: 3}
|
||||
propertyPath: m_LocalRotation.x
|
||||
@ -3909,13 +3960,13 @@ PrefabInstance:
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6516190488594330770, guid: 628be995583da79498bb64c7335f4d85,
|
||||
type: 3}
|
||||
propertyPath: m_LocalRotation.w
|
||||
value: 1
|
||||
propertyPath: m_AnchoredPosition.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6516190488594330770, guid: 628be995583da79498bb64c7335f4d85,
|
||||
type: 3}
|
||||
propertyPath: m_RootOrder
|
||||
value: 12
|
||||
propertyPath: m_AnchoredPosition.y
|
||||
value: 193
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6516190488594330770, guid: 628be995583da79498bb64c7335f4d85,
|
||||
type: 3}
|
||||
@ -3932,65 +3983,10 @@ PrefabInstance:
|
||||
propertyPath: m_LocalEulerAnglesHint.z
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6516190488594330770, guid: 628be995583da79498bb64c7335f4d85,
|
||||
type: 3}
|
||||
propertyPath: m_AnchoredPosition.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6516190488594330770, guid: 628be995583da79498bb64c7335f4d85,
|
||||
type: 3}
|
||||
propertyPath: m_AnchoredPosition.y
|
||||
value: 193
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6516190488594330770, guid: 628be995583da79498bb64c7335f4d85,
|
||||
type: 3}
|
||||
propertyPath: m_SizeDelta.x
|
||||
value: -80
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6516190488594330770, guid: 628be995583da79498bb64c7335f4d85,
|
||||
type: 3}
|
||||
propertyPath: m_SizeDelta.y
|
||||
value: 40
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6516190488594330770, guid: 628be995583da79498bb64c7335f4d85,
|
||||
type: 3}
|
||||
propertyPath: m_AnchorMin.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6516190488594330770, guid: 628be995583da79498bb64c7335f4d85,
|
||||
type: 3}
|
||||
propertyPath: m_AnchorMin.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6516190488594330770, guid: 628be995583da79498bb64c7335f4d85,
|
||||
type: 3}
|
||||
propertyPath: m_AnchorMax.x
|
||||
value: 1
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6516190488594330770, guid: 628be995583da79498bb64c7335f4d85,
|
||||
type: 3}
|
||||
propertyPath: m_AnchorMax.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6516190488594330770, guid: 628be995583da79498bb64c7335f4d85,
|
||||
type: 3}
|
||||
propertyPath: m_Pivot.x
|
||||
value: 0.5
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6516190488594330770, guid: 628be995583da79498bb64c7335f4d85,
|
||||
type: 3}
|
||||
propertyPath: m_Pivot.y
|
||||
value: 0.5
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 7155700665145742217, guid: 628be995583da79498bb64c7335f4d85,
|
||||
type: 3}
|
||||
propertyPath: m_Enabled
|
||||
value: 1
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 7155700665145742217, guid: 628be995583da79498bb64c7335f4d85,
|
||||
type: 3}
|
||||
propertyPath: m_Color.r
|
||||
value: 0.18823531
|
||||
propertyPath: m_Color.b
|
||||
value: 0.8705883
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 7155700665145742217, guid: 628be995583da79498bb64c7335f4d85,
|
||||
type: 3}
|
||||
@ -3999,12 +3995,17 @@ PrefabInstance:
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 7155700665145742217, guid: 628be995583da79498bb64c7335f4d85,
|
||||
type: 3}
|
||||
propertyPath: m_Color.b
|
||||
value: 0.8705883
|
||||
propertyPath: m_Color.r
|
||||
value: 0.18823531
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 7155700665145742217, guid: 628be995583da79498bb64c7335f4d85,
|
||||
type: 3}
|
||||
propertyPath: m_Enabled
|
||||
value: 1
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 7779599871585014926, guid: 628be995583da79498bb64c7335f4d85,
|
||||
type: 3}
|
||||
propertyPath: m_Color.r
|
||||
propertyPath: m_Color.b
|
||||
value: 1
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 7779599871585014926, guid: 628be995583da79498bb64c7335f4d85,
|
||||
@ -4014,12 +4015,12 @@ PrefabInstance:
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 7779599871585014926, guid: 628be995583da79498bb64c7335f4d85,
|
||||
type: 3}
|
||||
propertyPath: m_Color.b
|
||||
propertyPath: m_Color.r
|
||||
value: 1
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 8925505950675575926, guid: 628be995583da79498bb64c7335f4d85,
|
||||
type: 3}
|
||||
propertyPath: m_Color.r
|
||||
propertyPath: m_Color.b
|
||||
value: 1
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 8925505950675575926, guid: 628be995583da79498bb64c7335f4d85,
|
||||
@ -4029,12 +4030,12 @@ PrefabInstance:
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 8925505950675575926, guid: 628be995583da79498bb64c7335f4d85,
|
||||
type: 3}
|
||||
propertyPath: m_Color.b
|
||||
propertyPath: m_Color.r
|
||||
value: 1
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 9105819362390779676, guid: 628be995583da79498bb64c7335f4d85,
|
||||
type: 3}
|
||||
propertyPath: m_Color.r
|
||||
propertyPath: m_Color.b
|
||||
value: 1
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 9105819362390779676, guid: 628be995583da79498bb64c7335f4d85,
|
||||
@ -4044,7 +4045,7 @@ PrefabInstance:
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 9105819362390779676, guid: 628be995583da79498bb64c7335f4d85,
|
||||
type: 3}
|
||||
propertyPath: m_Color.b
|
||||
propertyPath: m_Color.r
|
||||
value: 1
|
||||
objectReference: {fileID: 0}
|
||||
m_RemovedComponents: []
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
%YAML 1.1
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!1 &1310088295168634044
|
||||
GameObject:
|
||||
@ -391,6 +391,7 @@ MonoBehaviour:
|
||||
m_CaretBlinkRate: 0.85
|
||||
m_CaretWidth: 1
|
||||
m_ReadOnly: 0
|
||||
m_ShouldActivateOnSelect: 1
|
||||
--- !u!1 &1310088295257712714
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
@ -749,6 +750,7 @@ MonoBehaviour:
|
||||
m_CaretBlinkRate: 0.85
|
||||
m_CaretWidth: 1
|
||||
m_ReadOnly: 0
|
||||
m_ShouldActivateOnSelect: 1
|
||||
--- !u!1 &1310088295464901117
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
%YAML 1.1
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!1 &45754905435947487
|
||||
GameObject:
|
||||
|
||||
BIN
Assets/Resources/carIcon.png
Normal file
BIN
Assets/Resources/carIcon.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 6.9 KiB |
92
Assets/Resources/carIcon.png.meta
Normal file
92
Assets/Resources/carIcon.png.meta
Normal file
@ -0,0 +1,92 @@
|
||||
fileFormatVersion: 2
|
||||
guid: ea503580c1e44e0e9e2b59a67552d42a
|
||||
TextureImporter:
|
||||
internalIDToNameTable: []
|
||||
externalObjects: {}
|
||||
serializedVersion: 11
|
||||
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
|
||||
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: 1
|
||||
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
|
||||
maxTextureSizeSet: 0
|
||||
compressionQualitySet: 0
|
||||
textureFormatSet: 0
|
||||
applyGammaDecoding: 1
|
||||
platformSettings:
|
||||
- serializedVersion: 3
|
||||
buildTarget: DefaultTexturePlatform
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 0
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
spriteSheet:
|
||||
serializedVersion: 2
|
||||
sprites: []
|
||||
outline: []
|
||||
physicsShape: []
|
||||
bones: []
|
||||
spriteID: 5e97eb03825dee720800000000000000
|
||||
internalID: 0
|
||||
vertices: []
|
||||
indices:
|
||||
edges: []
|
||||
weights: []
|
||||
secondaryTextures: []
|
||||
spritePackingTag:
|
||||
pSDRemoveMatte: 0
|
||||
pSDShowRemoveMatteOption: 0
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
File diff suppressed because it is too large
Load Diff
@ -115,7 +115,6 @@ namespace XFramework
|
||||
}
|
||||
else
|
||||
{
|
||||
Debug.LogWarning($"SAMap中不存在{assetsName}");
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
@ -84,7 +84,6 @@ namespace Public.File
|
||||
if (DllTest.GetOpenFileName(ofn))
|
||||
{
|
||||
string replay_file_name = ofn.file.ToString();
|
||||
Debug.Log(replay_file_name);
|
||||
return replay_file_name;
|
||||
}
|
||||
else
|
||||
|
||||
@ -15,23 +15,51 @@ public class TransportScoreCtrl : MonoBehaviour
|
||||
UnityAction<float> scoreChangedEvent;
|
||||
|
||||
float useTime;
|
||||
// Start is called before the first frame update
|
||||
bool subscribed;
|
||||
|
||||
void Awake()
|
||||
{
|
||||
setBestTime.minValue = 1;
|
||||
setBestTime.maxValue = 60;
|
||||
setBestTime.value = 10;//默认处于10分钟状态
|
||||
setBestTime.value = 10;
|
||||
setBestTime.wholeNumbers = true;
|
||||
setBestTime.onValueChanged.AddListener(SliderValueChanged);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 注入初始化数据 注册分数变化事件 返回初始得分
|
||||
/// </summary>
|
||||
/// <param name="time">秒数</param>
|
||||
/// <param name="scoreChanged">分数变化事件</param>
|
||||
/// <returns>分数 </returns>
|
||||
public float InjectTimeGetScore(float time,UnityAction<float > scoreChanged )
|
||||
void OnEnable()
|
||||
{
|
||||
if (!subscribed)
|
||||
{
|
||||
LocalizationManager.LanguageChanged += OnLanguageChanged;
|
||||
subscribed = true;
|
||||
}
|
||||
}
|
||||
|
||||
void OnDisable()
|
||||
{
|
||||
if (subscribed)
|
||||
{
|
||||
LocalizationManager.LanguageChanged -= OnLanguageChanged;
|
||||
subscribed = false;
|
||||
}
|
||||
scoreChangedEvent = null;
|
||||
setBestTime.value = 10;
|
||||
}
|
||||
|
||||
private void OnLanguageChanged()
|
||||
{
|
||||
if (showBestTime != null && !string.IsNullOrEmpty(showBestTime.text))
|
||||
{
|
||||
LocalizationManager.SetFormatted(showBestTime, "{0}分钟", setBestTime.value);
|
||||
}
|
||||
if (showUseTime != null && !string.IsNullOrEmpty(showUseTime.text) && useTime > 0)
|
||||
{
|
||||
TimeSpan ts = TimeSpan.FromSeconds(useTime);
|
||||
LocalizationManager.SetFormatted(showUseTime, "转运耗时:{0}分:{1}秒", ts.Minutes, ts.Seconds);
|
||||
}
|
||||
}
|
||||
|
||||
public float InjectTimeGetScore(float time, UnityAction<float> scoreChanged)
|
||||
{
|
||||
useTime = time;
|
||||
TimeSpan ts = TimeSpan.FromSeconds(time);
|
||||
@ -40,25 +68,16 @@ public class TransportScoreCtrl : MonoBehaviour
|
||||
return GetScore(setBestTime.value);
|
||||
}
|
||||
|
||||
|
||||
//计算 扣除分数
|
||||
float GetScore(float bestTime)
|
||||
{
|
||||
float bestTimeSeconds = bestTime * 60; //设置的是分钟 改为秒
|
||||
if (bestTime * 60 >= useTime)//未超过最佳时间 不扣分
|
||||
if (bestTime * 60 >= useTime)
|
||||
return 0;
|
||||
return 100 -100* bestTime / useTime; //超出时按照超出比例计算扣除分数 满分100
|
||||
return 100 - 100 * bestTime / useTime;
|
||||
}
|
||||
|
||||
private void SliderValueChanged( float value )
|
||||
private void SliderValueChanged(float value)
|
||||
{
|
||||
LocalizationManager.SetFormatted(showBestTime, "{0}分钟", value);
|
||||
scoreChangedEvent?.Invoke(GetScore(value));
|
||||
}
|
||||
|
||||
private void OnDisable()
|
||||
{
|
||||
scoreChangedEvent = null;
|
||||
setBestTime.value = 10;//默认处于10分钟状态
|
||||
}
|
||||
}
|
||||
|
||||
@ -195,12 +195,15 @@ public class Subject1EditorCtrl : SubjectEditorBase
|
||||
|
||||
private void InitCarIcon()
|
||||
{
|
||||
Dictionary<string, EquipIconData> selectCars = new Dictionary<string, EquipIconData>();
|
||||
// 先清除之前的装备图标 避免残留
|
||||
equipContent.RemoveAll();
|
||||
// 重新创建所有装备图标
|
||||
List<string> carNames = new List<string>();
|
||||
for (int i = 0; i < recordClass.usedEquips.Count; i++)
|
||||
{
|
||||
selectCars[recordClass.usedEquips[i].name] = recordClass.usedEquips[i];
|
||||
carNames.Add(recordClass.usedEquips[i].name);
|
||||
}
|
||||
equipContent.SetInitMsg(selectCars);
|
||||
equipContent.CreatChildren(carNames.ToArray(), EquipIconCreatOver);
|
||||
}
|
||||
|
||||
//关闭界面时初始化界面
|
||||
|
||||
@ -207,11 +207,26 @@ public class Subject2EditorCtrl : SubjectEditorBase
|
||||
//直接在地图上创建车辆信息
|
||||
private async void CreatOnMapCar( List<OnMapCarData> onMapCars)
|
||||
{
|
||||
for (int i = 0; i < recordClass.onMapCars.Count; i++)//创建车辆图标 并放置在地图上
|
||||
for (int i = 0; i < recordClass.onMapCars.Count; i++)
|
||||
{
|
||||
string equipTypeName = onMapCars[i].name.Split('(')[0];
|
||||
string path = StreamingAssetsManager.GetPath($"{equipTypeName}_Tex");
|
||||
Sprite sprite = await OutSpriteLoader.LoadSprite(path);
|
||||
string texKey = $"{equipTypeName}_Tex";
|
||||
string path = StreamingAssetsManager.GetPath(texKey);
|
||||
Sprite sprite = null;
|
||||
if (!string.IsNullOrEmpty(path))
|
||||
sprite = await OutSpriteLoader.LoadSprite(path);
|
||||
// 如果外部贴图加载失败,从装备列表中查找对应图标
|
||||
if (sprite == null)
|
||||
{
|
||||
foreach (var icon in equipContent.children.Values)
|
||||
{
|
||||
if (icon.text_IconName.text == equipTypeName)
|
||||
{
|
||||
sprite = icon.image_Icon.sprite;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
IconBase iconBase= CreatCarInstance(onMapCars[i].name, sprite);
|
||||
iconBase.GetComponent<DragIcon>()?.SetFixedAnchoredPos(new Vector2(onMapCars[i].aPX, onMapCars[i].aPY));
|
||||
AddOrRemoveCarOnMap(iconBase as CarIconInstanceCtrl,true);
|
||||
|
||||
@ -16,57 +16,52 @@ public class EditorContentCtrl : MonoBehaviour
|
||||
[Header("内部数据时勾选 否则加载外部数据")]
|
||||
public bool buildInSprite;
|
||||
public Dictionary<string, IconBase> children { get { return iconDic; } }
|
||||
/// <summary>
|
||||
/// 创建一系列子物体 加载外部UI资源时 使用await等待资源加载完成 内部资源无需等待
|
||||
/// </summary>
|
||||
/// <param name="carsName">子物体预制件名称</param>
|
||||
public async void CreatChildren(string[] carsName,UnityAction CreatOverEvent=null)
|
||||
|
||||
private static Sprite _unifiedSprite;
|
||||
private static Sprite GetUnifiedSprite()
|
||||
{
|
||||
if (needSprite&& !buildInSprite)//需要加载外部多个资源时
|
||||
if (_unifiedSprite == null)
|
||||
_unifiedSprite = Resources.Load<Sprite>("carIcon");
|
||||
return _unifiedSprite;
|
||||
}
|
||||
|
||||
public async void CreatChildren(string[] carsName, UnityAction CreatOverEvent = null)
|
||||
{
|
||||
Sprite unified = GetUnifiedSprite();
|
||||
for (int i = 0; i < carsName.Length; i++)
|
||||
{
|
||||
string[] paths = new string[carsName.Length];
|
||||
for (int i = 0; i < carsName.Length; i++)
|
||||
IconBase icon = GetIcon(carsName[i]);
|
||||
if (unified != null)
|
||||
icon.SetSprite(unified);
|
||||
else if (needSprite && !buildInSprite)
|
||||
{
|
||||
paths[i] = StreamingAssetsManager.GetPath($"{carsName[i]}_Tex");
|
||||
string path = StreamingAssetsManager.GetPath($"{carsName[i]}_Tex");
|
||||
Sprite sprite = await OutSpriteLoader.LoadSprite(path);
|
||||
icon.SetSprite(sprite);
|
||||
}
|
||||
Sprite [] sprites= await OutSpriteLoader.LoadSprites(paths);
|
||||
for (int i = 0; i < carsName.Length; i++)
|
||||
else if (needSprite && buildInSprite)
|
||||
{
|
||||
IconBase icon = GetIcon(carsName[i]);
|
||||
icon.SetSprite(sprites[i]);
|
||||
CreatOverAndInitIcon(carsName[i],null,icon);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
for (int i = 0; i < carsName.Length; i++)
|
||||
{
|
||||
if (CreatOverEvent != null && i == carsName.Length - 1)//最后一个加载完成后 触发加载完成事件
|
||||
{
|
||||
AddChild(carsName[i], null);
|
||||
//Debug.Log("开始加载最后一张图片");
|
||||
}
|
||||
else
|
||||
AddChild(carsName[i]);
|
||||
Sprite sprite = Resources.Load<Sprite>(ResourcesManager.GetPath(carsName[i]));
|
||||
icon.SetSprite(sprite);
|
||||
}
|
||||
CreatOverAndInitIcon(carsName[i], null, icon);
|
||||
}
|
||||
CreatOverEvent?.Invoke();
|
||||
}
|
||||
|
||||
|
||||
|
||||
//名称重复时不生成新的元素 用新元素的数据覆盖原有的数据
|
||||
public async void AddChild(string childName,object initMsg=null)
|
||||
public async void AddChild(string childName, object initMsg = null)
|
||||
{
|
||||
//Debug.Log(childName);
|
||||
IconBase iconBase = GetIcon(childName);
|
||||
if (needSprite)
|
||||
Sprite unified = GetUnifiedSprite();
|
||||
if (unified != null)
|
||||
{
|
||||
iconBase.SetSprite(unified);
|
||||
}
|
||||
else if (needSprite)
|
||||
{
|
||||
Sprite sprite;
|
||||
if (buildInSprite)
|
||||
{
|
||||
sprite = Resources.Load<Sprite>(ResourcesManager.GetPath(childName));
|
||||
}
|
||||
else
|
||||
{
|
||||
string path = StreamingAssetsManager.GetPath($"{childName}_Tex");
|
||||
@ -75,10 +70,8 @@ public class EditorContentCtrl : MonoBehaviour
|
||||
iconBase.SetSprite(sprite);
|
||||
}
|
||||
CreatOverAndInitIcon(childName, initMsg, iconBase);
|
||||
//createOver?.Invoke();
|
||||
}
|
||||
|
||||
//图标创建完成 加入字典 设置初始化数据
|
||||
|
||||
private void CreatOverAndInitIcon(string childName, object initMsg, IconBase iconBase)
|
||||
{
|
||||
iconDic[childName] = iconBase;
|
||||
@ -87,7 +80,6 @@ public class EditorContentCtrl : MonoBehaviour
|
||||
iconBase.SetUpdateIconMsg(initMsg);
|
||||
}
|
||||
|
||||
//获取一个图标实例 优先从字典中获取避免重复 字典中不存在时创建
|
||||
private IconBase GetIcon(string childName)
|
||||
{
|
||||
IconBase iconBase;
|
||||
@ -98,10 +90,6 @@ public class EditorContentCtrl : MonoBehaviour
|
||||
return iconBase;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 移除一个元素
|
||||
/// </summary>
|
||||
/// <param name="childName"></param>
|
||||
public void RemoveChild(string childName)
|
||||
{
|
||||
if (!iconDic.ContainsKey(childName)) return;
|
||||
@ -110,38 +98,22 @@ public class EditorContentCtrl : MonoBehaviour
|
||||
DBManager.Instance.DeleteABMsg(childName);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 移除所有元素
|
||||
/// </summary>
|
||||
public void RemoveAll()
|
||||
{
|
||||
foreach (var item in iconDic)
|
||||
{
|
||||
Destroy(item.Value.gameObject);
|
||||
}
|
||||
iconDic.Clear();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 初始化图标
|
||||
/// </summary>
|
||||
/// <typeparam name="TKey">图标创建时指定的唯一标识类</typeparam>
|
||||
/// <typeparam name="TValue">图标初始化数据类</typeparam>
|
||||
/// <param name="msgDic">数据集合</param>
|
||||
public void SetInitMsg<TKey,TValue>(Dictionary<TKey, TValue> msgDic)
|
||||
public void SetInitMsg<TKey, TValue>(Dictionary<TKey, TValue> msgDic)
|
||||
{
|
||||
if (msgDic != null)
|
||||
{
|
||||
foreach (var item in msgDic)
|
||||
{
|
||||
if (iconDic.ContainsKey(item.Key.ToString()))
|
||||
{
|
||||
iconDic[item.Key.ToString()].SetUpdateIconMsg(item.Value);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
@ -519,4 +519,11 @@
|
||||
<item zh="无法为训练中的学员进行编组" en="Cannot group students currently in training" fr="Impossible de grouper des élèves en cours d'entraînement" ru="Нельзя группировать обучаемых в процессе тренировки" />
|
||||
<item zh="组长不能为多人" en="Group leader cannot be multiple people" fr="Le chef de groupe ne peut pas être plusieurs personnes" ru="Руководитель группы не может быть несколькими лицами" />
|
||||
<item zh="未分组的人员无法设为组长" en="Cannot set ungrouped person as group leader" fr="Impossible de définir une personne non groupée comme chef de groupe" ru="Нельзя назначить негруппированного руководителем группы" />
|
||||
<item zh="型号组成" en="Model Composition" fr="Composition du modèle" ru="Состав модели" />
|
||||
<item zh="装备数量" en="Equipment Count" fr="Nombre d'équipements" ru="Количество техники" />
|
||||
<item zh="人员工种" en="Personnel Types" fr="Types de personnel" ru="Типы специалистов" />
|
||||
<item zh="人员数量" en="Personnel Count" fr="Nombre de personnel" ru="Количество персонала" />
|
||||
<item zh="车辆间距" en="Vehicle Spacing" fr="Espacement des véhicules" ru="Расстояние между машинами" />
|
||||
<item zh="通路距离" en="Route Distance" fr="Distance de la route" ru="Дистанция маршрута" />
|
||||
<item zh="厂区间距" en="Area Spacing" fr="Espacement des zones" ru="Расстояние между зонами" />
|
||||
</translations>
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 41 KiB After Width: | Height: | Size: 6.9 KiB |
BIN
Assets/StreamingAssets/OutAssets/Sprite/5吨火炮拆装车_Tex.png.bak
Normal file
BIN
Assets/StreamingAssets/OutAssets/Sprite/5吨火炮拆装车_Tex.png.bak
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 41 KiB |
@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 9300a815fdc35444c83c059c99526604
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@ -0,0 +1 @@
|
||||
<?xml version="1.0" encoding="utf-8"?><Sub2RecordClass xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><subName>修理所展开</subName><TerrainName>林地</TerrainName><fileIntr /><taskIntr /><OnMapCarData><name>CXW111型武器修理工程车</name><aPX>-3439.54541</aPX><aPY>1316.55212</aPY><angleZ>0</angleZ><onboardPersonDic /><onboardEquipDic /></OnMapCarData><OnMapCarData><name>CXW111型武器修理工程车(1)</name><aPX>-3480.84668</aPX><aPY>1309.66858</aPY><angleZ>0</angleZ><onboardPersonDic /><onboardEquipDic /></OnMapCarData><OnMapCarData><name>5吨火炮拆装车</name><aPX>-3568.03882</aPX><aPY>1325.73047</aPY><angleZ>0</angleZ><onboardPersonDic /><onboardEquipDic><Item><Key><string>600平米帐篷</string></Key><Value><int>1</int></Value></Item></onboardEquipDic></OnMapCarData><OnMapCarData><name>CXW111型武器修理工程车(2)</name><aPX>-3510.67554</aPX><aPY>1370.47351</aPY><angleZ>0</angleZ><onboardPersonDic /><onboardEquipDic /></OnMapCarData></Sub2RecordClass>
|
||||
@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 6570d4f41c556404ca261cf53255e524
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@ -0,0 +1 @@
|
||||
<?xml version="1.0" encoding="utf-8"?><Sub2RecordClass xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><subName>修理所展开</subName><TerrainName>丘陵</TerrainName><fileIntr /><taskIntr /><OnMapCarData><name>CXW111型武器修理工程车</name><aPX>-1925.30383</aPX><aPY>1160.544</aPY><angleZ>0</angleZ><onboardPersonDic /><onboardEquipDic /></OnMapCarData></Sub2RecordClass>
|
||||
@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: fd8e76a2127a0c842b5fc0a28c3225c3
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@ -0,0 +1 @@
|
||||
<?xml version="1.0" encoding="utf-8"?><Sub2RecordClass xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><subName>修理所展开</subName><TerrainName>林地</TerrainName><fileIntr /><taskIntr /><OnMapCarData><name>CXW111型武器修理工程车</name><aPX>-3477.07373</aPX><aPY>1315.79114</aPY><angleZ>0</angleZ><onboardPersonDic /><onboardEquipDic /></OnMapCarData><OnMapCarData><name>5吨火炮拆装车</name><aPX>-3490.28442</aPX><aPY>1280.56238</aPY><angleZ>0</angleZ><onboardPersonDic /><onboardEquipDic><Item><Key><string>600平米帐篷</string></Key><Value><int>1</int></Value></Item></onboardEquipDic></OnMapCarData><OnMapCarData><name>5吨火炮拆装车(1)</name><aPX>-3526.39429</aPX><aPY>1317.55273</aPY><angleZ>0</angleZ><onboardPersonDic /><onboardEquipDic><Item><Key><string>600平米帐篷</string></Key><Value><int>1</int></Value></Item></onboardEquipDic></OnMapCarData></Sub2RecordClass>
|
||||
@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 38fad3849ca05cc4ab510756bd9bc4c9
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@ -0,0 +1 @@
|
||||
<?xml version="1.0" encoding="utf-8"?><Sub2RecordClass xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><subName>修理所展开</subName><TerrainName>林地</TerrainName><fileIntr /><taskIntr /><OnMapCarData><name>CXW111型武器修理工程车</name><aPX>-3481.457</aPX><aPY>1305.62341</aPY><angleZ>0</angleZ><onboardPersonDic /><onboardEquipDic /></OnMapCarData><OnMapCarData><name>5吨火炮拆装车</name><aPX>-3531.80518</aPX><aPY>1319.72107</aPY><angleZ>0</angleZ><onboardPersonDic /><onboardEquipDic><Item><Key><string>600平米帐篷</string></Key><Value><int>1</int></Value></Item></onboardEquipDic></OnMapCarData><OnMapCarData><name>CXW111型武器修理工程车(1)</name><aPX>-3580.1394</aPX><aPY>1343.88818</aPY><angleZ>0</angleZ><onboardPersonDic /><onboardEquipDic /></OnMapCarData></Sub2RecordClass>
|
||||
@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: a3065c4818ceb044198aa61b4c504893
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@ -0,0 +1 @@
|
||||
<?xml version="1.0" encoding="utf-8"?><Sub2RecordClass xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><subName>修理所展开</subName><TerrainName>林地</TerrainName><fileIntr /><taskIntr /><OnMapCarData><name>CXW111型武器修理工程车</name><aPX>-3481.457</aPX><aPY>1305.62341</aPY><angleZ>0</angleZ><onboardPersonDic /><onboardEquipDic /></OnMapCarData><OnMapCarData><name>5吨火炮拆装车</name><aPX>-3531.80518</aPX><aPY>1319.72107</aPY><angleZ>0</angleZ><onboardPersonDic /><onboardEquipDic><Item><Key><string>600平米帐篷</string></Key><Value><int>1</int></Value></Item></onboardEquipDic></OnMapCarData><OnMapCarData><name>CXW111型武器修理工程车(1)</name><aPX>-3580.1394</aPX><aPY>1343.88818</aPY><angleZ>0</angleZ><onboardPersonDic /><onboardEquipDic /></OnMapCarData><OnMapCarData><name>后勤装备通用维修车2002型</name><aPX>-3544.33765</aPX><aPY>1373.02466</aPY><angleZ>0</angleZ><onboardPersonDic /><onboardEquipDic /></OnMapCarData></Sub2RecordClass>
|
||||
@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 8d372bdcb95748a48b9a7da4559aaa6a
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
File diff suppressed because one or more lines are too long
@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: b16ee984a60dfb94b90b945cc4950d88
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@ -13,6 +13,7 @@
|
||||
- [2026-07-31 15:49:27] BasePanel is NOT a MonoBehaviour — Unity's OnEnable/OnDisable are NOT called. Must use BasePanel's own virtual methods: OnStart() (called every Push), OnDisable() (called when covered), OnDestroy() (called on Pop). For LanguageChanged subscription in BasePanel subclasses, subscribe in InitEvent() (first time only) + OnStart() (every Push), unsubscribe in OnDisable() + OnDestroy(). **Why:** RecordDetailPanel lost translation subscription after Pop→Push cycle because InitEvent only runs once and Unity lifecycle methods don't fire on non-MonoBehaviour classes.
|
||||
- [2026-08-03 11:58:13] LocalizationManager was forcing verticalOverflow=Overflow on all Text components when applying fonts, overriding prefab's Truncate setting. Removed all 3 forced verticalOverflow assignments (in Localize(Text), Localize(Dropdown), Localize(InputField)). Must preserve prefab's original verticalOverflow setting. **Why:** user set Truncate on Image_person2 prefab Text but runtime showed Overflow because LocalizationManager overwrote it during font application.
|
||||
- [2026-08-03 17:15:04] PromptTextCtrl now has SetPromptLocalized(key, color, time, args) for real-time translation during the 3-second display window. Existing SetPrompt(msg, ...) calls with pre-translated strings do NOT update on language switch. Must use SetPromptLocalized when the prompt should re-translate while still visible. **Why:** user reported planning prompt not translating during 3s window. **How to apply:** replace SetPrompt(LocalizationManager.Get("key"), color, time) with SetPromptLocalized("key", color, time). For format strings: SetPromptLocalized("存在未规划的车辆{0}!", color, time, carName).
|
||||
- [2026-08-04 11:12:54] When editing scenario files (想定文件), InitCarIcon() must RemoveAll() then CreatChildren() to rebuild equipment icons from scratch — NOT SetInitMsg() which only updates existing icons. Panel is reused across sessions so stale icons from previous edits cause UI mismatch. **Why:** user reported equipment list UI different when editing saved scenario vs creating new one.
|
||||
|
||||
### Project
|
||||
- [2026-07-23 10:59:21] User is building a multi-language localization system (Chinese/English/French/Russian) for a Unity 2019.4 military equipment repair simulation training app. Translations are stored in `Assets/StreamingAssets/Localization.xml` (external XML, ~470 entries). Code fallback in `LocalizationManager.cs`. Key patterns: `SetFormatted()` for format strings, `InjectOperateMsgLocalized()` for operation records, `IconBase.SetName()` wraps `LocalizationManager.Get()`, `PromptWindowInitData` has key+args constructor for real-time translation of popups.
|
||||
@ -26,6 +27,7 @@
|
||||
- [2026-07-31 09:26:47] Desert (沙漠) terrain appears too bright/yellow at runtime vs editor. Root cause: Enviro weather system ("晴") deletes Directional Light and uses its own strong sun lighting. Desert sand textures are light-colored (avg RGB ~198,164,130), so under Enviro's full sun they look washed out. Mountain (山地) looks fine because its textures are darker (green/brown). This is a visual/aesthetic difference, not a code bug. EnviroSkyRendering + EnviroPostProcessing are added at runtime by MyEnviroManager.ChangeFocus to Camera.main. Camera prefab from Resources/GOPrefab/Camera.prefab does NOT have Enviro components - they're added dynamically.
|
||||
- [2026-07-31 10:44:15] Terrain names finalized: 山地 renamed to 林地 (Forest/Forêt/Лес). Scene file: Assets/Scenes/林地.unity (was 山地.unity), NavMesh folder: Assets/Scenes/林地/, AB name: 林地, DB Name: 林地. All 4 terrains: 林地, 丘陵, 沙漠, 海岛. Old names (山地/平原/城市) completely removed from DB, SAMap, Localization.
|
||||
- [2026-08-04 10:25:58] Continuous training flow (编队行军→修理所展开): SubStart() is called when entering Sub2 from Sub1 continuity. Cars may not be created yet when GetCarList() is accessed. Must fallback to CameraPos when carList is empty. AppraiseSliderCtrl pointName and WaitResultPanel appraiseLevel must use LocalizationManager.Get() for translation. EditorAppraiser.CheckAreaDistance/CheckAreaToWaterDistance must translate area names via Get() before Format().
|
||||
- [2026-08-04 11:53:15] EditorContentCtrl now uses unified sprite (carIcon.png in Resources/) for ALL equipment icons instead of loading individual _Tex sprites. GetUnifiedSprite() loads via Resources.Load<Sprite>("carIcon"). If null, falls back to original needSprite logic. Subject2EditorCtrl.CreatOnMapCar also falls back to equipContent.children sprites when _Tex not found. carIcon.png must be in Resources/ with textureType:8 (Sprite) in .meta. New Resources assets require exe rebuild to include in resources.assets for student/teacher apps.
|
||||
|
||||
### Reference
|
||||
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user