少年修仙传客户端代码仓库
client_Wu Xijin
2018-10-22 2da6556c080e680286ce5e8f93b322bdb5a35259
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
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using TableConfig;
 
namespace Snxxz.UI
{
    [XLua.LuaCallCSharp]
public class GroupDungeonChallengeProcessor : SingletonMonobehaviour<GroupDungeonChallengeProcessor>
 
    {
        int mapId = 0;
        int lineId = 0;
 
        DungeonModel dungeonModel { get { return ModelCenter.Instance.GetModel<DungeonModel>(); } }
        PlayerMainDate main { get { return ModelCenter.Instance.GetModel<PlayerMainDate>(); } }
 
        public void GroupChallengeDungeon(int _mapId, int _lineId, bool _isAutoMatch)
        {
            mapId = _mapId;
            lineId = _lineId;
 
            if (GeneralDefine.ruinsTranscriptMapId == _mapId)//zxw
            {
                bool iamCaptainer = ModelCenter.Instance.GetModel<TeamModel>().myTeam.iamCaptainer;
                if (iamCaptainer)
                {
                    var cB910 = new CB910_tagCGQueryTeamMemFuncData();
                    cB910.TeamMemFuncType = 0;
                    GameNetSystem.Instance.SendInfo(cB910);
                    StartCoroutine(Co_DelayShowFloorChooseWin(_isAutoMatch));
                }
            }
            else
            {
                switch (_mapId)
                {
                    case RealmModel.REALM_DUNGEON_ID:
                        var realmModel = ModelCenter.Instance.GetModel<RealmModel>();
                        realmModel.GotoDungeon();
                        break;
                    default:
                        int error = 0;
                        var dungeon = new Dungeon(_mapId, _lineId);
                        if (dungeonModel.TestChallange(dungeon, out error))
                        {
                            dungeonModel.GroupChallenge(dungeon);
                        }
                        else
                        {
                            ProcessEnterDungeonError(error);
                        }
                        break;
                }
            }
 
        }
 
        private void ProcessEnterDungeonError(int _error)
        {
 
            var dungeonId = dungeonModel.GetDungeonId(mapId, lineId);
            var dungeonConfig = Config.Instance.Get<DungeonConfig>(dungeonId);
 
            switch (_error)
            {
                case 1:
                    SysNotifyMgr.Instance.ShowTip("DungeoninCoolTime");
                    break;
                case 2:
                    SysNotifyMgr.Instance.ShowTip("DemonJar_Text2");
                    break;
                case 4:
                    SysNotifyMgr.Instance.ShowTip("GeRen_chenxin_268121", dungeonConfig.MapID);
                    break;
                case 5:
                    SysNotifyMgr.Instance.ShowTip("GeRen_chenxin_157069", dungeonConfig.MapID);
                    break;
            }
        }
 
        IEnumerator Co_DelayShowFloorChooseWin(bool _isAutoMatch)
        {
            yield return WaitingForSecondConst.WaitMS700;
 
            if (main.LayerNumber == -1)
            {
                main.LayerNumberNow = 0;
            }
            else
            {
                main.LayerNumberNow = main.LayerNumber;
            }
 
            if (PlayerDatas.Instance.extersion.bossState == 1)
            {
                SysNotifyMgr.Instance.ShowTip("Boss_Leave");
            }
            else
            {
                if (_isAutoMatch)
                {
                    var dungeon = new Dungeon(GeneralDefine.ruinsTranscriptMapId, main.LayerNumberNow);
                    dungeonModel.GroupChallenge(dungeon);
                }
                else
                {
                    WindowCenter.Instance.Open<FloorChooseWin>();
                }
            }
 
        }
 
    }
 
}