/* Ċ Ġ* ĠCopyright Ġ( c ) Ġ 2 0 1 9 . ĠJetBrains Ġs . r . o . Ċ Ġ* ĠUse Ġof Ġthis Ġsource Ġcode Ġis Ġgoverned Ġby Ġthe ĠMIT Ġlicense Ġthat Ġcan Ġbe Ġfound Ġin Ġthe ĠLICENSE Ġfile . Ċ Ġ*/ Ċ Ċ package Ġjet brains . liv emap . map engine . placement Ċ Ċ import Ġjet brains . liv emap . Client Ċ import Ġjet brains . liv emap . World Ċ import Ġjet brains . liv emap . World Point Ċ import Ġjet brains . liv emap . core . ecs . Abstract System Ċ import Ġjet brains . liv emap . core . ecs . E cs Component Manager Ċ import Ġjet brains . liv emap . core . ecs . on Each Entity 3 Ċ import Ġjet brains . liv emap . core . layers . Parent Layer Component Ċ import Ġjet brains . liv emap . core . projection s . Projection s Ċ import Ġjet brains . liv emap . map engine . Live Map Context Ċ import Ġjet brains . liv emap . map engine . camera . Zoom Level Changed Component Ċ Ċ class ĠWorld Dimension 2 Screen Update System ( component Manager : ĠE cs Component Manager ) Ġ: ĊĠĠĠ ĠAbstract System < Live Map Context >( component Manager ) Ġ{ ĊĊĠĠĠ Ġoverride Ġfun Ġupdate Impl ( context : ĠLive Map Context , Ġdt : ĠDouble ) Ġ{ ĊĠĠĠĠĠĠĠ Ġon Each Entity 3 < Zoom Level Changed Component , ĠWorld Dimension Component , ĠParent Layer Component > Ġ{ Ġentity , Ġ_, Ġdimension Component , Ġ_ Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdimension Component ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. dimension ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. let Ġ{ Ġworld 2 Screen ( it , Ġcontext . camera . zoom . toInt ()) Ġ} Ġ// Ġbe cu ase Ġof ĠZoom Level Changed Component Ġzoom Ġexpected Ġto Ġbe Ġan Ġinteger ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. let Ġ{ Ġentity . provide (:: Screen Dimension Component ). dimension Ġ= Ġit Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠParent Layer Component . tag Dirty Parent Layer ( entity ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġfun Ġworld 2 Screen ( p : ĠWorld Point , Ġzoom : ĠInt ) Ġ= ĠProjection s . zoom < World , ĠClient > Ġ{ Ġzoom Ġ}. project ( p ) ĊĠĠĠ Ġ} Ċ } Ċ