112 lines
4.2 KiB
C#
112 lines
4.2 KiB
C#
using System.Collections;
|
|
using System.Collections.Generic;
|
|
using UnityEngine;
|
|
using UnityEngine.UI;
|
|
|
|
public class ZX6Controller : MonoBehaviour
|
|
{
|
|
public GameObject familyNameIndexPrefab;
|
|
public Transform familyNameIndexsContainer;
|
|
public Text familyNameText1;
|
|
public Text familyNameText2;
|
|
public Text countyNameText;
|
|
public Text familyNameDes1Text;
|
|
public Text familyNameDes2Text;
|
|
public Button backToIndexButton;
|
|
public Button backToAreaButton;
|
|
public Button closeButton;
|
|
public GameObject familyNameAreaPrefab;
|
|
public Transform familyNameAreasContainer;
|
|
public Transform CounyContainer;
|
|
public Text logsText;
|
|
private Animator animator;
|
|
private string basePath;
|
|
private List<FamilyNameIndexData> familyNameIndexDataList;
|
|
private FamilyNameData familyNameData;
|
|
|
|
void Start()
|
|
{
|
|
familyNameIndexDataList = new List<FamilyNameIndexData>();
|
|
animator = this.GetComponent<Animator>();
|
|
basePath = CommonData.DataServer + "/ZX6/Data/";
|
|
|
|
if (backToIndexButton != null)
|
|
backToIndexButton.onClick.AddListener(onBackToIndexButtonClick);
|
|
if (backToAreaButton != null)
|
|
backToAreaButton.onClick.AddListener(onBackToAreaButtonClick);
|
|
if (closeButton != null)
|
|
closeButton.onClick.AddListener(onCloseButtonClick);
|
|
|
|
StartCoroutine(JsonLoader.LoadJSON(basePath + "FamilyNameIndexs.json", onFamilyNameIndexDataReceived));
|
|
|
|
}
|
|
private void onFamilyNameIndexDataReceived(string data) {
|
|
familyNameIndexDataList = JsonTools.ListFromJson<FamilyNameIndexData>(data);
|
|
familyNameIndexsContainer.DetachChildren();
|
|
foreach (var familyNameIndexData in familyNameIndexDataList)
|
|
{
|
|
GameObject familyNameIndexItem = Instantiate(familyNameIndexPrefab, familyNameIndexsContainer);
|
|
FamilyNameIndex familyNameIndex = familyNameIndexItem.GetComponent<FamilyNameIndex>();
|
|
familyNameIndex.setData(familyNameIndexData);
|
|
familyNameIndex.onFamilyNameSelected.AddListener(onFamilyNameSelected);
|
|
}
|
|
}
|
|
private void onFamilyNameDataReceived(string data)
|
|
{
|
|
familyNameData = JsonTools.ObjectFromJson<FamilyNameData>(data);
|
|
familyNameDes1Text.text = familyNameData.des1 + "\n" + familyNameData.des2;
|
|
familyNameDes2Text.text = familyNameData.des2;
|
|
familyNameAreasContainer.DetachChildren();
|
|
foreach (var familyNameAreaData in familyNameData.areas)
|
|
{
|
|
GameObject familyNameAreaItem = Instantiate(familyNameAreaPrefab, familyNameAreasContainer);
|
|
FamilyNameArea familyNameArea = familyNameAreaItem.GetComponent<FamilyNameArea>();
|
|
familyNameArea.setData(familyNameAreaData);
|
|
familyNameArea.onFamilyNameCountySelected.AddListener(onFamilyNameCountySelected);
|
|
}
|
|
animator.SetBool("showFamilyName", true);
|
|
}
|
|
private void onFamilyNameSelected(FamilyName familyName)
|
|
{
|
|
this.familyNameText1.text = familyName.nameText.text;
|
|
this.familyNameText2.text = familyNameText1.text;
|
|
|
|
StartCoroutine( JsonLoader.LoadJSON(basePath + familyName.nameText.text + ".json", onFamilyNameDataReceived));
|
|
|
|
}
|
|
private void onFamilyNameCountySelected(FamilyNameCounty familyNameCounty)
|
|
{
|
|
this.countyNameText.text = familyNameCounty.data.countyName;
|
|
logsText.text = "";
|
|
foreach (var str in familyNameCounty.data.logs)
|
|
{
|
|
logsText.text += str + "\r\n";
|
|
}
|
|
animator.SetBool("showArea", false);
|
|
|
|
|
|
}
|
|
|
|
private void onBackToIndexButtonClick()
|
|
{
|
|
animator.SetBool("showFamilyName", false);
|
|
animator.SetBool("showArea", true);
|
|
|
|
// familyNameIndexsContainer.GetComponent<RectTransform>().anchoredPosition = Vector2.zero;
|
|
familyNameAreasContainer.GetComponent<RectTransform>().anchoredPosition = Vector2.zero;
|
|
}
|
|
private void onBackToAreaButtonClick()
|
|
{
|
|
animator.SetBool("showArea", true);
|
|
|
|
familyNameAreasContainer.GetComponent<RectTransform>().anchoredPosition = Vector2.zero;
|
|
}
|
|
|
|
private void onCloseButtonClick()
|
|
{
|
|
BaseController.HideView();
|
|
|
|
Destroy(gameObject.transform.parent.gameObject);
|
|
}
|
|
}
|