Пример #1
0
    public override void OnUpdate(float dt)
    {
        base.OnUpdate(dt);

        float fDeltaTime = Time.deltaTime;

        if (BattleStateManager != null)
        {
            BattleStateManager.Update(fDeltaTime);
        }

        if (BattleAIManager != null)
        {
            BattleAIManager.Update(fDeltaTime);
        }
    }
Пример #2
0
    public override IEnumerator OnEnter(float progress)
    {
        Global.UIMgr.ShowLoadingWidget(0.5f);

        yield return(base.OnEnter(progress));

        yield return(Global.UIMgr.OnCreateWidgetAsync <UIBattle>(UIManager.eUIType.eUI_Battle, widget =>
        {
            if (widget != null)
            {
                Global.SoundMgr.PlayBGM(SoundManager.eBGMType.eBGM_Battle);

                TurnUI = widget.GetComponentInChildren <UITurnControl>(true);

                widget.BattleScene = this;
                widget.Show();
            }
        }));

        yield return(Global.UIMgr.OnCreateWidgetAsync <UIBattleWin>(UIManager.eUIType.eUI_BattleWin, widget =>
        {
            widget.Hide();
        }));

        yield return(Global.UIMgr.OnCreateWidgetAsync <UIBattleLose>(UIManager.eUIType.eUI_BattleLose, widget =>
        {
            widget.Hide();
        }));

        yield return(Global.UIMgr.OnCreateWidgetAsync <UIBattleEnd>(UIManager.eUIType.eUI_BattleEnd, widget =>
        {
            widget.Hide();
        }));

        yield return(Global.ResourceMgr.CreateResourceAsync(eResourceType.Prefab, "Battle/Prefabs/BattleRoot", (prefabResource) =>
        {
            BattleRoot = Instantiate(prefabResource.ResourceData) as GameObject;
            if (BattleRoot != null)
            {
                BattleRoot.name = "BattleRoot";

                BattleRoot.transform.position = Vector3.zero;
                BattleRoot.transform.rotation = Quaternion.identity;
                BattleRoot.transform.localScale = Vector3.one;

                Blur = ComponentFactory.FindInChildrenByName <Transform>(BattleRoot.transform, "Blur").gameObject;
            }
        }));

        //BattleRoot
        EffectRoot = BattleRoot.transform.Find("Effect");

        BattleHeroManager.Instance.Init();

        if (BattleStateManager == null)
        {
            BattleStateManager = new BattleStateManager();
        }

        yield return(BattleStateManager.Initialize(this));

        if (BattleAIManager == null)
        {
            BattleAIManager = new BattleAIManager();
        }

        BattleAIManager.Initialize();

        yield return(new WaitForSeconds(1f));

        Global.UIMgr.HideLoadingWidget(0.5f);

        BattleStateManager.ChangeState(EBattleState.BattleState_Ready);
    }
Пример #3
0
 void Awake()
 {
     instance = this;
 }