/* Ċ Ġ* Ġ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 . scaling Ċ Ċ import Ġjet brains . liv emap . Live Map Context Ċ import Ġjet brains . liv emap . camera . Zoom Changed Component Ċ import Ġjet brains . liv emap . camera . is Integer Zoom Ċ import Ġjet brains . liv emap . core . ecs . Abstract System Ċ import Ġjet brains . liv emap . core . ecs . E cs Component Manager Ċ import Ġkotlin . math . pow Ċ Ċ class ĠScale 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 ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( context . camera . is Integer Zoom ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( entity Ġin Ġget Entities ( COMPONENT _ TYPES )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġscale Component Ġ= Ġentity . get < Scale Component >() ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġscale Ġ= Ġ 2 . 0 . pow ( context . camera . zoom Ġ- Ġscale Component . zoom ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġscale Component . scale Ġ= Ġscale ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġval ĠCOMPONENT _ TYPES Ġ= ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠZoom Changed Component :: class , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠScale Component :: class ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} Ċ }