| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788 |
- using UnityEngine;
- using UnityEngine.UI;
- using System;
- namespace WildAttack
- {
- /// <summary>
- /// 游戏入口
- /// </summary>
- public class GameEnter : MonoBehaviour
- {
- /// <summary>
- /// 协程数
- /// </summary>
- private int coroutineNum = 7;
- void Awake()
- {
- SingletonManager.Clear();
- // 数据类init
- ModuleInit();
- }
- void Start()
- {
- UserGameAnalyse1.CreateWhenGameStart(14);
- }
- void OnDestroy()
- {
- SingletonManager.Clear();
- }
- /// <summary>
- /// 对象池init
- /// </summary>
- private void ObjectPoolInit()
- {
- EnemyPool.GetInstance().Init();
- BalloonPool.GetInstance().Init();
- }
- /// <summary>
- /// 数据类init
- /// </summary>
- void ModuleInit()
- {
- StartCoroutine(GameModule.GetInstance().LoadCSV("global.csv", () => { CoroutineSubNum(); }));
- StartCoroutine(MonsterModule.GetInstance().LoadCSV("monster.csv", () => { CoroutineSubNum(); }));
- StartCoroutine(WeaponModule.GetInstance().LoadCSV("weapon.csv", () => { CoroutineSubNum(); }));
- StartCoroutine(StagePropertyModule.GetInstance().LoadCSV("stageProperty.csv", () => { CoroutineSubNum(); }));
- StartCoroutine(WayPointModule.GetInstance().LoadCSV("wayPoint.csv", () => { CoroutineSubNum(); }));
- StartCoroutine(ProcessModule.GetInstance().LoadCSV("process.csv", () => { CoroutineSubNum(); }));
- StartCoroutine(StringModule.GetInstance().LoadCSV("strings.csv", () => { CoroutineSubNum(); }));
- }
- /// <summary>
- /// 协程全部运行完 执行其他类的update
- /// </summary>
- void Update()
- {
- if (coroutineNum == 0)
- {
- GameMananger.GetInstance().Update();
- ProcessManager.GetInstance().Update();
- }
- }
- /// <summary>
- /// 判断协程进度
- /// </summary>
- public void CoroutineSubNum()
- {
- coroutineNum--;
- if (coroutineNum == 0)
- {
- ObjectPoolInit();
- UIManager.GetInstance().Init(() =>
- {
- FlotagePool.GetInstance().Init();
- EnemyManager.GetInstance().Init();
- ProcessManager.GetInstance().Init();
- });
- GameMananger.GetInstance().Init();
- }
- }
- }
- }
|