hch
18 分钟以前 39e8090ed6471b2f95743681d89fb524eea8e00a
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
using System.Collections.Generic;
using UnityEngine;
 
 
 
public class BattleManager : GameSystemManager<BattleManager>
{
    public StoryBattleField storyBattleField = null;
 
    protected Dictionary<int, BattleField> battleFields = new Dictionary<int, BattleField>();
 
    protected LogicUpdate logicUpdate = new LogicUpdate();
 
    public override void Init()
    {
        base.Init();
        StartStoryBattle();
        logicUpdate.Start(Run);
    }
 
    public override void Release()
    {
        Debug.LogError("who release this one");
        base.Release();
        logicUpdate.Destroy();
    }
 
    public void StartStoryBattle()
    {
        if (null == storyBattleField)
        {
            storyBattleField = new StoryBattleField();
 
            TeamBase redTeam = GetStoryTeam();//TeamManager.Instance.GetTeam(TeamType.Story);
            TeamBase blueTeam = GetStoryTeam();
            storyBattleField.Init(/*这里要加个创建背景的*/redTeam, blueTeam);
            // storyBattleField.Start();
            storyBattleField.battleRootNode.transform.SetParent(Launch.Instance.transform);
        }
    }
 
    private TeamBase GetStoryTeam()
    {
        TeamBase teamBase = new TeamBase();
        #if UNITY_EDITOR
        teamBase.FillWithFakeData();
        #else
        //  YYL TODO
        //  根据配表塞英雄 后面可能还要塞其他东西 先放在这里反正 做主线了再转移
        #endif
 
        return teamBase;
    }
 
    public void Run()
    {
        if (null != storyBattleField)
        {
            storyBattleField.Run();
        }
 
        foreach (var battleField in battleFields)
        {
            battleField.Value?.Run();
        }
    }
 
}