Class: View

markus.View

The root element of the entire tree of objects. Responsible for loading the tree and manipulating the elements.

new markus.View (filepath, onReady)

Name Type Description
filepath string optional

File path to main markfile

onReady function optional

Called when the markfile is loaded and the rendering

Example
const mark = new markus.View('view.mark', () => {
  mark.get('resources').load(() => {
    mark.get('app').start();
  });
}, [Player, Bottle, EnemyController]);

Members

childList Array.<Element>

Root child list which contains all the root elements of the mark file

parser markus.Parser

Marklang parser

ticker PIXI.ticker.Ticker

Main ticker for update all elements. Initially active.

Methods

add (value, parent)Element | Array.<Element>

Add elements to parent node

Name Type Default Description
value string | Array.<string> | Preset | Array.<Preset>

Elements to be added can be either a string or an array of marklang markup strings, or a Preset or an array of Presets.

parent Element view optional

Parent element

Returns:
Type Description
Element | Array.<Element> Returns added items
Example
mark.add('enemy.zombie(level=23)', enemyController);
mark.add(['sprite.tag(prop=1)', 'text | SOME TEXT']);
mark.add([presetEnemy, presetEnemy], enemyController);
mark.add(presetEnemy, enemyController);

addPreset (preset, parent)Element

Add Preset to parent node

Name Type Default Description
preset Preset

Preset object

parent Element view optional

Parent element

Returns:
Type Description
Element Returns added element

find (q, elms, isAll)Array.<Element> | Element

General method for searching items on request

Name Type Default Description
q Object

Query object

Name Type Description
id string

Query id

element string

Query element name

tags Array.<string>

Query element tags

elms Array.<Element>

List Elements

isAll booleon false optional

Do I need to search for all elements by q

Returns:
Type Description
Array.<Element> | Element
Example
mark.find({element: 'sprite', tags: ['cat'], mark.root, true});
> [Sprite, Sptite, Sprite]

get (selector, parent)Element

Get element by selector

Name Type Default Description
selector ELement

Element selector

parent Element view optional

Parent element for search

Returns:
Type Description
Element
Example
mark.get('sprite.cat');
> Sprite

mark.get('sprite.cat.black');
> null

getAll (selector, parent)Array.<Element>

Get elements by selector

Name Type Default Description
selector ELement

Elements selector

parent Element view optional

Parent element for search

Returns:
Type Description
Array.<Element>
Example
mark.getAll('sprite.cat');
> [Sprite, Sptite, Sprite]

mark.getAll('#cat');
> null

isSelectorOfElement (q, elm)booleon

Checks if the request is suitable for the item

Name Type Description
q Object

Query object

Name Type Description
id string

Query id

element string

Query element name

tags Array.<string>

Query element tags

elm Element

Checked Element

Returns:
Type Description
booleon

remove (value, parent)Element | Array.<Element>

Remove elements from parent node

Name Type Default Description
value string | Array.<string> | Element | Array.<Element>

Elements to be removed can be either a string or an array of marklang markup selectors strings, or a Element or an array of Elements.

parent Element view optional

Parent element

Returns:
Type Description
Element | Array.<Element> Returns removed items
Example
mark.remove('enemy.zombie(level=23)', enemyController);
mark.remove([Enemy, Enemy], enemyController);
mark.remove(Enemy, enemyController);

removeElement (el, parent)Element

Remove Element from parent node

Name Type Default Description
el ELement

Element class

parent Element view optional

Parent element

Returns:
Type Description
Element Returns removed element