ShareModel

ceramic.Entitytracker.ShareModel (Class)
Implements: ceramic.Component

Static Members

autoShare(model: Model, ?checkInterval: Float = 0.032, ?owner: ceramic.Entity, onChangeset: Function): ShareModel
Name Type Default
model Model
checkInterval Float 0.032
owner ceramic.Entity (optional)
onChangeset Function
Returns
ShareModel

Instance Members

serializedMap: Map

model: Model

entity: Model

destroyModelOnUntrack: Bool

checkInterval: Float

initializerName: String

pause(): Void

resume(): Void

encodeValue(value: Any): Any
Name Type
value Any
Returns
Any

decodeValue(encoded: Any): Any
Name Type
encoded Any
Returns
Any

synchronize(): Void

Synchronize (expected to be called at regular intervals or when something important needs to be serialized)


shareAll(?skipUnchanged: Bool = false, ?done: Function): Void

Recompute the whole object tree. This will untrack every object not on the model anymore and generate a new changeset with the whole serialized object tree.

Name Type Default
skipUnchanged Bool false
done Function (optional)

receiveShared(changeset: ShareChangeset): Void
Name Type
changeset ShareChangeset

new(): Void

Private Members

deserializedMap: Map

destroysToDispatch: Array<String>

lastCheckedFrame: Int

trackedModels: Map

willCleanDestroyedTrackedModels: Bool

dirtyModels: Map

dirty: Bool

paused: Int

emitChangeset(changeset: ShareChangeset): Void

Triggered when there is new data to be shared

Name Type
changeset ShareChangeset

bindAsComponent(): Void

track(model: Model): Void
Name Type
model Model

untrack(model: Model): Void
Name Type
model Model

trackedModelDestroyed(_: ceramic.Entity): Void
Name Type
_ ceramic.Entity

cleanTrackingFromPrevSerializedMap(prevSerializedMap: Map): Void
Name Type
prevSerializedMap Map

modelDirty(model: Model, fromSerializedField: Bool): Void
Name Type
model Model
fromSerializedField Bool

explicitModelDirty(model: Model): Void
Name Type
model Model

synchronizeIfNeeded(): Void

serializeModel(model: Model, shareItems: Array<ShareItem>): Void
Name Type
model Model
shareItems Array<ShareItem>

setEntity(entity: ceramic.Entity): Void
Name Type
entity ceramic.Entity

getEntity(): ceramic.Entity
Returns
ceramic.Entity

Metadata

Name Parameters
:build ceramic.macros.ComponentMacro.build()
:autoBuild ceramic.macros.ComponentMacro.build()
:build ceramic.macros.EntityMacro.buildForCompletion()
:autoBuild ceramic.macros.EntityMacro.buildForCompletion()
:build tracker.macros.EventsMacro.build()
:autoBuild tracker.macros.EventsMacro.build()