| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192 |
- using UnityEngine;
- using UnityEngine.UI;
- using System;
- namespace WildAttack
- {
- /// <summary>
- /// 游戏入口
- /// </summary>
- public class GameEnter : MonoBehaviour
- {
- UserGameAnalyse1 userGameAnalyse1;
- /// <summary>
- /// 协程数
- /// </summary>
- private int coroutineNum = 7;
- private bool bCanUpdate = false;
- void Awake()
- {
- SingletonManager.Clear();
- userGameAnalyse1 = UserGameAnalyse1.CreateWhenGameStartAndReturn(14);
- // 数据类init
- ModuleInit();
- }
- void Start()
- {
- }
- 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 && bCanUpdate)
- {
- GameMananger.GetInstance().Update();
- ProcessManager.GetInstance().Update();
- }
- }
- /// <summary>
- /// 判断协程进度
- /// </summary>
- public void CoroutineSubNum()
- {
- coroutineNum--;
- if (coroutineNum == 0)
- {
- ObjectPoolInit();
- UIManager.GetInstance().Init(userGameAnalyse1,() =>
- {
- FlotagePool.GetInstance().Init();
- EnemyManager.GetInstance().Init();
- ProcessManager.GetInstance().Init();
- });
- GameMananger.GetInstance().Init(userGameAnalyse1);
- bCanUpdate = true;
- }
- }
- }
- }
|