<?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.DrivingLicenseLevel</code>
 */
class DrivingLicenseLevel extends \Google\Protobuf\Internal\Message
{
    /**
     *关卡id
     *
     * Generated from protobuf field <code>int32 Id = 1;</code>
     */
    protected $Id = 0;
    /**
     *目标完成状态 [x,x,..]   x=>0未挑战 1未通过 2完成
     *
     * Generated from protobuf field <code>repeated int32 TargetStatus = 2;</code>
     */
    private $TargetStatus;
    /**
     *关卡状态 0挑战中 1已通关
     *
     * Generated from protobuf field <code>int32 Status = 3;</code>
     */
    protected $Status = 0;
    /**
     *奖励状态 0不可领取 1可领取 2已领取
     *
     * Generated from protobuf field <code>int32 RewardStatus = 4;</code>
     */
    protected $RewardStatus = 0;

    /**
     * Constructor.
     *
     * @param array $data {
     *     Optional. Data for populating the Message object.
     *
     *     @type int $Id
     *          关卡id
     *     @type int[]|\Google\Protobuf\Internal\RepeatedField $TargetStatus
     *          目标完成状态 [x,x,..]   x=>0未挑战 1未通过 2完成
     *     @type int $Status
     *          关卡状态 0挑战中 1已通关
     *     @type int $RewardStatus
     *          奖励状态 0不可领取 1可领取 2已领取
     * }
     */
    public function __construct($data = NULL) {
        \GPBMetadata\ClientGamePacket::initOnce();
        parent::__construct($data);
    }

    /**
     *关卡id
     *
     * Generated from protobuf field <code>int32 Id = 1;</code>
     * @return int
     */
    public function getId()
    {
        return $this->Id;
    }

    /**
     *关卡id
     *
     * Generated from protobuf field <code>int32 Id = 1;</code>
     * @param int $var
     * @return $this
     */
    public function setId($var)
    {
        GPBUtil::checkInt32($var);
        $this->Id = $var;

        return $this;
    }

    /**
     *目标完成状态 [x,x,..]   x=>0未挑战 1未通过 2完成
     *
     * Generated from protobuf field <code>repeated int32 TargetStatus = 2;</code>
     * @return \Google\Protobuf\Internal\RepeatedField
     */
    public function getTargetStatus()
    {
        return $this->TargetStatus;
    }

    /**
     *目标完成状态 [x,x,..]   x=>0未挑战 1未通过 2完成
     *
     * Generated from protobuf field <code>repeated int32 TargetStatus = 2;</code>
     * @param int[]|\Google\Protobuf\Internal\RepeatedField $var
     * @return $this
     */
    public function setTargetStatus($var)
    {
        $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::INT32);
        $this->TargetStatus = $arr;

        return $this;
    }

    /**
     *关卡状态 0挑战中 1已通关
     *
     * Generated from protobuf field <code>int32 Status = 3;</code>
     * @return int
     */
    public function getStatus()
    {
        return $this->Status;
    }

    /**
     *关卡状态 0挑战中 1已通关
     *
     * Generated from protobuf field <code>int32 Status = 3;</code>
     * @param int $var
     * @return $this
     */
    public function setStatus($var)
    {
        GPBUtil::checkInt32($var);
        $this->Status = $var;

        return $this;
    }

    /**
     *奖励状态 0不可领取 1可领取 2已领取
     *
     * Generated from protobuf field <code>int32 RewardStatus = 4;</code>
     * @return int
     */
    public function getRewardStatus()
    {
        return $this->RewardStatus;
    }

    /**
     *奖励状态 0不可领取 1可领取 2已领取
     *
     * Generated from protobuf field <code>int32 RewardStatus = 4;</code>
     * @param int $var
     * @return $this
     */
    public function setRewardStatus($var)
    {
        GPBUtil::checkInt32($var);
        $this->RewardStatus = $var;

        return $this;
    }

}

