| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 |
- using System.Collections;
- using System.Collections.Generic;
- using UnityEngine;
- using UnityEngine.UI;
- /* 游戏规则界面 */
- public class GameRuleView : MonoBehaviour
- {
- public int[] rule1;
- public int[] rule2;
- int ruleLookIndex = 0;
- static bool createLock = false;
- float _lastShootTime = 0;
- public static void Create()
- {
- if (createLock || GameMgr.gameType == 0) return;
- createLock = true;
- GameObject.Instantiate(Resources.Load<GameObject>("Prefabs/Views/GameRuleView"));
- }
- void Start()
- {
- if (GlobalData.pkMatchType != PKMatchType.OnlinePK) {
- GameMgr.ins.addLockerForGamePause(this);
- }
- this.Click();
- }
- void OnDestroy()
- {
- createLock = false;
- if (GlobalData.pkMatchType != PKMatchType.OnlinePK) {
- if (GameMgr.ins) GameMgr.ins.removeLockerForGamePause(this);
- }
- }
-
- public void Click() {
- if (Time.time == 0) return;
- if (Time.realtimeSinceStartup - _lastShootTime < 1) return;
- _lastShootTime = Time.realtimeSinceStartup;
- int[] rule = null;
- if (GameMgr.gameType == 1) {
- rule = rule1;
- } else if (GameMgr.gameType == 2 || GameMgr.gameType == 9) {
- rule = rule2;
- }
- Debug.Log("rule[ruleLookIndex]: = " +ruleLookIndex);
- if (ruleLookIndex >= rule.Length) {
- Destroy(this.gameObject);
- GameMgr.ins.FinishGameRuleGuide();
- Debug.Log("rule[ruleLookIndex] end: = " + ruleLookIndex);
- } else {
- this.transform.Find("BG/Panel/Content").GetComponent<TextAutoLanguage>().SetText(rule[ruleLookIndex]);
- ruleLookIndex++;
- //重置一下bg raycast target,不然Mouse Confirm检测不到下一步按钮
- StartCoroutine(switchBgRaycastTarget());
- }
- }
- IEnumerator switchBgRaycastTarget() {
- this.transform.Find("BG").GetComponent<Image>().raycastTarget = false;
- yield return new WaitForEndOfFrame();
- this.transform.Find("BG").GetComponent<Image>().raycastTarget = true;
- }
- }
|