<?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.RoomPlayer</code>
 */
class RoomPlayer extends \Google\Protobuf\Internal\Message
{
    /**
     * Generated from protobuf field <code>uint64 PlayerID = 1;</code>
     */
    protected $PlayerID = 0;
    /**
     * Generated from protobuf field <code>int32 CarTplID = 2;</code>
     */
    protected $CarTplID = 0;
    /**
     * Generated from protobuf field <code>int32 JoinTime = 3;</code>
     */
    protected $JoinTime = 0;
    /**
     * Generated from protobuf field <code>int32 State = 4;</code>
     */
    protected $State = 0;
    /**
     * Generated from protobuf field <code>int32 Head = 5;</code>
     */
    protected $Head = 0;
    /**
     * Generated from protobuf field <code>string NickName = 6;</code>
     */
    protected $NickName = '';
    /**
     * 外观改造
     *
     * Generated from protobuf field <code>string ExteriorRefit = 7;</code>
     */
    protected $ExteriorRefit = '';
    /**
     * Generated from protobuf field <code>int32 Gender = 8;</code>
     */
    protected $Gender = 0;
    /**
     * Generated from protobuf field <code>.Game.Protobuf.ClothData Cloth = 9;</code>
     */
    protected $Cloth = null;
    /**
     *熟练度等级
     *
     * Generated from protobuf field <code>int32 ProficiencyLv = 10;</code>
     */
    protected $ProficiencyLv = 0;
    /**
     *熟练度经验
     *
     * Generated from protobuf field <code>int32 Proficiency = 11;</code>
     */
    protected $Proficiency = 0;
    /**
     *选择位置 0随机1竞速位2干扰位3辅助位
     *
     * Generated from protobuf field <code>int32 Position = 12;</code>
     */
    protected $Position = 0;
    /**
     *大乱斗积分
     *
     * Generated from protobuf field <code>int32 ScuffleScore = 13;</code>
     */
    protected $ScuffleScore = 0;
    /**
     *连胜次数
     *
     * Generated from protobuf field <code>int32 ContinuityWin = 14;</code>
     */
    protected $ContinuityWin = 0;
    /**
     *肤色
     *
     * Generated from protobuf field <code>int32 SkinColor = 15;</code>
     */
    protected $SkinColor = 0;
    /**
     * 车等级
     *
     * Generated from protobuf field <code>int32 CarLv = 16;</code>
     */
    protected $CarLv = 0;
    /**
     *玩家等级
     *
     * Generated from protobuf field <code>int32 Level = 17;</code>
     */
    protected $Level = 0;
    /**
     *段位等级
     *
     * Generated from protobuf field <code>int32 Dan = 18;</code>
     */
    protected $Dan = 0;

    /**
     * Constructor.
     *
     * @param array $data {
     *     Optional. Data for populating the Message object.
     *
     *     @type int|string $PlayerID
     *     @type int $CarTplID
     *     @type int $JoinTime
     *     @type int $State
     *     @type int $Head
     *     @type string $NickName
     *     @type string $ExteriorRefit
     *           外观改造
     *     @type int $Gender
     *     @type \Game\Protobuf\ClothData $Cloth
     *     @type int $ProficiencyLv
     *          熟练度等级
     *     @type int $Proficiency
     *          熟练度经验
     *     @type int $Position
     *          选择位置 0随机1竞速位2干扰位3辅助位
     *     @type int $ScuffleScore
     *          大乱斗积分
     *     @type int $ContinuityWin
     *          连胜次数
     *     @type int $SkinColor
     *          肤色
     *     @type int $CarLv
     *           车等级
     *     @type int $Level
     *          玩家等级
     *     @type int $Dan
     *          段位等级
     * }
     */
    public function __construct($data = NULL) {
        \GPBMetadata\ClientGamePacket::initOnce();
        parent::__construct($data);
    }

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

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

        return $this;
    }

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

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

        return $this;
    }

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

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

        return $this;
    }

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

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

        return $this;
    }

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

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

        return $this;
    }

    /**
     * Generated from protobuf field <code>string NickName = 6;</code>
     * @return string
     */
    public function getNickName()
    {
        return $this->NickName;
    }

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

        return $this;
    }

    /**
     * 外观改造
     *
     * Generated from protobuf field <code>string ExteriorRefit = 7;</code>
     * @return string
     */
    public function getExteriorRefit()
    {
        return $this->ExteriorRefit;
    }

    /**
     * 外观改造
     *
     * Generated from protobuf field <code>string ExteriorRefit = 7;</code>
     * @param string $var
     * @return $this
     */
    public function setExteriorRefit($var)
    {
        GPBUtil::checkString($var, True);
        $this->ExteriorRefit = $var;

        return $this;
    }

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

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

        return $this;
    }

    /**
     * Generated from protobuf field <code>.Game.Protobuf.ClothData Cloth = 9;</code>
     * @return \Game\Protobuf\ClothData|null
     */
    public function getCloth()
    {
        return $this->Cloth;
    }

    public function hasCloth()
    {
        return isset($this->Cloth);
    }

    public function clearCloth()
    {
        unset($this->Cloth);
    }

    /**
     * Generated from protobuf field <code>.Game.Protobuf.ClothData Cloth = 9;</code>
     * @param \Game\Protobuf\ClothData $var
     * @return $this
     */
    public function setCloth($var)
    {
        GPBUtil::checkMessage($var, \Game\Protobuf\ClothData::class);
        $this->Cloth = $var;

        return $this;
    }

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

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

        return $this;
    }

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

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

        return $this;
    }

    /**
     *选择位置 0随机1竞速位2干扰位3辅助位
     *
     * Generated from protobuf field <code>int32 Position = 12;</code>
     * @return int
     */
    public function getPosition()
    {
        return $this->Position;
    }

    /**
     *选择位置 0随机1竞速位2干扰位3辅助位
     *
     * Generated from protobuf field <code>int32 Position = 12;</code>
     * @param int $var
     * @return $this
     */
    public function setPosition($var)
    {
        GPBUtil::checkInt32($var);
        $this->Position = $var;

        return $this;
    }

    /**
     *大乱斗积分
     *
     * Generated from protobuf field <code>int32 ScuffleScore = 13;</code>
     * @return int
     */
    public function getScuffleScore()
    {
        return $this->ScuffleScore;
    }

    /**
     *大乱斗积分
     *
     * Generated from protobuf field <code>int32 ScuffleScore = 13;</code>
     * @param int $var
     * @return $this
     */
    public function setScuffleScore($var)
    {
        GPBUtil::checkInt32($var);
        $this->ScuffleScore = $var;

        return $this;
    }

    /**
     *连胜次数
     *
     * Generated from protobuf field <code>int32 ContinuityWin = 14;</code>
     * @return int
     */
    public function getContinuityWin()
    {
        return $this->ContinuityWin;
    }

    /**
     *连胜次数
     *
     * Generated from protobuf field <code>int32 ContinuityWin = 14;</code>
     * @param int $var
     * @return $this
     */
    public function setContinuityWin($var)
    {
        GPBUtil::checkInt32($var);
        $this->ContinuityWin = $var;

        return $this;
    }

    /**
     *肤色
     *
     * Generated from protobuf field <code>int32 SkinColor = 15;</code>
     * @return int
     */
    public function getSkinColor()
    {
        return $this->SkinColor;
    }

    /**
     *肤色
     *
     * Generated from protobuf field <code>int32 SkinColor = 15;</code>
     * @param int $var
     * @return $this
     */
    public function setSkinColor($var)
    {
        GPBUtil::checkInt32($var);
        $this->SkinColor = $var;

        return $this;
    }

    /**
     * 车等级
     *
     * Generated from protobuf field <code>int32 CarLv = 16;</code>
     * @return int
     */
    public function getCarLv()
    {
        return $this->CarLv;
    }

    /**
     * 车等级
     *
     * Generated from protobuf field <code>int32 CarLv = 16;</code>
     * @param int $var
     * @return $this
     */
    public function setCarLv($var)
    {
        GPBUtil::checkInt32($var);
        $this->CarLv = $var;

        return $this;
    }

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

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

        return $this;
    }

    /**
     *段位等级
     *
     * Generated from protobuf field <code>int32 Dan = 18;</code>
     * @return int
     */
    public function getDan()
    {
        return $this->Dan;
    }

    /**
     *段位等级
     *
     * Generated from protobuf field <code>int32 Dan = 18;</code>
     * @param int $var
     * @return $this
     */
    public function setDan($var)
    {
        GPBUtil::checkInt32($var);
        $this->Dan = $var;

        return $this;
    }

}

