240 lines
8.6 KiB
C#
240 lines
8.6 KiB
C#
using System;
|
|
using System.Collections;
|
|
//using Mono.Cecil.Cil;
|
|
using TMPro;
|
|
using UnityEngine;
|
|
using UnityEngine.UI;
|
|
|
|
public class UI_Panel_Note : MonoBehaviour
|
|
{
|
|
[SerializeField] Button button_Close;
|
|
[SerializeField] float anim_Time = 0.5f;
|
|
[SerializeField] Button button_Character;
|
|
[SerializeField] Button button_Enemy;
|
|
[SerializeField] Button button_TERMINOLOGY;
|
|
[SerializeField] Button button_AGENDA;
|
|
[SerializeField] Button button_ORGANIZATIONS;
|
|
[SerializeField] Button button_TERRITORIAL;
|
|
[SerializeField] TMP_Text text_Select_Title;
|
|
[SerializeField] Transform transform_Select;
|
|
[SerializeField] ToggleGroup toggleGroup_Select;
|
|
[SerializeField] Animator Animator_Select_Content;
|
|
[SerializeField] UI_Button_Character button_Select_Prefab;
|
|
[SerializeField] TMP_Text text_Character_Title;
|
|
[SerializeField] Transform transform_Description_Content;
|
|
[SerializeField] TMP_Text text_Only;
|
|
[SerializeField] TMP_Text text_Character_Name;
|
|
[SerializeField] Scrollbar scrollbar_Character_Description;
|
|
[SerializeField] Image image_Character_Illustration;
|
|
[SerializeField] TMP_Text text_Character_RealName;
|
|
[SerializeField] TMP_Text text_Character_StageName;
|
|
[SerializeField] TMP_Text text_Character_Gender;
|
|
[SerializeField] TMP_Text text_Character_Age;
|
|
[SerializeField] TMP_Text text_Character_Height;
|
|
[SerializeField] TMP_Text text_Character_Weight;
|
|
[SerializeField] TMP_Text text_Character_Birthday;
|
|
[SerializeField] TMP_Text text_Character_Data;
|
|
[SerializeField] TMP_Text text_Character_Description;
|
|
|
|
|
|
private void Update()
|
|
{
|
|
if (Input.GetKeyDown(KeyCode.Escape))
|
|
{
|
|
gameObject.SetActive(false);
|
|
}
|
|
}
|
|
private void Awake()
|
|
{
|
|
|
|
button_Close?.onClick.AddListener(Close);
|
|
}
|
|
void Close()
|
|
{
|
|
gameObject.SetActive(false);
|
|
}
|
|
private void Start()
|
|
{
|
|
Set_Button_Image(button_Character);
|
|
button_Character.onClick.AddListener
|
|
(() =>
|
|
{
|
|
Set_Select_Content(E_Character_Type.Character.ToString());
|
|
Set_Button_Image_Select(button_Character);
|
|
});
|
|
Set_Button_Image(button_Enemy);
|
|
button_Enemy.onClick.AddListener
|
|
(() =>
|
|
{
|
|
Set_Select_Content(E_Character_Type.Enemy.ToString());
|
|
Set_Button_Image_Select(button_Enemy);
|
|
});
|
|
Set_Button_Image(button_TERMINOLOGY);
|
|
button_TERMINOLOGY.onClick.AddListener
|
|
(() =>
|
|
{
|
|
Set_Select_Content(E_Character_Type.TERMINOLOGY.ToString());
|
|
Set_Button_Image_Select(button_TERMINOLOGY);
|
|
});
|
|
Set_Button_Image(button_AGENDA);
|
|
button_AGENDA.onClick.AddListener
|
|
(() =>
|
|
{
|
|
Set_Select_Content(E_Character_Type.AGENDA.ToString());
|
|
Set_Button_Image_Select(button_AGENDA);
|
|
});
|
|
Set_Button_Image(button_ORGANIZATIONS);
|
|
button_ORGANIZATIONS.onClick.AddListener
|
|
(() =>
|
|
{
|
|
Set_Select_Content(E_Character_Type.ORGANIZATIONS.ToString());
|
|
Set_Button_Image_Select(button_ORGANIZATIONS);
|
|
});
|
|
Set_Button_Image(button_TERRITORIAL);
|
|
button_TERRITORIAL.onClick.AddListener
|
|
(() =>
|
|
{
|
|
Set_Select_Content(E_Character_Type.TERRITORIAL.ToString());
|
|
Set_Button_Image_Select(button_TERRITORIAL);
|
|
});
|
|
button_Character.onClick.Invoke();
|
|
}
|
|
public void Set_Button_Image(Button btn)
|
|
{
|
|
btn.spriteState = new()
|
|
{
|
|
highlightedSprite = btn.spriteState.highlightedSprite,
|
|
selectedSprite = btn.spriteState.selectedSprite,
|
|
disabledSprite = btn.image.sprite,
|
|
};
|
|
}
|
|
public void Set_Button_Image_Select(Button btn)
|
|
{
|
|
if (btn.TryGetComponent(out Image image))
|
|
{
|
|
image.sprite = btn.spriteState.selectedSprite;
|
|
}
|
|
;
|
|
}
|
|
public void Clear_Select_Content()
|
|
{
|
|
button_Character.image.sprite = button_Character.spriteState.disabledSprite;
|
|
button_Enemy.image.sprite = button_Enemy.spriteState.disabledSprite;
|
|
button_TERMINOLOGY.image.sprite = button_TERMINOLOGY.spriteState.disabledSprite;
|
|
button_AGENDA.image.sprite = button_AGENDA.spriteState.disabledSprite;
|
|
button_ORGANIZATIONS.image.sprite = button_ORGANIZATIONS.spriteState.disabledSprite;
|
|
button_TERRITORIAL.image.sprite = button_TERRITORIAL.spriteState.disabledSprite;
|
|
toggleGroup_Select.transform.Get_Childrens_Component<UI_Button_Character>(true, true);
|
|
if (c_Clear_Select_Content != null)
|
|
{
|
|
StopCoroutine(c_Clear_Select_Content);
|
|
}
|
|
c_Clear_Select_Content = StartCoroutine(C_Clear_Select_Content());
|
|
}
|
|
Coroutine c_Clear_Select_Content;
|
|
IEnumerator C_Clear_Select_Content()
|
|
{
|
|
Animator_Select_Content.Play("Hide");
|
|
Animator_Select_Content.speed = 1 / anim_Time;
|
|
if (Animator_Select_Content.gameObject.activeSelf == true)
|
|
{
|
|
yield return new WaitForSeconds(anim_Time);
|
|
transform_Select.gameObject.SetActive(false);
|
|
}
|
|
transform_Select.gameObject.SetActive(true);
|
|
}
|
|
public void Set_Select_Content(string type)
|
|
{
|
|
Clear_Select_Content();
|
|
if (c_Set_Select_Content != null)
|
|
{
|
|
StopCoroutine(c_Set_Select_Content);
|
|
}
|
|
c_Set_Select_Content = StartCoroutine(C_Set_Select_Content(type));
|
|
}
|
|
Coroutine c_Set_Select_Content;
|
|
IEnumerator C_Set_Select_Content(string type)
|
|
{
|
|
Clear_Select_Content();
|
|
if (Animator_Select_Content.gameObject.activeSelf == true)
|
|
{
|
|
yield return new WaitForSeconds(anim_Time);
|
|
}
|
|
var data = CharacterDataManager.Singleton.data_Dic;
|
|
var data_List = CharacterDataManager.Singleton.data_Dic[type];
|
|
var type_Index = (int)(E_Character_Type)Enum.Parse(typeof(E_Character_Type), type);
|
|
if (data_List != null)
|
|
{
|
|
for (int i = 0; i < data_List.Count; i++)
|
|
{
|
|
Character_Data_SO item = data_List[i];
|
|
UI_Button_Character btn = null;
|
|
btn = Add_Select_Button(item, type_Index >= 2);
|
|
if (i == 0)
|
|
{
|
|
btn.Init();
|
|
}
|
|
}
|
|
text_Character_Title.text = type;
|
|
}
|
|
yield return null;
|
|
|
|
}
|
|
public UI_Button_Character Add_Select_Button(Character_Data_SO item, bool text_Only)
|
|
{
|
|
UI_Button_Character btn = Instantiate(button_Select_Prefab, toggleGroup_Select.transform);
|
|
btn.so = item;
|
|
btn.Toggle.group = toggleGroup_Select;
|
|
btn.Text.text = item.data.realName;
|
|
btn.gameObject.name = nameof(UI_Button_Character) + "_" + item.data.realName;
|
|
btn.gameObject.SetActive(true);
|
|
btn.transform.localScale = Vector3.one;
|
|
if (text_Only)
|
|
{
|
|
btn.Toggle.onValueChanged.AddListener((isOn) =>
|
|
{
|
|
if (isOn == true)
|
|
{
|
|
Set_Text_Only(btn.so);
|
|
}
|
|
});
|
|
}
|
|
else
|
|
{
|
|
btn.Toggle.onValueChanged.AddListener((isOn) =>
|
|
{
|
|
if (isOn == true)
|
|
{
|
|
Set_Character_Description(btn.so);
|
|
}
|
|
});
|
|
}
|
|
|
|
return btn;
|
|
}
|
|
public void Set_Text_Only(Character_Data_SO item)
|
|
{
|
|
text_Only.gameObject.SetActive(true);
|
|
transform_Description_Content.gameObject.SetActive(false);
|
|
text_Only.text = item.data.personalityDescription;
|
|
}
|
|
public void Set_Character_Description(Character_Data_SO item)
|
|
{
|
|
text_Only.gameObject.SetActive(false);
|
|
transform_Description_Content.gameObject.SetActive(true);
|
|
var data = item;
|
|
text_Character_Name.text = data.data.realName;
|
|
image_Character_Illustration.sprite = Resources.Load<Sprite>(data.data.image_Name);
|
|
text_Character_RealName.text = data.data.realName;
|
|
text_Character_StageName.text = data.data.stageName;
|
|
text_Character_Gender.text = data.data.gender;
|
|
text_Character_Age.text = data.data.age.ToString();
|
|
text_Character_Height.text = data.data.height.ToString();
|
|
text_Character_Weight.text = data.data.weight.ToString();
|
|
text_Character_Birthday.text = data.data.birthday;
|
|
text_Character_Data.text = data.data.registrationDate;
|
|
text_Character_Description.text = data.data.personalityDescription;
|
|
scrollbar_Character_Description.value = 1;
|
|
}
|
|
}
|