<?php
# Generated by the protocol buffer compiler.  DO NOT EDIT!
# source: Client_Game_Packet.proto

namespace Game\Protobuf;

use Google\Protobuf\Internal\GPBType;
use Google\Protobuf\Internal\RepeatedField;
use Google\Protobuf\Internal\GPBUtil;

/**
 *pvp比赛结果
 *
 * Generated from protobuf message <code>Game.Protobuf.GCRaceResult</code>
 */
class GCRaceResult extends \Google\Protobuf\Internal\Message
{
    /**
     * Generated from protobuf field <code>repeated .Game.Protobuf.RaceResult Result = 1;</code>
     */
    private $Result;
    /**
     *增加熟练度明细
     *
     * Generated from protobuf field <code>repeated int32 CarProficiencyArray = 2;</code>
     */
    private $CarProficiencyArray;
    /**
     *变化的段位积分
     *
     * Generated from protobuf field <code>int32 AddScore = 3;</code>
     */
    protected $AddScore = 0;
    /**
     *变化的段位保护分
     *
     * Generated from protobuf field <code>int32 AddGuardScore = 4;</code>
     */
    protected $AddGuardScore = 0;
    /**
     *增加的车辆评分
     *
     * Generated from protobuf field <code>int32 CarScore = 5;</code>
     */
    protected $CarScore = 0;
    /**
     *段位积分获取详细
     *
     * Generated from protobuf field <code>repeated int32 ScoreArray = 6;</code>
     */
    private $ScoreArray;
    /**
     *奖励道具
     *
     * Generated from protobuf field <code>repeated .Game.Protobuf.RewardItem Item = 7;</code>
     */
    private $Item;
    /**
     *当前段位积分
     *
     * Generated from protobuf field <code>int32 Score = 8;</code>
     */
    protected $Score = 0;
    /**
     *历史最高段位
     *
     * Generated from protobuf field <code>int32 MaxLevelId = 9;</code>
     */
    protected $MaxLevelId = 0;
    /**
     *当前保护分
     *
     * Generated from protobuf field <code>int32 GuardScore = 10;</code>
     */
    protected $GuardScore = 0;
    /**
     *当前赛季Id
     *
     * Generated from protobuf field <code>int32 SeasonId = 11;</code>
     */
    protected $SeasonId = 0;
    /**
     *增加的车熟练度
     *
     * Generated from protobuf field <code>int32 AddCarProficiency = 12;</code>
     */
    protected $AddCarProficiency = 0;
    /**
     *比赛Id
     *
     * Generated from protobuf field <code>uint64 MatchId = 13;</code>
     */
    protected $MatchId = 0;
    /**
     *每个玩家的结算参数
     *
     * Generated from protobuf field <code>repeated .Game.Protobuf.SettlementParameter Parameter = 14;</code>
     */
    private $Parameter;
    /**
     *自己破记录信息
     *
     * Generated from protobuf field <code>.Game.Protobuf.RecordBreakingInfo MyBreakingInfo = 15;</code>
     */
    protected $MyBreakingInfo = null;
    /**
     *mvp破记录信息
     *
     * Generated from protobuf field <code>.Game.Protobuf.RecordBreakingInfo MvpBreakingInfo = 16;</code>
     */
    protected $MvpBreakingInfo = null;
    /**
     * 此局获得的经验
     *
     * Generated from protobuf field <code>int32 AddExp = 17;</code>
     */
    protected $AddExp = 0;

    /**
     * Constructor.
     *
     * @param array $data {
     *     Optional. Data for populating the Message object.
     *
     *     @type \Game\Protobuf\RaceResult[]|\Google\Protobuf\Internal\RepeatedField $Result
     *     @type int[]|\Google\Protobuf\Internal\RepeatedField $CarProficiencyArray
     *          增加熟练度明细
     *     @type int $AddScore
     *          变化的段位积分
     *     @type int $AddGuardScore
     *          变化的段位保护分
     *     @type int $CarScore
     *          增加的车辆评分
     *     @type int[]|\Google\Protobuf\Internal\RepeatedField $ScoreArray
     *          段位积分获取详细
     *     @type \Game\Protobuf\RewardItem[]|\Google\Protobuf\Internal\RepeatedField $Item
     *          奖励道具
     *     @type int $Score
     *          当前段位积分
     *     @type int $MaxLevelId
     *          历史最高段位
     *     @type int $GuardScore
     *          当前保护分
     *     @type int $SeasonId
     *          当前赛季Id
     *     @type int $AddCarProficiency
     *          增加的车熟练度
     *     @type int|string $MatchId
     *          比赛Id
     *     @type \Game\Protobuf\SettlementParameter[]|\Google\Protobuf\Internal\RepeatedField $Parameter
     *          每个玩家的结算参数
     *     @type \Game\Protobuf\RecordBreakingInfo $MyBreakingInfo
     *          自己破记录信息
     *     @type \Game\Protobuf\RecordBreakingInfo $MvpBreakingInfo
     *          mvp破记录信息
     *     @type int $AddExp
     *           此局获得的经验
     * }
     */
    public function __construct($data = NULL) {
        \GPBMetadata\ClientGamePacket::initOnce();
        parent::__construct($data);
    }

    /**
     * Generated from protobuf field <code>repeated .Game.Protobuf.RaceResult Result = 1;</code>
     * @return \Google\Protobuf\Internal\RepeatedField
     */
    public function getResult()
    {
        return $this->Result;
    }

    /**
     * Generated from protobuf field <code>repeated .Game.Protobuf.RaceResult Result = 1;</code>
     * @param \Game\Protobuf\RaceResult[]|\Google\Protobuf\Internal\RepeatedField $var
     * @return $this
     */
    public function setResult($var)
    {
        $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Game\Protobuf\RaceResult::class);
        $this->Result = $arr;

        return $this;
    }

    /**
     *增加熟练度明细
     *
     * Generated from protobuf field <code>repeated int32 CarProficiencyArray = 2;</code>
     * @return \Google\Protobuf\Internal\RepeatedField
     */
    public function getCarProficiencyArray()
    {
        return $this->CarProficiencyArray;
    }

    /**
     *增加熟练度明细
     *
     * Generated from protobuf field <code>repeated int32 CarProficiencyArray = 2;</code>
     * @param int[]|\Google\Protobuf\Internal\RepeatedField $var
     * @return $this
     */
    public function setCarProficiencyArray($var)
    {
        $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::INT32);
        $this->CarProficiencyArray = $arr;

        return $this;
    }

    /**
     *变化的段位积分
     *
     * Generated from protobuf field <code>int32 AddScore = 3;</code>
     * @return int
     */
    public function getAddScore()
    {
        return $this->AddScore;
    }

    /**
     *变化的段位积分
     *
     * Generated from protobuf field <code>int32 AddScore = 3;</code>
     * @param int $var
     * @return $this
     */
    public function setAddScore($var)
    {
        GPBUtil::checkInt32($var);
        $this->AddScore = $var;

        return $this;
    }

    /**
     *变化的段位保护分
     *
     * Generated from protobuf field <code>int32 AddGuardScore = 4;</code>
     * @return int
     */
    public function getAddGuardScore()
    {
        return $this->AddGuardScore;
    }

    /**
     *变化的段位保护分
     *
     * Generated from protobuf field <code>int32 AddGuardScore = 4;</code>
     * @param int $var
     * @return $this
     */
    public function setAddGuardScore($var)
    {
        GPBUtil::checkInt32($var);
        $this->AddGuardScore = $var;

        return $this;
    }

    /**
     *增加的车辆评分
     *
     * Generated from protobuf field <code>int32 CarScore = 5;</code>
     * @return int
     */
    public function getCarScore()
    {
        return $this->CarScore;
    }

    /**
     *增加的车辆评分
     *
     * Generated from protobuf field <code>int32 CarScore = 5;</code>
     * @param int $var
     * @return $this
     */
    public function setCarScore($var)
    {
        GPBUtil::checkInt32($var);
        $this->CarScore = $var;

        return $this;
    }

    /**
     *段位积分获取详细
     *
     * Generated from protobuf field <code>repeated int32 ScoreArray = 6;</code>
     * @return \Google\Protobuf\Internal\RepeatedField
     */
    public function getScoreArray()
    {
        return $this->ScoreArray;
    }

    /**
     *段位积分获取详细
     *
     * Generated from protobuf field <code>repeated int32 ScoreArray = 6;</code>
     * @param int[]|\Google\Protobuf\Internal\RepeatedField $var
     * @return $this
     */
    public function setScoreArray($var)
    {
        $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::INT32);
        $this->ScoreArray = $arr;

        return $this;
    }

    /**
     *奖励道具
     *
     * Generated from protobuf field <code>repeated .Game.Protobuf.RewardItem Item = 7;</code>
     * @return \Google\Protobuf\Internal\RepeatedField
     */
    public function getItem()
    {
        return $this->Item;
    }

    /**
     *奖励道具
     *
     * Generated from protobuf field <code>repeated .Game.Protobuf.RewardItem Item = 7;</code>
     * @param \Game\Protobuf\RewardItem[]|\Google\Protobuf\Internal\RepeatedField $var
     * @return $this
     */
    public function setItem($var)
    {
        $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Game\Protobuf\RewardItem::class);
        $this->Item = $arr;

        return $this;
    }

    /**
     *当前段位积分
     *
     * Generated from protobuf field <code>int32 Score = 8;</code>
     * @return int
     */
    public function getScore()
    {
        return $this->Score;
    }

    /**
     *当前段位积分
     *
     * Generated from protobuf field <code>int32 Score = 8;</code>
     * @param int $var
     * @return $this
     */
    public function setScore($var)
    {
        GPBUtil::checkInt32($var);
        $this->Score = $var;

        return $this;
    }

    /**
     *历史最高段位
     *
     * Generated from protobuf field <code>int32 MaxLevelId = 9;</code>
     * @return int
     */
    public function getMaxLevelId()
    {
        return $this->MaxLevelId;
    }

    /**
     *历史最高段位
     *
     * Generated from protobuf field <code>int32 MaxLevelId = 9;</code>
     * @param int $var
     * @return $this
     */
    public function setMaxLevelId($var)
    {
        GPBUtil::checkInt32($var);
        $this->MaxLevelId = $var;

        return $this;
    }

    /**
     *当前保护分
     *
     * Generated from protobuf field <code>int32 GuardScore = 10;</code>
     * @return int
     */
    public function getGuardScore()
    {
        return $this->GuardScore;
    }

    /**
     *当前保护分
     *
     * Generated from protobuf field <code>int32 GuardScore = 10;</code>
     * @param int $var
     * @return $this
     */
    public function setGuardScore($var)
    {
        GPBUtil::checkInt32($var);
        $this->GuardScore = $var;

        return $this;
    }

    /**
     *当前赛季Id
     *
     * Generated from protobuf field <code>int32 SeasonId = 11;</code>
     * @return int
     */
    public function getSeasonId()
    {
        return $this->SeasonId;
    }

    /**
     *当前赛季Id
     *
     * Generated from protobuf field <code>int32 SeasonId = 11;</code>
     * @param int $var
     * @return $this
     */
    public function setSeasonId($var)
    {
        GPBUtil::checkInt32($var);
        $this->SeasonId = $var;

        return $this;
    }

    /**
     *增加的车熟练度
     *
     * Generated from protobuf field <code>int32 AddCarProficiency = 12;</code>
     * @return int
     */
    public function getAddCarProficiency()
    {
        return $this->AddCarProficiency;
    }

    /**
     *增加的车熟练度
     *
     * Generated from protobuf field <code>int32 AddCarProficiency = 12;</code>
     * @param int $var
     * @return $this
     */
    public function setAddCarProficiency($var)
    {
        GPBUtil::checkInt32($var);
        $this->AddCarProficiency = $var;

        return $this;
    }

    /**
     *比赛Id
     *
     * Generated from protobuf field <code>uint64 MatchId = 13;</code>
     * @return int|string
     */
    public function getMatchId()
    {
        return $this->MatchId;
    }

    /**
     *比赛Id
     *
     * Generated from protobuf field <code>uint64 MatchId = 13;</code>
     * @param int|string $var
     * @return $this
     */
    public function setMatchId($var)
    {
        GPBUtil::checkUint64($var);
        $this->MatchId = $var;

        return $this;
    }

    /**
     *每个玩家的结算参数
     *
     * Generated from protobuf field <code>repeated .Game.Protobuf.SettlementParameter Parameter = 14;</code>
     * @return \Google\Protobuf\Internal\RepeatedField
     */
    public function getParameter()
    {
        return $this->Parameter;
    }

    /**
     *每个玩家的结算参数
     *
     * Generated from protobuf field <code>repeated .Game.Protobuf.SettlementParameter Parameter = 14;</code>
     * @param \Game\Protobuf\SettlementParameter[]|\Google\Protobuf\Internal\RepeatedField $var
     * @return $this
     */
    public function setParameter($var)
    {
        $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Game\Protobuf\SettlementParameter::class);
        $this->Parameter = $arr;

        return $this;
    }

    /**
     *自己破记录信息
     *
     * Generated from protobuf field <code>.Game.Protobuf.RecordBreakingInfo MyBreakingInfo = 15;</code>
     * @return \Game\Protobuf\RecordBreakingInfo|null
     */
    public function getMyBreakingInfo()
    {
        return $this->MyBreakingInfo;
    }

    public function hasMyBreakingInfo()
    {
        return isset($this->MyBreakingInfo);
    }

    public function clearMyBreakingInfo()
    {
        unset($this->MyBreakingInfo);
    }

    /**
     *自己破记录信息
     *
     * Generated from protobuf field <code>.Game.Protobuf.RecordBreakingInfo MyBreakingInfo = 15;</code>
     * @param \Game\Protobuf\RecordBreakingInfo $var
     * @return $this
     */
    public function setMyBreakingInfo($var)
    {
        GPBUtil::checkMessage($var, \Game\Protobuf\RecordBreakingInfo::class);
        $this->MyBreakingInfo = $var;

        return $this;
    }

    /**
     *mvp破记录信息
     *
     * Generated from protobuf field <code>.Game.Protobuf.RecordBreakingInfo MvpBreakingInfo = 16;</code>
     * @return \Game\Protobuf\RecordBreakingInfo|null
     */
    public function getMvpBreakingInfo()
    {
        return $this->MvpBreakingInfo;
    }

    public function hasMvpBreakingInfo()
    {
        return isset($this->MvpBreakingInfo);
    }

    public function clearMvpBreakingInfo()
    {
        unset($this->MvpBreakingInfo);
    }

    /**
     *mvp破记录信息
     *
     * Generated from protobuf field <code>.Game.Protobuf.RecordBreakingInfo MvpBreakingInfo = 16;</code>
     * @param \Game\Protobuf\RecordBreakingInfo $var
     * @return $this
     */
    public function setMvpBreakingInfo($var)
    {
        GPBUtil::checkMessage($var, \Game\Protobuf\RecordBreakingInfo::class);
        $this->MvpBreakingInfo = $var;

        return $this;
    }

    /**
     * 此局获得的经验
     *
     * Generated from protobuf field <code>int32 AddExp = 17;</code>
     * @return int
     */
    public function getAddExp()
    {
        return $this->AddExp;
    }

    /**
     * 此局获得的经验
     *
     * Generated from protobuf field <code>int32 AddExp = 17;</code>
     * @param int $var
     * @return $this
     */
    public function setAddExp($var)
    {
        GPBUtil::checkInt32($var);
        $this->AddExp = $var;

        return $this;
    }

}

