UNPKG

@phaserjs/phaser

Version:
41 lines (40 loc) 1.88 kB
import { ClearDirtyColor } from "../components/dirty/ClearDirtyColor"; import { ColorComponent } from "../components/color/ColorComponent"; import { GameObjectCache } from "../gameobjects/GameObjectCache"; import { HasDirtyColor } from "../components/dirty/HasDirtyColor"; import { HasDirtyTransform } from "../components/dirty/HasDirtyTransform"; import { HasDirtyWorldTransform } from "../components/dirty/HasDirtyWorldTransform"; import { SetInViewFromBounds } from "../components/transform/SetInViewFromBounds"; import { SetQuadColor } from "../components/vertices/SetQuadColor"; import { UpdateTransforms } from "../components/transform/UpdateTransforms"; import { UpdateWorldTransform } from "../components/transform/UpdateWorldTransform"; export function UpdateNode(id, parentID, checkColor, checkTransform, cx, cy, cright, cbottom, forceUpdate, parentIsDisplayList, renderData) { renderData.dirtyQuad++; if (checkColor && HasDirtyColor(id)) { const r = ColorComponent.r[id] / 255; const g = ColorComponent.g[id] / 255; const b = ColorComponent.b[id] / 255; const a = ColorComponent.a[id]; SetQuadColor(id, r, g, b, a); ClearDirtyColor(id); renderData.dirtyColor++; } if (checkTransform) { let hasUpdated = false; if (HasDirtyTransform(id)) { UpdateTransforms(id, cx, cy, cright, cbottom, forceUpdate, parentIsDisplayList); hasUpdated = true; renderData.dirtyLocal++; } else if (HasDirtyWorldTransform(parentID)) { UpdateWorldTransform(id, parentID, cx, cy, cright, cbottom, forceUpdate, parentIsDisplayList); hasUpdated = true; renderData.dirtyWorld++; } else if (forceUpdate) { SetInViewFromBounds(id, cx, cy, cright, cbottom); renderData.dirtyView++; } if (hasUpdated && parentIsDisplayList) { GameObjectCache.get(parentID).onUpdateChild(id); } } }