using System; using System.Collections; using System.Collections.Generic; using TMPro; using UnityEngine; using UnityEngine.UI; public class handTest : MonoBehaviour { [SerializeField] TMP_InputField 臉盆深度_tb,臉盆寬度_tb,扶手臉盆間距_tb,牆體臉盆間距_tb; [SerializeField] TextMeshProUGUI 扶手深度左_tb,扶手深度右_tb,扶手寬度_tb,總長度_tb,扶手深度左_lb,扶手深度右_lb,扶手單位左_lb,扶手單位右_lb; [SerializeField] Toggle 左側_ch,右側_ch,雙側_ch,單腳_ch,雙腳_ch; [SerializeField] GameObject 雙側雙腳_pic,左側雙腳_pic,右側雙腳_pic,左側單腳_pic,右側單腳_pic; bool 已開啟 = false; // Start is called before the first frame update void Awake(){ 左側_ch.onValueChanged.AddListener(左側_Click);右側_ch.onValueChanged.AddListener(右側_Click);雙側_ch.onValueChanged.AddListener(雙側_Click); 單腳_ch.onValueChanged.AddListener(單腳_Click);雙腳_ch.onValueChanged.AddListener(雙腳_Click); 臉盆深度_tb.onValueChanged.AddListener(臉盆_textchange); 臉盆寬度_tb.onValueChanged.AddListener(臉盆_textchange); 扶手臉盆間距_tb.onValueChanged.AddListener(臉盆_textchange); 牆體臉盆間距_tb.onValueChanged.AddListener(臉盆_textchange); } void Start(){ 左側_ch.isOn=false;右側_ch.isOn=false;單腳_ch.isOn=false;雙腳_ch.isOn=true;雙側_ch.isOn=true;單腳_ch.interactable=false;雙腳_ch.interactable=false; 雙側雙腳_pic.SetActive(true);左側雙腳_pic.SetActive(false);右側雙腳_pic.SetActive(false);左側單腳_pic.SetActive(false);右側單腳_pic.SetActive(false); 臉盆深度_tb.text="";臉盆寬度_tb.text="";扶手臉盆間距_tb.text="";牆體臉盆間距_tb.text=""; 扶手深度左_tb.text="";扶手深度右_tb.text="";扶手寬度_tb.text="";總長度_tb.text=""; 已開啟=true; } void OnDestroy(){ 左側_ch.onValueChanged.RemoveListener(左側_Click);右側_ch.onValueChanged.RemoveListener(右側_Click);雙側_ch.onValueChanged.RemoveListener(雙側_Click); 單腳_ch.onValueChanged.RemoveListener(單腳_Click);雙腳_ch.onValueChanged.RemoveListener(雙腳_Click); 臉盆深度_tb.onValueChanged.RemoveListener(臉盆_textchange); 臉盆寬度_tb.onValueChanged.RemoveListener(臉盆_textchange); 扶手臉盆間距_tb.onValueChanged.RemoveListener(臉盆_textchange); 牆體臉盆間距_tb.onValueChanged.RemoveListener(臉盆_textchange); } public void 回首頁_bt(){ Main.change_Secen(1); }public void 系統設定_bt(){ Main.change_Secen(2); } void 臉盆_textchange(string newText){ if(已開啟){面扶計算();} } public void 左側_Click(bool isOn){ if(isOn){ 左側_ch.interactable=false;右側_ch.interactable=true;雙側_ch.interactable=true;單腳_ch.interactable=true;雙腳_ch.interactable=true; 右側_ch.isOn=false;雙側_ch.isOn=false;圖片判斷(); 扶手深度左_tb.transform.parent.parent.gameObject.SetActive(true); 扶手深度右_tb.transform.parent.parent.gameObject.SetActive(false); 扶手深度左_lb.gameObject.SetActive(true);扶手深度右_lb.gameObject.SetActive(false); 扶手單位左_lb.gameObject.SetActive(true);扶手單位右_lb.gameObject.SetActive(false); if(已開啟){面扶計算();} } } public void 右側_Click(bool isOn){ if(isOn){ 左側_ch.interactable=true;右側_ch.interactable=false;雙側_ch.interactable=true;單腳_ch.interactable=true;雙腳_ch.interactable=true; 左側_ch.isOn=false;雙側_ch.isOn=false;圖片判斷(); 扶手深度左_tb.transform.parent.parent.gameObject.SetActive(false); 扶手深度右_tb.transform.parent.parent.gameObject.SetActive(true); 扶手深度左_lb.gameObject.SetActive(false);扶手深度右_lb.gameObject.SetActive(true); 扶手單位左_lb.gameObject.SetActive(false);扶手單位右_lb.gameObject.SetActive(true); if(已開啟){面扶計算();} } } public void 雙側_Click(bool isOn){ if(isOn){ 左側_ch.interactable=true;右側_ch.interactable=true;雙側_ch.interactable=false;單腳_ch.interactable=false;雙腳_ch.interactable=false; 左側_ch.isOn=false;右側_ch.isOn=false;單腳_ch.isOn=false;雙腳_ch.isOn=true;圖片判斷(); 扶手深度左_tb.transform.parent.parent.gameObject.SetActive(true); 扶手深度右_tb.transform.parent.parent.gameObject.SetActive(true); 扶手深度左_lb.gameObject.SetActive(true);扶手深度右_lb.gameObject.SetActive(true); 扶手單位左_lb.gameObject.SetActive(true);扶手單位右_lb.gameObject.SetActive(true); if(已開啟){面扶計算();} } } public void 單腳_Click(bool isOn){ if(isOn){ 單腳_ch.interactable=false;雙腳_ch.interactable=true; 雙腳_ch.isOn=false;圖片判斷(); if(已開啟){面扶計算();} } } public void 雙腳_Click(bool isOn){ if(isOn){ 單腳_ch.interactable=true;雙腳_ch.interactable=false; 單腳_ch.isOn=false;圖片判斷(); if(已開啟){面扶計算();} } } private void 圖片判斷(){ 雙側雙腳_pic.SetActive(false);左側雙腳_pic.SetActive(false);右側雙腳_pic.SetActive(false);左側單腳_pic.SetActive(false);右側單腳_pic.SetActive(false); if(左側_ch.isOn && 單腳_ch.isOn && 雙腳_ch.isOn==false){ 左側單腳_pic.SetActive(true); }else if(左側_ch.isOn && 雙腳_ch.isOn && 單腳_ch.isOn==false){ 左側雙腳_pic.SetActive(true); }else if(右側_ch.isOn && 單腳_ch.isOn && 雙腳_ch.isOn==false){ 右側單腳_pic.SetActive(true); }else if(右側_ch.isOn && 雙腳_ch.isOn && 單腳_ch.isOn==false){ 右側雙腳_pic.SetActive(true); }else{ 雙側雙腳_pic.SetActive(true); } } private void 面扶計算(){ double 總長度, 左側深度, 右側深度, 扶手寬度; double 臉盆深度=0,扶手臉盆間距=0,臉盆寬度=0,牆體臉盆間距=0; if(臉盆深度_tb.text != ""){臉盆深度=double.Parse(臉盆深度_tb.text);} if(扶手臉盆間距_tb.text != ""){扶手臉盆間距=double.Parse(扶手臉盆間距_tb.text);} if(臉盆寬度_tb.text != ""){臉盆寬度=double.Parse(臉盆寬度_tb.text);} if(牆體臉盆間距_tb.text != ""){牆體臉盆間距=double.Parse(牆體臉盆間距_tb.text);} if(雙側_ch.isOn){ if(臉盆深度_tb.text != ""){ 左側深度=Math.Round(臉盆深度, 0) + 2 + Math.Round(扶手臉盆間距, 0); 右側深度=Math.Round(臉盆深度, 0) + 2 + Math.Round(扶手臉盆間距, 0); }else{ 左側深度=0;右側深度=0; } if(臉盆寬度_tb.text != ""){ 扶手寬度 = Math.Round(臉盆寬度, 0) + 4 + Math.Round(扶手臉盆間距, 0)*2; }else{ 扶手寬度=0; } }else if(右側_ch.isOn){ if(臉盆深度_tb.text != ""){ 左側深度=0;右側深度=Math.Round(臉盆深度, 0) + 2 + Math.Round(扶手臉盆間距, 0); }else{ 左側深度=0;右側深度=0; } if(臉盆寬度_tb.text != ""){ if(扶手臉盆間距_tb.text != "" && 牆體臉盆間距_tb.text != ""){ 扶手寬度 = Math.Round(臉盆寬度, 0) + 2 + Math.Round(扶手臉盆間距, 0) + Math.Round(牆體臉盆間距, 0); }else if(扶手臉盆間距_tb.text != "" && 牆體臉盆間距_tb.text == ""){ 扶手寬度 = Math.Round(臉盆寬度, 0) + 2 + Math.Round(扶手臉盆間距, 0); }else if(扶手臉盆間距_tb.text == "" && 牆體臉盆間距_tb.text != ""){ 扶手寬度 = Math.Round(臉盆寬度, 0) + 2 + Math.Round(牆體臉盆間距, 0); }else{ 扶手寬度 = Math.Round(臉盆寬度, 0) + 2; } }else{ 扶手寬度=0; } }else{ if(臉盆深度_tb.text != ""){ 左側深度=Math.Round(臉盆深度, 0) + 2 + Math.Round(扶手臉盆間距, 0);右側深度=0; }else{ 左側深度=0;右側深度=0; } if(臉盆寬度_tb.text != ""){ if(扶手臉盆間距_tb.text != "" && 牆體臉盆間距_tb.text != ""){ 扶手寬度 = Math.Round(臉盆寬度, 0) + 2 + Math.Round(扶手臉盆間距, 0) + Math.Round(牆體臉盆間距, 0); }else if(扶手臉盆間距_tb.text != "" && 牆體臉盆間距_tb.text == ""){ 扶手寬度 = Math.Round(臉盆寬度, 0) + 2 + Math.Round(扶手臉盆間距, 0); }else if(扶手臉盆間距_tb.text == "" && 牆體臉盆間距_tb.text != ""){ 扶手寬度 = Math.Round(臉盆寬度, 0) + 2 + Math.Round(牆體臉盆間距, 0); }else{ 扶手寬度 = Math.Round(臉盆寬度, 0) + 2; } }else{ 扶手寬度=0; } } 扶手深度左_tb.text = 左側深度.ToString();扶手深度右_tb.text = 右側深度.ToString();扶手寬度_tb.text = 扶手寬度.ToString(); 總長度 = 左側深度 + 右側深度 + 扶手寬度;總長度_tb.text = 總長度.ToString(); } }