Esempio n. 1
0
    public void Update()
    {
        if (status != Status.FIGHT)
        {
            return;
        }
        if (NetManager.GetTimeStamp() - lastJudgeTime < 1f)
        {
            return;
        }

        lastJudgeTime = NetManager.GetTimeStamp();
        int winCamp = Judgment();

        if (winCamp == 0)
        {
            return;
        }

        status = Status.READY;

        MsgBattleResult msg = new MsgBattleResult
        {
            winCamp = winCamp
        };

        Broadcast(msg);
    }
Esempio n. 2
0
    private static void OnMsgBattleResult(MsgBase msgBase)
    {
        MsgBattleResult msg   = (MsgBattleResult)msgBase;
        bool            isWin = false;
        BaseTank        tank  = GetCtrlTank();

        if (tank != null && tank.camp == msg.winCamp)
        {
            isWin = true;
        }

        PanelManager.Open <ResultPanel>(isWin);
    }
Esempio n. 3
0
    //收到战斗结束协议
    public static void OnMsgBattleResult(MsgBase msgBase)
    {
        MsgBattleResult msg = (MsgBattleResult)msgBase;
        //判断显示胜利还是失败
        bool     isWin = false;
        BaseTank tank  = GetCtrlTank();

        if (tank != null && tank.camp == msg.winCamp)
        {
            isWin = true;
        }
        //显示界面
        PanelManager.Open <ResultPanel>(isWin);
        //关闭界面
        PanelManager.Close("AimPanel");
    }
Esempio n. 4
0
    //定时更新
    public void Update()
    {
        //状态判断
        if (status != Status.FIGHT)
        {
            return;
        }
        //时间判断
        if (NetManager.GetTimeStamp() - lastjudgeTime < 10f)
        {
            return;
        }
        lastjudgeTime = NetManager.GetTimeStamp();
        //胜负判断
        int winCamp = Judgment();

        //尚未分出胜负
        if (winCamp == 0)
        {
            return;
        }
        //某一方胜利,结束战斗
        status = Status.PREPARE;
        //统计信息
        foreach (string id in playerIds.Keys)
        {
            Player player = PlayerManager.GetPlayer(id);
            if (player.camp == winCamp)
            {
                player.data.win++;
            }
            else
            {
                player.data.lost++;
            }
        }
        //发送Result
        MsgBattleResult msg = new MsgBattleResult();

        msg.winCamp = winCamp;
        Broadcast(msg);
    }