コード例 #1
0
        private void Refresh()
        {
            if (Singleton <PvpManager> .Instance.OurPlayers.Count <= 1)
            {
                this._comps.ShowVotePanel(false);
                this._comps.ShowVotePanel(false);
                return;
            }
            SurrenderMgr surrenderMgr = GameManager.Instance.SurrenderMgr;

            this._comps.SetMemberCount(Singleton <PvpManager> .Instance.OurPlayers.Count);
            this._comps.SetCanSurrender(surrenderMgr.CanCurPlayerVote());
            this._comps.SetMemberStates(surrenderMgr.GetTeamMemberStates());
            this._comps.RatioSlider.value = (float)surrenderMgr.AcceptCount / (float)surrenderMgr.OurTeamCount;
            int num  = Mathf.CeilToInt((float)surrenderMgr.OurTeamCount * 0.7f);
            int num2 = num - surrenderMgr.AcceptCount;

            if (num2 <= 0)
            {
                this._comps.TipLabel.text = string.Empty;
            }
            else
            {
                this._comps.TipLabel.text = LanguageManager.Instance.FormatString("BattleSurrenderUI_Content_SurrenderNumber", new object[]
                {
                    num2
                });
            }
            float leftAliveTime = surrenderMgr.GetLeftAliveTime();

            if (leftAliveTime < 0f || surrenderMgr.HasAllVoted)
            {
                this.StopTimer();
                this.ShowResult();
            }
            else
            {
                this._comps.ShowVotePanel(true);
                this._comps.ShowResultPanel(false);
                if (this._timeoutTask == null)
                {
                    this._timeoutTask           = new Task(this.TimerEnumerator(leftAliveTime), false);
                    this._timeoutTask.Finished += delegate(bool manual)
                    {
                        this._timeoutTask = null;
                        if (!manual)
                        {
                            this.ShowResult();
                        }
                    };
                    this._timeoutTask.Start();
                }
            }
        }
コード例 #2
0
        private void ShowResult()
        {
            if (GameManager.Instance == null)
            {
                return;
            }
            SurrenderMgr surrenderMgr = GameManager.Instance.SurrenderMgr;

            if (surrenderMgr == null)
            {
                return;
            }
            int num = Mathf.CeilToInt((float)surrenderMgr.ValidVoters * 0.7f);

            if (num <= surrenderMgr.AcceptCount)
            {
                CtrlManager.CloseWindow(WindowID.SurrenderView);
                return;
            }
            this._comps.ShowVotePanel(false);
            this._comps.ShowResultPanel(true);
            string resultText  = string.Empty;
            int    acceptCount = surrenderMgr.AcceptCount;
            int    num2        = surrenderMgr.Votes - surrenderMgr.AcceptCount;
            int    num3        = surrenderMgr.OurTeamCount - surrenderMgr.Votes;
            string format      = "投票结果{0}票同意 {1}票拒绝 {2}票弃权 投降失败";

            resultText = string.Format(format, acceptCount, num2, num3);
            this._comps.SetResultText(resultText);
            if (this._closeTask == null)
            {
                this._closeTask           = new Task(this.TimerEnumerator(4f), false);
                this._closeTask.Finished += delegate(bool manual)
                {
                    this._closeTask = null;
                    CtrlManager.CloseWindow(WindowID.SurrenderView);
                };
                this._closeTask.Start();
            }
        }