123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475 |
- using Common.Utility.CombatEvent;
- using Core.State;
- using Fort23.Core;
- using GameLogic.Combat.CombatState;
- using GameLogic.Combat.CombatType;
- using GameLogic.CombatScenesTool;
- using UnityEngine;
- using UTool.CustomizeTimeLogic.FxLogic.TimeLineEventinterface;
- namespace GameLogic.Combat.CombatTool
- {
- public class CombatController
- {
- public static CombatController currActiveCombat;
- public CombatHeroController CombatHeroController;
- public CombatCameraControllder CombatCameraControllder;
- public CombatTypeBasic CombatTypeBasic;
- protected StateControl stateControl;
- private AssetHandle scenesHandle;
- public GameObject gameObject;
- public GameTimeLineParticleFactory GameTimeLineParticleFactory;
- public bool isUpdate;
-
- public CombatStateBasic CurrState
- {
- get { return stateControl.CurrIState as CombatStateBasic; }
- }
- public async CTask InitCombat()
- {
- GameTimeLineParticleFactory = new GameTimeLineParticleFactory();
- TimeLineFxParticleTool.Instance.Init(GameTimeLineParticleFactory);
- currActiveCombat = this;
- stateControl = new StateControl();
- stateControl.AddState("idle", new CombatIdleState(this));
- stateControl.AddState("update", new CombatUpdateState(this));
- scenesHandle =
- await AssetBundleLoadManager.Instance.LoadAssetAsyncTask<GameObject>("Chapter01.prefab");
- gameObject = scenesHandle.AssetObject<GameObject>();
- gameObject.SetActive(true);
- Camera camera = Camera.main;
- CombatCameraControllder = new CombatCameraControllder();
- CombatCameraControllder.Init(this, camera);
- CombatHeroController = new CombatHeroController();
- CombatHeroController.Init(this);
- CombatTypeBasic = new TestCombatType();
- CombatTypeBasic.Init(this);
- await CombatTypeBasic.StartGame();
- ChangeState("update");
- isUpdate = true;
- }
- public void ChangeState(string name)
- {
- stateControl.ChangeState(name);
- }
- public void Update(float t)
- {
- if (!isUpdate)
- {
- return;
- }
- stateControl.Update(t);
- }
- }
- }
|