<?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;

/**
 * 赛车数据
 *
 * Generated from protobuf message <code>Game.Protobuf.CarDataSingle</code>
 */
class CarDataSingle extends \Google\Protobuf\Internal\Message
{
    /**
     * Generated from protobuf field <code>uint64 Uid = 1;</code>
     */
    protected $Uid = 0;
    /**
     * Generated from protobuf field <code>int32 CarID = 2;</code>
     */
    protected $CarID = 0;
    /**
     * Generated from protobuf field <code>int32 Level = 3;</code>
     */
    protected $Level = 0;
    /**
     * Generated from protobuf field <code>uint64 ActiveSkill = 4;</code>
     */
    protected $ActiveSkill = 0;
    /**
     * Generated from protobuf field <code>string PassiveSkill = 5;</code>
     */
    protected $PassiveSkill = '';
    /**
     *熟练度
     *
     * Generated from protobuf field <code>int32 Proficiency = 6;</code>
     */
    protected $Proficiency = 0;
    /**
     * Generated from protobuf field <code>uint64 Expire = 7;</code>
     */
    protected $Expire = 0;
    /**
     * Generated from protobuf field <code>int32 State = 8;</code>
     */
    protected $State = 0;
    /**
     * Generated from protobuf field <code>string Attr = 9;</code>
     */
    protected $Attr = '';
    /**
     * Generated from protobuf field <code>int32 Performance = 10;</code>
     */
    protected $Performance = 0;
    /**
     *熟练度等级
     *
     * Generated from protobuf field <code>int32 ProficiencyLv = 11;</code>
     */
    protected $ProficiencyLv = 0;
    /**
     *熟练度已领取奖励
     *
     * Generated from protobuf field <code>repeated int32 ProficiencyReward = 12;</code>
     */
    private $ProficiencyReward;
    /**
     *车辆获取时间
     *
     * Generated from protobuf field <code>int32 CreateTime = 13;</code>
     */
    protected $CreateTime = 0;

    /**
     * Constructor.
     *
     * @param array $data {
     *     Optional. Data for populating the Message object.
     *
     *     @type int|string $Uid
     *     @type int $CarID
     *     @type int $Level
     *     @type int|string $ActiveSkill
     *     @type string $PassiveSkill
     *     @type int $Proficiency
     *          熟练度
     *     @type int|string $Expire
     *     @type int $State
     *     @type string $Attr
     *     @type int $Performance
     *     @type int $ProficiencyLv
     *          熟练度等级
     *     @type int[]|\Google\Protobuf\Internal\RepeatedField $ProficiencyReward
     *          熟练度已领取奖励
     *     @type int $CreateTime
     *          车辆获取时间
     * }
     */
    public function __construct($data = NULL) {
        \GPBMetadata\ClientGamePacket::initOnce();
        parent::__construct($data);
    }

    /**
     * Generated from protobuf field <code>uint64 Uid = 1;</code>
     * @return int|string
     */
    public function getUid()
    {
        return $this->Uid;
    }

    /**
     * Generated from protobuf field <code>uint64 Uid = 1;</code>
     * @param int|string $var
     * @return $this
     */
    public function setUid($var)
    {
        GPBUtil::checkUint64($var);
        $this->Uid = $var;

        return $this;
    }

    /**
     * Generated from protobuf field <code>int32 CarID = 2;</code>
     * @return int
     */
    public function getCarID()
    {
        return $this->CarID;
    }

    /**
     * Generated from protobuf field <code>int32 CarID = 2;</code>
     * @param int $var
     * @return $this
     */
    public function setCarID($var)
    {
        GPBUtil::checkInt32($var);
        $this->CarID = $var;

        return $this;
    }

    /**
     * Generated from protobuf field <code>int32 Level = 3;</code>
     * @return int
     */
    public function getLevel()
    {
        return $this->Level;
    }

    /**
     * Generated from protobuf field <code>int32 Level = 3;</code>
     * @param int $var
     * @return $this
     */
    public function setLevel($var)
    {
        GPBUtil::checkInt32($var);
        $this->Level = $var;

        return $this;
    }

    /**
     * Generated from protobuf field <code>uint64 ActiveSkill = 4;</code>
     * @return int|string
     */
    public function getActiveSkill()
    {
        return $this->ActiveSkill;
    }

    /**
     * Generated from protobuf field <code>uint64 ActiveSkill = 4;</code>
     * @param int|string $var
     * @return $this
     */
    public function setActiveSkill($var)
    {
        GPBUtil::checkUint64($var);
        $this->ActiveSkill = $var;

        return $this;
    }

    /**
     * Generated from protobuf field <code>string PassiveSkill = 5;</code>
     * @return string
     */
    public function getPassiveSkill()
    {
        return $this->PassiveSkill;
    }

    /**
     * Generated from protobuf field <code>string PassiveSkill = 5;</code>
     * @param string $var
     * @return $this
     */
    public function setPassiveSkill($var)
    {
        GPBUtil::checkString($var, True);
        $this->PassiveSkill = $var;

        return $this;
    }

    /**
     *熟练度
     *
     * Generated from protobuf field <code>int32 Proficiency = 6;</code>
     * @return int
     */
    public function getProficiency()
    {
        return $this->Proficiency;
    }

    /**
     *熟练度
     *
     * Generated from protobuf field <code>int32 Proficiency = 6;</code>
     * @param int $var
     * @return $this
     */
    public function setProficiency($var)
    {
        GPBUtil::checkInt32($var);
        $this->Proficiency = $var;

        return $this;
    }

    /**
     * Generated from protobuf field <code>uint64 Expire = 7;</code>
     * @return int|string
     */
    public function getExpire()
    {
        return $this->Expire;
    }

    /**
     * Generated from protobuf field <code>uint64 Expire = 7;</code>
     * @param int|string $var
     * @return $this
     */
    public function setExpire($var)
    {
        GPBUtil::checkUint64($var);
        $this->Expire = $var;

        return $this;
    }

    /**
     * Generated from protobuf field <code>int32 State = 8;</code>
     * @return int
     */
    public function getState()
    {
        return $this->State;
    }

    /**
     * Generated from protobuf field <code>int32 State = 8;</code>
     * @param int $var
     * @return $this
     */
    public function setState($var)
    {
        GPBUtil::checkInt32($var);
        $this->State = $var;

        return $this;
    }

    /**
     * Generated from protobuf field <code>string Attr = 9;</code>
     * @return string
     */
    public function getAttr()
    {
        return $this->Attr;
    }

    /**
     * Generated from protobuf field <code>string Attr = 9;</code>
     * @param string $var
     * @return $this
     */
    public function setAttr($var)
    {
        GPBUtil::checkString($var, True);
        $this->Attr = $var;

        return $this;
    }

    /**
     * Generated from protobuf field <code>int32 Performance = 10;</code>
     * @return int
     */
    public function getPerformance()
    {
        return $this->Performance;
    }

    /**
     * Generated from protobuf field <code>int32 Performance = 10;</code>
     * @param int $var
     * @return $this
     */
    public function setPerformance($var)
    {
        GPBUtil::checkInt32($var);
        $this->Performance = $var;

        return $this;
    }

    /**
     *熟练度等级
     *
     * Generated from protobuf field <code>int32 ProficiencyLv = 11;</code>
     * @return int
     */
    public function getProficiencyLv()
    {
        return $this->ProficiencyLv;
    }

    /**
     *熟练度等级
     *
     * Generated from protobuf field <code>int32 ProficiencyLv = 11;</code>
     * @param int $var
     * @return $this
     */
    public function setProficiencyLv($var)
    {
        GPBUtil::checkInt32($var);
        $this->ProficiencyLv = $var;

        return $this;
    }

    /**
     *熟练度已领取奖励
     *
     * Generated from protobuf field <code>repeated int32 ProficiencyReward = 12;</code>
     * @return \Google\Protobuf\Internal\RepeatedField
     */
    public function getProficiencyReward()
    {
        return $this->ProficiencyReward;
    }

    /**
     *熟练度已领取奖励
     *
     * Generated from protobuf field <code>repeated int32 ProficiencyReward = 12;</code>
     * @param int[]|\Google\Protobuf\Internal\RepeatedField $var
     * @return $this
     */
    public function setProficiencyReward($var)
    {
        $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::INT32);
        $this->ProficiencyReward = $arr;

        return $this;
    }

    /**
     *车辆获取时间
     *
     * Generated from protobuf field <code>int32 CreateTime = 13;</code>
     * @return int
     */
    public function getCreateTime()
    {
        return $this->CreateTime;
    }

    /**
     *车辆获取时间
     *
     * Generated from protobuf field <code>int32 CreateTime = 13;</code>
     * @param int $var
     * @return $this
     */
    public function setCreateTime($var)
    {
        GPBUtil::checkInt32($var);
        $this->CreateTime = $var;

        return $this;
    }

}

