更新结算界面
@@ -9,12 +9,13 @@ using GameFramework;
|
||||
/// </summary>
|
||||
public static class UIBuilder
|
||||
{
|
||||
[MenuItem("Tools/搭建游戏UI (HUD + ResultScreen + MainMenu)")]
|
||||
[MenuItem("Tools/搭建游戏UI (HUD + ResultScreen + MainMenu + Scoring)")]
|
||||
public static void BuildAll()
|
||||
{
|
||||
BuildMainMenu();
|
||||
BuildHUD();
|
||||
BuildResultScreen();
|
||||
BuildScoringUI();
|
||||
Debug.Log("[UIBuilder] 全部 UI 搭建完成!请在 Inspector 中检查引用是否正确。");
|
||||
}
|
||||
|
||||
@@ -457,4 +458,228 @@ public static class UIBuilder
|
||||
img.color = bgColor;
|
||||
return panel;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 在 Scoring 场景中搭建结算界面 Canvas。
|
||||
/// </summary>
|
||||
[MenuItem("Tools/搭建 Scoring Canvas")]
|
||||
public static void BuildScoringUI()
|
||||
{
|
||||
// 加载美术资源
|
||||
var bgSprite = AssetDatabase.LoadAssetAtPath<Sprite>("Assets/UI/Art/ResultScreen/bg.png");
|
||||
var winTitleSprite = AssetDatabase.LoadAssetAtPath<Sprite>("Assets/UI/Art/ResultScreen/nizuodaol.png");
|
||||
var newRecordSprite = AssetDatabase.LoadAssetAtPath<Sprite>("Assets/UI/Art/ResultScreen/新纪录.png");
|
||||
var scoreLabelSprite = AssetDatabase.LoadAssetAtPath<Sprite>("Assets/UI/Art/ResultScreen/拯救魂灵.png");
|
||||
var mainMenuBtnSprite = AssetDatabase.LoadAssetAtPath<Sprite>("Assets/UI/Art/ResultScreen/主界面.png");
|
||||
var lineSprite = AssetDatabase.LoadAssetAtPath<Sprite>("Assets/UI/Art/ResultScreen/line.png");
|
||||
var bgPointSprite = AssetDatabase.LoadAssetAtPath<Sprite>("Assets/UI/Art/ResultScreen/bgpoint.png");
|
||||
|
||||
// 创建 Scoring Canvas
|
||||
var canvasObj = new GameObject("ScoringCanvas");
|
||||
var canvas = canvasObj.AddComponent<Canvas>();
|
||||
canvas.renderMode = RenderMode.ScreenSpaceOverlay;
|
||||
canvas.sortingOrder = 0;
|
||||
var scaler = canvasObj.AddComponent<CanvasScaler>();
|
||||
scaler.uiScaleMode = CanvasScaler.ScaleMode.ScaleWithScreenSize;
|
||||
scaler.referenceResolution = new Vector2(1920, 1080);
|
||||
canvasObj.AddComponent<GraphicRaycaster>();
|
||||
|
||||
// 添加 ScoringUIController 脚本
|
||||
var controller = canvasObj.AddComponent<ScoringUIController>();
|
||||
var so = new SerializedObject(controller);
|
||||
|
||||
// ===== 底图 =====
|
||||
var bgObj = new GameObject("Background");
|
||||
bgObj.transform.SetParent(canvasObj.transform, false);
|
||||
var bgImg = bgObj.AddComponent<Image>();
|
||||
if (bgSprite != null) bgImg.sprite = bgSprite;
|
||||
bgImg.preserveAspect = false;
|
||||
var bgRect = bgObj.GetComponent<RectTransform>();
|
||||
bgRect.anchorMin = Vector2.zero;
|
||||
bgRect.anchorMax = Vector2.one;
|
||||
bgRect.sizeDelta = Vector2.zero;
|
||||
so.FindProperty("bgImage").objectReferenceValue = bgImg;
|
||||
so.FindProperty("bgSprite").objectReferenceValue = bgSprite;
|
||||
|
||||
// ===== 胜利面板 =====
|
||||
var winPanel = new GameObject("WinPanel");
|
||||
winPanel.transform.SetParent(canvasObj.transform, false);
|
||||
var winRect = winPanel.AddComponent<RectTransform>();
|
||||
winRect.anchorMin = Vector2.zero;
|
||||
winRect.anchorMax = Vector2.one;
|
||||
winRect.sizeDelta = Vector2.zero;
|
||||
winPanel.SetActive(false);
|
||||
|
||||
// "你做到了" 标题
|
||||
var winTitle = CreateImageChild(winPanel.transform, "WinTitle", winTitleSprite, new Vector2(400, 80), new Vector2(0.5f, 0.75f));
|
||||
so.FindProperty("winTitleImage").objectReferenceValue = winTitle.GetComponent<Image>();
|
||||
so.FindProperty("winTitleSprite").objectReferenceValue = winTitleSprite;
|
||||
|
||||
// 魂灵数量底图
|
||||
var soulBg = CreateImageChild(winPanel.transform, "SoulCountBg", bgPointSprite, new Vector2(200, 50), new Vector2(0.5f, 0.55f));
|
||||
so.FindProperty("soulCountBgImage").objectReferenceValue = soulBg.GetComponent<Image>();
|
||||
so.FindProperty("soulCountBgSprite").objectReferenceValue = bgPointSprite;
|
||||
|
||||
// 魂灵数量文字
|
||||
var soulText = CreateText(winPanel.transform, "SoulCountText", "0", 36, TextAnchor.MiddleCenter);
|
||||
var soulTextRect = soulText.GetComponent<RectTransform>();
|
||||
soulTextRect.anchorMin = new Vector2(0.5f, 0.55f);
|
||||
soulTextRect.anchorMax = new Vector2(0.5f, 0.55f);
|
||||
soulTextRect.sizeDelta = new Vector2(100, 50);
|
||||
so.FindProperty("soulCountText").objectReferenceValue = soulText.GetComponent<Text>();
|
||||
|
||||
// 新记录图片
|
||||
var newRecord = CreateImageChild(winPanel.transform, "NewRecord", newRecordSprite, new Vector2(150, 40), new Vector2(0.5f, 0.45f));
|
||||
newRecord.SetActive(false);
|
||||
so.FindProperty("newRecordImage").objectReferenceValue = newRecord.GetComponent<Image>();
|
||||
so.FindProperty("newRecordSprite").objectReferenceValue = newRecordSprite;
|
||||
|
||||
// 拯救魂灵标签
|
||||
var scoreLabel = CreateImageChild(winPanel.transform, "ScoreLabel", scoreLabelSprite, new Vector2(200, 40), new Vector2(0.5f, 0.65f));
|
||||
so.FindProperty("scoreLabelImage").objectReferenceValue = scoreLabel.GetComponent<Image>();
|
||||
so.FindProperty("scoreLabelSprite").objectReferenceValue = scoreLabelSprite;
|
||||
|
||||
so.FindProperty("winPanel").objectReferenceValue = winPanel;
|
||||
|
||||
// ===== 失败面板 =====
|
||||
var losePanel = new GameObject("LosePanel");
|
||||
losePanel.transform.SetParent(canvasObj.transform, false);
|
||||
var loseRect = losePanel.AddComponent<RectTransform>();
|
||||
loseRect.anchorMin = Vector2.zero;
|
||||
loseRect.anchorMax = Vector2.one;
|
||||
loseRect.sizeDelta = Vector2.zero;
|
||||
losePanel.SetActive(false);
|
||||
|
||||
// "你迷失了" 标题(暂用 nizuodaol.png 副本)
|
||||
var loseTitle = CreateImageChild(losePanel.transform, "LoseTitle", winTitleSprite, new Vector2(400, 80), new Vector2(0.5f, 0.6f));
|
||||
so.FindProperty("loseTitleImage").objectReferenceValue = loseTitle.GetComponent<Image>();
|
||||
so.FindProperty("loseTitleSprite").objectReferenceValue = winTitleSprite;
|
||||
|
||||
so.FindProperty("losePanel").objectReferenceValue = losePanel;
|
||||
|
||||
// ===== 排行榜面板 =====
|
||||
var lbPanel = new GameObject("LeaderboardPanel");
|
||||
lbPanel.transform.SetParent(canvasObj.transform, false);
|
||||
var lbRect = lbPanel.AddComponent<RectTransform>();
|
||||
lbRect.anchorMin = new Vector2(0.3f, 0.1f);
|
||||
lbRect.anchorMax = new Vector2(0.7f, 0.4f);
|
||||
lbRect.sizeDelta = Vector2.zero;
|
||||
lbPanel.SetActive(false);
|
||||
so.FindProperty("leaderboardPanel").objectReferenceValue = lbPanel;
|
||||
|
||||
// 最终分数
|
||||
var finalScore = CreateText(lbPanel.transform, "FinalScore", "0", 24, TextAnchor.MiddleCenter);
|
||||
finalScore.GetComponent<RectTransform>().anchoredPosition = new Vector2(0, 0);
|
||||
so.FindProperty("finalScoreText").objectReferenceValue = finalScore.GetComponent<Text>();
|
||||
|
||||
// 排行榜容器
|
||||
var lbContainer = new GameObject("LeaderboardContainer");
|
||||
lbContainer.transform.SetParent(lbPanel.transform, false);
|
||||
var lbContRect = lbContainer.AddComponent<RectTransform>();
|
||||
lbContRect.anchorMin = Vector2.zero;
|
||||
lbContRect.anchorMax = Vector2.one;
|
||||
lbContRect.sizeDelta = Vector2.zero;
|
||||
var lbLayout = lbContainer.AddComponent<VerticalLayoutGroup>();
|
||||
lbLayout.spacing = 2;
|
||||
lbLayout.childForceExpandHeight = true;
|
||||
so.FindProperty("leaderboardContainer").objectReferenceValue = lbContainer.transform;
|
||||
|
||||
// 创建10个排行榜条目
|
||||
for (int i = 0; i < 10; i++)
|
||||
{
|
||||
var entry = new GameObject($"Entry_{i}");
|
||||
entry.transform.SetParent(lbContainer.transform, false);
|
||||
var entryLayout = entry.AddComponent<HorizontalLayoutGroup>();
|
||||
entryLayout.spacing = 10;
|
||||
entryLayout.childForceExpandWidth = true;
|
||||
entryLayout.childForceExpandHeight = true;
|
||||
|
||||
CreateText(entry.transform, "Rank", $"{i + 1}.", 14, TextAnchor.MiddleCenter);
|
||||
CreateText(entry.transform, "Score", "---", 14, TextAnchor.MiddleCenter);
|
||||
CreateText(entry.transform, "Name", "---", 14, TextAnchor.MiddleCenter);
|
||||
}
|
||||
|
||||
// ===== 新纪录输入面板 =====
|
||||
var nhsPanel = new GameObject("NewHighScorePanel");
|
||||
nhsPanel.transform.SetParent(canvasObj.transform, false);
|
||||
var nhsRect = nhsPanel.AddComponent<RectTransform>();
|
||||
nhsRect.anchorMin = new Vector2(0.3f, 0.3f);
|
||||
nhsRect.anchorMax = new Vector2(0.7f, 0.5f);
|
||||
nhsRect.sizeDelta = Vector2.zero;
|
||||
nhsPanel.SetActive(false);
|
||||
so.FindProperty("newHighScorePanel").objectReferenceValue = nhsPanel;
|
||||
|
||||
var nameInput = new GameObject("NameInput");
|
||||
nameInput.transform.SetParent(nhsPanel.transform, false);
|
||||
nameInput.AddComponent<RectTransform>().sizeDelta = new Vector2(200, 40);
|
||||
nameInput.AddComponent<Image>().color = new Color(1, 1, 1, 0.8f);
|
||||
var inputField = nameInput.AddComponent<InputField>();
|
||||
var textArea = new GameObject("Text");
|
||||
textArea.transform.SetParent(nameInput.transform, false);
|
||||
var taRect = textArea.AddComponent<RectTransform>();
|
||||
taRect.anchorMin = Vector2.zero;
|
||||
taRect.anchorMax = Vector2.one;
|
||||
taRect.sizeDelta = Vector2.zero;
|
||||
var taText = textArea.AddComponent<Text>();
|
||||
taText.text = "";
|
||||
taText.alignment = TextAnchor.MiddleCenter;
|
||||
taText.color = Color.black;
|
||||
inputField.textComponent = taText;
|
||||
so.FindProperty("nameInputField").objectReferenceValue = inputField;
|
||||
|
||||
var submitBtn = CreateButton(nhsPanel.transform, "SubmitButton", "提交", new Vector2(100, 40));
|
||||
submitBtn.GetComponent<RectTransform>().anchoredPosition = new Vector2(-60, -50);
|
||||
so.FindProperty("submitButton").objectReferenceValue = submitBtn.GetComponent<Button>();
|
||||
|
||||
var cancelBtn = CreateButton(nhsPanel.transform, "CancelButton", "取消", new Vector2(100, 40));
|
||||
cancelBtn.GetComponent<RectTransform>().anchoredPosition = new Vector2(60, -50);
|
||||
so.FindProperty("cancelButton").objectReferenceValue = cancelBtn.GetComponent<Button>();
|
||||
|
||||
// ===== 装饰 =====
|
||||
var lineObj = CreateImageChild(canvasObj.transform, "Line", lineSprite, new Vector2(300, 4), new Vector2(0.5f, 0.5f));
|
||||
so.FindProperty("lineImage").objectReferenceValue = lineObj.GetComponent<Image>();
|
||||
so.FindProperty("lineSprite").objectReferenceValue = lineSprite;
|
||||
|
||||
var bgPointObj = CreateImageChild(canvasObj.transform, "BgPoint", bgPointSprite, new Vector2(60, 60), new Vector2(0.15f, 0.85f));
|
||||
so.FindProperty("bgPointImage").objectReferenceValue = bgPointObj.GetComponent<Image>();
|
||||
so.FindProperty("bgPointSprite").objectReferenceValue = bgPointSprite;
|
||||
|
||||
// ===== 返回主菜单按钮 =====
|
||||
var menuBtn = CreateButton(canvasObj.transform, "MainMenuButton", "返回主菜单", new Vector2(160, 50));
|
||||
var menuBtnRect = menuBtn.GetComponent<RectTransform>();
|
||||
menuBtnRect.anchorMin = new Vector2(0.5f, 0.05f);
|
||||
menuBtnRect.anchorMax = new Vector2(0.5f, 0.05f);
|
||||
menuBtnRect.pivot = new Vector2(0.5f, 0.5f);
|
||||
so.FindProperty("mainMenuButton").objectReferenceValue = menuBtn.GetComponent<Button>();
|
||||
|
||||
// 设置按钮图片
|
||||
if (mainMenuBtnSprite != null)
|
||||
{
|
||||
var btnImg = menuBtn.GetComponent<Image>();
|
||||
btnImg.sprite = mainMenuBtnSprite;
|
||||
so.FindProperty("mainMenuButtonImage").objectReferenceValue = btnImg;
|
||||
so.FindProperty("mainMenuBtnSprite").objectReferenceValue = mainMenuBtnSprite;
|
||||
}
|
||||
|
||||
so.ApplyModifiedProperties();
|
||||
Debug.Log("[UIBuilder] Scoring Canvas 搭建完成");
|
||||
}
|
||||
|
||||
private static GameObject CreateImageChild(Transform parent, string name, Sprite sprite, Vector2 size, Vector2 anchor)
|
||||
{
|
||||
var obj = new GameObject(name);
|
||||
obj.transform.SetParent(parent, false);
|
||||
var rect = obj.AddComponent<RectTransform>();
|
||||
rect.anchorMin = anchor;
|
||||
rect.anchorMax = anchor;
|
||||
rect.pivot = new Vector2(0.5f, 0.5f);
|
||||
rect.sizeDelta = size;
|
||||
var img = obj.AddComponent<Image>();
|
||||
if (sprite != null)
|
||||
{
|
||||
img.sprite = sprite;
|
||||
img.preserveAspect = true;
|
||||
}
|
||||
return obj;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -38,8 +38,8 @@ namespace IndianOceanAssets.Engine2_5D
|
||||
[SerializeField, Range(0.01f, 1f)] private float lightSoftness = 0.35f;
|
||||
|
||||
[Header("遮罩平面跟随设置")]
|
||||
[Tooltip("如果勾选,遮罩平面会跟随摄像机移动(适合大地图)")]
|
||||
[SerializeField] private bool followCamera = true;
|
||||
[Tooltip("遮罩平面跟随目标(留空则自动查找 Player 标签)。\n跟随玩家而非摄像机,确保光照精度始终一致。")]
|
||||
[SerializeField] private Transform followTarget;
|
||||
[SerializeField] private Transform maskPlane;
|
||||
[SerializeField] private Vector3 maskOffset = new Vector3(0f, 5f, 0f);
|
||||
[SerializeField] private float planeSize = 50f;
|
||||
@@ -69,6 +69,14 @@ namespace IndianOceanAssets.Engine2_5D
|
||||
{
|
||||
_mainCamera = Camera.main;
|
||||
UpdateMaterialProperties();
|
||||
|
||||
// 自动查找玩家作为跟随目标
|
||||
if (followTarget == null)
|
||||
{
|
||||
var player = GameObject.FindWithTag("Player");
|
||||
if (player != null)
|
||||
followTarget = player.transform;
|
||||
}
|
||||
|
||||
// 确保遮罩平面在所有Sprite之后渲染
|
||||
if (maskPlane != null)
|
||||
@@ -76,14 +84,10 @@ namespace IndianOceanAssets.Engine2_5D
|
||||
Renderer renderer = maskPlane.GetComponent<Renderer>();
|
||||
if (renderer != null)
|
||||
{
|
||||
// 设置渲染队列为最后(Overlay之后)
|
||||
renderer.sortingOrder = 9999;
|
||||
|
||||
// 如果使用MeshRenderer,设置material的渲染队列
|
||||
if (renderer is MeshRenderer && darknessMaterial != null)
|
||||
{
|
||||
// 保持在Transparent之后
|
||||
darknessMaterial.renderQueue = 3100; // Transparent+100
|
||||
darknessMaterial.renderQueue = 3100;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -130,9 +134,17 @@ namespace IndianOceanAssets.Engine2_5D
|
||||
|
||||
private void UpdateMaskPosition()
|
||||
{
|
||||
if (!followCamera || maskPlane == null || _mainCamera == null) return;
|
||||
Vector3 camPos = _mainCamera.transform.position;
|
||||
maskPlane.position = new Vector3(camPos.x + maskOffset.x, maskOffset.y, camPos.z + maskOffset.z);
|
||||
if (maskPlane == null) return;
|
||||
|
||||
// 优先跟随玩家,回退到摄像机
|
||||
Transform target = followTarget != null ? followTarget : _mainCamera?.transform;
|
||||
if (target == null) return;
|
||||
|
||||
maskPlane.position = new Vector3(
|
||||
target.position.x + maskOffset.x,
|
||||
maskOffset.y,
|
||||
target.position.z + maskOffset.z
|
||||
);
|
||||
}
|
||||
|
||||
// ===== 光源注册/注销 =====
|
||||
|
||||
|
After Width: | Height: | Size: 16 KiB |
@@ -0,0 +1,175 @@
|
||||
fileFormatVersion: 2
|
||||
guid: Bi5L5i/7UynlTS/PnW0zfG6nTezAUUPPq/iOfKo7W9+fgAKp80MErtc=
|
||||
TextureImporter:
|
||||
internalIDToNameTable: []
|
||||
externalObjects: {}
|
||||
serializedVersion: 13
|
||||
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
|
||||
flipGreenChannel: 0
|
||||
isReadable: 0
|
||||
webStreaming: 0
|
||||
priorityLevel: 0
|
||||
uploadedMode: 2
|
||||
streamingMipmaps: 0
|
||||
streamingMipmapsPriority: 0
|
||||
vTOnly: 0
|
||||
ignoreMipmapLimit: 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
|
||||
flipbookRows: 1
|
||||
flipbookColumns: 1
|
||||
maxTextureSizeSet: 0
|
||||
compressionQualitySet: 0
|
||||
textureFormatSet: 0
|
||||
ignorePngGamma: 0
|
||||
applyGammaDecoding: 0
|
||||
swizzle: 50462976
|
||||
cookieLightType: 0
|
||||
platformSettings:
|
||||
- serializedVersion: 3
|
||||
buildTarget: DefaultTexturePlatform
|
||||
maxTextureSize: 2048
|
||||
maxPlaceholderSize: 32
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
ignorePlatformSupport: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 3
|
||||
buildTarget: Standalone
|
||||
maxTextureSize: 2048
|
||||
maxPlaceholderSize: 32
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
ignorePlatformSupport: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 3
|
||||
buildTarget: Server
|
||||
maxTextureSize: 2048
|
||||
maxPlaceholderSize: 32
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
ignorePlatformSupport: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 3
|
||||
buildTarget: Android
|
||||
maxTextureSize: 2048
|
||||
maxPlaceholderSize: 32
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
ignorePlatformSupport: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 3
|
||||
buildTarget: HMIAndroid
|
||||
maxTextureSize: 2048
|
||||
maxPlaceholderSize: 32
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
ignorePlatformSupport: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 3
|
||||
buildTarget: OpenHarmony
|
||||
maxTextureSize: 2048
|
||||
maxPlaceholderSize: 32
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
ignorePlatformSupport: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
spriteSheet:
|
||||
serializedVersion: 2
|
||||
sprites: []
|
||||
outline: []
|
||||
physicsShape: []
|
||||
bones: []
|
||||
spriteID: 5e97eb03825dee720800000000000000
|
||||
internalID: 0
|
||||
vertices: []
|
||||
indices:
|
||||
edges: []
|
||||
weights: []
|
||||
secondaryTextures: []
|
||||
nameFileIdTable: {}
|
||||
mipmapLimitGroupName:
|
||||
pSDRemoveMatte: 0
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
|
After Width: | Height: | Size: 4.0 MiB |
@@ -0,0 +1,175 @@
|
||||
fileFormatVersion: 2
|
||||
guid: CXJJt3j+UHsY2aitHHcar2oFoQquPiOSPTfJzNLUOHz4odMqMjljfXI=
|
||||
TextureImporter:
|
||||
internalIDToNameTable: []
|
||||
externalObjects: {}
|
||||
serializedVersion: 13
|
||||
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
|
||||
flipGreenChannel: 0
|
||||
isReadable: 0
|
||||
webStreaming: 0
|
||||
priorityLevel: 0
|
||||
uploadedMode: 2
|
||||
streamingMipmaps: 0
|
||||
streamingMipmapsPriority: 0
|
||||
vTOnly: 0
|
||||
ignoreMipmapLimit: 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
|
||||
flipbookRows: 1
|
||||
flipbookColumns: 1
|
||||
maxTextureSizeSet: 0
|
||||
compressionQualitySet: 0
|
||||
textureFormatSet: 0
|
||||
ignorePngGamma: 0
|
||||
applyGammaDecoding: 0
|
||||
swizzle: 50462976
|
||||
cookieLightType: 0
|
||||
platformSettings:
|
||||
- serializedVersion: 3
|
||||
buildTarget: DefaultTexturePlatform
|
||||
maxTextureSize: 2048
|
||||
maxPlaceholderSize: 32
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
ignorePlatformSupport: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 3
|
||||
buildTarget: Standalone
|
||||
maxTextureSize: 2048
|
||||
maxPlaceholderSize: 32
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
ignorePlatformSupport: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 3
|
||||
buildTarget: Server
|
||||
maxTextureSize: 2048
|
||||
maxPlaceholderSize: 32
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
ignorePlatformSupport: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 3
|
||||
buildTarget: Android
|
||||
maxTextureSize: 2048
|
||||
maxPlaceholderSize: 32
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
ignorePlatformSupport: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 3
|
||||
buildTarget: HMIAndroid
|
||||
maxTextureSize: 2048
|
||||
maxPlaceholderSize: 32
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
ignorePlatformSupport: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 3
|
||||
buildTarget: OpenHarmony
|
||||
maxTextureSize: 2048
|
||||
maxPlaceholderSize: 32
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
ignorePlatformSupport: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
spriteSheet:
|
||||
serializedVersion: 2
|
||||
sprites: []
|
||||
outline: []
|
||||
physicsShape: []
|
||||
bones: []
|
||||
spriteID: 5e97eb03825dee720800000000000000
|
||||
internalID: 0
|
||||
vertices: []
|
||||
indices:
|
||||
edges: []
|
||||
weights: []
|
||||
secondaryTextures: []
|
||||
nameFileIdTable: {}
|
||||
mipmapLimitGroupName:
|
||||
pSDRemoveMatte: 0
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
|
After Width: | Height: | Size: 3.2 KiB |
@@ -0,0 +1,175 @@
|
||||
fileFormatVersion: 2
|
||||
guid: CXwevCipASjV9eTEW5Cdf8VZhVBZYbH9LHO+Q20V25eGOtnUTNWekXA=
|
||||
TextureImporter:
|
||||
internalIDToNameTable: []
|
||||
externalObjects: {}
|
||||
serializedVersion: 13
|
||||
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
|
||||
flipGreenChannel: 0
|
||||
isReadable: 0
|
||||
webStreaming: 0
|
||||
priorityLevel: 0
|
||||
uploadedMode: 2
|
||||
streamingMipmaps: 0
|
||||
streamingMipmapsPriority: 0
|
||||
vTOnly: 0
|
||||
ignoreMipmapLimit: 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
|
||||
flipbookRows: 1
|
||||
flipbookColumns: 1
|
||||
maxTextureSizeSet: 0
|
||||
compressionQualitySet: 0
|
||||
textureFormatSet: 0
|
||||
ignorePngGamma: 0
|
||||
applyGammaDecoding: 0
|
||||
swizzle: 50462976
|
||||
cookieLightType: 0
|
||||
platformSettings:
|
||||
- serializedVersion: 3
|
||||
buildTarget: DefaultTexturePlatform
|
||||
maxTextureSize: 2048
|
||||
maxPlaceholderSize: 32
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
ignorePlatformSupport: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 3
|
||||
buildTarget: Standalone
|
||||
maxTextureSize: 2048
|
||||
maxPlaceholderSize: 32
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
ignorePlatformSupport: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 3
|
||||
buildTarget: Server
|
||||
maxTextureSize: 2048
|
||||
maxPlaceholderSize: 32
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
ignorePlatformSupport: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 3
|
||||
buildTarget: Android
|
||||
maxTextureSize: 2048
|
||||
maxPlaceholderSize: 32
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
ignorePlatformSupport: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 3
|
||||
buildTarget: HMIAndroid
|
||||
maxTextureSize: 2048
|
||||
maxPlaceholderSize: 32
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
ignorePlatformSupport: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 3
|
||||
buildTarget: OpenHarmony
|
||||
maxTextureSize: 2048
|
||||
maxPlaceholderSize: 32
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
ignorePlatformSupport: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
spriteSheet:
|
||||
serializedVersion: 2
|
||||
sprites: []
|
||||
outline: []
|
||||
physicsShape: []
|
||||
bones: []
|
||||
spriteID: 5e97eb03825dee720800000000000000
|
||||
internalID: 0
|
||||
vertices: []
|
||||
indices:
|
||||
edges: []
|
||||
weights: []
|
||||
secondaryTextures: []
|
||||
nameFileIdTable: {}
|
||||
mipmapLimitGroupName:
|
||||
pSDRemoveMatte: 0
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
|
After Width: | Height: | Size: 2.7 KiB |
@@ -0,0 +1,175 @@
|
||||
fileFormatVersion: 2
|
||||
guid: XHNJtHz8Bnm8Rrjurjfdq92iLlORRKvHaXnhhc/yaGzRDyi/R586Jd0=
|
||||
TextureImporter:
|
||||
internalIDToNameTable: []
|
||||
externalObjects: {}
|
||||
serializedVersion: 13
|
||||
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
|
||||
flipGreenChannel: 0
|
||||
isReadable: 0
|
||||
webStreaming: 0
|
||||
priorityLevel: 0
|
||||
uploadedMode: 2
|
||||
streamingMipmaps: 0
|
||||
streamingMipmapsPriority: 0
|
||||
vTOnly: 0
|
||||
ignoreMipmapLimit: 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
|
||||
flipbookRows: 1
|
||||
flipbookColumns: 1
|
||||
maxTextureSizeSet: 0
|
||||
compressionQualitySet: 0
|
||||
textureFormatSet: 0
|
||||
ignorePngGamma: 0
|
||||
applyGammaDecoding: 0
|
||||
swizzle: 50462976
|
||||
cookieLightType: 0
|
||||
platformSettings:
|
||||
- serializedVersion: 3
|
||||
buildTarget: DefaultTexturePlatform
|
||||
maxTextureSize: 2048
|
||||
maxPlaceholderSize: 32
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
ignorePlatformSupport: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 3
|
||||
buildTarget: Standalone
|
||||
maxTextureSize: 2048
|
||||
maxPlaceholderSize: 32
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
ignorePlatformSupport: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 3
|
||||
buildTarget: Server
|
||||
maxTextureSize: 2048
|
||||
maxPlaceholderSize: 32
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
ignorePlatformSupport: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 3
|
||||
buildTarget: Android
|
||||
maxTextureSize: 2048
|
||||
maxPlaceholderSize: 32
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
ignorePlatformSupport: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 3
|
||||
buildTarget: HMIAndroid
|
||||
maxTextureSize: 2048
|
||||
maxPlaceholderSize: 32
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
ignorePlatformSupport: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 3
|
||||
buildTarget: OpenHarmony
|
||||
maxTextureSize: 2048
|
||||
maxPlaceholderSize: 32
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
ignorePlatformSupport: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
spriteSheet:
|
||||
serializedVersion: 2
|
||||
sprites: []
|
||||
outline: []
|
||||
physicsShape: []
|
||||
bones: []
|
||||
spriteID: 5e97eb03825dee720800000000000000
|
||||
internalID: 0
|
||||
vertices: []
|
||||
indices:
|
||||
edges: []
|
||||
weights: []
|
||||
secondaryTextures: []
|
||||
nameFileIdTable: {}
|
||||
mipmapLimitGroupName:
|
||||
pSDRemoveMatte: 0
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
|
After Width: | Height: | Size: 31 KiB |
@@ -0,0 +1,175 @@
|
||||
fileFormatVersion: 2
|
||||
guid: WXoatSysB3+YCu7KeB0F8fFnYVz3QTNgOTe2IzWjD5XnJ1DNv15SAew=
|
||||
TextureImporter:
|
||||
internalIDToNameTable: []
|
||||
externalObjects: {}
|
||||
serializedVersion: 13
|
||||
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
|
||||
flipGreenChannel: 0
|
||||
isReadable: 0
|
||||
webStreaming: 0
|
||||
priorityLevel: 0
|
||||
uploadedMode: 2
|
||||
streamingMipmaps: 0
|
||||
streamingMipmapsPriority: 0
|
||||
vTOnly: 0
|
||||
ignoreMipmapLimit: 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
|
||||
flipbookRows: 1
|
||||
flipbookColumns: 1
|
||||
maxTextureSizeSet: 0
|
||||
compressionQualitySet: 0
|
||||
textureFormatSet: 0
|
||||
ignorePngGamma: 0
|
||||
applyGammaDecoding: 0
|
||||
swizzle: 50462976
|
||||
cookieLightType: 0
|
||||
platformSettings:
|
||||
- serializedVersion: 3
|
||||
buildTarget: DefaultTexturePlatform
|
||||
maxTextureSize: 2048
|
||||
maxPlaceholderSize: 32
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
ignorePlatformSupport: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 3
|
||||
buildTarget: Standalone
|
||||
maxTextureSize: 2048
|
||||
maxPlaceholderSize: 32
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
ignorePlatformSupport: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 3
|
||||
buildTarget: Server
|
||||
maxTextureSize: 2048
|
||||
maxPlaceholderSize: 32
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
ignorePlatformSupport: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 3
|
||||
buildTarget: Android
|
||||
maxTextureSize: 2048
|
||||
maxPlaceholderSize: 32
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
ignorePlatformSupport: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 3
|
||||
buildTarget: HMIAndroid
|
||||
maxTextureSize: 2048
|
||||
maxPlaceholderSize: 32
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
ignorePlatformSupport: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 3
|
||||
buildTarget: OpenHarmony
|
||||
maxTextureSize: 2048
|
||||
maxPlaceholderSize: 32
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
ignorePlatformSupport: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
spriteSheet:
|
||||
serializedVersion: 2
|
||||
sprites: []
|
||||
outline: []
|
||||
physicsShape: []
|
||||
bones: []
|
||||
spriteID: 5e97eb03825dee720800000000000000
|
||||
internalID: 0
|
||||
vertices: []
|
||||
indices:
|
||||
edges: []
|
||||
weights: []
|
||||
secondaryTextures: []
|
||||
nameFileIdTable: {}
|
||||
mipmapLimitGroupName:
|
||||
pSDRemoveMatte: 0
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
|
After Width: | Height: | Size: 69 KiB |
@@ -0,0 +1,175 @@
|
||||
fileFormatVersion: 2
|
||||
guid: B3kasX+rACk9k7AhAbac1WZcAaM2U6vQUXE2f5lb0cVMhN4nNh17qxk=
|
||||
TextureImporter:
|
||||
internalIDToNameTable: []
|
||||
externalObjects: {}
|
||||
serializedVersion: 13
|
||||
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
|
||||
flipGreenChannel: 0
|
||||
isReadable: 0
|
||||
webStreaming: 0
|
||||
priorityLevel: 0
|
||||
uploadedMode: 2
|
||||
streamingMipmaps: 0
|
||||
streamingMipmapsPriority: 0
|
||||
vTOnly: 0
|
||||
ignoreMipmapLimit: 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
|
||||
flipbookRows: 1
|
||||
flipbookColumns: 1
|
||||
maxTextureSizeSet: 0
|
||||
compressionQualitySet: 0
|
||||
textureFormatSet: 0
|
||||
ignorePngGamma: 0
|
||||
applyGammaDecoding: 0
|
||||
swizzle: 50462976
|
||||
cookieLightType: 0
|
||||
platformSettings:
|
||||
- serializedVersion: 3
|
||||
buildTarget: DefaultTexturePlatform
|
||||
maxTextureSize: 2048
|
||||
maxPlaceholderSize: 32
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
ignorePlatformSupport: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 3
|
||||
buildTarget: Standalone
|
||||
maxTextureSize: 2048
|
||||
maxPlaceholderSize: 32
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
ignorePlatformSupport: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 3
|
||||
buildTarget: Server
|
||||
maxTextureSize: 2048
|
||||
maxPlaceholderSize: 32
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
ignorePlatformSupport: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 3
|
||||
buildTarget: Android
|
||||
maxTextureSize: 2048
|
||||
maxPlaceholderSize: 32
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
ignorePlatformSupport: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 3
|
||||
buildTarget: HMIAndroid
|
||||
maxTextureSize: 2048
|
||||
maxPlaceholderSize: 32
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
ignorePlatformSupport: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 3
|
||||
buildTarget: OpenHarmony
|
||||
maxTextureSize: 2048
|
||||
maxPlaceholderSize: 32
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
ignorePlatformSupport: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
spriteSheet:
|
||||
serializedVersion: 2
|
||||
sprites: []
|
||||
outline: []
|
||||
physicsShape: []
|
||||
bones: []
|
||||
spriteID: 5e97eb03825dee720800000000000000
|
||||
internalID: 0
|
||||
vertices: []
|
||||
indices:
|
||||
edges: []
|
||||
weights: []
|
||||
secondaryTextures: []
|
||||
nameFileIdTable: {}
|
||||
mipmapLimitGroupName:
|
||||
pSDRemoveMatte: 0
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
|
After Width: | Height: | Size: 7.6 KiB |
@@ -0,0 +1,175 @@
|
||||
fileFormatVersion: 2
|
||||
guid: WSsdvCykUHoL/HutQY2YDz3Un1esbQFM/43MTx1oUoBq8ypAWvPz/QM=
|
||||
TextureImporter:
|
||||
internalIDToNameTable: []
|
||||
externalObjects: {}
|
||||
serializedVersion: 13
|
||||
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
|
||||
flipGreenChannel: 0
|
||||
isReadable: 0
|
||||
webStreaming: 0
|
||||
priorityLevel: 0
|
||||
uploadedMode: 2
|
||||
streamingMipmaps: 0
|
||||
streamingMipmapsPriority: 0
|
||||
vTOnly: 0
|
||||
ignoreMipmapLimit: 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
|
||||
flipbookRows: 1
|
||||
flipbookColumns: 1
|
||||
maxTextureSizeSet: 0
|
||||
compressionQualitySet: 0
|
||||
textureFormatSet: 0
|
||||
ignorePngGamma: 0
|
||||
applyGammaDecoding: 0
|
||||
swizzle: 50462976
|
||||
cookieLightType: 0
|
||||
platformSettings:
|
||||
- serializedVersion: 3
|
||||
buildTarget: DefaultTexturePlatform
|
||||
maxTextureSize: 2048
|
||||
maxPlaceholderSize: 32
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
ignorePlatformSupport: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 3
|
||||
buildTarget: Standalone
|
||||
maxTextureSize: 2048
|
||||
maxPlaceholderSize: 32
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
ignorePlatformSupport: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 3
|
||||
buildTarget: Server
|
||||
maxTextureSize: 2048
|
||||
maxPlaceholderSize: 32
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
ignorePlatformSupport: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 3
|
||||
buildTarget: Android
|
||||
maxTextureSize: 2048
|
||||
maxPlaceholderSize: 32
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
ignorePlatformSupport: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 3
|
||||
buildTarget: HMIAndroid
|
||||
maxTextureSize: 2048
|
||||
maxPlaceholderSize: 32
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
ignorePlatformSupport: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 3
|
||||
buildTarget: OpenHarmony
|
||||
maxTextureSize: 2048
|
||||
maxPlaceholderSize: 32
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
ignorePlatformSupport: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
spriteSheet:
|
||||
serializedVersion: 2
|
||||
sprites: []
|
||||
outline: []
|
||||
physicsShape: []
|
||||
bones: []
|
||||
spriteID: 5e97eb03825dee720800000000000000
|
||||
internalID: 0
|
||||
vertices: []
|
||||
indices:
|
||||
edges: []
|
||||
weights: []
|
||||
secondaryTextures: []
|
||||
nameFileIdTable: {}
|
||||
mipmapLimitGroupName:
|
||||
pSDRemoveMatte: 0
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
|
After Width: | Height: | Size: 6.0 KiB |
@@ -0,0 +1,175 @@
|
||||
fileFormatVersion: 2
|
||||
guid: CHwcvSr/Vn+BB2PFPNsMLKxpXB/txdbpe3qv7/u928xFThoIvXfpzsk=
|
||||
TextureImporter:
|
||||
internalIDToNameTable: []
|
||||
externalObjects: {}
|
||||
serializedVersion: 13
|
||||
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
|
||||
flipGreenChannel: 0
|
||||
isReadable: 0
|
||||
webStreaming: 0
|
||||
priorityLevel: 0
|
||||
uploadedMode: 2
|
||||
streamingMipmaps: 0
|
||||
streamingMipmapsPriority: 0
|
||||
vTOnly: 0
|
||||
ignoreMipmapLimit: 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
|
||||
flipbookRows: 1
|
||||
flipbookColumns: 1
|
||||
maxTextureSizeSet: 0
|
||||
compressionQualitySet: 0
|
||||
textureFormatSet: 0
|
||||
ignorePngGamma: 0
|
||||
applyGammaDecoding: 0
|
||||
swizzle: 50462976
|
||||
cookieLightType: 0
|
||||
platformSettings:
|
||||
- serializedVersion: 3
|
||||
buildTarget: DefaultTexturePlatform
|
||||
maxTextureSize: 2048
|
||||
maxPlaceholderSize: 32
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
ignorePlatformSupport: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 3
|
||||
buildTarget: Standalone
|
||||
maxTextureSize: 2048
|
||||
maxPlaceholderSize: 32
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
ignorePlatformSupport: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 3
|
||||
buildTarget: Server
|
||||
maxTextureSize: 2048
|
||||
maxPlaceholderSize: 32
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
ignorePlatformSupport: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 3
|
||||
buildTarget: Android
|
||||
maxTextureSize: 2048
|
||||
maxPlaceholderSize: 32
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
ignorePlatformSupport: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 3
|
||||
buildTarget: HMIAndroid
|
||||
maxTextureSize: 2048
|
||||
maxPlaceholderSize: 32
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
ignorePlatformSupport: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 3
|
||||
buildTarget: OpenHarmony
|
||||
maxTextureSize: 2048
|
||||
maxPlaceholderSize: 32
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
ignorePlatformSupport: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
spriteSheet:
|
||||
serializedVersion: 2
|
||||
sprites: []
|
||||
outline: []
|
||||
physicsShape: []
|
||||
bones: []
|
||||
spriteID: 5e97eb03825dee720800000000000000
|
||||
internalID: 0
|
||||
vertices: []
|
||||
indices:
|
||||
edges: []
|
||||
weights: []
|
||||
secondaryTextures: []
|
||||
nameFileIdTable: {}
|
||||
mipmapLimitGroupName:
|
||||
pSDRemoveMatte: 0
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
|
After Width: | Height: | Size: 4.1 MiB |
@@ -0,0 +1,175 @@
|
||||
fileFormatVersion: 2
|
||||
guid: DCxL4XyvAioAvh1g/bsqnl66ZLm7SsrvsZR8q45v1QFNnGUNpy3qaKM=
|
||||
TextureImporter:
|
||||
internalIDToNameTable: []
|
||||
externalObjects: {}
|
||||
serializedVersion: 13
|
||||
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
|
||||
flipGreenChannel: 0
|
||||
isReadable: 0
|
||||
webStreaming: 0
|
||||
priorityLevel: 0
|
||||
uploadedMode: 2
|
||||
streamingMipmaps: 0
|
||||
streamingMipmapsPriority: 0
|
||||
vTOnly: 0
|
||||
ignoreMipmapLimit: 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
|
||||
flipbookRows: 1
|
||||
flipbookColumns: 1
|
||||
maxTextureSizeSet: 0
|
||||
compressionQualitySet: 0
|
||||
textureFormatSet: 0
|
||||
ignorePngGamma: 0
|
||||
applyGammaDecoding: 0
|
||||
swizzle: 50462976
|
||||
cookieLightType: 0
|
||||
platformSettings:
|
||||
- serializedVersion: 3
|
||||
buildTarget: DefaultTexturePlatform
|
||||
maxTextureSize: 2048
|
||||
maxPlaceholderSize: 32
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
ignorePlatformSupport: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 3
|
||||
buildTarget: Standalone
|
||||
maxTextureSize: 2048
|
||||
maxPlaceholderSize: 32
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
ignorePlatformSupport: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 3
|
||||
buildTarget: Server
|
||||
maxTextureSize: 2048
|
||||
maxPlaceholderSize: 32
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
ignorePlatformSupport: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 3
|
||||
buildTarget: Android
|
||||
maxTextureSize: 2048
|
||||
maxPlaceholderSize: 32
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
ignorePlatformSupport: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 3
|
||||
buildTarget: HMIAndroid
|
||||
maxTextureSize: 2048
|
||||
maxPlaceholderSize: 32
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
ignorePlatformSupport: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 3
|
||||
buildTarget: OpenHarmony
|
||||
maxTextureSize: 2048
|
||||
maxPlaceholderSize: 32
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
ignorePlatformSupport: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
spriteSheet:
|
||||
serializedVersion: 2
|
||||
sprites: []
|
||||
outline: []
|
||||
physicsShape: []
|
||||
bones: []
|
||||
spriteID: 5e97eb03825dee720800000000000000
|
||||
internalID: 0
|
||||
vertices: []
|
||||
indices:
|
||||
edges: []
|
||||
weights: []
|
||||
secondaryTextures: []
|
||||
nameFileIdTable: {}
|
||||
mipmapLimitGroupName:
|
||||
pSDRemoveMatte: 0
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,172 @@
|
||||
using UnityEngine;
|
||||
using UnityEngine.SceneManagement;
|
||||
using UnityEngine.UI;
|
||||
|
||||
namespace GameFramework
|
||||
{
|
||||
/// <summary>
|
||||
/// 调试工具 —— 在 Gameplay 场景中显示"胜利"和"失败"按钮,
|
||||
/// 点击后直接触发 GameManager.Win() 或 GameManager.GameOver()。
|
||||
/// 测试完成后删除此脚本。
|
||||
/// </summary>
|
||||
public class DebugResultButtons : MonoBehaviour
|
||||
{
|
||||
private string _debugLog = "";
|
||||
private GameResultScreen _resultScreen;
|
||||
|
||||
// 转场效果
|
||||
private bool _isFading = false;
|
||||
private float _fadeAlpha = 0f;
|
||||
private float _fadeSpeed = 2f; // 淡出速度
|
||||
private string _pendingScene = "";
|
||||
private Texture2D _fadeTexture;
|
||||
|
||||
private void Start()
|
||||
{
|
||||
// 查找场景中的 GameResultScreen
|
||||
_resultScreen = FindObjectOfType<GameResultScreen>();
|
||||
if (_resultScreen == null)
|
||||
{
|
||||
Debug.LogWarning("[DebugResultButtons] 场景中没有 GameResultScreen!");
|
||||
}
|
||||
else
|
||||
{
|
||||
Debug.Log("[DebugResultButtons] 找到 GameResultScreen: " + _resultScreen.gameObject.name);
|
||||
}
|
||||
|
||||
// 检查 SceneLoader
|
||||
if (SceneLoader.Instance == null)
|
||||
{
|
||||
Debug.LogWarning("[DebugResultButtons] SceneLoader.Instance 为 null,将使用 SceneManager 直接加载场景");
|
||||
}
|
||||
|
||||
// 创建用于淡入淡出的纹理
|
||||
_fadeTexture = new Texture2D(1, 1);
|
||||
_fadeTexture.SetPixel(0, 0, Color.black);
|
||||
_fadeTexture.Apply();
|
||||
}
|
||||
|
||||
private void Update()
|
||||
{
|
||||
// 处理淡出效果
|
||||
if (_isFading)
|
||||
{
|
||||
_fadeAlpha += Time.deltaTime * _fadeSpeed;
|
||||
if (_fadeAlpha >= 1f)
|
||||
{
|
||||
_fadeAlpha = 1f;
|
||||
// 淡出完成,加载场景
|
||||
if (!string.IsNullOrEmpty(_pendingScene))
|
||||
{
|
||||
Debug.Log($"[DebugResultButtons] 淡出完成,加载场景: {_pendingScene}");
|
||||
SceneManager.LoadScene(_pendingScene);
|
||||
}
|
||||
_isFading = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void OnGUI()
|
||||
{
|
||||
// 左上角显示调试信息(大字体,黄色)
|
||||
GUIStyle debugStyle = new GUIStyle(GUI.skin.label);
|
||||
debugStyle.fontSize = 18;
|
||||
debugStyle.normal.textColor = Color.yellow;
|
||||
debugStyle.fontStyle = FontStyle.Bold;
|
||||
|
||||
// 调试信息背景
|
||||
GUI.Box(new Rect(5, 5, 500, 130), "");
|
||||
|
||||
GUI.Label(new Rect(10, 10, 480, 25), $"GameManager.Instance: {(GameManager.Instance != null ? "【存在】" : "【null - 缺失!】")}", debugStyle);
|
||||
GUI.Label(new Rect(10, 35, 480, 25), $"GameState: {GameManager.GameState}", debugStyle);
|
||||
|
||||
string resultScreenStatus = _resultScreen != null ? "【已找到】" : "【未找到!】";
|
||||
GUI.Label(new Rect(10, 60, 480, 25), $"GameResultScreen: {resultScreenStatus}", debugStyle);
|
||||
|
||||
if (!string.IsNullOrEmpty(_debugLog))
|
||||
{
|
||||
GUIStyle logStyle = new GUIStyle(GUI.skin.label);
|
||||
logStyle.fontSize = 16;
|
||||
logStyle.normal.textColor = _debugLog.Contains("错误") ? Color.red : Color.green;
|
||||
logStyle.fontStyle = FontStyle.Bold;
|
||||
GUI.Label(new Rect(10, 85, 580, 25), _debugLog, logStyle);
|
||||
}
|
||||
|
||||
// 右上角显示两个按钮(淡出时隐藏)
|
||||
if (!_isFading)
|
||||
{
|
||||
float x = Screen.width - 220;
|
||||
float y = 10;
|
||||
|
||||
GUIStyle style = new GUIStyle(GUI.skin.button);
|
||||
style.fontSize = 20;
|
||||
style.fontStyle = FontStyle.Bold;
|
||||
|
||||
// 胜利按钮(绿色)
|
||||
GUI.backgroundColor = new Color(0.2f, 0.8f, 0.2f, 0.9f);
|
||||
if (GUI.Button(new Rect(x, y, 100, 50), "胜利", style))
|
||||
{
|
||||
if (GameManager.Instance == null)
|
||||
{
|
||||
_debugLog = "[错误] GameManager.Instance 为 null!";
|
||||
Debug.LogError("[DebugResultButtons] GameManager.Instance 为 null!");
|
||||
}
|
||||
else
|
||||
{
|
||||
_debugLog = $"[调用] Win() - 时间: {Time.time:F2}";
|
||||
Debug.Log("[DebugResultButtons] 调用 GameManager.Win()");
|
||||
GameManager.Win();
|
||||
|
||||
// 如果没有 ResultScreen,直接跳转结算场景
|
||||
if (_resultScreen == null)
|
||||
{
|
||||
StartFadeToScene("Scoring");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// 失败按钮(红色)
|
||||
GUI.backgroundColor = new Color(0.8f, 0.2f, 0.2f, 0.9f);
|
||||
if (GUI.Button(new Rect(x + 110, y, 100, 50), "失败", style))
|
||||
{
|
||||
if (GameManager.Instance == null)
|
||||
{
|
||||
_debugLog = "[错误] GameManager.Instance 为 null!";
|
||||
Debug.LogError("[DebugResultButtons] GameManager.Instance 为 null!");
|
||||
}
|
||||
else
|
||||
{
|
||||
_debugLog = $"[调用] GameOver() - 时间: {Time.time:F2}";
|
||||
Debug.Log("[DebugResultButtons] 调用 GameManager.GameOver()");
|
||||
GameManager.GameOver();
|
||||
|
||||
// 如果没有 ResultScreen,直接跳转结算场景
|
||||
if (_resultScreen == null)
|
||||
{
|
||||
StartFadeToScene("Scoring");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// 重置颜色
|
||||
GUI.backgroundColor = Color.white;
|
||||
}
|
||||
|
||||
// 绘制淡出遮罩
|
||||
if (_isFading || _fadeAlpha > 0)
|
||||
{
|
||||
GUI.color = new Color(0, 0, 0, _fadeAlpha);
|
||||
GUI.DrawTexture(new Rect(0, 0, Screen.width, Screen.height), _fadeTexture);
|
||||
GUI.color = Color.white;
|
||||
}
|
||||
}
|
||||
|
||||
private void StartFadeToScene(string sceneName)
|
||||
{
|
||||
_debugLog = $"[转场] 淡出到 {sceneName}...";
|
||||
_pendingScene = sceneName;
|
||||
_isFading = true;
|
||||
_fadeAlpha = 0f;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: DX5JsnisVSoJmhkFWn78LbJWonDPE0PSo8J+o5RneEP6rGQ1Qh668bA=
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -5,35 +5,69 @@ using UnityEngine.UI;
|
||||
namespace GameFramework
|
||||
{
|
||||
/// <summary>
|
||||
/// 排行榜场景 UI 控制器。
|
||||
/// 如果当前得分能进入 Top-10,先显示输入名字面板;
|
||||
/// 否则直接显示排行榜。
|
||||
/// 修复了源项目 ScoringUIController 中 ShowScoringScreen() 被调用两次的 bug。
|
||||
/// 结算界面 UI 控制器 —— 支持胜利/失败双界面。
|
||||
///
|
||||
/// 胜利:显示"你做到了" + 魂灵数量 + 新记录标识(如有)
|
||||
/// 失败:显示"你迷失了" + 去色底图
|
||||
///
|
||||
/// 通过 GameManager.GameState 判断胜负。
|
||||
/// </summary>
|
||||
public class ScoringUIController : MonoBehaviour
|
||||
{
|
||||
[Header("Panels")]
|
||||
[SerializeField] GameObject leaderboardPanel;
|
||||
[SerializeField] GameObject newHighScorePanel;
|
||||
[Header("底图")]
|
||||
[SerializeField] private Image bgImage;
|
||||
[SerializeField] private Sprite bgSprite; // bg.png(胜利彩色/失败去色共用同一张)
|
||||
|
||||
[Header("Leaderboard")]
|
||||
[SerializeField] Transform leaderboardContainer; // 包含10个条目的父物体
|
||||
[SerializeField] Text finalScoreText; // 显示当前局最终得分
|
||||
[Header("胜利面板")]
|
||||
[SerializeField] private GameObject winPanel;
|
||||
[SerializeField] private Image winTitleImage; // "你做到了" 图片
|
||||
[SerializeField] private Sprite winTitleSprite; // nizuodaol.png
|
||||
[SerializeField] private Text soulCountText; // 魂灵数量
|
||||
[SerializeField] private Image soulCountBgImage; // 魂灵数量底图
|
||||
[SerializeField] private Sprite soulCountBgSprite; // bgpoint.png
|
||||
[SerializeField] private Image newRecordImage; // "新记录" 图片
|
||||
[SerializeField] private Sprite newRecordSprite; // 新纪录.png
|
||||
[SerializeField] private Image scoreLabelImage; // "拯救魂灵" 图片
|
||||
[SerializeField] private Sprite scoreLabelSprite;
|
||||
|
||||
[Header("New High Score")]
|
||||
[SerializeField] InputField nameInputField;
|
||||
[SerializeField] Button submitButton;
|
||||
[SerializeField] Button cancelButton;
|
||||
[Header("失败面板")]
|
||||
[SerializeField] private GameObject losePanel;
|
||||
[SerializeField] private Image loseTitleImage; // "你迷失了" 图片
|
||||
[SerializeField] private Sprite loseTitleSprite; // nizuodaol.png 副本
|
||||
|
||||
[Header("Navigation")]
|
||||
[SerializeField] Button mainMenuButton;
|
||||
[Header("排行榜")]
|
||||
[SerializeField] private GameObject leaderboardPanel;
|
||||
[SerializeField] private Transform leaderboardContainer;
|
||||
[SerializeField] private Text finalScoreText;
|
||||
|
||||
[Header("新纪录输入")]
|
||||
[SerializeField] private GameObject newHighScorePanel;
|
||||
[SerializeField] private InputField nameInputField;
|
||||
[SerializeField] private Button submitButton;
|
||||
[SerializeField] private Button cancelButton;
|
||||
|
||||
[Header("导航")]
|
||||
[SerializeField] private Button mainMenuButton;
|
||||
[SerializeField] private Image mainMenuButtonImage; // 主界面.png
|
||||
[SerializeField] private Sprite mainMenuBtnSprite;
|
||||
|
||||
[Header("装饰")]
|
||||
[SerializeField] private Image lineImage;
|
||||
[SerializeField] private Sprite lineSprite;
|
||||
[SerializeField] private Image bgPointImage;
|
||||
[SerializeField] private Sprite bgPointSprite;
|
||||
|
||||
[Header("Audio")]
|
||||
[SerializeField] AudioData submitSFX;
|
||||
[SerializeField] AudioData cancelSFX;
|
||||
[SerializeField] private AudioData submitSFX;
|
||||
[SerializeField] private AudioData cancelSFX;
|
||||
|
||||
private bool _isWin;
|
||||
|
||||
void Start()
|
||||
{
|
||||
// 判断胜负
|
||||
_isWin = (GameManager.GameState == GameState.Victory);
|
||||
|
||||
// 绑定按钮
|
||||
if (submitButton != null)
|
||||
submitButton.onClick.AddListener(OnSubmitClick);
|
||||
@@ -43,18 +77,74 @@ namespace GameFramework
|
||||
mainMenuButton.onClick.AddListener(OnMainMenuClick);
|
||||
|
||||
// 初始隐藏所有面板
|
||||
if (leaderboardPanel != null)
|
||||
leaderboardPanel.SetActive(false);
|
||||
if (newHighScorePanel != null)
|
||||
newHighScorePanel.SetActive(false);
|
||||
SetPanelActive(winPanel, false);
|
||||
SetPanelActive(losePanel, false);
|
||||
SetPanelActive(leaderboardPanel, false);
|
||||
SetPanelActive(newHighScorePanel, false);
|
||||
|
||||
// 显示当前最终得分
|
||||
if (finalScoreText != null && ScoreManager.Instance != null)
|
||||
finalScoreText.text = ScoreManager.Instance.CurrentScore.ToString();
|
||||
// 设置底图(共用同一张,失败时去色)
|
||||
if (bgImage != null && bgSprite != null)
|
||||
{
|
||||
bgImage.sprite = bgSprite;
|
||||
bgImage.color = _isWin ? Color.white : new Color(0.4f, 0.4f, 0.45f, 1f); // 失败去色
|
||||
}
|
||||
|
||||
// 判断是否进入排行榜
|
||||
// 只调用一次——修复源项目的双重调用 bug
|
||||
if (ScoreManager.Instance != null && ScoreManager.Instance.HasNewHighScore)
|
||||
// 设置装饰图片
|
||||
if (lineImage != null && lineSprite != null)
|
||||
lineImage.sprite = lineSprite;
|
||||
if (bgPointImage != null && bgPointSprite != null)
|
||||
bgPointImage.sprite = bgPointSprite;
|
||||
|
||||
// 设置返回主界面按钮图片
|
||||
if (mainMenuButtonImage != null && mainMenuBtnSprite != null)
|
||||
mainMenuButtonImage.sprite = mainMenuBtnSprite;
|
||||
|
||||
if (_isWin)
|
||||
{
|
||||
ShowWinScreen();
|
||||
}
|
||||
else
|
||||
{
|
||||
ShowLoseScreen();
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 显示胜利界面。
|
||||
/// </summary>
|
||||
void ShowWinScreen()
|
||||
{
|
||||
SetPanelActive(winPanel, true);
|
||||
SetPanelActive(losePanel, false);
|
||||
|
||||
// 设置“你做到了”图片
|
||||
if (winTitleImage != null && winTitleSprite != null)
|
||||
winTitleImage.sprite = winTitleSprite;
|
||||
|
||||
// 设置魂灵数量底图
|
||||
if (soulCountBgImage != null && soulCountBgSprite != null)
|
||||
soulCountBgImage.sprite = soulCountBgSprite;
|
||||
|
||||
// 显示魂灵数量(复用 ScoreManager)
|
||||
int score = ScoreManager.Instance != null ? ScoreManager.Instance.CurrentScore : 0;
|
||||
if (soulCountText != null)
|
||||
soulCountText.text = score.ToString();
|
||||
|
||||
// 设置“拯救魂灵”图片
|
||||
if (scoreLabelImage != null && scoreLabelSprite != null)
|
||||
scoreLabelImage.sprite = scoreLabelSprite;
|
||||
|
||||
// 判断是否新纪录
|
||||
bool isNewRecord = ScoreManager.Instance != null && ScoreManager.Instance.HasNewHighScore;
|
||||
if (newRecordImage != null)
|
||||
{
|
||||
newRecordImage.gameObject.SetActive(isNewRecord);
|
||||
if (isNewRecord && newRecordSprite != null)
|
||||
newRecordImage.sprite = newRecordSprite;
|
||||
}
|
||||
|
||||
// 新纪录时显示输入面板,否则直接显示排行榜
|
||||
if (isNewRecord)
|
||||
{
|
||||
ShowNewHighScorePanel();
|
||||
}
|
||||
@@ -64,17 +154,30 @@ namespace GameFramework
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 显示失败界面。
|
||||
/// </summary>
|
||||
void ShowLoseScreen()
|
||||
{
|
||||
SetPanelActive(winPanel, false);
|
||||
SetPanelActive(losePanel, true);
|
||||
|
||||
// 设置"你迷失了"图片
|
||||
if (loseTitleImage != null && loseTitleSprite != null)
|
||||
loseTitleImage.sprite = loseTitleSprite;
|
||||
|
||||
// 失败也显示排行榜
|
||||
ShowLeaderboard();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 显示新纪录输入面板。
|
||||
/// </summary>
|
||||
void ShowNewHighScorePanel()
|
||||
{
|
||||
if (newHighScorePanel != null)
|
||||
newHighScorePanel.SetActive(true);
|
||||
if (leaderboardPanel != null)
|
||||
leaderboardPanel.SetActive(false);
|
||||
SetPanelActive(newHighScorePanel, true);
|
||||
SetPanelActive(leaderboardPanel, false);
|
||||
|
||||
// 自动选中输入框
|
||||
if (nameInputField != null)
|
||||
{
|
||||
nameInputField.text = "";
|
||||
@@ -87,37 +190,28 @@ namespace GameFramework
|
||||
/// </summary>
|
||||
void ShowLeaderboard()
|
||||
{
|
||||
if (newHighScorePanel != null)
|
||||
newHighScorePanel.SetActive(false);
|
||||
if (leaderboardPanel != null)
|
||||
leaderboardPanel.SetActive(true);
|
||||
|
||||
SetPanelActive(newHighScorePanel, false);
|
||||
SetPanelActive(leaderboardPanel, true);
|
||||
UpdateLeaderboardDisplay();
|
||||
|
||||
// 选中主菜单按钮(键盘导航用)
|
||||
if (mainMenuButton != null)
|
||||
mainMenuButton.Select();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 更新排行榜显示。
|
||||
/// 遍历 leaderboardContainer 下的子物体,设置排名/得分/名字。
|
||||
/// 每个条目子物体需要有三个 Text 组件,分别在 Rank/Score/Name 子物体上。
|
||||
/// </summary>
|
||||
void UpdateLeaderboardDisplay()
|
||||
{
|
||||
if (ScoreManager.Instance == null) return;
|
||||
if (leaderboardContainer == null) return;
|
||||
if (ScoreManager.Instance == null || leaderboardContainer == null) return;
|
||||
|
||||
var data = ScoreManager.Instance.LoadPlayerScoreData();
|
||||
int count = Mathf.Min(data.list.Count, leaderboardContainer.childCount);
|
||||
|
||||
for (int i = 0; i < leaderboardContainer.childCount; i++)
|
||||
{
|
||||
Transform entry = leaderboardContainer.GetChild(i);
|
||||
bool hasData = i < data.list.Count;
|
||||
|
||||
// 查找条目下的三个 Text
|
||||
Text rankText = FindTextByName(entry, "Rank");
|
||||
Text scoreText = FindTextByName(entry, "Score");
|
||||
Text nameText = FindTextByName(entry, "Name");
|
||||
@@ -140,25 +234,26 @@ namespace GameFramework
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 在子物体中按名称查找 Text 组件。
|
||||
/// </summary>
|
||||
Text FindTextByName(Transform parent, string name)
|
||||
{
|
||||
Transform t = parent.Find(name);
|
||||
if (t != null)
|
||||
return t.GetComponent<Text>();
|
||||
// 如果条目本身就是单个 Text(没有子结构),返回自身
|
||||
return parent.GetComponent<Text>();
|
||||
}
|
||||
|
||||
void SetPanelActive(GameObject panel, bool active)
|
||||
{
|
||||
if (panel != null)
|
||||
panel.SetActive(active);
|
||||
}
|
||||
|
||||
#region Button Handlers
|
||||
void OnSubmitClick()
|
||||
{
|
||||
string playerName = "";
|
||||
if (nameInputField != null)
|
||||
playerName = nameInputField.text;
|
||||
|
||||
if (string.IsNullOrEmpty(playerName))
|
||||
playerName = "Player";
|
||||
|
||||
@@ -173,7 +268,6 @@ namespace GameFramework
|
||||
|
||||
void OnCancelClick()
|
||||
{
|
||||
// 取消 = 用默认名保存后显示排行榜
|
||||
if (ScoreManager.Instance != null)
|
||||
ScoreManager.Instance.SavePlayerScore("Player");
|
||||
|
||||
|
||||
@@ -107,7 +107,7 @@ MonoBehaviour:
|
||||
radius: 0.8
|
||||
intensity: 1
|
||||
registerOnStart: 1
|
||||
offset: {x: 0, y: 0, z: 0.3}
|
||||
offset: {x: 0, y: 0, z: 0.4}
|
||||
followTarget: {fileID: 0}
|
||||
enableFlicker: 1
|
||||
flickerSpeed: 0.1
|
||||
|
||||
@@ -60,6 +60,19 @@ namespace IndianOceanAssets.Engine2_5D
|
||||
[Tooltip("巡逻半径")]
|
||||
[SerializeField] private float bellPatrolRadius = 3f;
|
||||
|
||||
[Header("近战攻击")]
|
||||
[Tooltip("攻击范围(进入此范围后触发攻击)")]
|
||||
[SerializeField] private float attackRange = 1.5f;
|
||||
|
||||
[Tooltip("攻击冷却时间(秒)")]
|
||||
[SerializeField] private float attackCooldown = 1.5f;
|
||||
|
||||
[Tooltip("每次攻击造成的伤害")]
|
||||
[SerializeField] private int attackDamage = 1;
|
||||
|
||||
[Tooltip("攻击动画触发器名称(Animator Trigger)")]
|
||||
[SerializeField] private string attackAnimTrigger = "Attack";
|
||||
|
||||
// 状态枚举
|
||||
private enum State
|
||||
{
|
||||
@@ -83,14 +96,28 @@ namespace IndianOceanAssets.Engine2_5D
|
||||
private float _patrolTimer; // 巡逻计时器
|
||||
private Vector3 _patrolTarget; // 当前巡逻目标点
|
||||
|
||||
// 攻击相关
|
||||
private float _attackTimer; // 攻击冷却计时器
|
||||
private Animator _animator; // 敌人动画
|
||||
private HealthSystem _playerHealth; // 玩家血量引用
|
||||
|
||||
private void Start()
|
||||
{
|
||||
if (playerTarget == null)
|
||||
{
|
||||
var player = GameObject.FindWithTag("Player");
|
||||
if (player != null)
|
||||
{
|
||||
playerTarget = player.transform;
|
||||
_playerHealth = player.GetComponent<HealthSystem>();
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
_playerHealth = playerTarget.GetComponent<HealthSystem>();
|
||||
}
|
||||
|
||||
_animator = GetComponent<Animator>();
|
||||
}
|
||||
|
||||
private void OnEnable()
|
||||
@@ -129,15 +156,24 @@ namespace IndianOceanAssets.Engine2_5D
|
||||
// ===== ChasingPlayer:追击玩家 =====
|
||||
private void UpdateChasingPlayer()
|
||||
{
|
||||
// 更新攻击冷却
|
||||
_attackTimer -= Time.deltaTime;
|
||||
|
||||
// 检测是否看到玩家
|
||||
if (CanSeePlayer())
|
||||
{
|
||||
_loseSightTimer = 0f; // 重置计时器
|
||||
|
||||
// 追击玩家
|
||||
float dist = XZDistance(transform.position, playerTarget.position);
|
||||
if (dist > stopDistance)
|
||||
|
||||
// 进入攻击范围 → 近战攻击
|
||||
if (dist <= attackRange)
|
||||
{
|
||||
TryAttack();
|
||||
}
|
||||
else if (dist > stopDistance)
|
||||
{
|
||||
// 追击玩家
|
||||
MoveToward(playerTarget.position, chaseSpeed);
|
||||
}
|
||||
}
|
||||
@@ -164,6 +200,28 @@ namespace IndianOceanAssets.Engine2_5D
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 尝试近战攻击。在攻击冷却就绪时触发。
|
||||
/// </summary>
|
||||
private void TryAttack()
|
||||
{
|
||||
if (_attackTimer > 0f) return; // CD 未就绪
|
||||
|
||||
_attackTimer = attackCooldown;
|
||||
|
||||
// 对玩家造成伤害
|
||||
if (_playerHealth != null)
|
||||
{
|
||||
_playerHealth.Damage(attackDamage);
|
||||
}
|
||||
|
||||
// 触发攻击动画
|
||||
if (_animator != null && !string.IsNullOrEmpty(attackAnimTrigger))
|
||||
{
|
||||
_animator.SetTrigger(attackAnimTrigger);
|
||||
}
|
||||
}
|
||||
|
||||
// ===== ChasingBell:追击铃铛 =====
|
||||
private void UpdateChasingBell()
|
||||
{
|
||||
|
||||