超大量的更新 修复很多问题,gameplay特效初步
This commit is contained in:
@@ -4,53 +4,78 @@ using UnityEngine.UI;
|
||||
|
||||
public class archievePrefab : MonoBehaviour
|
||||
{
|
||||
[Header("�ɾ���Ϣ")]
|
||||
[Header("Inspector")]
|
||||
public Image archieve_btmImage;
|
||||
public Text archieve_name;
|
||||
public Text archieve_description;
|
||||
[Header("�ȼ��ּ�")]
|
||||
public Color whiteLevel;
|
||||
public Color greenLevel;
|
||||
public Color blueLevel;
|
||||
public Color purpleLevel;
|
||||
public Color goldenLevel;
|
||||
public Color redLevel;
|
||||
public Image colorfulLevel;
|
||||
|
||||
[Header("Rarity Background Sprites")]
|
||||
public Sprite whiteLevelSprite;
|
||||
public Sprite greenLevelSprite;
|
||||
public Sprite blueLevelSprite;
|
||||
public Sprite purpleLevelSprite;
|
||||
public Sprite goldenLevelSprite;
|
||||
public Sprite redLevelSprite;
|
||||
public Sprite colorfulLevelSprite;
|
||||
|
||||
public void Setup(AchievementLevel level)
|
||||
{
|
||||
if (archieve_name != null) archieve_name.text = level.levelName;
|
||||
if (archieve_description != null) archieve_description.text = level.description;
|
||||
|
||||
// 设置颜色/稀有度表现
|
||||
SetRarityVisuals(level.rarity);
|
||||
}
|
||||
|
||||
private void SetRarityVisuals(AchievementRarity rarity)
|
||||
{
|
||||
// 默认隐藏特殊彩色层
|
||||
if (colorfulLevel != null) colorfulLevel.gameObject.SetActive(false);
|
||||
|
||||
Color targetColor = whiteLevel;
|
||||
if (archieve_btmImage == null) return;
|
||||
|
||||
Sprite targetSprite = whiteLevelSprite;
|
||||
bool useBlackText = false;
|
||||
|
||||
switch (rarity)
|
||||
{
|
||||
case AchievementRarity.Common: targetColor = whiteLevel; break;
|
||||
case AchievementRarity.Advanced: targetColor = greenLevel; break;
|
||||
case AchievementRarity.Rare: targetColor = blueLevel; break;
|
||||
case AchievementRarity.Epic: targetColor = purpleLevel; break;
|
||||
case AchievementRarity.Legendary: targetColor = goldenLevel; break;
|
||||
case AchievementRarity.Mythic: targetColor = redLevel; break;
|
||||
case AchievementRarity.Exquisite:
|
||||
if (colorfulLevel != null) colorfulLevel.gameObject.SetActive(true);
|
||||
targetColor = Color.white; // 或者其他基色
|
||||
case AchievementRarity.Common:
|
||||
targetSprite = whiteLevelSprite;
|
||||
useBlackText = true; // 白色底图用黑字
|
||||
break;
|
||||
case AchievementRarity.Advanced:
|
||||
targetSprite = greenLevelSprite;
|
||||
useBlackText = true; // 绿色底图用黑字
|
||||
break;
|
||||
case AchievementRarity.Rare:
|
||||
targetSprite = blueLevelSprite;
|
||||
useBlackText = false;
|
||||
break;
|
||||
case AchievementRarity.Epic:
|
||||
targetSprite = purpleLevelSprite;
|
||||
useBlackText = false;
|
||||
break;
|
||||
case AchievementRarity.Legendary:
|
||||
targetSprite = goldenLevelSprite;
|
||||
useBlackText = true; // 金色底图用黑字
|
||||
break;
|
||||
case AchievementRarity.Mythic:
|
||||
targetSprite = redLevelSprite;
|
||||
useBlackText = false;
|
||||
break;
|
||||
case AchievementRarity.Exquisite:
|
||||
targetSprite = colorfulLevelSprite;
|
||||
useBlackText = true; // 至臻底图用黑字
|
||||
break;
|
||||
}
|
||||
|
||||
if (archieve_btmImage != null)
|
||||
// 1. 替换底图图片 (archieve_btmImage)
|
||||
if (targetSprite != null)
|
||||
{
|
||||
Color finalColor = targetColor;
|
||||
finalColor.a = 1f; // 确保 alpha 是 1
|
||||
archieve_btmImage.color = finalColor;
|
||||
archieve_btmImage.sprite = targetSprite;
|
||||
archieve_btmImage.color = Color.white;
|
||||
}
|
||||
|
||||
// 2. 根据底图亮度调整文字颜色 (archieve_name)
|
||||
if (archieve_name != null)
|
||||
{
|
||||
archieve_name.color = useBlackText ? Color.black : Color.white;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user