using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.SceneManagement; using UnityEngine.UI; using UnityEngine.Networking; using System.Text.RegularExpressions; using System.Data.SqlClient; using TMPro; using System; using System.IO; using ZXing; using ZXing.QrCode; using System.Net; using SimpleJSON; using System.ComponentModel; using System.Runtime.InteropServices; public class 晨會點名 : MonoBehaviour { public CanvasScaler canvasScaler; float screenWidth; float screenHeight; [SerializeField] GameObject 主畫面; [SerializeField] GameObject 出勤狀況; [SerializeField] GameObject 查找; [SerializeField] GameObject 點名1; [SerializeField] GameObject 點名2; [SerializeField] GameObject 點名1按鈕; [SerializeField] GameObject 點名2按鈕; [SerializeField] TMP_InputField 工作重點s; [SerializeField] TMP_InputField 臨時狀況s; [SerializeField] TMP_InputField 備註內容s; [SerializeField] Button Button1; [SerializeField] Button Button2; [SerializeField] Button Button3; [SerializeField] Button Button4; [SerializeField] Button Button5; [SerializeField] Button Button6; [SerializeField] Button Button7; [SerializeField] Button Button8; [SerializeField] Button Button9; [SerializeField] RawImage rawImage1; [SerializeField] RawImage rawImage2; [SerializeField] RawImage rawImage3; [SerializeField] RawImage rawImage4; [SerializeField] GameObject 彈跳面板; [SerializeField] TextMeshProUGUI 彈跳文字; [SerializeField] GameObject 讀取面板; [SerializeField] TextMeshProUGUI 讀取; public TMP_Dropdown 年下拉; public TMP_Dropdown 月下拉; public TMP_Dropdown 日下拉; JSONNode 簽名檔; public TMP_Dropdown 年下拉1; public TMP_Dropdown 月下拉1; public GameObject buttonPrefab; public Transform buttonParent; public GameObject buttonceneter; private List copy = new List(); public GameObject buttonPrefab1; public Transform buttonParent1; public GameObject buttonceneter1; private List copy1 = new List(); // Start is called before the first frame update JSONNode 點名清單; JSONNode 控制表; public Sprite 紅燈; public Sprite 綠燈; bool 已點名; bool 廠長已點名; bool 副總已點名; bool 總經理已點名; bool 啟動; private string loadingText = ""; private int dotCount = 0; void Start() { Screen.autorotateToPortrait = false; Screen.orientation = ScreenOrientation.Portrait; float rate = 900.0f / 1900.0f; if (canvasScaler == null) { canvasScaler = GetComponent(); } if (Main.Global.rate>rate) { canvasScaler.matchWidthOrHeight = 1f; } else { canvasScaler.matchWidthOrHeight = 0f; } /*Main.Global.阿帕契路徑="http://106.1.48.106:8080/wp-content/themes/event-star/shto_main.php?"; Main.Global.預設伺服器路徑="official"; Main.Global.人員 = "劉俊男"; Main.Global.級別 = "01"; Main.Global.職稱 = "00002.總經理";*/ StartCoroutine(AnimateText()); 讀取面板.SetActive(true); DateTime currentDate = DateTime.Now; 年下拉.value = currentDate.Year - 2023; 月下拉.value = currentDate.Month - 1; 年下拉1.value = currentDate.Year - 2023; 月下拉1.value = currentDate.Month - 1; UpdateDayDropdown(currentDate.Year, currentDate.Month); 日下拉.value=currentDate.Day - 1; 啟動=false; StartCoroutine(點名主表(currentDate.Year.ToString(), currentDate.Month.ToString())); StartCoroutine(主管簽名檔清單()); } IEnumerator AnimateText() { string qqq = 讀取.text.ToString(); while (true) { yield return new WaitForSeconds(0.5f); if (dotCount < 3) { loadingText += "."; dotCount++; } else { loadingText = ""; dotCount = 0; } 讀取.text = qqq+loadingText; } } public void UpdateDayDropdown(int year ,int month) { // 清空日期選項 日下拉.options.Clear(); int daysInMonth = DateTime.DaysInMonth(year, month); List options = new List(); for (int i = 1; i <= daysInMonth; i++) { if (i<10) { string 補零 = "0"+i.ToString(); options.Add(new TMP_Dropdown.OptionData(補零)); } else { options.Add(new TMP_Dropdown.OptionData(i.ToString())); } } 日下拉.AddOptions(options); } IEnumerator 點名主表(string pa, string pa1) { if (copy != null) { DeletetextCopies(); } string strcon = "點名主表"; string se = Main.Global.預設伺服器路徑; string strUrl = string.Format(Main.Global.阿帕契路徑+"comm={0}&se={1}&PA={2}&PA1={3}", strcon, se, pa, pa1); UnityWebRequest request = UnityWebRequest.Get(strUrl); yield return request.SendWebRequest(); if (request.result == UnityWebRequest.Result.ConnectionError) { Debug.Log(request.error); yield break; } JSONNode json = JSON.Parse(request.downloadHandler.text); int sum = 0; for (int i = 0; i < json.Count; i++) { GameObject buttonObj = Instantiate(buttonPrefab) as GameObject; buttonObj.GetComponent().anchoredPosition = new Vector2(5, -sum); buttonObj.transform.SetParent(buttonParent, false); TextMeshProUGUI text = buttonObj.GetComponentInChildren(); Button bt = buttonObj.GetComponentInChildren