<?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.CRoomPlayer</code>
 */
class CRoomPlayer 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;
    /**
     * 玩家房间位置
     *
     * Generated from protobuf field <code>int32 Team = 12;</code>
     */
    protected $Team = 0;
    /**
     * 玩家角色  1 房间内 2 观战
     *
     * Generated from protobuf field <code>int32 Role = 13;</code>
     */
    protected $Role = 0;
    /**
     * 车等级
     *
     * Generated from protobuf field <code>int32 CarLv = 14;</code>
     */
    protected $CarLv = 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 $Team
     *           玩家房间位置
     *     @type int $Role
     *           玩家角色  1 房间内 2 观战
     *     @type int $CarLv
     *           车等级
     * }
     */
    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;
    }

    /**
     * 玩家房间位置
     *
     * Generated from protobuf field <code>int32 Team = 12;</code>
     * @return int
     */
    public function getTeam()
    {
        return $this->Team;
    }

    /**
     * 玩家房间位置
     *
     * Generated from protobuf field <code>int32 Team = 12;</code>
     * @param int $var
     * @return $this
     */
    public function setTeam($var)
    {
        GPBUtil::checkInt32($var);
        $this->Team = $var;

        return $this;
    }

    /**
     * 玩家角色  1 房间内 2 观战
     *
     * Generated from protobuf field <code>int32 Role = 13;</code>
     * @return int
     */
    public function getRole()
    {
        return $this->Role;
    }

    /**
     * 玩家角色  1 房间内 2 观战
     *
     * Generated from protobuf field <code>int32 Role = 13;</code>
     * @param int $var
     * @return $this
     */
    public function setRole($var)
    {
        GPBUtil::checkInt32($var);
        $this->Role = $var;

        return $this;
    }

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

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

        return $this;
    }

}

