/** Ċ Ġ* ĠCopyright Ġ( C ) Ġ 2 0 1 9 ĠDr . ĠDavid ĠH . ĠA keh ur st Ġ( http :// dr . david . h . ake hur st . net ) Ċ Ġ* Ċ Ġ* ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); Ċ Ġ* Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . Ċ Ġ* ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ Ġ* Ċ Ġ* ĠĠĠĠĠĠĠĠ Ġhttp :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ Ġ* Ċ Ġ* ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware Ċ Ġ* Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , Ċ Ġ* ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ġor Ġimplied . Ċ Ġ* ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ċ Ġ* Ġlimitations Ġunder Ġthe ĠLicense . Ċ Ġ*/ Ċ Ċ package Ġnet . ake hur st . k af . simple . hello user . engineering . gre eter 2 gui Ċ Ċ import Ġcom . so y wiz . k orge . K orge Ċ import Ġcom . so y wiz . k orge . scene . Module Ċ import Ġcom . so y wiz . k orge . scene . Scene Ċ import Ġcom . so y wiz . k orge . view . Container Ċ import Ġcom . so y wiz . k orge . view . solid Rect Ċ import Ġcom . so y wiz . kor im . color . Colors Ċ import Ġcom . so y wiz . kor inject . Async Injector Ċ import Ġcom . so y wiz . kor io . async . run Blocking No Sus pension s Ċ import Ġkotlinx . coroutines . Global Scope Ċ import Ġkotlinx . coroutines . launch Ċ import Ġnet . ake hur st . k af . sample . hello user . gre eter . api . Credentials Ċ import Ġnet . ake hur st . k af . sample . hello user . gre eter . api . G reet er Notification Ċ import Ġnet . ake hur st . k af . sample . hello user . gre eter . api . G reet er Request Ċ import Ġnet . ake hur st . k af . sample . hello user . gre eter . api . Message Ċ import Ġkotlin . reflect . K Class Ċ Ċ class ĠG reet er 2 Gui Ġ: ĠG reet er Notification Ġ{ ĊĊĠĠĠ Ġlateinit Ġvar Ġg reet er Request : ĠG reet er Request ĊĊĠĠĠ Ġval Ġstart Scene Ġ= ĠStart Scene () ĊĠĠĠ Ġval Ġlogin Scene Ġ= ĠLogin Scene () ĊĠĠĠ Ġval Ġmessage Scene Ġ= ĠMessage Scene () ĊĊĠĠĠ Ġval Ġmodule Ġ= Ġobject Ġ: ĠModule () Ġ{ ĊĠĠĠĠĠĠĠ Ġoverride Ġval Ġtitle Ġ= Ġ" Hello ĠUser " ĊĠĠĠĠĠĠĠ Ġoverride Ġval Ġmain Scene : ĠK Class < out ĠScene > Ġ= ĠStart Scene :: class ĊĊĠĠĠĠĠĠĠ Ġoverride Ġsuspend Ġfun Ġinit ( injector : ĠAsync Injector ): ĠUnit Ġ= Ġinjector . run Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmap Prototype Ġ{ Ġstart Scene Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmap Prototype Ġ{ Ġlogin Scene Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmap Prototype Ġ{ Ġmessage Scene Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġfun Ġstart () Ġ{ ĊĠĠĠĠĠĠĠ ĠGlobal Scope . launch Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠK orge ( K orge . Config ( module Ġ= Ġmodule )) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// Ġ--- ĠG reet er Notification Ġ--- ĊĊĠĠĠ Ġoverride Ġfun Ġstarted () Ġ{ ĊĠĠĠĠĠĠĠ Ġrun Blocking No Sus pension s Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . start Scene . scene Container . change To < Login Scene >() ĠĠ Ġ// TODO : Ġwhy Ġcan 't ĠI Ġchange To ( login Scene ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠsendMessage ( message : ĠMessage ) Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . message Scene . text Ġ= Ġmessage . value ĊĠĠĠ Ġ} Ċ }