|
@@ -1,6 +1,7 @@
|
|
|
using System.Collections.Generic;
|
|
|
using Newtonsoft.Json;
|
|
|
using UnityEngine;
|
|
|
+using UnityEngine.SceneManagement;
|
|
|
using UnityEngine.UI;
|
|
|
using UnityEngine.UIElements;
|
|
|
using ZXing;
|
|
@@ -14,6 +15,7 @@ public class CreateOrAdopt : MonoBehaviour
|
|
|
private Label messageLabel;
|
|
|
private Button createBtn, adoptBtn, cancelBtn;
|
|
|
GameObject canvasPlaceholder, initDogCanvas, createAdoptCanvas, cameraContent;
|
|
|
+ private VisualElement backHome;
|
|
|
|
|
|
public RawImage cameraTexture; // 摄像头画面显示区域
|
|
|
private WebCamTexture webCamTexture; // 摄像头纹理
|
|
@@ -28,6 +30,7 @@ public class CreateOrAdopt : MonoBehaviour
|
|
|
createBtn = root.Q<Button>("create");
|
|
|
adoptBtn = root.Q<Button>("adopt");
|
|
|
cancelBtn = root.Q<Button>("cancel");
|
|
|
+ backHome = root.Q<VisualElement>("backHome");
|
|
|
|
|
|
canvasPlaceholder = GameObject.Find("Canvas Placeholder");
|
|
|
initDogCanvas = canvasPlaceholder.transform.Find("Init Dog Canvas").gameObject;
|
|
@@ -36,6 +39,7 @@ public class CreateOrAdopt : MonoBehaviour
|
|
|
createBtn.RegisterCallback<ClickEvent>(e => CreateClick(e));
|
|
|
adoptBtn.RegisterCallback<ClickEvent>(e => AdoptClick(e));
|
|
|
cancelBtn.RegisterCallback<ClickEvent>(e => CancelClick(e));
|
|
|
+ backHome.RegisterCallback<ClickEvent>(e => BackHomeClick(e));
|
|
|
|
|
|
string textValue = GameTool.GetValueAtPath(EnviromentSetting.languageData, new string[] { "InitDogUI", "button", "create", EnviromentSetting.languageCode });
|
|
|
createBtn.text = textValue;
|
|
@@ -49,10 +53,16 @@ public class CreateOrAdopt : MonoBehaviour
|
|
|
cameraContent = createAdoptCanvas.transform.Find("Camera Content").gameObject;
|
|
|
cameraContent.SetActive(false);
|
|
|
|
|
|
- // if (UserProperty.dogs.Count > 0)
|
|
|
- // {
|
|
|
- // SwitchToCreate();
|
|
|
- // }
|
|
|
+ if (UserProperty.dogs.Count > 0)
|
|
|
+ {
|
|
|
+ // backHome按键显示
|
|
|
+ backHome.style.display = DisplayStyle.Flex;
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ // backHome按键隐藏
|
|
|
+ backHome.style.display = DisplayStyle.None;
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
// Update is called once per frame
|
|
@@ -113,6 +123,12 @@ public class CreateOrAdopt : MonoBehaviour
|
|
|
cancelBtn.style.display = DisplayStyle.None;
|
|
|
}
|
|
|
|
|
|
+ void BackHomeClick(ClickEvent e)
|
|
|
+ {
|
|
|
+ // 返回Home场景
|
|
|
+ SceneManager.LoadScene("Home");
|
|
|
+ }
|
|
|
+
|
|
|
private void InitCamera()
|
|
|
{
|
|
|
WebCamDevice[] devices = WebCamTexture.devices;
|
|
@@ -187,15 +203,26 @@ public class CreateOrAdopt : MonoBehaviour
|
|
|
// 成功处理逻辑
|
|
|
string msg = GameTool.GetValueAtPath(EnviromentSetting.languageData, new string[] { "InitDogUI", "message", "receive_success", EnviromentSetting.languageCode });
|
|
|
msg = msg.Replace("<<dog_name>>", data["dog_name"].ToString());
|
|
|
- MessageBoxController.ShowMessage(msg, () => GameTool.ReloadCurrentScene());
|
|
|
+ MessageBoxController.ShowMessage(msg, () => AdoptionSuccessHandler());
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
// 失败处理逻辑
|
|
|
string msg = GameTool.GetValueAtPath(EnviromentSetting.languageData, new string[] { "InitDogUI", "message", "receive_fail", EnviromentSetting.languageCode });
|
|
|
- MessageBoxController.ShowMessage(msg, () => GameTool.ReloadCurrentScene());
|
|
|
+ MessageBoxController.ShowMessage(msg);
|
|
|
ClickEvent e = new ClickEvent();
|
|
|
CancelClick(e);
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+ private void AdoptionSuccessHandler()
|
|
|
+ {
|
|
|
+ // 领养成功后的处理逻辑
|
|
|
+ // 以下三行代码不知道为什么要加,但是不加会报错
|
|
|
+ var canvasPlaceholder = GameObject.Find("Canvas Placeholder");
|
|
|
+ var loginCanvas = canvasPlaceholder.transform.Find("Login Canvas").gameObject;
|
|
|
+ loginCanvas.SetActive(true);
|
|
|
+ LoginController.instance.GetUserData();
|
|
|
+ }
|
|
|
+
|
|
|
}
|