更新结算界面
@@ -9,12 +9,13 @@ using GameFramework;
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public static class UIBuilder
|
public static class UIBuilder
|
||||||
{
|
{
|
||||||
[MenuItem("Tools/搭建游戏UI (HUD + ResultScreen + MainMenu)")]
|
[MenuItem("Tools/搭建游戏UI (HUD + ResultScreen + MainMenu + Scoring)")]
|
||||||
public static void BuildAll()
|
public static void BuildAll()
|
||||||
{
|
{
|
||||||
BuildMainMenu();
|
BuildMainMenu();
|
||||||
BuildHUD();
|
BuildHUD();
|
||||||
BuildResultScreen();
|
BuildResultScreen();
|
||||||
|
BuildScoringUI();
|
||||||
Debug.Log("[UIBuilder] 全部 UI 搭建完成!请在 Inspector 中检查引用是否正确。");
|
Debug.Log("[UIBuilder] 全部 UI 搭建完成!请在 Inspector 中检查引用是否正确。");
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -457,4 +458,228 @@ public static class UIBuilder
|
|||||||
img.color = bgColor;
|
img.color = bgColor;
|
||||||
return panel;
|
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;
|
[SerializeField, Range(0.01f, 1f)] private float lightSoftness = 0.35f;
|
||||||
|
|
||||||
[Header("遮罩平面跟随设置")]
|
[Header("遮罩平面跟随设置")]
|
||||||
[Tooltip("如果勾选,遮罩平面会跟随摄像机移动(适合大地图)")]
|
[Tooltip("遮罩平面跟随目标(留空则自动查找 Player 标签)。\n跟随玩家而非摄像机,确保光照精度始终一致。")]
|
||||||
[SerializeField] private bool followCamera = true;
|
[SerializeField] private Transform followTarget;
|
||||||
[SerializeField] private Transform maskPlane;
|
[SerializeField] private Transform maskPlane;
|
||||||
[SerializeField] private Vector3 maskOffset = new Vector3(0f, 5f, 0f);
|
[SerializeField] private Vector3 maskOffset = new Vector3(0f, 5f, 0f);
|
||||||
[SerializeField] private float planeSize = 50f;
|
[SerializeField] private float planeSize = 50f;
|
||||||
@@ -70,20 +70,24 @@ namespace IndianOceanAssets.Engine2_5D
|
|||||||
_mainCamera = Camera.main;
|
_mainCamera = Camera.main;
|
||||||
UpdateMaterialProperties();
|
UpdateMaterialProperties();
|
||||||
|
|
||||||
|
// 自动查找玩家作为跟随目标
|
||||||
|
if (followTarget == null)
|
||||||
|
{
|
||||||
|
var player = GameObject.FindWithTag("Player");
|
||||||
|
if (player != null)
|
||||||
|
followTarget = player.transform;
|
||||||
|
}
|
||||||
|
|
||||||
// 确保遮罩平面在所有Sprite之后渲染
|
// 确保遮罩平面在所有Sprite之后渲染
|
||||||
if (maskPlane != null)
|
if (maskPlane != null)
|
||||||
{
|
{
|
||||||
Renderer renderer = maskPlane.GetComponent<Renderer>();
|
Renderer renderer = maskPlane.GetComponent<Renderer>();
|
||||||
if (renderer != null)
|
if (renderer != null)
|
||||||
{
|
{
|
||||||
// 设置渲染队列为最后(Overlay之后)
|
|
||||||
renderer.sortingOrder = 9999;
|
renderer.sortingOrder = 9999;
|
||||||
|
|
||||||
// 如果使用MeshRenderer,设置material的渲染队列
|
|
||||||
if (renderer is MeshRenderer && darknessMaterial != null)
|
if (renderer is MeshRenderer && darknessMaterial != null)
|
||||||
{
|
{
|
||||||
// 保持在Transparent之后
|
darknessMaterial.renderQueue = 3100;
|
||||||
darknessMaterial.renderQueue = 3100; // Transparent+100
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -130,9 +134,17 @@ namespace IndianOceanAssets.Engine2_5D
|
|||||||
|
|
||||||
private void UpdateMaskPosition()
|
private void UpdateMaskPosition()
|
||||||
{
|
{
|
||||||
if (!followCamera || maskPlane == null || _mainCamera == null) return;
|
if (maskPlane == null) return;
|
||||||
Vector3 camPos = _mainCamera.transform.position;
|
|
||||||
maskPlane.position = new Vector3(camPos.x + maskOffset.x, maskOffset.y, camPos.z + maskOffset.z);
|
// 优先跟随玩家,回退到摄像机
|
||||||
|
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
|
namespace GameFramework
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 排行榜场景 UI 控制器。
|
/// 结算界面 UI 控制器 —— 支持胜利/失败双界面。
|
||||||
/// 如果当前得分能进入 Top-10,先显示输入名字面板;
|
///
|
||||||
/// 否则直接显示排行榜。
|
/// 胜利:显示"你做到了" + 魂灵数量 + 新记录标识(如有)
|
||||||
/// 修复了源项目 ScoringUIController 中 ShowScoringScreen() 被调用两次的 bug。
|
/// 失败:显示"你迷失了" + 去色底图
|
||||||
|
///
|
||||||
|
/// 通过 GameManager.GameState 判断胜负。
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public class ScoringUIController : MonoBehaviour
|
public class ScoringUIController : MonoBehaviour
|
||||||
{
|
{
|
||||||
[Header("Panels")]
|
[Header("底图")]
|
||||||
[SerializeField] GameObject leaderboardPanel;
|
[SerializeField] private Image bgImage;
|
||||||
[SerializeField] GameObject newHighScorePanel;
|
[SerializeField] private Sprite bgSprite; // bg.png(胜利彩色/失败去色共用同一张)
|
||||||
|
|
||||||
[Header("Leaderboard")]
|
[Header("胜利面板")]
|
||||||
[SerializeField] Transform leaderboardContainer; // 包含10个条目的父物体
|
[SerializeField] private GameObject winPanel;
|
||||||
[SerializeField] Text finalScoreText; // 显示当前局最终得分
|
[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")]
|
[Header("失败面板")]
|
||||||
[SerializeField] InputField nameInputField;
|
[SerializeField] private GameObject losePanel;
|
||||||
[SerializeField] Button submitButton;
|
[SerializeField] private Image loseTitleImage; // "你迷失了" 图片
|
||||||
[SerializeField] Button cancelButton;
|
[SerializeField] private Sprite loseTitleSprite; // nizuodaol.png 副本
|
||||||
|
|
||||||
[Header("Navigation")]
|
[Header("排行榜")]
|
||||||
[SerializeField] Button mainMenuButton;
|
[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")]
|
[Header("Audio")]
|
||||||
[SerializeField] AudioData submitSFX;
|
[SerializeField] private AudioData submitSFX;
|
||||||
[SerializeField] AudioData cancelSFX;
|
[SerializeField] private AudioData cancelSFX;
|
||||||
|
|
||||||
|
private bool _isWin;
|
||||||
|
|
||||||
void Start()
|
void Start()
|
||||||
{
|
{
|
||||||
|
// 判断胜负
|
||||||
|
_isWin = (GameManager.GameState == GameState.Victory);
|
||||||
|
|
||||||
// 绑定按钮
|
// 绑定按钮
|
||||||
if (submitButton != null)
|
if (submitButton != null)
|
||||||
submitButton.onClick.AddListener(OnSubmitClick);
|
submitButton.onClick.AddListener(OnSubmitClick);
|
||||||
@@ -43,18 +77,74 @@ namespace GameFramework
|
|||||||
mainMenuButton.onClick.AddListener(OnMainMenuClick);
|
mainMenuButton.onClick.AddListener(OnMainMenuClick);
|
||||||
|
|
||||||
// 初始隐藏所有面板
|
// 初始隐藏所有面板
|
||||||
if (leaderboardPanel != null)
|
SetPanelActive(winPanel, false);
|
||||||
leaderboardPanel.SetActive(false);
|
SetPanelActive(losePanel, false);
|
||||||
if (newHighScorePanel != null)
|
SetPanelActive(leaderboardPanel, false);
|
||||||
newHighScorePanel.SetActive(false);
|
SetPanelActive(newHighScorePanel, false);
|
||||||
|
|
||||||
// 显示当前最终得分
|
// 设置底图(共用同一张,失败时去色)
|
||||||
if (finalScoreText != null && ScoreManager.Instance != null)
|
if (bgImage != null && bgSprite != null)
|
||||||
finalScoreText.text = ScoreManager.Instance.CurrentScore.ToString();
|
{
|
||||||
|
bgImage.sprite = bgSprite;
|
||||||
|
bgImage.color = _isWin ? Color.white : new Color(0.4f, 0.4f, 0.45f, 1f); // 失败去色
|
||||||
|
}
|
||||||
|
|
||||||
// 判断是否进入排行榜
|
// 设置装饰图片
|
||||||
// 只调用一次——修复源项目的双重调用 bug
|
if (lineImage != null && lineSprite != null)
|
||||||
if (ScoreManager.Instance != null && ScoreManager.Instance.HasNewHighScore)
|
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();
|
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>
|
||||||
/// 显示新纪录输入面板。
|
/// 显示新纪录输入面板。
|
||||||
/// </summary>
|
/// </summary>
|
||||||
void ShowNewHighScorePanel()
|
void ShowNewHighScorePanel()
|
||||||
{
|
{
|
||||||
if (newHighScorePanel != null)
|
SetPanelActive(newHighScorePanel, true);
|
||||||
newHighScorePanel.SetActive(true);
|
SetPanelActive(leaderboardPanel, false);
|
||||||
if (leaderboardPanel != null)
|
|
||||||
leaderboardPanel.SetActive(false);
|
|
||||||
|
|
||||||
// 自动选中输入框
|
|
||||||
if (nameInputField != null)
|
if (nameInputField != null)
|
||||||
{
|
{
|
||||||
nameInputField.text = "";
|
nameInputField.text = "";
|
||||||
@@ -87,37 +190,28 @@ namespace GameFramework
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
void ShowLeaderboard()
|
void ShowLeaderboard()
|
||||||
{
|
{
|
||||||
if (newHighScorePanel != null)
|
SetPanelActive(newHighScorePanel, false);
|
||||||
newHighScorePanel.SetActive(false);
|
SetPanelActive(leaderboardPanel, true);
|
||||||
if (leaderboardPanel != null)
|
|
||||||
leaderboardPanel.SetActive(true);
|
|
||||||
|
|
||||||
UpdateLeaderboardDisplay();
|
UpdateLeaderboardDisplay();
|
||||||
|
|
||||||
// 选中主菜单按钮(键盘导航用)
|
|
||||||
if (mainMenuButton != null)
|
if (mainMenuButton != null)
|
||||||
mainMenuButton.Select();
|
mainMenuButton.Select();
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 更新排行榜显示。
|
/// 更新排行榜显示。
|
||||||
/// 遍历 leaderboardContainer 下的子物体,设置排名/得分/名字。
|
|
||||||
/// 每个条目子物体需要有三个 Text 组件,分别在 Rank/Score/Name 子物体上。
|
|
||||||
/// </summary>
|
/// </summary>
|
||||||
void UpdateLeaderboardDisplay()
|
void UpdateLeaderboardDisplay()
|
||||||
{
|
{
|
||||||
if (ScoreManager.Instance == null) return;
|
if (ScoreManager.Instance == null || leaderboardContainer == null) return;
|
||||||
if (leaderboardContainer == null) return;
|
|
||||||
|
|
||||||
var data = ScoreManager.Instance.LoadPlayerScoreData();
|
var data = ScoreManager.Instance.LoadPlayerScoreData();
|
||||||
int count = Mathf.Min(data.list.Count, leaderboardContainer.childCount);
|
|
||||||
|
|
||||||
for (int i = 0; i < leaderboardContainer.childCount; i++)
|
for (int i = 0; i < leaderboardContainer.childCount; i++)
|
||||||
{
|
{
|
||||||
Transform entry = leaderboardContainer.GetChild(i);
|
Transform entry = leaderboardContainer.GetChild(i);
|
||||||
bool hasData = i < data.list.Count;
|
bool hasData = i < data.list.Count;
|
||||||
|
|
||||||
// 查找条目下的三个 Text
|
|
||||||
Text rankText = FindTextByName(entry, "Rank");
|
Text rankText = FindTextByName(entry, "Rank");
|
||||||
Text scoreText = FindTextByName(entry, "Score");
|
Text scoreText = FindTextByName(entry, "Score");
|
||||||
Text nameText = FindTextByName(entry, "Name");
|
Text nameText = FindTextByName(entry, "Name");
|
||||||
@@ -140,25 +234,26 @@ namespace GameFramework
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// 在子物体中按名称查找 Text 组件。
|
|
||||||
/// </summary>
|
|
||||||
Text FindTextByName(Transform parent, string name)
|
Text FindTextByName(Transform parent, string name)
|
||||||
{
|
{
|
||||||
Transform t = parent.Find(name);
|
Transform t = parent.Find(name);
|
||||||
if (t != null)
|
if (t != null)
|
||||||
return t.GetComponent<Text>();
|
return t.GetComponent<Text>();
|
||||||
// 如果条目本身就是单个 Text(没有子结构),返回自身
|
|
||||||
return parent.GetComponent<Text>();
|
return parent.GetComponent<Text>();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void SetPanelActive(GameObject panel, bool active)
|
||||||
|
{
|
||||||
|
if (panel != null)
|
||||||
|
panel.SetActive(active);
|
||||||
|
}
|
||||||
|
|
||||||
#region Button Handlers
|
#region Button Handlers
|
||||||
void OnSubmitClick()
|
void OnSubmitClick()
|
||||||
{
|
{
|
||||||
string playerName = "";
|
string playerName = "";
|
||||||
if (nameInputField != null)
|
if (nameInputField != null)
|
||||||
playerName = nameInputField.text;
|
playerName = nameInputField.text;
|
||||||
|
|
||||||
if (string.IsNullOrEmpty(playerName))
|
if (string.IsNullOrEmpty(playerName))
|
||||||
playerName = "Player";
|
playerName = "Player";
|
||||||
|
|
||||||
@@ -173,7 +268,6 @@ namespace GameFramework
|
|||||||
|
|
||||||
void OnCancelClick()
|
void OnCancelClick()
|
||||||
{
|
{
|
||||||
// 取消 = 用默认名保存后显示排行榜
|
|
||||||
if (ScoreManager.Instance != null)
|
if (ScoreManager.Instance != null)
|
||||||
ScoreManager.Instance.SavePlayerScore("Player");
|
ScoreManager.Instance.SavePlayerScore("Player");
|
||||||
|
|
||||||
|
|||||||
@@ -107,7 +107,7 @@ MonoBehaviour:
|
|||||||
radius: 0.8
|
radius: 0.8
|
||||||
intensity: 1
|
intensity: 1
|
||||||
registerOnStart: 1
|
registerOnStart: 1
|
||||||
offset: {x: 0, y: 0, z: 0.3}
|
offset: {x: 0, y: 0, z: 0.4}
|
||||||
followTarget: {fileID: 0}
|
followTarget: {fileID: 0}
|
||||||
enableFlicker: 1
|
enableFlicker: 1
|
||||||
flickerSpeed: 0.1
|
flickerSpeed: 0.1
|
||||||
|
|||||||
@@ -60,6 +60,19 @@ namespace IndianOceanAssets.Engine2_5D
|
|||||||
[Tooltip("巡逻半径")]
|
[Tooltip("巡逻半径")]
|
||||||
[SerializeField] private float bellPatrolRadius = 3f;
|
[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
|
private enum State
|
||||||
{
|
{
|
||||||
@@ -83,15 +96,29 @@ namespace IndianOceanAssets.Engine2_5D
|
|||||||
private float _patrolTimer; // 巡逻计时器
|
private float _patrolTimer; // 巡逻计时器
|
||||||
private Vector3 _patrolTarget; // 当前巡逻目标点
|
private Vector3 _patrolTarget; // 当前巡逻目标点
|
||||||
|
|
||||||
|
// 攻击相关
|
||||||
|
private float _attackTimer; // 攻击冷却计时器
|
||||||
|
private Animator _animator; // 敌人动画
|
||||||
|
private HealthSystem _playerHealth; // 玩家血量引用
|
||||||
|
|
||||||
private void Start()
|
private void Start()
|
||||||
{
|
{
|
||||||
if (playerTarget == null)
|
if (playerTarget == null)
|
||||||
{
|
{
|
||||||
var player = GameObject.FindWithTag("Player");
|
var player = GameObject.FindWithTag("Player");
|
||||||
if (player != null)
|
if (player != null)
|
||||||
|
{
|
||||||
playerTarget = player.transform;
|
playerTarget = player.transform;
|
||||||
|
_playerHealth = player.GetComponent<HealthSystem>();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
_playerHealth = playerTarget.GetComponent<HealthSystem>();
|
||||||
|
}
|
||||||
|
|
||||||
|
_animator = GetComponent<Animator>();
|
||||||
|
}
|
||||||
|
|
||||||
private void OnEnable()
|
private void OnEnable()
|
||||||
{
|
{
|
||||||
@@ -129,15 +156,24 @@ namespace IndianOceanAssets.Engine2_5D
|
|||||||
// ===== ChasingPlayer:追击玩家 =====
|
// ===== ChasingPlayer:追击玩家 =====
|
||||||
private void UpdateChasingPlayer()
|
private void UpdateChasingPlayer()
|
||||||
{
|
{
|
||||||
|
// 更新攻击冷却
|
||||||
|
_attackTimer -= Time.deltaTime;
|
||||||
|
|
||||||
// 检测是否看到玩家
|
// 检测是否看到玩家
|
||||||
if (CanSeePlayer())
|
if (CanSeePlayer())
|
||||||
{
|
{
|
||||||
_loseSightTimer = 0f; // 重置计时器
|
_loseSightTimer = 0f; // 重置计时器
|
||||||
|
|
||||||
// 追击玩家
|
|
||||||
float dist = XZDistance(transform.position, playerTarget.position);
|
float dist = XZDistance(transform.position, playerTarget.position);
|
||||||
if (dist > stopDistance)
|
|
||||||
|
// 进入攻击范围 → 近战攻击
|
||||||
|
if (dist <= attackRange)
|
||||||
{
|
{
|
||||||
|
TryAttack();
|
||||||
|
}
|
||||||
|
else if (dist > stopDistance)
|
||||||
|
{
|
||||||
|
// 追击玩家
|
||||||
MoveToward(playerTarget.position, chaseSpeed);
|
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:追击铃铛 =====
|
// ===== ChasingBell:追击铃铛 =====
|
||||||
private void UpdateChasingBell()
|
private void UpdateChasingBell()
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -24,14 +24,14 @@ EditorUserSettings:
|
|||||||
value: 0552060207540d5e0c0c5b2743770a4415164f2c782c7563747f4f31e0b5306f
|
value: 0552060207540d5e0c0c5b2743770a4415164f2c782c7563747f4f31e0b5306f
|
||||||
flags: 0
|
flags: 0
|
||||||
RecentlyUsedSceneGuid-6:
|
RecentlyUsedSceneGuid-6:
|
||||||
value: 5a5757560101590a5d0c0e24427b5d44434e4c7a7b7a23677f2b4565b7b5353a
|
|
||||||
flags: 0
|
|
||||||
RecentlyUsedSceneGuid-7:
|
|
||||||
value: 5300055151055f5a5e0c0f27477708444515192b287124367c791f30b3b9616d
|
value: 5300055151055f5a5e0c0f27477708444515192b287124367c791f30b3b9616d
|
||||||
flags: 0
|
flags: 0
|
||||||
RecentlyUsedSceneGuid-8:
|
RecentlyUsedSceneGuid-7:
|
||||||
value: 0209025f575750595c57092149765d444e4e49727e7c7068757b1c65b6e36c3b
|
value: 0209025f575750595c57092149765d444e4e49727e7c7068757b1c65b6e36c3b
|
||||||
flags: 0
|
flags: 0
|
||||||
|
RecentlyUsedSceneGuid-8:
|
||||||
|
value: 5a5757560101590a5d0c0e24427b5d44434e4c7a7b7a23677f2b4565b7b5353a
|
||||||
|
flags: 0
|
||||||
RecentlyUsedSceneGuid-9:
|
RecentlyUsedSceneGuid-9:
|
||||||
value: 5a55515156575a0b0f56592346260f444f16197c7e7f24697d2a4a32b1b0353e
|
value: 5a55515156575a0b0f56592346260f444f16197c7e7f24697d2a4a32b1b0353e
|
||||||
flags: 0
|
flags: 0
|
||||||
|
|||||||