package Ġcom . loading . view . space . system Ċ Ċ import Ġcom . badlogic . ash ley . core . Entity Ċ import Ġcom . badlogic . ash ley . core . Family Ċ import Ġcom . badlogic . ash ley . systems . Iter ating System Ċ import Ġcom . loading . view . ecs . util . Vector Float Ċ import Ġcom . loading . view . space . component . Line Component Ċ import Ġcom . loading . view . space . component . Size Component Ċ import Ġcom . loading . view . space . component . Transform Component Ċ Ċ class ĠLines System ( private Ġval Ġprox imity : ĠFloat ) Ġ: ĠIter ating System ( family ) Ġ{ ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġfamily Ġ= ĠFamily ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. all ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠTransform Component :: class . java , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSize Component :: class . java , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLine Component :: class . java ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. get () ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġupdate ( deltaTime : ĠFloat ) Ġ{ ĊĠĠĠĠĠĠĠ Ġ// Ġsuper . update Ġignored ĊĊĠĠĠĠĠĠĠ Ġval Ġsize Ġ= Ġentities . size () ĊĠĠĠĠĠĠĠ Ġfor Ġ( i : ĠInt Ġin Ġ 0 Ġuntil Ġsize ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLine Component . from ( entities [ i ]). active Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġfor Ġ( i : ĠInt Ġin Ġ 0 Ġuntil Ġsize Ġ- Ġ 1 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( e : ĠInt Ġin Ġi Ġ+ Ġ 1 Ġuntil Ġsize ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcheck Line ( entities [ i ], Ġentities [ e ], Ġprox imity ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Suppress (" NOTH ING _ TO _ INLINE ") ĊĠĠĠ Ġprivate Ġinline Ġfun Ġcheck Line ( a : ĠEntity , Ġb : ĠEntity , Ġprox imity : ĠFloat ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġp 1 Ġ= ĠTransform Component . from ( a ). position ĊĠĠĠĠĠĠĠ Ġval Ġp 2 Ġ= ĠTransform Component . from ( b ). position ĊĊĠĠĠĠĠĠĠ Ġval Ġa Type Ġ= ĠSize Component . from ( a ). big ĊĠĠĠĠĠĠĠ Ġval Ġb Type Ġ= ĠSize Component . from ( b ). big ĊĊĠĠĠĠĠĠĠ Ġif Ġ( a Type Ġ== Ġb Type ) Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġline Ġ= ĠLine Component . from ( a ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( Vector Float . distance Squared ( p 1 , Ġp 2 ) Ġ< Ġprox imity Ġ* Ġprox imity ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġline . position . set ( p 2 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġline . active Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġprocess Entity ( entity : ĠEntity ?, Ġdelta Time : ĠFloat ) Ġ{ ĊĠĠĠĠĠĠĠ Ġ// Ġempty , Ġnot Ġused ĊĠĠĠ Ġ} Ċ }