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

namespace Douyin;

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

/**
 * Generated from protobuf message <code>douyin.EffectConfig</code>
 */
class EffectConfig extends \Google\Protobuf\Internal\Message
{
    /**
     * Generated from protobuf field <code>uint64 type = 1;</code>
     */
    protected $type = 0;
    /**
     * Generated from protobuf field <code>.douyin.Image icon = 2;</code>
     */
    protected $icon = null;
    /**
     * Generated from protobuf field <code>uint64 avatarPos = 3;</code>
     */
    protected $avatarPos = 0;
    /**
     * Generated from protobuf field <code>.douyin.Text text = 4;</code>
     */
    protected $text = null;
    /**
     * Generated from protobuf field <code>.douyin.Image textIcon = 5;</code>
     */
    protected $textIcon = null;
    /**
     * Generated from protobuf field <code>uint32 stayTime = 6;</code>
     */
    protected $stayTime = 0;
    /**
     * Generated from protobuf field <code>uint64 animAssetId = 7;</code>
     */
    protected $animAssetId = 0;
    /**
     * Generated from protobuf field <code>.douyin.Image badge = 8;</code>
     */
    protected $badge = null;
    /**
     * Generated from protobuf field <code>repeated uint64 flexSettingArrayList = 9;</code>
     */
    private $flexSettingArrayList;
    /**
     * Generated from protobuf field <code>.douyin.Image textIconOverlay = 10;</code>
     */
    protected $textIconOverlay = null;
    /**
     * Generated from protobuf field <code>.douyin.Image animatedBadge = 11;</code>
     */
    protected $animatedBadge = null;
    /**
     * Generated from protobuf field <code>bool hasSweepLight = 12;</code>
     */
    protected $hasSweepLight = false;
    /**
     * Generated from protobuf field <code>repeated uint64 textFlexSettingArrayList = 13;</code>
     */
    private $textFlexSettingArrayList;
    /**
     * Generated from protobuf field <code>uint64 centerAnimAssetId = 14;</code>
     */
    protected $centerAnimAssetId = 0;
    /**
     * Generated from protobuf field <code>.douyin.Image dynamicImage = 15;</code>
     */
    protected $dynamicImage = null;
    /**
     * Generated from protobuf field <code>map<string, string> extraMap = 16;</code>
     */
    private $extraMap;
    /**
     * Generated from protobuf field <code>uint64 mp4AnimAssetId = 17;</code>
     */
    protected $mp4AnimAssetId = 0;
    /**
     * Generated from protobuf field <code>uint64 priority = 18;</code>
     */
    protected $priority = 0;
    /**
     * Generated from protobuf field <code>uint64 maxWaitTime = 19;</code>
     */
    protected $maxWaitTime = 0;
    /**
     * Generated from protobuf field <code>string dressId = 20;</code>
     */
    protected $dressId = '';
    /**
     * Generated from protobuf field <code>uint64 alignment = 21;</code>
     */
    protected $alignment = 0;
    /**
     * Generated from protobuf field <code>uint64 alignmentOffset = 22;</code>
     */
    protected $alignmentOffset = 0;

    /**
     * Constructor.
     *
     * @param array $data {
     *     Optional. Data for populating the Message object.
     *
     *     @type int|string $type
     *     @type \Douyin\Image $icon
     *     @type int|string $avatarPos
     *     @type \Douyin\Text $text
     *     @type \Douyin\Image $textIcon
     *     @type int $stayTime
     *     @type int|string $animAssetId
     *     @type \Douyin\Image $badge
     *     @type array<int>|array<string>|\Google\Protobuf\Internal\RepeatedField $flexSettingArrayList
     *     @type \Douyin\Image $textIconOverlay
     *     @type \Douyin\Image $animatedBadge
     *     @type bool $hasSweepLight
     *     @type array<int>|array<string>|\Google\Protobuf\Internal\RepeatedField $textFlexSettingArrayList
     *     @type int|string $centerAnimAssetId
     *     @type \Douyin\Image $dynamicImage
     *     @type array|\Google\Protobuf\Internal\MapField $extraMap
     *     @type int|string $mp4AnimAssetId
     *     @type int|string $priority
     *     @type int|string $maxWaitTime
     *     @type string $dressId
     *     @type int|string $alignment
     *     @type int|string $alignmentOffset
     * }
     */
    public function __construct($data = NULL) {
        \GPBMetadata\Dy::initOnce();
        parent::__construct($data);
    }

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

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

        return $this;
    }

    /**
     * Generated from protobuf field <code>.douyin.Image icon = 2;</code>
     * @return \Douyin\Image|null
     */
    public function getIcon()
    {
        return $this->icon;
    }

    public function hasIcon()
    {
        return isset($this->icon);
    }

    public function clearIcon()
    {
        unset($this->icon);
    }

    /**
     * Generated from protobuf field <code>.douyin.Image icon = 2;</code>
     * @param \Douyin\Image $var
     * @return $this
     */
    public function setIcon($var)
    {
        GPBUtil::checkMessage($var, \Douyin\Image::class);
        $this->icon = $var;

        return $this;
    }

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

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

        return $this;
    }

    /**
     * Generated from protobuf field <code>.douyin.Text text = 4;</code>
     * @return \Douyin\Text|null
     */
    public function getText()
    {
        return $this->text;
    }

    public function hasText()
    {
        return isset($this->text);
    }

    public function clearText()
    {
        unset($this->text);
    }

    /**
     * Generated from protobuf field <code>.douyin.Text text = 4;</code>
     * @param \Douyin\Text $var
     * @return $this
     */
    public function setText($var)
    {
        GPBUtil::checkMessage($var, \Douyin\Text::class);
        $this->text = $var;

        return $this;
    }

    /**
     * Generated from protobuf field <code>.douyin.Image textIcon = 5;</code>
     * @return \Douyin\Image|null
     */
    public function getTextIcon()
    {
        return $this->textIcon;
    }

    public function hasTextIcon()
    {
        return isset($this->textIcon);
    }

    public function clearTextIcon()
    {
        unset($this->textIcon);
    }

    /**
     * Generated from protobuf field <code>.douyin.Image textIcon = 5;</code>
     * @param \Douyin\Image $var
     * @return $this
     */
    public function setTextIcon($var)
    {
        GPBUtil::checkMessage($var, \Douyin\Image::class);
        $this->textIcon = $var;

        return $this;
    }

    /**
     * Generated from protobuf field <code>uint32 stayTime = 6;</code>
     * @return int
     */
    public function getStayTime()
    {
        return $this->stayTime;
    }

    /**
     * Generated from protobuf field <code>uint32 stayTime = 6;</code>
     * @param int $var
     * @return $this
     */
    public function setStayTime($var)
    {
        GPBUtil::checkUint32($var);
        $this->stayTime = $var;

        return $this;
    }

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

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

        return $this;
    }

    /**
     * Generated from protobuf field <code>.douyin.Image badge = 8;</code>
     * @return \Douyin\Image|null
     */
    public function getBadge()
    {
        return $this->badge;
    }

    public function hasBadge()
    {
        return isset($this->badge);
    }

    public function clearBadge()
    {
        unset($this->badge);
    }

    /**
     * Generated from protobuf field <code>.douyin.Image badge = 8;</code>
     * @param \Douyin\Image $var
     * @return $this
     */
    public function setBadge($var)
    {
        GPBUtil::checkMessage($var, \Douyin\Image::class);
        $this->badge = $var;

        return $this;
    }

    /**
     * Generated from protobuf field <code>repeated uint64 flexSettingArrayList = 9;</code>
     * @return \Google\Protobuf\Internal\RepeatedField
     */
    public function getFlexSettingArrayList()
    {
        return $this->flexSettingArrayList;
    }

    /**
     * Generated from protobuf field <code>repeated uint64 flexSettingArrayList = 9;</code>
     * @param array<int>|array<string>|\Google\Protobuf\Internal\RepeatedField $var
     * @return $this
     */
    public function setFlexSettingArrayList($var)
    {
        $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::UINT64);
        $this->flexSettingArrayList = $arr;

        return $this;
    }

    /**
     * Generated from protobuf field <code>.douyin.Image textIconOverlay = 10;</code>
     * @return \Douyin\Image|null
     */
    public function getTextIconOverlay()
    {
        return $this->textIconOverlay;
    }

    public function hasTextIconOverlay()
    {
        return isset($this->textIconOverlay);
    }

    public function clearTextIconOverlay()
    {
        unset($this->textIconOverlay);
    }

    /**
     * Generated from protobuf field <code>.douyin.Image textIconOverlay = 10;</code>
     * @param \Douyin\Image $var
     * @return $this
     */
    public function setTextIconOverlay($var)
    {
        GPBUtil::checkMessage($var, \Douyin\Image::class);
        $this->textIconOverlay = $var;

        return $this;
    }

    /**
     * Generated from protobuf field <code>.douyin.Image animatedBadge = 11;</code>
     * @return \Douyin\Image|null
     */
    public function getAnimatedBadge()
    {
        return $this->animatedBadge;
    }

    public function hasAnimatedBadge()
    {
        return isset($this->animatedBadge);
    }

    public function clearAnimatedBadge()
    {
        unset($this->animatedBadge);
    }

    /**
     * Generated from protobuf field <code>.douyin.Image animatedBadge = 11;</code>
     * @param \Douyin\Image $var
     * @return $this
     */
    public function setAnimatedBadge($var)
    {
        GPBUtil::checkMessage($var, \Douyin\Image::class);
        $this->animatedBadge = $var;

        return $this;
    }

    /**
     * Generated from protobuf field <code>bool hasSweepLight = 12;</code>
     * @return bool
     */
    public function getHasSweepLight()
    {
        return $this->hasSweepLight;
    }

    /**
     * Generated from protobuf field <code>bool hasSweepLight = 12;</code>
     * @param bool $var
     * @return $this
     */
    public function setHasSweepLight($var)
    {
        GPBUtil::checkBool($var);
        $this->hasSweepLight = $var;

        return $this;
    }

    /**
     * Generated from protobuf field <code>repeated uint64 textFlexSettingArrayList = 13;</code>
     * @return \Google\Protobuf\Internal\RepeatedField
     */
    public function getTextFlexSettingArrayList()
    {
        return $this->textFlexSettingArrayList;
    }

    /**
     * Generated from protobuf field <code>repeated uint64 textFlexSettingArrayList = 13;</code>
     * @param array<int>|array<string>|\Google\Protobuf\Internal\RepeatedField $var
     * @return $this
     */
    public function setTextFlexSettingArrayList($var)
    {
        $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::UINT64);
        $this->textFlexSettingArrayList = $arr;

        return $this;
    }

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

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

        return $this;
    }

    /**
     * Generated from protobuf field <code>.douyin.Image dynamicImage = 15;</code>
     * @return \Douyin\Image|null
     */
    public function getDynamicImage()
    {
        return $this->dynamicImage;
    }

    public function hasDynamicImage()
    {
        return isset($this->dynamicImage);
    }

    public function clearDynamicImage()
    {
        unset($this->dynamicImage);
    }

    /**
     * Generated from protobuf field <code>.douyin.Image dynamicImage = 15;</code>
     * @param \Douyin\Image $var
     * @return $this
     */
    public function setDynamicImage($var)
    {
        GPBUtil::checkMessage($var, \Douyin\Image::class);
        $this->dynamicImage = $var;

        return $this;
    }

    /**
     * Generated from protobuf field <code>map<string, string> extraMap = 16;</code>
     * @return \Google\Protobuf\Internal\MapField
     */
    public function getExtraMap()
    {
        return $this->extraMap;
    }

    /**
     * Generated from protobuf field <code>map<string, string> extraMap = 16;</code>
     * @param array|\Google\Protobuf\Internal\MapField $var
     * @return $this
     */
    public function setExtraMap($var)
    {
        $arr = GPBUtil::checkMapField($var, \Google\Protobuf\Internal\GPBType::STRING, \Google\Protobuf\Internal\GPBType::STRING);
        $this->extraMap = $arr;

        return $this;
    }

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

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

        return $this;
    }

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

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

        return $this;
    }

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

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

        return $this;
    }

    /**
     * Generated from protobuf field <code>string dressId = 20;</code>
     * @return string
     */
    public function getDressId()
    {
        return $this->dressId;
    }

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

        return $this;
    }

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

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

        return $this;
    }

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

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

        return $this;
    }

}

