using System; using System.Collections.Generic; using Fort23.Core; using GameLogic.CombatScenesTool; using UnityEngine; namespace GameLogic.Combat.CombatTool { public class CombatSenceController: IDisposable { private AssetHandle scenesHandle; private AssetHandle scenesHandle2; private AssetHandle scenesHandle3; public GameObject scenes1; private float zoff; private int index = 0; private List _allCombatScenesConfigs = new List(); public CombatScenesConfig _currConfig; private int nextConfigIndex; public async CTask InitScenes() { CTaskAwaitBuffer cTaskAwaitBuffer = new CTaskAwaitBuffer(); cTaskAwaitBuffer.AddTask(AssetBundleLoadManager.Instance.LoadAssetAsyncTask("LevelBattle1.prefab", delegate(AssetHandle handle) { scenesHandle = handle; scenes1 = scenesHandle.AssetObject(); scenes1.SetActive(true); CombatScenesConfig combatScenesConfig = scenes1.GetComponent(); _allCombatScenesConfigs.Add(combatScenesConfig); })); await cTaskAwaitBuffer.WaitAll(); MoveToNextConfig(); } public CombatScenesConfig MoveToNextConfig() { nextConfigIndex++; nextConfigIndex %= _allCombatScenesConfigs.Count; return _currConfig=_allCombatScenesConfigs[nextConfigIndex]; } public void NextScenesShow() { index++; index %= _allCombatScenesConfigs.Count; zoff -= 97; _allCombatScenesConfigs[index].transform.position = new Vector3(0, 0, zoff); } public void Dispose() { if (scenesHandle != null) { scenesHandle.Release(); } if (scenesHandle2 != null) { scenesHandle2.Release(); } } } }