ShanxiKnowledgeBase/SXElectricity Marketing 2.0/Assets/Zion/Scripts/YL/Submit.cs

273 lines
8.0 KiB
C#

using System;
using System.Collections;
using System.Collections.Generic;
using System.Data;
using System.Diagnostics.Contracts;
using Unity.VisualScripting;
using UnityEngine;
using UnityEngine.SceneManagement;
using UnityEngine.UI;
using static UnityEditor.PlayerSettings;
public class Submit : MonoBehaviour
{
/// <summary>
/// 练习模式图片
/// </summary>
private Sprite practicesprite;
/// <summary>
/// 考核模式图片
/// </summary>
private Sprite examinesprite;
/// <summary>
/// 考核练习图片
/// </summary>
public Image practicemode;
/// <summary>
/// 提交按钮
/// </summary>
public Button submitbutton;
/// <summary>
/// 交卷按钮
/// </summary>
public Button onvolumebutton;
/// <summary>
/// 练习的分页面
/// </summary>
public GameObject practicepanl;
/// <summary>
/// 考试分数
/// </summary>
public Text marktext;
/// <summary>
/// 返回按钮
/// </summary>
public Button backbutton;
/// <summary>
/// 考核面板
/// </summary>
public GameObject examinepanl;
/// <summary>
/// 技能冷却时间
/// </summary>
public float examinetimer = 10f;
/// <summary>
/// 技能冷却时间
/// </summary>
public float skilltimer = 0f;
/// <summary>
/// 技能冷却图片
/// </summary>
public Image coolingimage;
/// <summary>
/// 技能冷却开关
/// </summary>
private bool isCooldown = false;
/// <summary>
/// 系统提示
/// </summary>
public Text warntext;
/// <summary>
/// 体统提示时间
/// </summary>
public float timer = 10f;
/// <summary>
/// 倒计时
/// </summary>
public Text timetext;
/// <summary>
/// 提示是否交卷页面
/// </summary>
public GameObject submissionpromptpanl;
/// <summary>
/// 确定按钮
/// </summary>
public Button submitbutton2;
/// <summary>
/// 取消按钮
/// </summary>
public Button cancelbutton2;
/// <summary>
/// 三个菜单按钮
/// </summary>
public Toggle electricitychargeaccounting, powersupplycontract, contract;
/// <summary>
/// 初始化用户名
/// </summary>
public Text nametext;
/// <summary>
/// 初始化时间
/// </summary>
public Text loginname;
/// <summary>
/// 覆约合同预设体
/// </summary>
public GameObject retreatyobj;
/// <summary>
/// 覆约电费供电页面练习预制体生成位置
/// </summary>
public RectTransform retreatypanl;
public RectTransform powersupplypanl;
public RectTransform electricchargepanl;
/// <summary>
/// 接收覆约合同的预设体
/// </summary>
public GameObject retreatpreform;
/// <summary>
/// 初始化每个考试toggle显示按钮
/// </summary>
public Vector3 pos;
private void Awake()
{
Initialize();//初始化
switch (ScoreManager.Instance.Examinationpaper)
{
case Examinationpaper.practice:
Practicesubject();//练习页面
break;
case Examinationpaper.Reviewexamination:
Reviewpaper();//覆约页面
break;
case Examinationpaper.Powersupplytest:
Powersupplytestpaper();//供电页面
break;
case Examinationpaper.Electricityfeetest:
Electricityexaminationpaper();//电费页面
break;
default:
break;
}
}
private void Initialize()
{
pos = contract.transform.position;
loginname.text = PlayerPrefs.GetString("time");
nametext.text = PlayerPrefs.GetString("Name");
Debug.LogError(ScoreManager.Instance.Examinationpaper);
practicesprite = Resources.Load<Sprite>("UIpanel/练习模式");
examinesprite = Resources.Load<Sprite>("UIpanel/考试模式");
retreatyobj = Resources.Load<GameObject>("UIpanel/practice1");
}
void Start()
{
submitbutton.onClick.AddListener(() =>
{
retreatpreform = GameObject.Find("practice1(Clone)");
retreatpreform.SetActive(false);
practicemode.gameObject.SetActive(false);
marktext.text = ScoreManager.Instance.Score.ToString();
practicepanl.SetActive(true);
});
backbutton.onClick.AddListener(() =>
{
Destroy(retreatpreform);
Instantiate(retreatyobj, retreatypanl);
practicepanl.SetActive(false);
practicemode.gameObject.SetActive(true);
ScoreManager.Instance.SubtractScore(100);
});
onvolumebutton.onClick.AddListener(() =>
{
submissionpromptpanl.SetActive(true);
});
cancelbutton2.onClick.AddListener(() =>
{
submissionpromptpanl.SetActive(false);
});
submitbutton2.onClick.AddListener(() =>
{
retreatpreform = GameObject.Find("practice1(Clone)");
retreatpreform.SetActive(false);
practicemode.gameObject.SetActive(false);
submissionpromptpanl.SetActive(false);
practicemode.gameObject.SetActive(false);
onvolumebutton.gameObject.SetActive(false);
isCooldown = true;
examinepanl.SetActive(true);
});
}
/// <summary>
/// 覆约合同考试页面初始化
/// </summary>
public void Reviewpaper()
{
contract.isOn = true;
practicemode.sprite = examinesprite;
contract.gameObject.SetActive(true);
electricitychargeaccounting.gameObject.SetActive(false);
powersupplycontract.gameObject.SetActive(false);
onvolumebutton.gameObject.SetActive(true);
retreatypanl.gameObject.SetActive(true);
powersupplypanl.gameObject.SetActive(false);
electricchargepanl.gameObject.SetActive(false);
Instantiate(retreatyobj, retreatypanl);
}
/// <summary>
/// 所有练习科目页面初始化
/// </summary>
public void Practicesubject()
{
contract.isOn = true;
practicemode.sprite = practicesprite;
submitbutton.gameObject.SetActive(true);
retreatypanl.gameObject.SetActive(true);
powersupplypanl.gameObject.SetActive(false);
electricchargepanl.gameObject.SetActive(false);
Instantiate(retreatyobj, retreatypanl);
}
/// <summary>
/// 供电考试页面初始化
/// </summary>
public void Powersupplytestpaper()
{
powersupplycontract.transform.position = pos;
powersupplycontract.isOn = true;
practicemode.sprite = examinesprite;
contract.gameObject.SetActive(false);
electricitychargeaccounting.gameObject.SetActive(false);
powersupplycontract.gameObject.SetActive(true);
retreatypanl.gameObject.SetActive(false);
powersupplypanl.gameObject.SetActive(true);
electricchargepanl.gameObject.SetActive(false);
}
/// <summary>
/// 电费核算考试页面初始化
/// </summary>
public void Electricityexaminationpaper()
{
electricitychargeaccounting.transform.position = pos;
electricitychargeaccounting.isOn = true;
practicemode.sprite = examinesprite;
contract.gameObject.SetActive(false);
electricitychargeaccounting.gameObject.SetActive(true);
powersupplycontract.gameObject.SetActive(false);
retreatypanl.gameObject.SetActive(false);
powersupplypanl.gameObject.SetActive(false);
electricchargepanl.gameObject.SetActive(true);
}
void Update()
{
//十秒后自动退出程序
if (isCooldown)
{
coolingimage.fillAmount = 1 - (skilltimer / examinetimer);
skilltimer += Time.deltaTime;
timer -= Time.deltaTime;
warntext.text = timer.ToString("0") + "秒后自动退出系统";
timetext.text = timer.ToString("0");
if (coolingimage.fillAmount == 0)
{
// 退出应用程序
#if UNITY_EDITOR
UnityEditor.EditorApplication.isPlaying = false;
#else
Application.Quit();
#endif
}
}
}
}