养成基本完毕,新UI,修bug,装备初步,

This commit is contained in:
FloatGaming
2026-03-23 22:37:14 +08:00
parent 49e45ac464
commit dd205b6cb4
2349 changed files with 261722 additions and 283 deletions
+663 -23
View File
@@ -1,6 +1,8 @@
using System.Collections.Generic;
using System;
using System.Collections.Generic;
using DG.Tweening;
using UnityEngine;
using System.Runtime.ExceptionServices;
using UnityEngine.UI;
#if UNITY_EDITOR
using UnityEditor;
@@ -8,6 +10,9 @@ using UnityEditor;
public class UI_Idols : MonoBehaviour
{
[Header("quit")]
public Button quitButton;
[Header("prefabs")]
public GameObject idolCardPrefab;
public Transform idolCardParent;
@@ -26,38 +31,271 @@ public class UI_Idols : MonoBehaviour
[Header("scan")]
public bool includeLockedHeroes = false;
[Header("middleParts")]
public Image idolHDimage;
public Text idolBackNameText;
public idolMaterialController imc;
[Header("rightPanel")]
public GameObject righePanel;
public GameObject rightPanel;
public Text idol_chenghaoText;
public Text idol_nameText;
public Slider idol_expBar;
public Text idol_expText;
public Image levelIcon;
public Image btmIdolProfile;
public Text finishGameTimes;
public Text mvpGetTimes;
public Text joinTeamTimes;
[Header("special Skills")]
public GameObject ssPrefab;
public Transform ssParent;
public int maxSSDisplay = 3;
[Header("down panels")]
public idolLevels il;
public idolVoices iv;
public idolDocument ido;
public idolSkillsHub ish;
public idolSkins isk;
public idolWeapon iw;
public idolUpgrade iu;
[Header("left toggles")]
public Toggle idolLevelsToggle;
public Toggle idolVoicesToggle;
public Toggle idolDetailPassageToggle;
public Toggle idolSkillsToggle;
public Toggle idolSkinsToggle;
public Toggle idolWeaponToggle;
[Header("objects")]
public GameObject levelsObj;
public GameObject voicesObj;
public GameObject detailPassageObj;
public GameObject skillsObj;
public GameObject skinsObj;
public GameObject weaponObj;
private readonly List<GameObject> spawnedCards = new List<GameObject>();
private readonly List<GameObject> spawnedSpecialSkillEntries = new List<GameObject>();
private AllyHero_SO currentSelectedHero;
private bool suppressToggleCallbacks;
private int pendingGrowthAnimationHeroId = -1;
private Tween idolExpBarTween;
private void Start()
{
InitializeSectionToggles();
RebuildCards();
}
private void OnEnable()
{
btmandtopController.GlobalOverlayPanelVisibilityChanged += HandleOverlayPanelsVisibilityChanged;
AllyHeroDeployLedger.EnsureInstance().OnHeroGrowthChanged += HandleHeroGrowthChanged;
InitializeSectionToggles();
RebuildCards();
HandleOverlayPanelsVisibilityChanged(btmandtopController.CurrentOverlayPanelsVisible);
}
private void OnDisable()
{
btmandtopController.GlobalOverlayPanelVisibilityChanged -= HandleOverlayPanelsVisibilityChanged;
if (AllyHeroDeployLedger.Instance != null)
{
AllyHeroDeployLedger.Instance.OnHeroGrowthChanged -= HandleHeroGrowthChanged;
}
if (idolExpBarTween != null && idolExpBarTween.IsActive())
{
idolExpBarTween.Kill();
idolExpBarTween = null;
}
UnbindSectionToggles();
}
private void InitializeSectionToggles()
{
BindSectionToggles();
ApplySectionSelection(idolLevelsToggle != null ? idolLevelsToggle : GetFirstAvailableToggle());
}
private void BindSectionToggles()
{
UnbindSectionToggles();
BindSectionToggle(idolLevelsToggle);
BindSectionToggle(idolVoicesToggle);
BindSectionToggle(idolDetailPassageToggle);
BindSectionToggle(idolSkillsToggle);
BindSectionToggle(idolSkinsToggle);
BindSectionToggle(idolWeaponToggle);
}
private void UnbindSectionToggles()
{
UnbindSectionToggle(idolLevelsToggle);
UnbindSectionToggle(idolVoicesToggle);
UnbindSectionToggle(idolDetailPassageToggle);
UnbindSectionToggle(idolSkillsToggle);
UnbindSectionToggle(idolSkinsToggle);
UnbindSectionToggle(idolWeaponToggle);
}
private void BindSectionToggle(Toggle toggle)
{
if (toggle == null)
{
return;
}
if (toggle == idolLevelsToggle) toggle.onValueChanged.AddListener(OnLevelsToggleChanged);
if (toggle == idolVoicesToggle) toggle.onValueChanged.AddListener(OnVoicesToggleChanged);
if (toggle == idolDetailPassageToggle) toggle.onValueChanged.AddListener(OnDetailPassageToggleChanged);
if (toggle == idolSkillsToggle) toggle.onValueChanged.AddListener(OnSkillsToggleChanged);
if (toggle == idolSkinsToggle) toggle.onValueChanged.AddListener(OnSkinsToggleChanged);
if (toggle == idolWeaponToggle) toggle.onValueChanged.AddListener(OnWeaponToggleChanged);
}
private void UnbindSectionToggle(Toggle toggle)
{
if (toggle == null)
{
return;
}
if (toggle == idolLevelsToggle) toggle.onValueChanged.RemoveListener(OnLevelsToggleChanged);
if (toggle == idolVoicesToggle) toggle.onValueChanged.RemoveListener(OnVoicesToggleChanged);
if (toggle == idolDetailPassageToggle) toggle.onValueChanged.RemoveListener(OnDetailPassageToggleChanged);
if (toggle == idolSkillsToggle) toggle.onValueChanged.RemoveListener(OnSkillsToggleChanged);
if (toggle == idolSkinsToggle) toggle.onValueChanged.RemoveListener(OnSkinsToggleChanged);
if (toggle == idolWeaponToggle) toggle.onValueChanged.RemoveListener(OnWeaponToggleChanged);
}
private void OnLevelsToggleChanged(bool isOn) => HandleSectionToggleChanged(idolLevelsToggle, isOn);
private void OnVoicesToggleChanged(bool isOn) => HandleSectionToggleChanged(idolVoicesToggle, isOn);
private void OnDetailPassageToggleChanged(bool isOn) => HandleSectionToggleChanged(idolDetailPassageToggle, isOn);
private void OnSkillsToggleChanged(bool isOn) => HandleSectionToggleChanged(idolSkillsToggle, isOn);
private void OnSkinsToggleChanged(bool isOn) => HandleSectionToggleChanged(idolSkinsToggle, isOn);
private void OnWeaponToggleChanged(bool isOn) => HandleSectionToggleChanged(idolWeaponToggle, isOn);
private void HandleSectionToggleChanged(Toggle source, bool isOn)
{
if (suppressToggleCallbacks || source == null)
{
return;
}
if (isOn)
{
ApplySectionSelection(source);
return;
}
if (!AnySectionToggleOn())
{
ApplySectionSelection(idolLevelsToggle != null ? idolLevelsToggle : GetFirstAvailableToggle());
}
else
{
RefreshSectionObjects();
}
}
private void ApplySectionSelection(Toggle activeToggle)
{
Toggle resolved = activeToggle != null ? activeToggle : (idolLevelsToggle != null ? idolLevelsToggle : GetFirstAvailableToggle());
suppressToggleCallbacks = true;
SetToggleState(idolLevelsToggle, resolved == idolLevelsToggle);
SetToggleState(idolVoicesToggle, resolved == idolVoicesToggle);
SetToggleState(idolDetailPassageToggle, resolved == idolDetailPassageToggle);
SetToggleState(idolSkillsToggle, resolved == idolSkillsToggle);
SetToggleState(idolSkinsToggle, resolved == idolSkinsToggle);
SetToggleState(idolWeaponToggle, resolved == idolWeaponToggle);
suppressToggleCallbacks = false;
RefreshSectionObjects();
}
private void RefreshSectionObjects()
{
SetObjectState(levelsObj, idolLevelsToggle != null && idolLevelsToggle.isOn);
SetObjectState(voicesObj, idolVoicesToggle != null && idolVoicesToggle.isOn);
SetObjectState(detailPassageObj, idolDetailPassageToggle != null && idolDetailPassageToggle.isOn);
SetObjectState(skillsObj, idolSkillsToggle != null && idolSkillsToggle.isOn);
SetObjectState(skinsObj, idolSkinsToggle != null && idolSkinsToggle.isOn);
SetObjectState(weaponObj, idolWeaponToggle != null && idolWeaponToggle.isOn);
}
private bool AnySectionToggleOn()
{
return (idolLevelsToggle != null && idolLevelsToggle.isOn)
|| (idolVoicesToggle != null && idolVoicesToggle.isOn)
|| (idolDetailPassageToggle != null && idolDetailPassageToggle.isOn)
|| (idolSkillsToggle != null && idolSkillsToggle.isOn)
|| (idolSkinsToggle != null && idolSkinsToggle.isOn)
|| (idolWeaponToggle != null && idolWeaponToggle.isOn);
}
private Toggle GetFirstAvailableToggle()
{
if (idolLevelsToggle != null) return idolLevelsToggle;
if (idolVoicesToggle != null) return idolVoicesToggle;
if (idolDetailPassageToggle != null) return idolDetailPassageToggle;
if (idolSkillsToggle != null) return idolSkillsToggle;
if (idolSkinsToggle != null) return idolSkinsToggle;
if (idolWeaponToggle != null) return idolWeaponToggle;
return null;
}
private static void SetToggleState(Toggle toggle, bool isOn)
{
if (toggle == null)
{
return;
}
toggle.SetIsOnWithoutNotify(isOn);
}
private static void SetObjectState(GameObject target, bool active)
{
if (target != null && target.activeSelf != active)
{
target.SetActive(active);
}
}
[ContextMenu("Rebuild Idols")]
public void RebuildCards()
{
RebuildCards(true);
}
private void RebuildCards(bool animateSelectedHero)
{
if (idolCardPrefab == null || idolCardParent == null)
{
return;
}
AllyHeroDeployLedger.EnsureInstance().InitializeIfNeeded();
ClearCards();
ClearSpecialSkillEntries();
List<AllyHero_SO> heroes = LoadHeroAssets();
if (heroes.Count == 0)
{
ApplyHeroDetails(null, animateSelectedHero);
return;
}
heroes.Sort((left, right) => left.ally_heroID.CompareTo(right.ally_heroID));
AllyHero_SO firstDisplayedHero = null;
AllyHero_SO preferredHero = currentSelectedHero;
bool preferredHeroDisplayed = false;
for (int i = 0; i < heroes.Count; i++)
{
@@ -82,16 +320,30 @@ public class UI_Idols : MonoBehaviour
continue;
}
if (firstDisplayedHero == null)
{
firstDisplayedHero = hero;
}
if (preferredHero != null && preferredHero.ally_heroID == hero.ally_heroID)
{
preferredHeroDisplayed = true;
}
AllyHero_SO capturedHero = hero;
card.Setup(
hero.ally_hero_squareProfile,
hero.ally_heroDesignation,
hero.ally_heroName,
snapshot.sliderValue,
snapshot.xpText,
snapshot.cardXpText,
snapshot.levelIcon,
snapshot.bottomSprite,
snapshot.sliderColor);
snapshot.sliderColor,
() => ApplyHeroDetails(capturedHero, true));
}
ApplyHeroDetails(preferredHeroDisplayed ? preferredHero : firstDisplayedHero, animateSelectedHero);
}
private List<AllyHero_SO> LoadHeroAssets()
@@ -129,12 +381,113 @@ public class UI_Idols : MonoBehaviour
return heroes;
}
private void ApplyHeroDetails(AllyHero_SO hero)
{
ApplyHeroDetails(hero, true);
}
private void ApplyHeroDetails(AllyHero_SO hero, bool animatePortrait)
{
currentSelectedHero = hero;
ClearSpecialSkillEntries();
if (iu != null)
{
iu.SetHero(hero);
}
if (ish != null)
{
ish.SetHero(hero);
}
if (rightPanel != null)
{
rightPanel.SetActive(hero != null);
}
if (hero == null)
{
SetText(idolBackNameText, string.Empty);
SetText(idol_chenghaoText, string.Empty);
SetText(idol_nameText, string.Empty);
SetText(idol_expText, string.Empty);
SetIdolDocumentText(string.Empty);
SetText(finishGameTimes, "0000000");
SetText(mvpGetTimes, "0000000");
SetText(joinTeamTimes, "00000000");
ApplyHeroImage(null, animatePortrait);
SetImageSprite(levelIcon, null);
SetImageSpritePreserveAlpha(btmIdolProfile, null);
SetSliderVisual(idol_expBar, 0f, Color.white);
ApplyLevelDetails(null);
ApplyBehaviourRadar(null);
return;
}
IdolLevelSnapshot snapshot = BuildLevelSnapshot(hero);
ApplyHeroImage(hero.ally_hero_HD_image, animatePortrait);
SetText(idolBackNameText, hero.ally_heroName);
SetText(idol_chenghaoText, hero.ally_heroDesignation);
SetText(idol_nameText, hero.ally_heroName);
SetIdolDocumentText(hero.ally_heroDescription);
bool animateExpBar = pendingGrowthAnimationHeroId > 0 && hero.ally_heroID == pendingGrowthAnimationHeroId;
SetSliderVisual(idol_expBar, snapshot.sliderValue, snapshot.sliderColor, animateExpBar);
if (animateExpBar)
{
pendingGrowthAnimationHeroId = -1;
}
SetText(idol_expText, snapshot.detailXpText);
SetImageSprite(levelIcon, snapshot.levelIcon);
SetImageSpritePreserveAlpha(btmIdolProfile, hero.ally_hero_squareProfile);
SetText(finishGameTimes, FormatSevenDigitCount(hero.ally_finishCount));
SetText(mvpGetTimes, FormatSevenDigitCount(hero.ally_mvpCount));
SetText(joinTeamTimes, FormatJoinDate(hero.ally_joinDateUtcTicks));
ApplyLevelDetails(hero.GetEffectiveLevelForCurrentEXP());
ApplyBehaviourRadar(hero);
PopulateSpecialSkills(hero);
}
private void SetIdolDocumentText(string value)
{
if (ido != null && ido.idol_documentText != null)
{
ido.idol_documentText.text = value ?? string.Empty;
}
}
private void ApplyHeroImage(Sprite sprite)
{
ApplyHeroImage(sprite, true);
}
private void ApplyHeroImage(Sprite sprite, bool animate)
{
if (imc != null)
{
if (animate)
{
imc.TransitionToSprite(sprite);
}
else
{
imc.SetSpriteImmediate(sprite);
}
return;
}
SetImageSprite(idolHDimage, sprite);
}
private IdolLevelSnapshot BuildLevelSnapshot(AllyHero_SO hero)
{
IdolLevelSnapshot snapshot = new IdolLevelSnapshot
{
sliderValue = 0f,
xpText = "UNKNOWN",
cardXpText = "UNKNOWN",
detailXpText = "UNKNOWN",
levelIcon = GetLevelIconByIndex(4),
bottomSprite = GetBottomSpriteByIndex(4),
sliderColor = GetSliderColorByIndex(4)
@@ -165,30 +518,23 @@ public class UI_Idols : MonoBehaviour
levels.Sort((left, right) => left.requiredEXP.CompareTo(right.requiredEXP));
int currentExp = Mathf.Max(0, hero.ally_currentEXP);
int currentLevelIndex = -1;
for (int i = 0; i < levels.Count; i++)
{
if (currentExp >= levels[i].requiredEXP)
{
currentLevelIndex = i;
}
}
int displayIndex = Mathf.Clamp(currentLevelIndex >= 0 ? currentLevelIndex : 0, 0, levels.Count - 1);
int unlockedTierIndex = Mathf.Clamp(hero.ally_growthUnlockedTierIndex, 0, levels.Count - 1);
int displayIndex = unlockedTierIndex;
AllyHero_SO.AllyLevelInfo currentLevel = levels[displayIndex];
int tierIndex = ResolveTierIndex(currentLevel, displayIndex, levels.Count);
snapshot.levelIcon = GetLevelIconByIndex(tierIndex);
snapshot.bottomSprite = GetBottomSpriteByIndex(tierIndex);
snapshot.sliderColor = GetSliderColorByIndex(tierIndex);
if (displayIndex >= levels.Count - 1 && currentExp >= currentLevel.requiredEXP)
if (displayIndex >= levels.Count - 1)
{
snapshot.sliderValue = 1f;
snapshot.xpText = "MAX";
snapshot.cardXpText = "MAX";
snapshot.detailXpText = "MAX";
return snapshot;
}
int floorExp = currentLevelIndex >= 0 ? currentLevel.requiredEXP : 0;
int floorExp = currentLevel.requiredEXP;
int nextLevelIndex = Mathf.Clamp(displayIndex + 1, 0, levels.Count - 1);
int nextExp = levels[nextLevelIndex].requiredEXP;
int range = Mathf.Max(1, nextExp - floorExp);
@@ -199,16 +545,51 @@ public class UI_Idols : MonoBehaviour
int neededExp = nextExp - currentExp;
if (neededExp > 0)
{
snapshot.xpText = "NEED " + neededExp + " EXP";
snapshot.cardXpText = "NEED " + neededExp + " EXP";
snapshot.detailXpText = gained + "/" + range;
}
else if (displayIndex >= levels.Count - 1)
else
{
snapshot.xpText = "MAX";
snapshot.cardXpText = "READY";
snapshot.detailXpText = range + "/" + range;
}
return snapshot;
}
private void PopulateSpecialSkills(AllyHero_SO hero)
{
if (hero == null || ssPrefab == null || ssParent == null || maxSSDisplay <= 0 || hero.skillGroups == null)
{
return;
}
int shown = 0;
for (int i = 0; i < hero.skillGroups.Length; i++)
{
SkillGroup group = hero.skillGroups[i];
if (group == null || !group.isSpecialSkill)
{
continue;
}
GameObject instance = Instantiate(ssPrefab, ssParent);
spawnedSpecialSkillEntries.Add(instance);
ssPrefab display = instance.GetComponent<ssPrefab>();
if (display != null)
{
display.Setup(group.groupIcon, group.groupName);
}
shown++;
if (shown >= maxSSDisplay)
{
break;
}
}
}
private int ResolveTierIndex(AllyHero_SO.AllyLevelInfo levelInfo, int levelIndex, int levelCount)
{
if (levelInfo != null && !string.IsNullOrWhiteSpace(levelInfo.levelName))
@@ -311,10 +692,269 @@ public class UI_Idols : MonoBehaviour
}
}
private void ClearSpecialSkillEntries()
{
for (int i = spawnedSpecialSkillEntries.Count - 1; i >= 0; i--)
{
if (spawnedSpecialSkillEntries[i] == null)
{
continue;
}
#if UNITY_EDITOR
if (!Application.isPlaying)
{
DestroyImmediate(spawnedSpecialSkillEntries[i]);
}
else
#endif
{
Destroy(spawnedSpecialSkillEntries[i]);
}
}
spawnedSpecialSkillEntries.Clear();
if (ssParent == null)
{
return;
}
for (int i = ssParent.childCount - 1; i >= 0; i--)
{
Transform child = ssParent.GetChild(i);
if (child == null || child.GetComponent<ssPrefab>() == null)
{
continue;
}
#if UNITY_EDITOR
if (!Application.isPlaying)
{
DestroyImmediate(child.gameObject);
}
else
#endif
{
Destroy(child.gameObject);
}
}
}
private static void SetText(Text target, string value)
{
if (target != null)
{
target.text = value ?? string.Empty;
}
}
private static void SetImageSprite(Image target, Sprite sprite)
{
if (target == null)
{
return;
}
target.sprite = sprite;
target.color = sprite != null ? new Color(target.color.r, target.color.g, target.color.b, 1f) : new Color(target.color.r, target.color.g, target.color.b, 0f);
}
private static void SetImageSpritePreserveAlpha(Image target, Sprite sprite)
{
if (target == null)
{
return;
}
target.sprite = sprite;
}
private void SetSliderVisual(Slider slider, float normalizedValue, Color fillColor, bool animate = false)
{
if (slider == null)
{
return;
}
float targetValue = Mathf.Clamp01(normalizedValue);
if (slider.fillRect == null)
{
slider.normalizedValue = targetValue;
return;
}
Image fillImage = slider.fillRect.GetComponent<Image>();
if (fillImage != null)
{
fillImage.color = fillColor;
}
if (animate)
{
if (idolExpBarTween != null && idolExpBarTween.IsActive())
{
idolExpBarTween.Kill();
}
float fromValue = slider.normalizedValue;
slider.normalizedValue = fromValue;
idolExpBarTween = DOTween.To(() => slider.normalizedValue, value => slider.normalizedValue = value, targetValue, 0.25f)
.SetEase(Ease.OutCubic)
.SetUpdate(true);
return;
}
slider.normalizedValue = targetValue;
}
private void ApplyLevelDetails(AllyHero_SO.AllyLevelInfo levelInfo)
{
if (il == null)
{
return;
}
if (levelInfo == null)
{
SetText(il.hp, "0");
SetText(il.attack, "0");
SetText(il.mana, "0");
SetText(il.damageResistant, "0%");
SetText(il.scoreEfficency, "0%");
SetText(il.slotAmount, "0");
SetText(il.miss_mr, "0");
SetText(il.good_mr, "0");
SetText(il.great_mr, "0");
SetText(il.perfect_mr, "0");
SetText(il.good_dm, "0%");
SetText(il.great_dm, "0%");
SetText(il.perfect_dm, "0%");
SetText(il.miss_hl, "0");
return;
}
SetText(il.hp, levelInfo.maxHP.ToString());
SetText(il.attack, levelInfo.attack.ToString());
SetText(il.mana, levelInfo.maxMana.ToString());
SetText(il.damageResistant, FormatPercent(levelInfo.damageResistance));
SetText(il.scoreEfficency, FormatPercent(levelInfo.scoreEfficiency));
SetText(il.slotAmount, levelInfo.skill_slot_limited.ToString());
SetText(il.miss_mr, levelInfo.manaGainOnMiss.ToString());
SetText(il.good_mr, levelInfo.manaGainGood.ToString());
SetText(il.great_mr, levelInfo.manaGainGreat.ToString());
SetText(il.perfect_mr, levelInfo.manaGainPerfect.ToString());
SetText(il.good_dm, FormatPercent(levelInfo.damageMultiplierGood));
SetText(il.great_dm, FormatPercent(levelInfo.damageMultiplierGreat));
SetText(il.perfect_dm, FormatPercent(levelInfo.damageMultiplierPerfect));
SetText(il.miss_hl, FormatNumber(levelInfo.missHpLossBase));
}
private void ApplyBehaviourRadar(AllyHero_SO hero)
{
if (ido == null || ido.idol_rader == null)
{
return;
}
idolRadarController radarController = ido.idol_rader.GetComponent<idolRadarController>();
if (radarController == null)
{
radarController = ido.idol_rader.GetComponentInChildren<idolRadarController>(true);
}
if (radarController != null)
{
radarController.ApplyHero(hero);
}
}
private void HandleOverlayPanelsVisibilityChanged(bool visible)
{
if (ido == null || ido.idol_rader == null)
{
return;
}
ido.idol_rader.SetActive(!visible);
if (!visible)
{
ApplyBehaviourRadar(currentSelectedHero);
}
}
private void HandleHeroGrowthChanged(int heroId)
{
if (heroId <= 0)
{
return;
}
if (currentSelectedHero != null && currentSelectedHero.ally_heroID == heroId)
{
pendingGrowthAnimationHeroId = heroId;
}
RebuildCards(false);
}
private static string FormatSevenDigitCount(int value)
{
if (value <= 0)
{
return "0000000";
}
if (value >= 9999999)
{
return "9999999";
}
return value.ToString("D7");
}
private static string FormatJoinDate(long utcTicks)
{
if (utcTicks <= 0L)
{
return "--------";
}
try
{
DateTime date = new DateTime(utcTicks, DateTimeKind.Utc);
if (date.Year <= 1 && date.Month <= 1 && date.Day <= 1)
{
return "--------";
}
return date.ToString("yyyyMMdd");
}
catch
{
return "--------";
}
}
private static string FormatPercent(float value)
{
return Mathf.RoundToInt(value * 100f) + "%";
}
private static string FormatNumber(float value)
{
if (Mathf.Approximately(value, Mathf.Round(value)))
{
return Mathf.RoundToInt(value).ToString();
}
return value.ToString("0.##");
}
private struct IdolLevelSnapshot
{
public float sliderValue;
public string xpText;
public string cardXpText;
public string detailXpText;
public Sprite levelIcon;
public Sprite bottomSprite;
public Color sliderColor;
+281
View File
@@ -0,0 +1,281 @@
using System;
using DG.Tweening;
using UnityEngine;
using UnityEngine.EventSystems;
using UnityEngine.UI;
public class deSkillPrefab : MonoBehaviour, IPointerEnterHandler, IPointerExitHandler
{
[Header("basic")]
public Image skillIcon;
public Image skillIcon_btm;
public Text skillName;
public Button skillButton;
[Header("details")]
public GameObject detailsPanel;
public GameObject specialIconObj;
[Header("detailPanel")]
public Image deSkillIcon;
public Text details_skillName;
public Text details_skillDes;
public Toggle skill_enable;
public Toggle skill_equip;
public Text skill_enableText;
public Text skill_equipText;
[Header("bool")]
public bool display_DP_ungotten;
private Action clickAction;
private CanvasGroup detailCanvasGroup;
private Tween hoverDelayTween;
private Material originalSkillIconMaterial;
private Material originalDetailSkillIconMaterial;
private bool useHoverToShowDetails;
private bool canShowDetailsOnHover;
private bool showDetailsImmediately;
private void Awake()
{
if (skillButton == null)
{
skillButton = GetComponent<Button>();
}
if (skillButton != null)
{
skillButton.onClick.RemoveListener(HandleClick);
skillButton.onClick.AddListener(HandleClick);
}
if (skill_enableText == null && skill_enable != null)
{
skill_enableText = skill_enable.GetComponentInChildren<Text>(true);
}
if (skill_equipText == null && skill_equip != null)
{
skill_equipText = skill_equip.GetComponentInChildren<Text>(true);
}
if (detailsPanel != null)
{
detailCanvasGroup = detailsPanel.GetComponent<CanvasGroup>();
if (detailCanvasGroup == null)
{
detailCanvasGroup = detailsPanel.AddComponent<CanvasGroup>();
}
}
if (skillIcon != null)
{
originalSkillIconMaterial = skillIcon.material;
}
if (deSkillIcon != null)
{
originalDetailSkillIconMaterial = deSkillIcon.material;
}
}
private void OnDisable()
{
KillHoverTween();
}
public void Bind(
Sprite iconSprite,
Sprite detailIconSprite,
string displayName,
string detailName,
string detailDescription,
Color bottomColor,
Material iconMaterial,
bool enableToggleValue,
string enableToggleText,
bool equipToggleValue,
string equipToggleText,
bool selected,
bool interactable,
bool showDetailsNow,
bool hoverToShowDetails,
bool allowDetailsHover,
Action onClick)
{
clickAction = onClick;
showDetailsImmediately = showDetailsNow;
useHoverToShowDetails = hoverToShowDetails;
canShowDetailsOnHover = allowDetailsHover;
SetImage(skillIcon, iconSprite, iconMaterial, originalSkillIconMaterial);
SetImage(deSkillIcon, detailIconSprite, iconMaterial, originalDetailSkillIconMaterial);
if (skillIcon_btm != null)
{
skillIcon_btm.color = bottomColor;
}
if (skillName != null)
{
skillName.text = displayName ?? string.Empty;
}
if (details_skillName != null)
{
details_skillName.text = detailName ?? string.Empty;
}
if (details_skillDes != null)
{
details_skillDes.text = detailDescription ?? string.Empty;
}
SetToggle(skill_enable, enableToggleValue);
SetToggle(skill_equip, equipToggleValue);
SetText(skill_enableText, enableToggleText);
SetText(skill_equipText, equipToggleText);
SetSelected(selected);
if (skillButton != null)
{
skillButton.interactable = interactable;
}
ConfigureDetailPanelState();
}
public void SetSelected(bool selected)
{
if (skillIcon_btm != null)
{
skillIcon_btm.enabled = true;
}
}
public void OnPointerEnter(PointerEventData eventData)
{
if (!useHoverToShowDetails || !canShowDetailsOnHover || detailCanvasGroup == null)
{
return;
}
KillHoverTween();
hoverDelayTween = DOVirtual.DelayedCall(0.5f, ShowDetailsPanel, true).SetUpdate(true);
}
public void OnPointerExit(PointerEventData eventData)
{
if (!useHoverToShowDetails || detailCanvasGroup == null)
{
return;
}
KillHoverTween();
HideDetailsPanel();
}
private void HandleClick()
{
if (skillButton != null && !skillButton.interactable)
{
return;
}
clickAction?.Invoke();
}
private void ConfigureDetailPanelState()
{
if (detailsPanel == null || detailCanvasGroup == null)
{
return;
}
KillHoverTween();
detailCanvasGroup.DOKill();
if (showDetailsImmediately)
{
detailsPanel.SetActive(true);
detailCanvasGroup.alpha = 1f;
detailCanvasGroup.blocksRaycasts = true;
detailCanvasGroup.interactable = true;
return;
}
HideDetailsPanel();
}
private void ShowDetailsPanel()
{
if (detailsPanel == null || detailCanvasGroup == null)
{
return;
}
detailsPanel.SetActive(true);
detailCanvasGroup.DOKill();
detailCanvasGroup.alpha = 0f;
detailCanvasGroup.blocksRaycasts = false;
detailCanvasGroup.interactable = false;
detailCanvasGroup.DOFade(1f, 0.15f).SetEase(Ease.OutQuad).SetUpdate(true).OnComplete(() =>
{
detailCanvasGroup.blocksRaycasts = true;
detailCanvasGroup.interactable = true;
});
}
private void HideDetailsPanel()
{
if (detailsPanel == null || detailCanvasGroup == null)
{
return;
}
detailCanvasGroup.DOKill();
detailCanvasGroup.alpha = 0f;
detailCanvasGroup.blocksRaycasts = false;
detailCanvasGroup.interactable = false;
detailsPanel.SetActive(false);
}
private void KillHoverTween()
{
if (hoverDelayTween != null && hoverDelayTween.IsActive())
{
hoverDelayTween.Kill();
hoverDelayTween = null;
}
}
private static void SetToggle(Toggle toggle, bool value)
{
if (toggle != null)
{
toggle.SetIsOnWithoutNotify(value);
toggle.interactable = false;
}
}
private static void SetText(Text target, string value)
{
if (target != null)
{
target.text = value ?? string.Empty;
}
}
private static void SetImage(Image target, Sprite sprite, Material overrideMaterial, Material fallbackMaterial)
{
if (target == null)
{
return;
}
target.sprite = sprite;
target.material = overrideMaterial != null ? overrideMaterial : fallbackMaterial;
target.enabled = sprite != null;
}
}
@@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: b3c9b71ba5959b4408c41022f0c259ea
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: f18dd7043de95ee4381aadceab744d50
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
+8
View File
@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 83e326aaa2ef4fb4da67f1385a28508b
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
Binary file not shown.

After

Width:  |  Height:  |  Size: 4.4 KiB

@@ -0,0 +1,156 @@
fileFormatVersion: 2
guid: 85629eec38ca42a4c94b54b7b0d7b2b3
TextureImporter:
internalIDToNameTable:
- first:
213: -8711628111684049240
second: apparel_256dp_FFFFFF_FILL1_wght400_GRAD0_opsz48_0
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
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: 4
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Android
maxTextureSize: 2048
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:
- serializedVersion: 2
name: apparel_256dp_FFFFFF_FILL1_wght400_GRAD0_opsz48_0
rect:
serializedVersion: 2
x: 15
y: 31
width: 226
height: 194
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: -1
bones: []
spriteID: 8a6e3cb73641a1780800000000000000
internalID: -8711628111684049240
vertices: []
indices:
edges: []
weights: []
outline: []
customData:
physicsShape: []
bones: []
spriteID: 5e97eb03825dee720800000000000000
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries: []
nameFileIdTable:
apparel_256dp_FFFFFF_FILL1_wght400_GRAD0_opsz48_0: -8711628111684049240
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:
Binary file not shown.

After

Width:  |  Height:  |  Size: 5.5 KiB

@@ -0,0 +1,156 @@
fileFormatVersion: 2
guid: 7c73c82bb14c8e24181d751f9cde72a7
TextureImporter:
internalIDToNameTable:
- first:
213: 2290062628367878659
second: arrow_circle_up_256dp_FFFFFF_FILL1_wght400_GRAD0_opsz48_0
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
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: 4
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Android
maxTextureSize: 2048
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:
- serializedVersion: 2
name: arrow_circle_up_256dp_FFFFFF_FILL1_wght400_GRAD0_opsz48_0
rect:
serializedVersion: 2
x: 20
y: 20
width: 216
height: 216
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: -1
bones: []
spriteID: 30ac345c3dfe7cf10800000000000000
internalID: 2290062628367878659
vertices: []
indices:
edges: []
weights: []
outline: []
customData:
physicsShape: []
bones: []
spriteID: 5e97eb03825dee720800000000000000
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries: []
nameFileIdTable:
arrow_circle_up_256dp_FFFFFF_FILL1_wght400_GRAD0_opsz48_0: 2290062628367878659
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:
Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

@@ -0,0 +1,260 @@
fileFormatVersion: 2
guid: 38dafff321a9e8542b6d87fdd395d372
TextureImporter:
internalIDToNameTable:
- first:
213: 6694289068538249605
second: crossword_256dp_FFFFFF_FILL1_wght400_GRAD0_opsz48_0
- first:
213: -6989489046185355645
second: crossword_256dp_FFFFFF_FILL1_wght400_GRAD0_opsz48_1
- first:
213: 2959892834950413239
second: crossword_256dp_FFFFFF_FILL1_wght400_GRAD0_opsz48_2
- first:
213: -8056506497347904682
second: crossword_256dp_FFFFFF_FILL1_wght400_GRAD0_opsz48_3
- first:
213: -8447241365285968810
second: crossword_256dp_FFFFFF_FILL1_wght400_GRAD0_opsz48_4
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
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: 4
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Android
maxTextureSize: 2048
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:
- serializedVersion: 2
name: crossword_256dp_FFFFFF_FILL1_wght400_GRAD0_opsz48_0
rect:
serializedVersion: 2
x: 170
y: 170
width: 66
height: 66
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: -1
bones: []
spriteID: 581c002a074e6ec50800000000000000
internalID: 6694289068538249605
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: crossword_256dp_FFFFFF_FILL1_wght400_GRAD0_opsz48_1
rect:
serializedVersion: 2
x: 20
y: 94
width: 65
height: 68
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: -1
bones: []
spriteID: 38653a09eb8500f90800000000000000
internalID: -6989489046185355645
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: crossword_256dp_FFFFFF_FILL1_wght400_GRAD0_opsz48_2
rect:
serializedVersion: 2
x: 94
y: 94
width: 68
height: 68
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: -1
bones: []
spriteID: 7bb7178e9d6a31920800000000000000
internalID: 2959892834950413239
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: crossword_256dp_FFFFFF_FILL1_wght400_GRAD0_opsz48_3
rect:
serializedVersion: 2
x: 170
y: 94
width: 66
height: 68
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: -1
bones: []
spriteID: 65b93fe960a813090800000000000000
internalID: -8056506497347904682
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: crossword_256dp_FFFFFF_FILL1_wght400_GRAD0_opsz48_4
rect:
serializedVersion: 2
x: 94
y: 20
width: 68
height: 65
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: -1
bones: []
spriteID: 654e422dbbe55ca80800000000000000
internalID: -8447241365285968810
vertices: []
indices:
edges: []
weights: []
outline: []
customData:
physicsShape: []
bones: []
spriteID: 5e97eb03825dee720800000000000000
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries: []
nameFileIdTable:
crossword_256dp_FFFFFF_FILL1_wght400_GRAD0_opsz48_0: 6694289068538249605
crossword_256dp_FFFFFF_FILL1_wght400_GRAD0_opsz48_1: -6989489046185355645
crossword_256dp_FFFFFF_FILL1_wght400_GRAD0_opsz48_2: 2959892834950413239
crossword_256dp_FFFFFF_FILL1_wght400_GRAD0_opsz48_3: -8056506497347904682
crossword_256dp_FFFFFF_FILL1_wght400_GRAD0_opsz48_4: -8447241365285968810
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:
Binary file not shown.

After

Width:  |  Height:  |  Size: 3.6 KiB

@@ -0,0 +1,156 @@
fileFormatVersion: 2
guid: 857ea40d3484d4f4390b1c60e3ab6e92
TextureImporter:
internalIDToNameTable:
- first:
213: -4536071789187135216
second: description_256dp_FFFFFF_FILL1_wght400_GRAD0_opsz48_0
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
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: 4
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Android
maxTextureSize: 2048
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:
- serializedVersion: 2
name: description_256dp_FFFFFF_FILL1_wght400_GRAD0_opsz48_0
rect:
serializedVersion: 2
x: 41
y: 20
width: 174
height: 216
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: -1
bones: []
spriteID: 01984d9adb2ac01c0800000000000000
internalID: -4536071789187135216
vertices: []
indices:
edges: []
weights: []
outline: []
customData:
physicsShape: []
bones: []
spriteID: 5e97eb03825dee720800000000000000
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries: []
nameFileIdTable:
description_256dp_FFFFFF_FILL1_wght400_GRAD0_opsz48_0: -4536071789187135216
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:
Binary file not shown.

After

Width:  |  Height:  |  Size: 5.1 KiB

@@ -0,0 +1,182 @@
fileFormatVersion: 2
guid: ce4ed7cfad5c2c3489552c80037fa5b7
TextureImporter:
internalIDToNameTable:
- first:
213: -7666728454995223720
second: destruction_256dp_FFFFFF_FILL1_wght400_GRAD0_opsz48_0
- first:
213: -2020714898180483807
second: destruction_256dp_FFFFFF_FILL1_wght400_GRAD0_opsz48_1
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
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: 4
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Android
maxTextureSize: 2048
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:
- serializedVersion: 2
name: destruction_256dp_FFFFFF_FILL1_wght400_GRAD0_opsz48_0
rect:
serializedVersion: 2
x: 16
y: 121
width: 209
height: 126
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: -1
bones: []
spriteID: 85b51aa171f4a9590800000000000000
internalID: -7666728454995223720
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: destruction_256dp_FFFFFF_FILL1_wght400_GRAD0_opsz48_1
rect:
serializedVersion: 2
x: 31
y: 20
width: 194
height: 88
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: -1
bones: []
spriteID: 125dc9d918af4f3e0800000000000000
internalID: -2020714898180483807
vertices: []
indices:
edges: []
weights: []
outline: []
customData:
physicsShape: []
bones: []
spriteID: 5e97eb03825dee720800000000000000
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries: []
nameFileIdTable:
destruction_256dp_FFFFFF_FILL1_wght400_GRAD0_opsz48_0: -7666728454995223720
destruction_256dp_FFFFFF_FILL1_wght400_GRAD0_opsz48_1: -2020714898180483807
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:
Binary file not shown.

After

Width:  |  Height:  |  Size: 5.0 KiB

@@ -0,0 +1,156 @@
fileFormatVersion: 2
guid: 0e813a386fd9e494ea7b8b9f858739ea
TextureImporter:
internalIDToNameTable:
- first:
213: -1415884406907152089
second: favorite_256dp_FFFFFF_FILL1_wght400_GRAD0_opsz48_0
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
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: 4
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Android
maxTextureSize: 2048
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:
- serializedVersion: 2
name: favorite_256dp_FFFFFF_FILL1_wght400_GRAD0_opsz48_0
rect:
serializedVersion: 2
x: 20
y: 31
width: 216
height: 198
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: -1
bones: []
spriteID: 729d84332a4c95ce0800000000000000
internalID: -1415884406907152089
vertices: []
indices:
edges: []
weights: []
outline: []
customData:
physicsShape: []
bones: []
spriteID: 5e97eb03825dee720800000000000000
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries: []
nameFileIdTable:
favorite_256dp_FFFFFF_FILL1_wght400_GRAD0_opsz48_0: -1415884406907152089
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:
Binary file not shown.

After

Width:  |  Height:  |  Size: 5.1 KiB

@@ -0,0 +1,182 @@
fileFormatVersion: 2
guid: fb4c8f10fd85b534782874b91733ac0a
TextureImporter:
internalIDToNameTable:
- first:
213: -8415162781006440610
second: heart_minus_256dp_FFFFFF_FILL1_wght400_GRAD0_opsz48_0
- first:
213: 7462855113095354683
second: heart_minus_256dp_FFFFFF_FILL1_wght400_GRAD0_opsz48_1
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
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: 4
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Android
maxTextureSize: 2048
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:
- serializedVersion: 2
name: heart_minus_256dp_FFFFFF_FILL1_wght400_GRAD0_opsz48_0
rect:
serializedVersion: 2
x: 9
y: 31
width: 215
height: 194
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: -1
bones: []
spriteID: e57d50f3906573b80800000000000000
internalID: -8415162781006440610
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: heart_minus_256dp_FFFFFF_FILL1_wght400_GRAD0_opsz48_1
rect:
serializedVersion: 2
x: 159
y: 108
width: 88
height: 19
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: -1
bones: []
spriteID: b39914a7f23619760800000000000000
internalID: 7462855113095354683
vertices: []
indices:
edges: []
weights: []
outline: []
customData:
physicsShape: []
bones: []
spriteID: 5e97eb03825dee720800000000000000
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries: []
nameFileIdTable:
heart_minus_256dp_FFFFFF_FILL1_wght400_GRAD0_opsz48_0: -8415162781006440610
heart_minus_256dp_FFFFFF_FILL1_wght400_GRAD0_opsz48_1: 7462855113095354683
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:
Binary file not shown.

After

Width:  |  Height:  |  Size: 7.3 KiB

@@ -0,0 +1,156 @@
fileFormatVersion: 2
guid: 938d1f24bf519f44eb07dc59b0a10804
TextureImporter:
internalIDToNameTable:
- first:
213: 7779826258007133402
second: hub_256dp_FFFFFF_FILL1_wght400_GRAD0_opsz48_0
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
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: 4
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Android
maxTextureSize: 2048
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:
- serializedVersion: 2
name: hub_256dp_FFFFFF_FILL1_wght400_GRAD0_opsz48_0
rect:
serializedVersion: 2
x: 0
y: 9
width: 256
height: 247
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: -1
bones: []
spriteID: adc85ca23ce77fb60800000000000000
internalID: 7779826258007133402
vertices: []
indices:
edges: []
weights: []
outline: []
customData:
physicsShape: []
bones: []
spriteID: 5e97eb03825dee720800000000000000
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries: []
nameFileIdTable:
hub_256dp_FFFFFF_FILL1_wght400_GRAD0_opsz48_0: 7779826258007133402
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:
Binary file not shown.

After

Width:  |  Height:  |  Size: 4.9 KiB

@@ -0,0 +1,182 @@
fileFormatVersion: 2
guid: c237221062cb1d149ba06d13a64ff1fa
TextureImporter:
internalIDToNameTable:
- first:
213: -3501455952557524995
second: mic_256dp_FFFFFF_FILL1_wght400_GRAD0_opsz48_0
- first:
213: -3766252149132146801
second: mic_256dp_FFFFFF_FILL1_wght400_GRAD0_opsz48_1
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
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: 4
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Android
maxTextureSize: 2048
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:
- serializedVersion: 2
name: mic_256dp_FFFFFF_FILL1_wght400_GRAD0_opsz48_0
rect:
serializedVersion: 2
x: 52
y: 31
width: 152
height: 111
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: -1
bones: []
spriteID: df7b127dc54586fc0800000000000000
internalID: -3501455952557524995
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: mic_256dp_FFFFFF_FILL1_wght400_GRAD0_opsz48_1
rect:
serializedVersion: 2
x: 100
y: 112
width: 56
height: 124
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: -1
bones: []
spriteID: f874d64ff959bbbc0800000000000000
internalID: -3766252149132146801
vertices: []
indices:
edges: []
weights: []
outline: []
customData:
physicsShape: []
bones: []
spriteID: 5e97eb03825dee720800000000000000
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries: []
nameFileIdTable:
mic_256dp_FFFFFF_FILL1_wght400_GRAD0_opsz48_0: -3501455952557524995
mic_256dp_FFFFFF_FILL1_wght400_GRAD0_opsz48_1: -3766252149132146801
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:
Binary file not shown.

After

Width:  |  Height:  |  Size: 4.1 KiB

@@ -0,0 +1,156 @@
fileFormatVersion: 2
guid: d877281696712ab45afbc9537533ab92
TextureImporter:
internalIDToNameTable:
- first:
213: -4907987075111936809
second: shield_256dp_FFFFFF_FILL1_wght400_GRAD0_opsz48_0
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
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: 4
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Android
maxTextureSize: 2048
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:
- serializedVersion: 2
name: shield_256dp_FFFFFF_FILL1_wght400_GRAD0_opsz48_0
rect:
serializedVersion: 2
x: 41
y: 20
width: 174
height: 216
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: -1
bones: []
spriteID: 7dc9eb142c353ebb0800000000000000
internalID: -4907987075111936809
vertices: []
indices:
edges: []
weights: []
outline: []
customData:
physicsShape: []
bones: []
spriteID: 5e97eb03825dee720800000000000000
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries: []
nameFileIdTable:
shield_256dp_FFFFFF_FILL1_wght400_GRAD0_opsz48_0: -4907987075111936809
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:
Binary file not shown.

After

Width:  |  Height:  |  Size: 4.9 KiB

@@ -0,0 +1,182 @@
fileFormatVersion: 2
guid: b82f4997d34bd04429712970b09f247c
TextureImporter:
internalIDToNameTable:
- first:
213: 8180158757924093178
second: swords_256dp_FFFFFF_FILL1_wght400_GRAD0_opsz48_0
- first:
213: -4201342851663961385
second: swords_256dp_FFFFFF_FILL1_wght400_GRAD0_opsz48_1
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
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: 4
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Android
maxTextureSize: 2048
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:
- serializedVersion: 2
name: swords_256dp_FFFFFF_FILL1_wght400_GRAD0_opsz48_0
rect:
serializedVersion: 2
x: 19
y: 20
width: 217
height: 217
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: -1
bones: []
spriteID: afcbd5ccc03c58170800000000000000
internalID: 8180158757924093178
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: swords_256dp_FFFFFF_FILL1_wght400_GRAD0_opsz48_1
rect:
serializedVersion: 2
x: 131
y: 20
width: 106
height: 106
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: -1
bones: []
spriteID: 7d261f2afe4d1b5c0800000000000000
internalID: -4201342851663961385
vertices: []
indices:
edges: []
weights: []
outline: []
customData:
physicsShape: []
bones: []
spriteID: 5e97eb03825dee720800000000000000
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries: []
nameFileIdTable:
swords_256dp_FFFFFF_FILL1_wght400_GRAD0_opsz48_0: 8180158757924093178
swords_256dp_FFFFFF_FILL1_wght400_GRAD0_opsz48_1: -4201342851663961385
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:
Binary file not shown.

After

Width:  |  Height:  |  Size: 3.5 KiB

@@ -0,0 +1,156 @@
fileFormatVersion: 2
guid: cfd3b7c9f8d771242a3470b435341598
TextureImporter:
internalIDToNameTable:
- first:
213: -6717131501787043412
second: thermostat_carbon_256dp_FFFFFF_FILL1_wght400_GRAD0_opsz48_0
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
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: 4
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Android
maxTextureSize: 2048
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:
- serializedVersion: 2
name: thermostat_carbon_256dp_FFFFFF_FILL1_wght400_GRAD0_opsz48_0
rect:
serializedVersion: 2
x: 18
y: 18
width: 220
height: 220
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: -1
bones: []
spriteID: ca9a56eec74f7c2a0800000000000000
internalID: -6717131501787043412
vertices: []
indices:
edges: []
weights: []
outline: []
customData:
physicsShape: []
bones: []
spriteID: 5e97eb03825dee720800000000000000
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries: []
nameFileIdTable:
thermostat_carbon_256dp_FFFFFF_FILL1_wght400_GRAD0_opsz48_0: -6717131501787043412
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:
Binary file not shown.

After

Width:  |  Height:  |  Size: 5.9 KiB

@@ -0,0 +1,156 @@
fileFormatVersion: 2
guid: 6deae39edcc96e24c99dd78f60105f7c
TextureImporter:
internalIDToNameTable:
- first:
213: 1623584560018678059
second: wand_stars_256dp_FFFFFF_FILL1_wght400_GRAD0_opsz48_0
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
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: 4
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Android
maxTextureSize: 2048
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:
- serializedVersion: 2
name: wand_stars_256dp_FFFFFF_FILL1_wght400_GRAD0_opsz48_0
rect:
serializedVersion: 2
x: 31
y: 31
width: 205
height: 205
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: -1
bones: []
spriteID: b21e8b22e81288610800000000000000
internalID: 1623584560018678059
vertices: []
indices:
edges: []
weights: []
outline: []
customData:
physicsShape: []
bones: []
spriteID: 5e97eb03825dee720800000000000000
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries: []
nameFileIdTable:
wand_stars_256dp_FFFFFF_FILL1_wght400_GRAD0_opsz48_0: 1623584560018678059
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:
Binary file not shown.

After

Width:  |  Height:  |  Size: 5.4 KiB

@@ -0,0 +1,156 @@
fileFormatVersion: 2
guid: c33600cf38f978745b88e67ccbf22510
TextureImporter:
internalIDToNameTable:
- first:
213: -4899424778480135054
second: water_drop_256dp_FFFFFF_FILL1_wght400_GRAD0_opsz48_0
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
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: 4
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Android
maxTextureSize: 2048
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:
- serializedVersion: 2
name: water_drop_256dp_FFFFFF_FILL1_wght400_GRAD0_opsz48_0
rect:
serializedVersion: 2
x: 41
y: 20
width: 174
height: 216
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: -1
bones: []
spriteID: 274d1fa4f1fb10cb0800000000000000
internalID: -4899424778480135054
vertices: []
indices:
edges: []
weights: []
outline: []
customData:
physicsShape: []
bones: []
spriteID: 5e97eb03825dee720800000000000000
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries: []
nameFileIdTable:
water_drop_256dp_FFFFFF_FILL1_wght400_GRAD0_opsz48_0: -4899424778480135054
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:
Binary file not shown.

After

Width:  |  Height:  |  Size: 6.4 KiB

@@ -0,0 +1,182 @@
fileFormatVersion: 2
guid: 5d14a48cec3efee429ffc6039a5225eb
TextureImporter:
internalIDToNameTable:
- first:
213: 1342201404938781340
second: water_drops_256dp_FFFFFF_FILL1_wght400_GRAD0_opsz48_0
- first:
213: -9025934476563007613
second: water_drops_256dp_FFFFFF_FILL1_wght400_GRAD0_opsz48_1
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
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: 4
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Android
maxTextureSize: 2048
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:
- serializedVersion: 2
name: water_drops_256dp_FFFFFF_FILL1_wght400_GRAD0_opsz48_0
rect:
serializedVersion: 2
x: 41
y: 20
width: 174
height: 216
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: -1
bones: []
spriteID: c920866011570a210800000000000000
internalID: 1342201404938781340
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: water_drops_256dp_FFFFFF_FILL1_wght400_GRAD0_opsz48_1
rect:
serializedVersion: 2
x: 151
y: 119
width: 72
height: 92
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: -1
bones: []
spriteID: 387b28e3a607db280800000000000000
internalID: -9025934476563007613
vertices: []
indices:
edges: []
weights: []
outline: []
customData:
physicsShape: []
bones: []
spriteID: 5e97eb03825dee720800000000000000
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries: []
nameFileIdTable:
water_drops_256dp_FFFFFF_FILL1_wght400_GRAD0_opsz48_0: 1342201404938781340
water_drops_256dp_FFFFFF_FILL1_wght400_GRAD0_opsz48_1: -9025934476563007613
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:
+4 -4
View File
@@ -105,6 +105,7 @@ RectTransform:
m_Children:
- {fileID: 6325556751108589238}
- {fileID: 3269998473502558558}
- {fileID: 4695016166867711233}
m_Father: {fileID: 4121223171157752982}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0.5}
@@ -1295,7 +1296,6 @@ RectTransform:
- {fileID: 2258321690470487401}
- {fileID: 1620780516862672182}
- {fileID: 4711878264153542019}
- {fileID: 4695016166867711233}
m_Father: {fileID: 6847213715781492410}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0.5}
@@ -1521,11 +1521,11 @@ RectTransform:
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 4121223171157752982}
m_Father: {fileID: 4711878264153542019}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0.5}
m_AnchorMax: {x: 0.5, y: 0.5}
m_AnchoredPosition: {x: 113.82, y: 6.38}
m_AnchoredPosition: {x: 80.3, y: 1}
m_SizeDelta: {x: 200, y: 200}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &7691458527157468705
@@ -1552,7 +1552,7 @@ MonoBehaviour:
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 0
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 0
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
+21 -1
View File
@@ -10,6 +10,18 @@ public class idolCardPrefab : MonoBehaviour
public Text idol_xpText;
public Image idol_levelIcon;
public Image idol_btmImage;
private Button cachedButton;
private System.Action clickAction;
private void Awake()
{
cachedButton = GetComponent<Button>();
if (cachedButton != null)
{
cachedButton.onClick.RemoveListener(HandleClicked);
cachedButton.onClick.AddListener(HandleClicked);
}
}
public void Setup(
Sprite profile,
@@ -19,8 +31,11 @@ public class idolCardPrefab : MonoBehaviour
string xpText,
Sprite levelIcon,
Sprite bottomSprite,
Color sliderFillColor)
Color sliderFillColor,
System.Action onClick)
{
clickAction = onClick;
if (idolProfile != null)
{
idolProfile.sprite = profile;
@@ -65,4 +80,9 @@ public class idolCardPrefab : MonoBehaviour
idol_btmImage.sprite = bottomSprite;
}
}
private void HandleClicked()
{
clickAction?.Invoke();
}
}
+8
View File
@@ -0,0 +1,8 @@
using UnityEngine;
using UnityEngine.UI;
public class idolDocument : MonoBehaviour
{
public Text idol_documentText;
public GameObject idol_rader;
}
+2
View File
@@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: a488eaaf4b2a19a45bb7171a4d4c6054
+29
View File
@@ -0,0 +1,29 @@
using Spine;
using System.Runtime.ExceptionServices;
using UnityEngine;
using UnityEngine.UI;
public class idolLevels : MonoBehaviour
{
[Header("角色属性")]
public Text hp;
public Text attack;
public Text mana;
public Text damageResistant;//伤害减免
public Text scoreEfficency;//分数效率
public Text slotAmount;
[Header("mana restore")]
public Text miss_mr;
public Text good_mr;
public Text great_mr;
public Text perfect_mr;
[Header("damage multiplier")]
public Text good_dm;
public Text great_dm;
public Text perfect_dm;
[Header("hp lose base")]
public Text miss_hl;
}
+2
View File
@@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: 21bd946cf370f6c43a08d6f6893e94c9
+100
View File
@@ -0,0 +1,100 @@
using UnityEngine;
public class idolRadarController : MonoBehaviour
{
[Header("Radar")]
public URadarChartController radarChartController;
public bool rebuildOnEnable = true;
[Range(0f, 100f)] public float referenceValue = 60f;
[Range(0f, 100f)] public float emptyValue = 0f;
private AllyHero_SO pendingHero;
private bool rebuildQueued;
private void Awake()
{
EnsureController();
}
private void OnEnable()
{
if (rebuildOnEnable)
{
rebuildQueued = true;
}
}
private void LateUpdate()
{
if (!rebuildQueued)
{
return;
}
TryApplyPendingHero();
}
public void ApplyHero(AllyHero_SO hero)
{
pendingHero = hero;
rebuildQueued = true;
TryApplyPendingHero();
}
private void TryApplyPendingHero()
{
EnsureController();
if (radarChartController == null || radarChartController.chartBridge == null || radarChartController.chartBridge.Profile == null)
{
return;
}
ApplyHeroInternal(pendingHero);
rebuildQueued = false;
}
private void EnsureController()
{
if (radarChartController == null)
{
radarChartController = GetComponent<URadarChartController>();
}
if (radarChartController == null)
{
radarChartController = GetComponentInChildren<URadarChartController>(true);
}
}
private void ApplyHeroInternal(AllyHero_SO hero)
{
if (radarChartController == null)
{
return;
}
radarChartController.axisCount = AllyHero_SO.BehaviourAxisNames.Length;
radarChartController.showReferenceSeries = false;
radarChartController.NormalizeAxesForExternalUse();
for (int i = 0; i < AllyHero_SO.BehaviourAxisNames.Length; i++)
{
string axisName = AllyHero_SO.BehaviourAxisNames[i];
float axisValue = emptyValue;
if (hero != null)
{
hero.EnsureBehaviourAxes();
if (hero.behaviourAxes != null && i < hero.behaviourAxes.Count && hero.behaviourAxes[i] != null)
{
axisName = string.IsNullOrWhiteSpace(hero.behaviourAxes[i].axisName) ? axisName : hero.behaviourAxes[i].axisName.Trim();
axisValue = Mathf.Clamp(hero.behaviourAxes[i].value, 0f, 100f);
}
}
radarChartController.SetAxisData(i, axisName, axisValue, referenceValue);
}
radarChartController.RebuildNow();
}
}
@@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: a12738cb675d80749a9cbdc688fc2590
+313
View File
@@ -0,0 +1,313 @@
using System;
using System.Collections.Generic;
using Bansonic;
using UnityEngine;
#if UNITY_EDITOR
using UnityEditor;
#endif
public class idolSkillsHub : MonoBehaviour
{
[Header("objects")]
public GameObject deSkillPrefab;
public Transform deSkillContainer;
[Header("fallbacks")]
public Sprite unlock_sprite;
[Header("displaying")]
public Material disgot_grayMtr;
public Color enabled_btmColor = Color.white;
public Color disabled_btmColor = Color.white;
public Color unlock_btmColor = Color.gray;
[Header("bool")]
public bool display_ungotten = true;
[Header("runtime")]
public AllyHero_SO currentHero;
private int selectedDetailSkillGroupId = -1;
public void SetHero(AllyHero_SO hero)
{
bool heroChanged = currentHero == null || hero == null || currentHero.ally_heroID != hero.ally_heroID;
currentHero = hero;
if (currentHero != null)
{
currentHero.LoadEquippedSkillsFromLocal();
}
if (heroChanged)
{
selectedDetailSkillGroupId = GetDefaultDetailSkillGroupId(currentHero);
}
Rebuild();
}
public void Rebuild()
{
ClearItems();
if (currentHero == null || deSkillPrefab == null || deSkillContainer == null || currentHero.skillGroups == null)
{
return;
}
currentHero.LoadEquippedSkillsFromLocal();
int currentTierNumber = GetCurrentTierNumber(currentHero);
AllyHero_SO.AllyLevelInfo currentLevelInfo = currentHero.GetEffectiveLevelForCurrentEXP();
int maxSkillSlots = currentLevelInfo != null ? Mathf.Max(0, currentLevelInfo.skill_slot_limited) : 0;
for (int i = 0; i < currentHero.skillGroups.Length; i++)
{
SkillGroup group = currentHero.skillGroups[i];
if (group == null)
{
continue;
}
bool unlocked = currentTierNumber >= Mathf.Clamp(group.thisSkill_levelLimit, 1, 4);
bool equipped = IsEquipped(group.skillGroupID);
bool slotAvailable = equipped || GetEquippedCount() < maxSkillSlots;
string enableText;
bool enableToggleValue;
if (!unlocked)
{
enableText = "\u9700\u8981\u7b49\u7ea7" + GetTierName(group.thisSkill_levelLimit);
enableToggleValue = false;
}
else if (!slotAvailable)
{
enableText = "\u6280\u80fd\u69fd\u4f4d\u5df2\u6ee1";
enableToggleValue = false;
}
else
{
enableText = "\u6280\u80fd\u53ef\u7528";
enableToggleValue = true;
}
string equipText = equipped ? "\u5df2\u88c5\u914d\u6b64\u6280\u80fd" : "\u6280\u80fd\u672a\u88c5\u914d";
bool equipToggleValue = equipped;
bool hideLockedIdentity = !unlocked && !display_ungotten;
Sprite displaySprite = unlocked
? group.groupIcon
: (display_ungotten ? group.groupIcon : unlock_sprite);
string displayName = hideLockedIdentity ? "\u672a\u89e3\u9501\u6280\u80fd" : (group.groupName ?? string.Empty);
string detailName = displayName;
string detailDescription = hideLockedIdentity ? "\u6b64\u6280\u80fd\u5c1a\u672a\u89e3\u9501\u3002" : (group.skillDescriptionsText ?? string.Empty);
Color bottomColor = equipped ? enabled_btmColor : (unlocked ? disabled_btmColor : unlock_btmColor);
Material iconMaterial = unlocked ? null : disgot_grayMtr;
GameObject instance = Instantiate(deSkillPrefab, deSkillContainer);
deSkillPrefab item = instance.GetComponent<deSkillPrefab>();
if (item == null)
{
continue;
}
bool hoverToShowDetails = item.display_DP_ungotten;
bool allowDetailsHover = item.display_DP_ungotten;
bool showDetailsNow = !item.display_DP_ungotten && unlocked && selectedDetailSkillGroupId == group.skillGroupID;
item.Bind(
displaySprite,
displaySprite,
displayName,
detailName,
detailDescription,
bottomColor,
iconMaterial,
enableToggleValue,
enableText,
equipToggleValue,
equipText,
equipped,
true,
showDetailsNow,
hoverToShowDetails,
allowDetailsHover,
() => HandleSkillClicked(group));
}
}
private void HandleSkillClicked(SkillGroup group)
{
if (currentHero == null || group == null)
{
return;
}
int currentTierNumber = GetCurrentTierNumber(currentHero);
if (currentTierNumber < Mathf.Clamp(group.thisSkill_levelLimit, 1, 4))
{
selectedDetailSkillGroupId = -1;
Rebuild();
gNotice.warning.display("\u9700\u8981\u7b49\u7ea7" + GetTierName(group.thisSkill_levelLimit));
return;
}
selectedDetailSkillGroupId = group.skillGroupID;
List<int> equipped = new List<int>(currentHero.equippedSkillGroupIDs ?? Array.Empty<int>());
equipped.RemoveAll(id => id == 0);
if (equipped.Contains(group.skillGroupID))
{
equipped.Remove(group.skillGroupID);
ApplyEquippedSkillGroupIds(equipped);
Rebuild();
return;
}
AllyHero_SO.AllyLevelInfo currentLevelInfo = currentHero.GetEffectiveLevelForCurrentEXP();
int maxSkillSlots = currentLevelInfo != null ? Mathf.Max(0, currentLevelInfo.skill_slot_limited) : 0;
if (equipped.Count >= maxSkillSlots)
{
Rebuild();
gNotice.warning.display("\u6280\u80fd\u69fd\u4f4d\u5df2\u6ee1");
return;
}
equipped.Add(group.skillGroupID);
ApplyEquippedSkillGroupIds(equipped);
Rebuild();
}
private void ApplyEquippedSkillGroupIds(List<int> equippedIds)
{
currentHero.equippedSkillGroupIDs = equippedIds != null ? equippedIds.ToArray() : Array.Empty<int>();
currentHero.SaveEquippedSkillsToLocal();
currentHero.LoadEquippedSkillsFromLocal();
#if UNITY_EDITOR
if (!Application.isPlaying)
{
EditorUtility.SetDirty(currentHero);
AssetDatabase.SaveAssets();
}
#endif
}
private bool IsEquipped(int skillGroupId)
{
if (currentHero == null || currentHero.equippedSkillGroupIDs == null)
{
return false;
}
for (int i = 0; i < currentHero.equippedSkillGroupIDs.Length; i++)
{
if (currentHero.equippedSkillGroupIDs[i] == skillGroupId)
{
return true;
}
}
return false;
}
private int GetEquippedCount()
{
if (currentHero == null || currentHero.equippedSkillGroupIDs == null)
{
return 0;
}
int count = 0;
for (int i = 0; i < currentHero.equippedSkillGroupIDs.Length; i++)
{
if (currentHero.equippedSkillGroupIDs[i] != 0)
{
count++;
}
}
return count;
}
private int GetDefaultDetailSkillGroupId(AllyHero_SO hero)
{
if (hero == null)
{
return -1;
}
hero.LoadEquippedSkillsFromLocal();
if (hero.equippedSkillGroupIDs != null)
{
for (int i = 0; i < hero.equippedSkillGroupIDs.Length; i++)
{
int groupId = hero.equippedSkillGroupIDs[i];
if (groupId == 0)
{
continue;
}
SkillGroup group = hero.GetSkillGroupByID(groupId);
if (group != null && GetCurrentTierNumber(hero) >= Mathf.Clamp(group.thisSkill_levelLimit, 1, 4))
{
return groupId;
}
}
}
return -1;
}
private static int GetCurrentTierNumber(AllyHero_SO hero)
{
if (hero == null)
{
return 1;
}
return Mathf.Clamp(hero.ally_growthUnlockedTierIndex + 1, 1, 4);
}
private static string GetTierName(int tierNumber)
{
switch (Mathf.Clamp(tierNumber, 1, 4))
{
case 1: return "C";
case 2: return "B";
case 3: return "A";
case 4: return "S";
default: return "C";
}
}
private void ClearItems()
{
if (deSkillContainer == null)
{
return;
}
for (int i = deSkillContainer.childCount - 1; i >= 0; i--)
{
Transform child = deSkillContainer.GetChild(i);
if (child == null)
{
continue;
}
#if UNITY_EDITOR
if (!Application.isPlaying)
{
DestroyImmediate(child.gameObject);
}
else
{
Destroy(child.gameObject);
}
#else
Destroy(child.gameObject);
#endif
}
}
}
@@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: 7c2318686b80a1a47a07c3a8f7f0d66c
+6
View File
@@ -0,0 +1,6 @@
using UnityEngine;
public class idolSkins : MonoBehaviour
{
}
+2
View File
@@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: 700c7fccbed137e4badea6b058345e40
+8
View File
@@ -0,0 +1,8 @@
using UnityEngine;
public class idolVoices : MonoBehaviour
{
[Header("objs")]
public GameObject idolVoicePrefab;
public Transform idolVoiceParent;
}
+2
View File
@@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: 15a909563662eb14685394b28c7078e4
+6
View File
@@ -0,0 +1,6 @@
using UnityEngine;
public class idolWeapon : MonoBehaviour
{
}
+2
View File
@@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: ec553633425055d4399ed3514af6e3c1
+8
View File
@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 128b7966768697d42874b7e00ad12aad
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: 1f118cd635677744ea0599646cba610a
@@ -0,0 +1,78 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 4704a7ca559b73e42a9961032da75cff, type: 3}
m_Name: idol_upgrade_config
m_EditorClassIdentifier:
tierRules:
- currentTier: 0
nextTier: 1
canTrain: 1
canBreakthrough: 1
requiredCoins: 500
linkedExpBottles:
- {fileID: 11400000, guid: eb4d2548c14f4524ea8870a94df3670d, type: 2}
- {fileID: 11400000, guid: 919fb1664ac3f574b996f590376ca9c8, type: 2}
- {fileID: 11400000, guid: 2f4b8d2a81e5d1149b5cbc1a039ba2e9, type: 2}
- {fileID: 11400000, guid: 82842b6a4ecff4249b89ed09c6126261, type: 2}
- {fileID: 11400000, guid: fb06d42cec33d7c43b676dfd6b63c25f, type: 2}
- {fileID: 11400000, guid: 0351a79f43bc81b40ab0f6bb40ab54ac, type: 2}
breakthroughCosts:
- material: {fileID: 11400000, guid: fd00a479212129440abb61a7bd91e810, type: 2}
amount: 1
breakthroughBottleCosts: []
- currentTier: 1
nextTier: 2
canTrain: 1
canBreakthrough: 1
requiredCoins: 1500
linkedExpBottles:
- {fileID: 11400000, guid: fbb06936c02c44b45ad632dcfdc74de5, type: 2}
- {fileID: 11400000, guid: 919fb1664ac3f574b996f590376ca9c8, type: 2}
- {fileID: 11400000, guid: 2f4b8d2a81e5d1149b5cbc1a039ba2e9, type: 2}
- {fileID: 11400000, guid: 82842b6a4ecff4249b89ed09c6126261, type: 2}
- {fileID: 11400000, guid: fb06d42cec33d7c43b676dfd6b63c25f, type: 2}
- {fileID: 11400000, guid: 0351a79f43bc81b40ab0f6bb40ab54ac, type: 2}
breakthroughCosts:
- material: {fileID: 11400000, guid: f11975bf44f7fd649ad384b7a2662c09, type: 2}
amount: 1
breakthroughBottleCosts: []
- currentTier: 2
nextTier: 3
canTrain: 1
canBreakthrough: 1
requiredCoins: 5000
linkedExpBottles:
- {fileID: 11400000, guid: b3d72c276f1ba5f4e99a9d1e0cd3b6a1, type: 2}
- {fileID: 11400000, guid: 919fb1664ac3f574b996f590376ca9c8, type: 2}
- {fileID: 11400000, guid: 2f4b8d2a81e5d1149b5cbc1a039ba2e9, type: 2}
- {fileID: 11400000, guid: 82842b6a4ecff4249b89ed09c6126261, type: 2}
- {fileID: 11400000, guid: fb06d42cec33d7c43b676dfd6b63c25f, type: 2}
- {fileID: 11400000, guid: 0351a79f43bc81b40ab0f6bb40ab54ac, type: 2}
breakthroughCosts:
- material: {fileID: 11400000, guid: 875083f310e2a1e4189c987e09b3418e, type: 2}
amount: 1
breakthroughBottleCosts:
- bottle: {fileID: 11400000, guid: 184df96a865b024438c22d01eb1c129e, type: 2}
amount: 1
specialBottleRules:
- bottle: {fileID: 11400000, guid: 919fb1664ac3f574b996f590376ca9c8, type: 2}
effect: 0
allowAnyCurrentTier: 1
minimumCurrentTier: 0
maximumCurrentTier: 3
targetTier: 2
- bottle: {fileID: 11400000, guid: 2f4b8d2a81e5d1149b5cbc1a039ba2e9, type: 2}
effect: 1
allowAnyCurrentTier: 1
minimumCurrentTier: 0
maximumCurrentTier: 3
targetTier: 2
@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: af80826011e24734b8ec12716070a969
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,74 @@
using System;
using TMPro;
using UnityEngine;
using UnityEngine.UI;
public class materialPrefab : MonoBehaviour
{
[Header("imgs")]
public Image boarder;
public Image materialImg;
public Button materialButton;
public TextMeshProUGUI materialAmount;
public Text materialName;
private Action clickAction;
private void Awake()
{
if (materialButton != null)
{
materialButton.onClick.RemoveListener(HandleClick);
materialButton.onClick.AddListener(HandleClick);
}
}
public void Bind(Sprite sprite, string displayName, string amountText, bool selected, bool interactable, Action onClick)
{
clickAction = onClick;
if (materialImg != null)
{
materialImg.sprite = sprite;
materialImg.enabled = sprite != null;
}
if (materialName != null)
{
materialName.text = displayName ?? string.Empty;
}
if (materialAmount != null)
{
materialAmount.text = amountText ?? string.Empty;
}
SetSelected(selected);
if (materialButton != null)
{
materialButton.interactable = interactable;
}
}
public void SetSelected(bool selected)
{
if (boarder != null)
{
boarder.enabled = selected;
}
}
private void HandleClick()
{
if (materialButton != null && !materialButton.interactable)
{
return;
}
if (clickAction != null)
{
clickAction.Invoke();
}
}
}
@@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: e606e8cded316504e9b271ca8bd9ae5e
@@ -0,0 +1,599 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &419699377358998328
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 2451014950221970868}
- component: {fileID: 7708545175036600530}
- component: {fileID: 84615446005226368}
m_Layer: 5
m_Name: name
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &2451014950221970868
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 419699377358998328}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 283905034138895707}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: 0, y: -49.994003}
m_SizeDelta: {x: 0, y: -59.836}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &7708545175036600530
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 419699377358998328}
m_CullTransparentMesh: 1
--- !u!114 &84615446005226368
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 419699377358998328}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
m_RaycastTarget: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_FontData:
m_Font: {fileID: 12800000, guid: bd4be44636ad6c24a9b117a7108a75e9, type: 3}
m_FontSize: 12
m_FontStyle: 0
m_BestFit: 1
m_MinSize: 1
m_MaxSize: 16
m_Alignment: 4
m_AlignByGeometry: 0
m_RichText: 1
m_HorizontalOverflow: 0
m_VerticalOverflow: 0
m_LineSpacing: 1
m_Text: "\u51E1\u54C1\u5076\u50CF\u7075\u6DB2"
--- !u!1 &3731674714244970483
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 283905034138895707}
- component: {fileID: 3093584924614703832}
- component: {fileID: 3805267738081983623}
- component: {fileID: 7307418862074045362}
- component: {fileID: 6223024646424990969}
m_Layer: 5
m_Name: materialPrefab
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &283905034138895707
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3731674714244970483}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 3389820464077428868}
- {fileID: 664757063189452699}
- {fileID: 2451014950221970868}
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0.5}
m_AnchorMax: {x: 0.5, y: 0.5}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 80, y: 80}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &3093584924614703832
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3731674714244970483}
m_CullTransparentMesh: 1
--- !u!114 &3805267738081983623
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3731674714244970483}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: e606e8cded316504e9b271ca8bd9ae5e, type: 3}
m_Name:
m_EditorClassIdentifier:
boarder: {fileID: 4301219412316587214}
materialImg: {fileID: 6433794917799223522}
materialButton: {fileID: 6223024646424990969}
materialAmount: {fileID: 1761526427795409056}
materialName: {fileID: 84615446005226368}
--- !u!114 &7307418862074045362
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3731674714244970483}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0}
m_Type: 1
m_PreserveAspect: 0
m_FillCenter: 1
m_FillMethod: 4
m_FillAmount: 1
m_FillClockwise: 1
m_FillOrigin: 0
m_UseSpriteMesh: 0
m_PixelsPerUnitMultiplier: 1
--- !u!114 &6223024646424990969
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3731674714244970483}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Navigation:
m_Mode: 3
m_WrapAround: 0
m_SelectOnUp: {fileID: 0}
m_SelectOnDown: {fileID: 0}
m_SelectOnLeft: {fileID: 0}
m_SelectOnRight: {fileID: 0}
m_Transition: 1
m_Colors:
m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
m_ColorMultiplier: 1
m_FadeDuration: 0.1
m_SpriteState:
m_HighlightedSprite: {fileID: 0}
m_PressedSprite: {fileID: 0}
m_SelectedSprite: {fileID: 0}
m_DisabledSprite: {fileID: 0}
m_AnimationTriggers:
m_NormalTrigger: Normal
m_HighlightedTrigger: Highlighted
m_PressedTrigger: Pressed
m_SelectedTrigger: Selected
m_DisabledTrigger: Disabled
m_Interactable: 1
m_TargetGraphic: {fileID: 7307418862074045362}
m_OnClick:
m_PersistentCalls:
m_Calls: []
--- !u!1 &4433694961789462748
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 2627397760832851542}
- component: {fileID: 5381482938171584313}
- component: {fileID: 6433794917799223522}
m_Layer: 5
m_Name: image
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &2627397760832851542
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4433694961789462748}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 7963245769671633172}
m_Father: {fileID: 664757063189452699}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0.5}
m_AnchorMax: {x: 0.5, y: 0.5}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 65, y: 65}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &5381482938171584313
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4433694961789462748}
m_CullTransparentMesh: 1
--- !u!114 &6433794917799223522
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4433694961789462748}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Sprite: {fileID: 0}
m_Type: 0
m_PreserveAspect: 0
m_FillCenter: 1
m_FillMethod: 4
m_FillAmount: 1
m_FillClockwise: 1
m_FillOrigin: 0
m_UseSpriteMesh: 0
m_PixelsPerUnitMultiplier: 1
--- !u!1 &5384464930988271749
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 3389820464077428868}
- component: {fileID: 334864567550305053}
- component: {fileID: 4301219412316587214}
m_Layer: 5
m_Name: boardBtm
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &3389820464077428868
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5384464930988271749}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 283905034138895707}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0.5}
m_AnchorMax: {x: 0.5, y: 0.5}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 80, y: 80}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &334864567550305053
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5384464930988271749}
m_CullTransparentMesh: 1
--- !u!114 &4301219412316587214
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5384464930988271749}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Sprite: {fileID: 21300000, guid: 9ebd9ce7600225b48a92c3900b8188fc, type: 3}
m_Type: 1
m_PreserveAspect: 0
m_FillCenter: 1
m_FillMethod: 4
m_FillAmount: 1
m_FillClockwise: 1
m_FillOrigin: 0
m_UseSpriteMesh: 0
m_PixelsPerUnitMultiplier: 2
--- !u!1 &7332347141654536774
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 7963245769671633172}
- component: {fileID: 5194410978099864405}
- component: {fileID: 1761526427795409056}
m_Layer: 5
m_Name: amount
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &7963245769671633172
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7332347141654536774}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 2627397760832851542}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0.5}
m_AnchorMax: {x: 0.5, y: 0.5}
m_AnchoredPosition: {x: 0.343, y: -23.838}
m_SizeDelta: {x: 62.577, y: 22.217}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &5194410978099864405
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7332347141654536774}
m_CullTransparentMesh: 1
--- !u!114 &1761526427795409056
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7332347141654536774}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_text: Amount
m_isRightToLeft: 0
m_fontAsset: {fileID: 11400000, guid: 452fa97492cae71479cf143f29930751, type: 2}
m_sharedMaterial: {fileID: -346136068272202111, guid: 452fa97492cae71479cf143f29930751, type: 2}
m_fontSharedMaterials: []
m_fontMaterial: {fileID: 0}
m_fontMaterials: []
m_fontColor32:
serializedVersion: 2
rgba: 4294967295
m_fontColor: {r: 1, g: 1, b: 1, a: 1}
m_enableVertexGradient: 0
m_colorMode: 3
m_fontColorGradient:
topLeft: {r: 1, g: 1, b: 1, a: 1}
topRight: {r: 1, g: 1, b: 1, a: 1}
bottomLeft: {r: 1, g: 1, b: 1, a: 1}
bottomRight: {r: 1, g: 1, b: 1, a: 1}
m_fontColorGradientPreset: {fileID: 0}
m_spriteAsset: {fileID: 0}
m_tintAllSprites: 0
m_StyleSheet: {fileID: 0}
m_TextStyleHashCode: -1183493901
m_overrideHtmlColors: 0
m_faceColor:
serializedVersion: 2
rgba: 4294967295
m_fontSize: 15.35
m_fontSizeBase: 12
m_fontWeight: 400
m_enableAutoSizing: 1
m_fontSizeMin: 6
m_fontSizeMax: 18
m_fontStyle: 0
m_HorizontalAlignment: 4
m_VerticalAlignment: 1024
m_textAlignment: 65535
m_characterSpacing: 0
m_wordSpacing: 0
m_lineSpacing: 0
m_lineSpacingMax: 0
m_paragraphSpacing: 0
m_charWidthMaxAdj: 0
m_TextWrappingMode: 1
m_wordWrappingRatios: 0.4
m_overflowMode: 0
m_linkedTextComponent: {fileID: 0}
parentLinkedComponent: {fileID: 0}
m_enableKerning: 0
m_ActiveFontFeatures: 6e72656b
m_enableExtraPadding: 0
checkPaddingRequired: 0
m_isRichText: 1
m_EmojiFallbackSupport: 1
m_parseCtrlCharacters: 1
m_isOrthographic: 1
m_isCullingEnabled: 0
m_horizontalMapping: 0
m_verticalMapping: 0
m_uvLineOffset: 0
m_geometrySortingOrder: 0
m_IsTextObjectScaleStatic: 0
m_VertexBufferAutoSizeReduction: 0
m_useMaxVisibleDescender: 1
m_pageToDisplay: 1
m_margin: {x: 0, y: 0, z: 0, w: 0}
m_isUsingLegacyAnimationComponent: 0
m_isVolumetricText: 0
m_hasFontAssetChanged: 0
m_baseMaterial: {fileID: 0}
m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
--- !u!1 &7873708369997542709
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 664757063189452699}
- component: {fileID: 2348238435232585680}
- component: {fileID: 1657374318142278237}
- component: {fileID: 5784989643262439200}
m_Layer: 5
m_Name: btm
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &664757063189452699
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7873708369997542709}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 2627397760832851542}
m_Father: {fileID: 283905034138895707}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0.5}
m_AnchorMax: {x: 0.5, y: 0.5}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 80, y: 80}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &2348238435232585680
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7873708369997542709}
m_CullTransparentMesh: 1
--- !u!114 &1657374318142278237
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7873708369997542709}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Sprite: {fileID: 21300000, guid: 7f3b1220317607e44bbb8f0e1998044a, type: 3}
m_Type: 1
m_PreserveAspect: 0
m_FillCenter: 1
m_FillMethod: 4
m_FillAmount: 1
m_FillClockwise: 1
m_FillOrigin: 0
m_UseSpriteMesh: 0
m_PixelsPerUnitMultiplier: 2
--- !u!114 &5784989643262439200
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7873708369997542709}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 31a19414c41e5ae4aae2af33fee712f6, type: 3}
m_Name:
m_EditorClassIdentifier:
m_ShowMaskGraphic: 1
@@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 872db18b63ee25a4d990951b3b14c76a
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
+253
View File
@@ -0,0 +1,253 @@
using System;
using System.Collections.Generic;
using UnityEngine;
[CreateAssetMenu(fileName = "idol_upgrade_config", menuName = "Idols/Upgrade Config")]
public class upgradeConfig : ScriptableObject
{
[Serializable]
public sealed class GrowthMaterialCost
{
public growthMaterialSO material;
[Min(0)] public int amount = 0;
}
[Serializable]
public sealed class BreakthroughBottleCost
{
public expBottlesSO bottle;
[Min(0)] public int amount = 0;
}
[Serializable]
public sealed class TierRule
{
public HeroGrowthTier currentTier = HeroGrowthTier.C;
public HeroGrowthTier nextTier = HeroGrowthTier.B;
public bool canTrain = true;
public bool canBreakthrough = true;
[Min(0)] public int requiredCoins = 0;
public List<expBottlesSO> linkedExpBottles = new List<expBottlesSO>();
public List<GrowthMaterialCost> breakthroughCosts = new List<GrowthMaterialCost>();
public List<BreakthroughBottleCost> breakthroughBottleCosts = new List<BreakthroughBottleCost>();
}
public enum SpecialBottleEffect
{
FillToNextTierCap,
ReachTargetTierMaxWithoutSkippedBreakthroughPayment
}
[Serializable]
public sealed class SpecialBottleRule
{
public expBottlesSO bottle;
public SpecialBottleEffect effect = SpecialBottleEffect.FillToNextTierCap;
public bool allowAnyCurrentTier = true;
public HeroGrowthTier minimumCurrentTier = HeroGrowthTier.C;
public HeroGrowthTier maximumCurrentTier = HeroGrowthTier.S;
public HeroGrowthTier targetTier = HeroGrowthTier.A;
}
[Header("Tier Rules")]
public List<TierRule> tierRules = new List<TierRule>();
[Header("Special Bottles")]
public List<SpecialBottleRule> specialBottleRules = new List<SpecialBottleRule>();
public TierRule GetRule(HeroGrowthTier tier)
{
if (tierRules == null)
{
return null;
}
for (int i = 0; i < tierRules.Count; i++)
{
TierRule rule = tierRules[i];
if (rule != null && rule.currentTier == tier)
{
return rule;
}
}
return null;
}
public List<expBottlesSO> GetLinkedBottles(HeroGrowthTier tier)
{
TierRule rule = GetRule(tier);
return rule != null ? rule.linkedExpBottles : null;
}
public List<GrowthMaterialCost> GetBreakthroughCosts(HeroGrowthTier tier)
{
TierRule rule = GetRule(tier);
return rule != null ? rule.breakthroughCosts : null;
}
public SpecialBottleRule GetSpecialBottleRule(expBottlesSO bottle)
{
if (bottle == null || specialBottleRules == null)
{
return null;
}
for (int i = 0; i < specialBottleRules.Count; i++)
{
SpecialBottleRule rule = specialBottleRules[i];
if (rule != null && rule.bottle == bottle)
{
return rule;
}
}
return null;
}
private void OnValidate()
{
EnsureDefaultRules();
NormalizeRules();
}
private void EnsureDefaultRules()
{
EnsureRuleExists(HeroGrowthTier.C, HeroGrowthTier.B, true, true);
EnsureRuleExists(HeroGrowthTier.B, HeroGrowthTier.A, true, true);
EnsureRuleExists(HeroGrowthTier.A, HeroGrowthTier.S, true, true);
}
private void EnsureRuleExists(HeroGrowthTier currentTier, HeroGrowthTier nextTier, bool canTrain, bool canBreakthrough)
{
if (GetRule(currentTier) != null)
{
return;
}
if (tierRules == null)
{
tierRules = new List<TierRule>();
}
tierRules.Add(new TierRule
{
currentTier = currentTier,
nextTier = nextTier,
canTrain = canTrain,
canBreakthrough = canBreakthrough
});
}
private void NormalizeRules()
{
if (tierRules == null)
{
tierRules = new List<TierRule>();
return;
}
if (specialBottleRules == null)
{
specialBottleRules = new List<SpecialBottleRule>();
}
HashSet<HeroGrowthTier> seen = new HashSet<HeroGrowthTier>();
for (int i = tierRules.Count - 1; i >= 0; i--)
{
TierRule rule = tierRules[i];
if (rule == null)
{
tierRules.RemoveAt(i);
continue;
}
if (seen.Contains(rule.currentTier))
{
tierRules.RemoveAt(i);
continue;
}
if (rule.currentTier == HeroGrowthTier.S)
{
tierRules.RemoveAt(i);
continue;
}
seen.Add(rule.currentTier);
if (rule.linkedExpBottles == null)
{
rule.linkedExpBottles = new List<expBottlesSO>();
}
if (rule.breakthroughCosts == null)
{
rule.breakthroughCosts = new List<GrowthMaterialCost>();
}
if (rule.breakthroughBottleCosts == null)
{
rule.breakthroughBottleCosts = new List<BreakthroughBottleCost>();
}
if ((int)rule.nextTier <= (int)rule.currentTier)
{
rule.nextTier = (HeroGrowthTier)Mathf.Clamp((int)rule.currentTier + 1, 0, (int)HeroGrowthTier.S);
}
for (int costIndex = rule.breakthroughCosts.Count - 1; costIndex >= 0; costIndex--)
{
GrowthMaterialCost cost = rule.breakthroughCosts[costIndex];
if (cost == null)
{
rule.breakthroughCosts.RemoveAt(costIndex);
continue;
}
cost.amount = Mathf.Max(0, cost.amount);
}
for (int bottleCostIndex = rule.breakthroughBottleCosts.Count - 1; bottleCostIndex >= 0; bottleCostIndex--)
{
BreakthroughBottleCost bottleCost = rule.breakthroughBottleCosts[bottleCostIndex];
if (bottleCost == null)
{
rule.breakthroughBottleCosts.RemoveAt(bottleCostIndex);
continue;
}
bottleCost.amount = Mathf.Max(0, bottleCost.amount);
}
}
for (int i = specialBottleRules.Count - 1; i >= 0; i--)
{
SpecialBottleRule rule = specialBottleRules[i];
if (rule == null)
{
specialBottleRules.RemoveAt(i);
continue;
}
if (rule.allowAnyCurrentTier)
{
rule.minimumCurrentTier = HeroGrowthTier.C;
rule.maximumCurrentTier = HeroGrowthTier.S;
}
else if ((int)rule.minimumCurrentTier > (int)rule.maximumCurrentTier)
{
HeroGrowthTier temp = rule.minimumCurrentTier;
rule.minimumCurrentTier = rule.maximumCurrentTier;
rule.maximumCurrentTier = temp;
}
if (rule.effect == SpecialBottleEffect.FillToNextTierCap)
{
rule.targetTier = HeroGrowthTier.A;
}
}
tierRules.Sort((left, right) => left.currentTier.CompareTo(right.currentTier));
}
}
@@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: 4704a7ca559b73e42a9961032da75cff
+8
View File
@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: d9745c7876924cc49beaa475ccd925bf
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,250 @@
using System.Collections;
using UnityEngine;
using UnityEngine.UI;
[RequireComponent(typeof(Image))]
public class idolMaterialController : MonoBehaviour
{
public enum SweepSide
{
FromLeft = 0,
FromRight = 1,
}
[Header("Material")]
public Material materialTemplate;
[Header("Animation")]
public SweepSide enterDirection = SweepSide.FromLeft;
public SweepSide exitDirection = SweepSide.FromRight;
public float enterDuration = 0.35f;
public float exitDuration = 0.25f;
[Range(0f, 1f)]
public float hiddenAmount = 0f;
[Range(0f, 1f)]
public float shownAmount = 1f;
public bool playEnterOnEnable = false;
private Image image;
private Material runtimeMaterial;
private Coroutine transitionCoroutine;
private Sprite pendingSprite;
private static readonly int DissolveAmountId = Shader.PropertyToID("_DissolveAmount");
private static readonly int DirectionId = Shader.PropertyToID("_Direction");
private void Awake()
{
image = GetComponent<Image>();
EnsureRuntimeMaterial();
ApplyInstantState(shownAmount, GetShaderDirectionForEnter(enterDirection));
}
private void OnEnable()
{
EnsureRuntimeMaterial();
if (playEnterOnEnable && image != null && image.sprite != null)
{
PlayEnter();
}
else
{
ApplyInstantState(shownAmount, GetShaderDirectionForEnter(enterDirection));
}
}
private void OnDisable()
{
if (transitionCoroutine != null)
{
StopCoroutine(transitionCoroutine);
transitionCoroutine = null;
}
}
private void OnDestroy()
{
if (runtimeMaterial != null)
{
if (image != null && image.material == runtimeMaterial)
{
image.material = null;
}
Destroy(runtimeMaterial);
}
}
public void SetSpriteImmediate(Sprite sprite)
{
EnsureRuntimeMaterial();
if (image == null)
{
return;
}
image.sprite = sprite;
ApplyInstantState(shownAmount, GetShaderDirectionForEnter(enterDirection));
}
public void PlayEnter()
{
EnsureRuntimeMaterial();
if (image == null || runtimeMaterial == null)
{
return;
}
if (transitionCoroutine != null)
{
StopCoroutine(transitionCoroutine);
}
transitionCoroutine = StartCoroutine(AnimateAmount(hiddenAmount, shownAmount, Mathf.Max(0.01f, enterDuration), GetShaderDirectionForEnter(enterDirection), null));
}
public void PlayExit()
{
EnsureRuntimeMaterial();
if (image == null || runtimeMaterial == null)
{
return;
}
if (transitionCoroutine != null)
{
StopCoroutine(transitionCoroutine);
}
transitionCoroutine = StartCoroutine(AnimateAmount(shownAmount, hiddenAmount, Mathf.Max(0.01f, exitDuration), GetShaderDirectionForExit(exitDirection), null));
}
public void TransitionToSprite(Sprite sprite)
{
EnsureRuntimeMaterial();
if (image == null)
{
return;
}
pendingSprite = sprite;
if (transitionCoroutine != null)
{
StopCoroutine(transitionCoroutine);
}
bool hasCurrentSprite = image.sprite != null;
bool spriteChanged = image.sprite != sprite;
transitionCoroutine = StartCoroutine(TransitionRoutine(hasCurrentSprite, spriteChanged));
}
private IEnumerator TransitionRoutine(bool hasCurrentSprite, bool spriteChanged)
{
if (runtimeMaterial == null || image == null)
{
yield break;
}
if (hasCurrentSprite && spriteChanged)
{
yield return AnimateAmount(shownAmount, hiddenAmount, Mathf.Max(0.01f, exitDuration), GetShaderDirectionForExit(exitDirection), null);
}
image.sprite = pendingSprite;
if (pendingSprite == null)
{
ApplyInstantState(hiddenAmount, GetShaderDirectionForEnter(enterDirection));
transitionCoroutine = null;
yield break;
}
yield return AnimateAmount(hiddenAmount, shownAmount, Mathf.Max(0.01f, enterDuration), GetShaderDirectionForEnter(enterDirection), null);
transitionCoroutine = null;
}
private IEnumerator AnimateAmount(float from, float to, float duration, float directionValue, System.Action onComplete)
{
if (runtimeMaterial == null)
{
yield break;
}
runtimeMaterial.SetFloat(DirectionId, directionValue);
runtimeMaterial.SetFloat(DissolveAmountId, from);
float elapsed = 0f;
while (elapsed < duration)
{
elapsed += Time.unscaledDeltaTime;
float t = Mathf.Clamp01(elapsed / duration);
runtimeMaterial.SetFloat(DissolveAmountId, Mathf.Lerp(from, to, t));
yield return null;
}
runtimeMaterial.SetFloat(DissolveAmountId, to);
onComplete?.Invoke();
}
private void ApplyInstantState(float amount, float directionValue)
{
EnsureRuntimeMaterial();
if (runtimeMaterial == null)
{
return;
}
runtimeMaterial.SetFloat(DirectionId, directionValue);
runtimeMaterial.SetFloat(DissolveAmountId, Mathf.Clamp01(amount));
}
private void EnsureRuntimeMaterial()
{
if (image == null)
{
image = GetComponent<Image>();
}
if (image == null)
{
return;
}
Material source = materialTemplate != null
? materialTemplate
: image.material;
if (source == null)
{
return;
}
if (runtimeMaterial != null && runtimeMaterial.shader == source.shader)
{
if (image.material != runtimeMaterial)
{
image.material = runtimeMaterial;
}
return;
}
if (runtimeMaterial != null)
{
Destroy(runtimeMaterial);
}
runtimeMaterial = new Material(source);
runtimeMaterial.name = source.name + " (idol runtime)";
image.material = runtimeMaterial;
}
private static float GetShaderDirectionForEnter(SweepSide side)
{
return side == SweepSide.FromLeft ? 0f : 1f;
}
private static float GetShaderDirectionForExit(SweepSide side)
{
return side == SweepSide.FromLeft ? 1f : 0f;
}
}
@@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: d5ba3f6cc7c25934d9454cef8e2238d2
+70
View File
@@ -0,0 +1,70 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!21 &2100000
Material:
serializedVersion: 8
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: material_idol
m_Shader: {fileID: 4800000, guid: 34e07e2b8017ff642a00f89a5485a325, type: 3}
m_Parent: {fileID: 0}
m_ModifiedSerializedProperties: 0
m_ValidKeywords:
- UNITY_UI_ALPHACLIP
m_InvalidKeywords: []
m_LightmapFlags: 4
m_EnableInstancingVariants: 0
m_DoubleSidedGI: 1
m_CustomRenderQueue: -1
stringTagMap: {}
disabledShaderPasses: []
m_LockedProperties:
m_SavedProperties:
serializedVersion: 3
m_TexEnvs:
- _AlphaTex:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MainTex:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MaskTex:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _NormalMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
m_Ints: []
m_Floats:
- _BlockCountX: 33
- _BlockCountY: 84
- _ColorMask: 15
- _Direction: 0
- _DissolveAmount: 1
- _DissolveColorOpacity: 0.2
- _EdgeWidth: 0.137
- _EnableExternalAlpha: 0
- _GlitchJitter: 0.1
- _GlitchRgbSplit: 0.0156
- _GlitchStripeIntensity: 0.141
- _GlowIntensity: 0.95
- _NoiseScale: 107
- _Stencil: 0
- _StencilComp: 8
- _StencilOp: 0
- _StencilReadMask: 255
- _StencilWriteMask: 255
- _UseUIAlphaClip: 1
- _ZWrite: 0
m_Colors:
- _Color: {r: 1, g: 1, b: 1, a: 1}
- _DissolveColor: {r: 1.5952897, g: 0, b: 4.7609406, a: 1}
- _RendererColor: {r: 1, g: 1, b: 1, a: 1}
m_BuildTextureStacks: []
m_AllowLocking: 1
@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: b1cac587f3017934696a268317218ce7
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 2100000
userData:
assetBundleName:
assetBundleVariant:
+22
View File
@@ -0,0 +1,22 @@
using UnityEngine;
using UnityEngine.UI;
public class ssPrefab : MonoBehaviour
{
public Image specialSkillIcon;
public Text specialSkillName;
public void Setup(Sprite icon, string groupName)
{
if (specialSkillIcon != null)
{
specialSkillIcon.sprite = icon;
specialSkillIcon.color = icon != null ? Color.white : new Color(1f, 1f, 1f, 0f);
}
if (specialSkillName != null)
{
specialSkillName.text = groupName ?? string.Empty;
}
}
}
+2
View File
@@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: 2abf6b80f700ec04b8af3e681c8d616d
+298
View File
@@ -0,0 +1,298 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &1931916958927374376
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 3110014673498543195}
- component: {fileID: 5938797130827358443}
- component: {fileID: 7834076675462425146}
- component: {fileID: 5491635444933497218}
m_Layer: 5
m_Name: masked
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &3110014673498543195
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1931916958927374376}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 2341857527063961103}
m_Father: {fileID: 4779952435990596013}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0.5}
m_AnchorMax: {x: 0.5, y: 0.5}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 50, y: 50}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &5938797130827358443
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1931916958927374376}
m_CullTransparentMesh: 1
--- !u!114 &7834076675462425146
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1931916958927374376}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Sprite: {fileID: -6726115822594207860, guid: 4ff010a6a12e2c1459b8693607095e21, type: 3}
m_Type: 0
m_PreserveAspect: 0
m_FillCenter: 1
m_FillMethod: 4
m_FillAmount: 1
m_FillClockwise: 1
m_FillOrigin: 0
m_UseSpriteMesh: 0
m_PixelsPerUnitMultiplier: 1
--- !u!114 &5491635444933497218
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1931916958927374376}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 31a19414c41e5ae4aae2af33fee712f6, type: 3}
m_Name:
m_EditorClassIdentifier:
m_ShowMaskGraphic: 1
--- !u!1 &3416524008481721386
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 4779952435990596013}
- component: {fileID: 3315120122722332953}
m_Layer: 5
m_Name: ssPrefab
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &4779952435990596013
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3416524008481721386}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 3110014673498543195}
- {fileID: 5756625114895406388}
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0.5}
m_AnchorMax: {x: 0.5, y: 0.5}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 60, y: 60}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &3315120122722332953
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3416524008481721386}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 2abf6b80f700ec04b8af3e681c8d616d, type: 3}
m_Name:
m_EditorClassIdentifier:
specialSkillIcon: {fileID: 2031371447068363966}
specialSkillName: {fileID: 3495402835434376717}
--- !u!1 &5827927074094246778
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 5756625114895406388}
- component: {fileID: 1296798781057204704}
- component: {fileID: 3495402835434376717}
m_Layer: 5
m_Name: skillName
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &5756625114895406388
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5827927074094246778}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 4779952435990596013}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0.5}
m_AnchorMax: {x: 0.5, y: 0.5}
m_AnchoredPosition: {x: 0, y: -45}
m_SizeDelta: {x: 60, y: 34.559}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &1296798781057204704
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5827927074094246778}
m_CullTransparentMesh: 1
--- !u!114 &3495402835434376717
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5827927074094246778}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
m_RaycastTarget: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_FontData:
m_Font: {fileID: 12800000, guid: bd4be44636ad6c24a9b117a7108a75e9, type: 3}
m_FontSize: 12
m_FontStyle: 0
m_BestFit: 0
m_MinSize: 1
m_MaxSize: 40
m_Alignment: 1
m_AlignByGeometry: 0
m_RichText: 1
m_HorizontalOverflow: 0
m_VerticalOverflow: 0
m_LineSpacing: 1
m_Text: "\u5F15\u7206\u7075\u611F\u795E\u7ECF\u51432"
--- !u!1 &8536590915062393210
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 2341857527063961103}
- component: {fileID: 7599706058856654088}
- component: {fileID: 2031371447068363966}
m_Layer: 5
m_Name: skill
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &2341857527063961103
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8536590915062393210}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 3110014673498543195}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0.5}
m_AnchorMax: {x: 0.5, y: 0.5}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 60, y: 60}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &7599706058856654088
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8536590915062393210}
m_CullTransparentMesh: 1
--- !u!114 &2031371447068363966
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8536590915062393210}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Sprite: {fileID: 21300000, guid: 160959886f709ae47b6cf60a91d4ed45, type: 3}
m_Type: 0
m_PreserveAspect: 0
m_FillCenter: 1
m_FillMethod: 4
m_FillAmount: 1
m_FillClockwise: 1
m_FillOrigin: 0
m_UseSpriteMesh: 0
m_PixelsPerUnitMultiplier: 1
+7
View File
@@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: e106b2ae6a0dd0948bc359d943b73c7c
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant: