using System.Collections.Generic; using UnityEngine; using UnityEngine.SceneManagement; using RuntimeData; using Logic; namespace TH1Resource { public readonly struct MoveHighlightVisual { public readonly Sprite Sprite; public readonly Color Color; public MoveHighlightVisual(Sprite sprite, Color color) { Sprite = sprite; Color = color; } } public class SpriteCache { public Dictionary GroundSprites = new(); public Dictionary ForestSprites = new(); public Dictionary MountainSprites = new(); public Sprite WaterSprite; public Sprite OceanSprite; public Dictionary Roads = new(); public Sprite UnitInfoSelf; public Sprite UnitInfoEnemy; //-------UI相关-------- public Sprite TechCompleteBackground; public Sprite TechLockedBackground; public Sprite TechAvailableBackground; public Sprite TH1Icon_ActionDefense; public Sprite AchievementStar; public Sprite AchievementStarGray; public Sprite ActionBGAvailable; public Sprite ActionBGExpensive; public Sprite ActionBGUnavailable; public Sprite Ally; public Sprite BreakAlly; public Sprite Embassy; public Sprite BreakEmbassy; public Sprite BubbleActionUpgrade; public Sprite BubbleActionCapture; public Sprite BubbleActionTreasure; public Sprite BubbleActionStarfish; public Sprite CommonBG_CircleGrey; public Sprite CommonBG_CircleBlue; public Sprite CommonBG_CircleGreen; public Dictionary MoveHighlightVisuals = new(); //-------- GridVFX 相关 -------- public Sprite GridVFXDie; public Sprite GridVFXCounterDie; public Sprite GridVFXROYALFLAMES; public Sprite GridVFXTEWI; public Sprite GridVFXCoin; public Sprite GridVFXKAGUYA; public Sprite GridVFXHeal; public Sprite GridVFXConnect; public Sprite GridVFXTreasure; public Sprite GridVFXRedMistCreate; public Sprite GridVFXSakuyaGuard; public Sprite GridVFXLucky; public Sprite GridVFXBigLucky; public Sprite GridVFXUnlucky; public Sprite GridVFXBigUnlucky; public Sprite GridVFXLuckyText; public Sprite GridVFXBigLuckyText; public Sprite GridVFXUnluckyText; public Sprite GridVFXBigUnluckyText; public Sprite GridVFXLuxury; //-------- Unit 相关 -------- public Sprite MeilingZzz; public Sprite KanakoSit; public Sprite UtsuhoBoom; public Dictionary ChessSpriteDict = new(); public void Init() { for (int i = 0; i < 9; i++) { Roads["Road"+i] = Resources.Load($"ArtResources/TH1Miscs/TH1Misc_Road{i}"); Roads["WaterRoad"+i] = Resources.Load($"ArtResources/TH1Miscs/TH1Misc_WaterRoad{i}"); } UnitInfoSelf = Resources.Load("ArtResources/TH1UI/InGame/UnitInfoSelf"); UnitInfoEnemy = Resources.Load("ArtResources/TH1UI/InGame/UnitInfoEnemy"); //--------UI-------- TechCompleteBackground = Resources.Load("ArtResources/TH1UI/TechTree/TH1Tech_GreenCircle"); TechLockedBackground = Resources.Load("ArtResources/TH1UI/TechTree/TH1Tech_DarkCircle"); TechAvailableBackground = Resources.Load("ArtResources/TH1UI/TechTree/TH1Tech_BlueCircle"); TH1Icon_ActionDefense = Resources.Load("TH1UI/Icon/Action/TH1Icon_ActionDefense"); AchievementStar = Resources.Load("ArtResources/TH1UI/Common/UILibraryStar"); AchievementStarGray = Resources.Load("ArtResources/TH1UI/Common/UILibraryStarGray"); ActionBGAvailable = Resources.Load("ArtResources/TH1UI/Common/bgAvailable"); ActionBGExpensive = Resources.Load("ArtResources/TH1UI/Common/bgExpensive"); ActionBGUnavailable = Resources.Load("ArtResources/TH1UI/Common/bgUnavailable"); Ally = Resources.Load("TH1UI/Icon/Action/CircleAction256x256/Ally_256"); BreakAlly = Resources.Load("TH1UI/Icon/Action/CircleAction256x256/BreakAlly_256"); Embassy = Resources.Load("TH1UI/Icon/Action/CircleAction256x256/Embassy_256"); BreakEmbassy = Resources.Load("TH1UI/Icon/Action/CircleAction256x256/BreakEmbassy_256"); ChessSpriteDict[ChessType.None] = Resources.Load("TH1UI/Icon/ChessIcon/ChessIcon_Knights"); ChessSpriteDict[ChessType.King] = Resources.Load("TH1UI/Icon/ChessIcon/ChessIcon_King"); ChessSpriteDict[ChessType.Queen] = Resources.Load("TH1UI/Icon/ChessIcon/ChessIcon_Queen"); ChessSpriteDict[ChessType.Bishop] = Resources.Load("TH1UI/Icon/ChessIcon/ChessIcon_Bishop"); ChessSpriteDict[ChessType.Knight] = Resources.Load("TH1UI/Icon/ChessIcon/ChessIcon_Knights"); ChessSpriteDict[ChessType.Rook] = Resources.Load("TH1UI/Icon/ChessIcon/ChessIcon_Rook"); BubbleActionUpgrade = Resources.Load("TH1UI/Icon/Action/CircleAction256x256/TH1Icon_BubbleActionUpgrade_256"); BubbleActionCapture = Resources.Load("TH1UI/Icon/Action/CircleAction256x256/TH1Icon_BubbleActionCapture_256"); BubbleActionTreasure = Resources.Load("TH1UI/Icon/Action/CircleAction256x256/TH1Icon_BubbleActionTreasure_256"); BubbleActionStarfish = Resources.Load("TH1UI/Icon/Action/CircleAction256x256/TH1Icon_BubbleActionStarfish_256"); CommonBG_CircleGrey = Resources.Load("TH1UI/Common/CommonBG/CommonCircleGrey"); CommonBG_CircleBlue = Resources.Load("TH1UI/Common/CommonBG/CommonCircleBlue"); CommonBG_CircleGreen = Resources.Load("TH1UI/Common/CommonBG/CommonCircleGreen"); Color moveHighlightRed = new Color(1f, 0.35f, 0.35f, 1f); Color moveHighlightDeepBlue = new Color(0.12f, 0.34f, 0.9f, 1f); Color moveHighlightGreen = new Color(0.35f, 0.9f, 0.45f, 1f); MoveHighlightVisuals[MoveHighlightType.Slow] = new MoveHighlightVisual( Resources.Load("ArtResources/TH1Common/GridMoveHightlight_SpecialSlow"), moveHighlightRed); MoveHighlightVisuals[MoveHighlightType.Enemy] = new MoveHighlightVisual( Resources.Load("ArtResources/TH1Common/GridMoveHightlight_Enemy"), Color.white); MoveHighlightVisuals[MoveHighlightType.Boat] = new MoveHighlightVisual( Resources.Load("ArtResources/TH1Common/GridMoveHightlight_SpecialBoat"), moveHighlightDeepBlue); MoveHighlightVisuals[MoveHighlightType.Ashore] = new MoveHighlightVisual( Resources.Load("ArtResources/TH1Common/GridMoveHightlight_SpecialAshore"), moveHighlightDeepBlue); MoveHighlightVisuals[MoveHighlightType.Sanae] = new MoveHighlightVisual( Resources.Load("TH1UI/Icon/SkillIcon/Moriya/Skill_SanaeWindX"), moveHighlightGreen); MoveHighlightVisuals[MoveHighlightType.Teleport] = new MoveHighlightVisual( Resources.Load("ArtResources/TH1Common/GridMoveHightlight_SpecialTeleport"), moveHighlightDeepBlue); MoveHighlightVisuals[MoveHighlightType.Momiji] = new MoveHighlightVisual( Resources.Load("TH1UI/Icon/SkillIcon/Moriya/Skill_MOMIJIHUNTER"), moveHighlightGreen); MoveHighlightVisuals[MoveHighlightType.Yuugi] = new MoveHighlightVisual( Resources.Load("TH1UI/Icon/SkillIcon/Skill_YuugiDash"), moveHighlightGreen); MoveHighlightVisuals[MoveHighlightType.Road] = new MoveHighlightVisual( Resources.Load("ArtResources/TH1Common/GridMoveHightlight_SpecialRoad"), moveHighlightGreen); //-------- GridVFX -------- GridVFXDie = Resources.Load("ArtResources/TH1VFX/TH1VFX_Die"); GridVFXCounterDie = Resources.Load("ArtResources/TH1VFX/TH1VFX_CounterDie"); GridVFXROYALFLAMES = Resources.Load("TH1UI/Icon/SkillIcon/Skill_ROYALFLAMES"); GridVFXTEWI = Resources.Load("TH1UI/Icon/SkillIcon/TewiFrenchBuff"); GridVFXCoin = Resources.Load("TH1UI/Icon/CommonIcon/CoinIcon"); GridVFXKAGUYA = Resources.Load("TH1UI/Icon/SkillIcon/SKill_KAGUYAFRENCHFOREVERBUFF"); GridVFXHeal = Resources.Load("ArtResources/TH1VFX/TH1VFX_Heal"); GridVFXConnect = Resources.Load("TH1UI/Icon/CityInfo/TH1IconCityInfoConnected"); GridVFXTreasure = Resources.Load("ArtResources/TH1VFX/TH1VFX_Treasure"); GridVFXRedMistCreate = Resources.Load("ArtResources/TH1VFX/TH1VFX_RedMistCreate"); GridVFXSakuyaGuard = Resources.Load("ArtResources/TH1VFX/TH1VFX_SakuyaGuard"); GridVFXLucky = Resources.Load("ArtResources/TH1VFX/TH1VFX_Treasure"); GridVFXBigLucky= Resources.Load("ArtResources/TH1VFX/TH1VFX_BigLucky"); GridVFXUnlucky = Resources.Load("ArtResources/TH1VFX/TH1VFX_Unlucky"); GridVFXBigUnlucky = Resources.Load("ArtResources/TH1VFX/TH1VFX_BigUnlucky"); GridVFXLuckyText = Resources.Load("ArtResources/TH1VFX/TH1VFX_LuckyText"); GridVFXBigLuckyText = Resources.Load("ArtResources/TH1VFX/TH1VFX_BigLuckyText"); GridVFXUnluckyText = Resources.Load("ArtResources/TH1VFX/TH1VFX_UnluckyText"); GridVFXBigUnluckyText = Resources.Load("ArtResources/TH1VFX/TH1VFX_BigUnluckyText"); GridVFXLuxury = Resources.Load("ArtResources/TH1VFX/TH1VFX_Luxury"); //-------- Unit -------- MeilingZzz = Resources.Load("ArtResources/TH1Units/Giant/EgyptianMeilingZzz"); KanakoSit = Resources.Load("ArtResources/TH1Units/Giant/GermanyKanako_Sit"); UtsuhoBoom = Resources.Load("ArtResources/TH1Units/Giant/IndianUtsuho_Boom"); } } }