PDMProperty - Thouvvv/PlayerDataManager GitHub Wiki

Instances of \Thouv\PDM\PDMProperty are where the data assigned to instances of PDMPlayer is stored. These properties can also contain flags to identify their characteristics.


Constructor

public function __construct(string $property_name, $value, array $flags = null)
$property_name string

This is the name of the property and is used to identify the instance.

$value

This is the value assigned to the property. It contains the "payload."

$flags array

These are the flags that can be used to give the property characteristics. They are in the form [flag_name => flag_value].


PDMProperty::getPropertyName()

This returns the property's name.


PDMProperty::getValue()

This returns the property's value.


Flags

The flags property of the PDMProperty class is an array in the form flag_name => flag_value. A flag is simply a key-value pair. Flags can be used to give characteristics to a property. This is especially useful when selecting properties based on their flags using PDMPlayer::getProperties(). The only reserved flag is no_sync, which is used to bypass a player's sync property. When set to false, the no_sync flag can disable the synchronization of a property despite a player have synchronization turned on. (See PDMProperty::toSyncOrNotToSync()).


PDMProperty::setFlag()

public function setFlag(string $flag_name, $flag_value)
$flag_name string

The name of the flag that will be set.

$flag_value

The value of the flag that will be set.


PDMProperty::getFlag()

public function getFlag(string $flag_name)
$flag_name string

The name of the flag that will be returned.

This returns the specified flag's value, or null if it doesn't exist.


PDMProperty::toSyncOrNotToSync()

This returns true if a property should be synchronized with the provider, false otherwise. This will only return false if the no_sync flag is strictly equal to true.


PDMProperty::toArray()

This returns an array in the form [property_name => [property_value, "flags" => [flag_name1 => flag_value1, flag_name2 => flag_value2, ...]]].