You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
75 lines
2.0 KiB
75 lines
2.0 KiB
using System;
|
|
using UnityEngine;
|
|
|
|
public class MateEscrListRowSlot : EscrListRowSlot
|
|
{
|
|
public enum ViewMode : byte
|
|
{
|
|
Character,
|
|
Nationality,
|
|
}
|
|
|
|
public ViewMode viewMode;
|
|
public ObjectIndicator indicator;
|
|
public GameObject unlockIndicator;
|
|
public GameObject settedIndicator;
|
|
public GameObject selectedIndicator;
|
|
|
|
MateData mateData;
|
|
|
|
public event Action<MateEscrListRowSlot> OnClick;
|
|
|
|
public override void SetData(object data)
|
|
{
|
|
mateData = data as MateData;
|
|
if(mateData is null) return;
|
|
|
|
if(indicator != null)
|
|
{
|
|
SetIconByViewMode();
|
|
indicator.IconImage.gameObject.SetActive(true);
|
|
|
|
indicator.SetStar(0);
|
|
|
|
indicator.GradeBGImage.SetImageInAtlasAsync(mateData.GradeImgAtlasPath, mateData.GradeImgNameInAtlas);
|
|
indicator.GradeBGImage.gameObject.SetActive(true);
|
|
|
|
indicator.GradeLetterImage.SetImageInAtlasAsync(mateData.GradeLetterImgAtlasPath, mateData.GradeLetterImgNameInAtlas);
|
|
indicator.GradeLetterImage.gameObject.SetActive(true);
|
|
|
|
indicator.SetLevelText(mateData.Level);
|
|
}
|
|
|
|
unlockIndicator?.SetActive(!mateData.IsUnlocked);
|
|
}
|
|
|
|
private void SetIconByViewMode()
|
|
{
|
|
switch (viewMode)
|
|
{
|
|
case ViewMode.Character:
|
|
indicator.IconImage.SetImageInAtlasAsync(mateData.SDImgAtlasPath, mateData.SDImgNameInAtlas);
|
|
break;
|
|
case ViewMode.Nationality:
|
|
indicator.IconImage.SetImageInAtlasAsync(mateData.nationality.IconAtlasName, mateData.nationality.IconNameInAtals);
|
|
break;
|
|
}
|
|
}
|
|
|
|
public void SetActiveSettedIndicator(bool active)
|
|
{
|
|
settedIndicator?.SetActive(active);
|
|
}
|
|
|
|
public void SetActiveSelectedIndicator(bool active)
|
|
{
|
|
selectedIndicator?.SetActive(active);
|
|
}
|
|
|
|
public void OnClickSlot()
|
|
{
|
|
OnClick?.Invoke(this);
|
|
}
|
|
|
|
public override object GetData() => mateData;
|
|
}
|