// ĠTHIS ĠFILE ĠIS ĠGENERATED ! ĠDO ĠNOT ĠEDIT ĠIT ĠMAN U ALLY ! Ċ @ file : Suppress (" Package Directory Mismatch ", Ġ" unused ", Ġ" FunctionName ", Ġ" Red undant Modal ity Modifier ", ĊĠĠĠ Ġ" UN CHECK ED _ CAST ", Ġ" Join Declaration And Assignment ", Ġ" USE LESS _ CAST ", ĊĠĠĠ Ġ" Remove Red undant Qualifier Name ", Ġ" NOTH ING _ TO _ INLINE ") Ċ Ċ package Ġgod ot Ċ Ċ import Ġgod ot .` annotation `. God ot BaseType Ċ import Ġgod ot . core . Dictionary Ċ import Ġgod ot . core . God ot Error Ċ import Ġgod ot . core . Transfer Context Ċ import Ġgod ot . core . Variant Type . BOOL Ċ import Ġgod ot . core . Variant Type . JVM _ INT Ċ import Ġgod ot . core . Variant Type . LONG Ċ import Ġgod ot . core . Variant Type . OBJECT Ċ import Ġkotlin . Any Ċ import Ġkotlin . Boolean Ċ import Ġkotlin . Int Ċ import Ġkotlin . Long Ċ import Ġkotlin . NotImplemented Error Ċ import Ġkotlin . Suppress Ċ import Ġkotlin . Unit Ċ Ċ /** Ċ Ġ* ĠAn Ġabstraction Ġof Ġa Ġserialized Ġscene . Ċ Ġ* Ċ Ġ* ĠTutorial s : Ċ Ġ* Ġ[ https :// godot engine . org / asset - library / asset / 5 2 0 ]( https :// godot engine . org / asset - library / asset / 5 2 0 ) Ċ Ġ* Ċ Ġ* ĠA Ġsimplified Ġinterface Ġto Ġa Ġscene Ġfile . ĠProvides Ġaccess Ġto Ġoperations Ġand Ġchecks Ġthat Ġcan Ġbe Ġperformed Ġon Ġthe Ġscene Ġresource Ġitself . Ċ Ġ* Ċ Ġ* ĠCan Ġbe Ġused Ġto Ġsave Ġa Ġnode Ġto Ġa Ġfile . ĠWhen Ġsaving , Ġthe Ġnode Ġas Ġwell Ġas Ġall Ġthe Ġnodes Ġit Ġowns Ġget Ġsaved Ġ( see Ġ` owner ` Ġproperty Ġon Ġ[ godot . Node ]). Ċ Ġ* Ċ Ġ* Ġ** Note :** ĠThe Ġnode Ġdoesn 't Ġneed Ġto Ġown Ġitself . Ċ Ġ* Ċ Ġ* Ġ** Example Ġof Ġloading Ġa Ġsaved Ġscene :** Ċ Ġ* Ċ Ġ* Ġ``` Ċ Ġ* Ġĉ ĉ # ĠUse Ġ` load ()` Ġinstead Ġof Ġ` preload ()` Ġif Ġthe Ġpath Ġisn 't Ġknown Ġat Ġcompile - time . Ċ Ġ* Ġĉ ĉ var Ġscene Ġ= Ġpreload (" res :// scene . tsc n "). instance () Ċ Ġ* Ġĉ ĉ # ĠAdd Ġthe Ġnode Ġas Ġa Ġchild Ġof Ġthe Ġnode Ġthe Ġscript Ġis Ġattached Ġto . Ċ Ġ* Ġĉ ĉ add _ child ( scene ) Ċ Ġ* Ġĉ ĉ ``` Ċ Ġ* Ċ Ġ* Ġ** Example Ġof Ġsaving Ġa Ġnode Ġwith Ġdifferent Ġowners :** ĠThe Ġfollowing Ġexample Ġcreates Ġ 3 Ġobjects : Ġ` Node 2 D ` Ġ(` node `), Ġ` Rigid Body 2 D ` Ġ(` rigid `) Ġand Ġ` Collision Object 2 D ` Ġ(` collision `). Ġ` collision ` Ġis Ġa Ġchild Ġof Ġ` rigid ` Ġwhich Ġis Ġa Ġchild Ġof Ġ` node `. ĠOnly Ġ` rigid ` Ġis Ġowned Ġby Ġ` node ` Ġand Ġ` pack ` Ġwill Ġtherefore Ġonly Ġsave Ġthose Ġtwo Ġnodes , Ġbut Ġnot Ġ` collision `. Ċ Ġ* Ċ Ġ* Ġ``` Ċ Ġ* Ġĉ ĉ # ĠCreate Ġthe Ġobjects . Ċ Ġ* Ġĉ ĉ var Ġnode Ġ= ĠNode 2 D . new () Ċ Ġ* Ġĉ ĉ var Ġrigid Ġ= ĠRigid Body 2 D . new () Ċ Ġ* Ġĉ ĉ var Ġcollision Ġ= ĠCollision Shape 2 D . new () Ċ Ġ* Ċ Ġ* Ġĉ ĉ # ĠCreate Ġthe Ġobject Ġhierarchy . Ċ Ġ* Ġĉ ĉ rigid . add _ child ( collision ) Ċ Ġ* Ġĉ ĉ node . add _ child ( rigid ) Ċ Ġ* Ċ Ġ* Ġĉ ĉ # ĠChange Ġowner Ġof Ġ` rigid `, Ġbut Ġnot Ġof Ġ` collision `. Ċ Ġ* Ġĉ ĉ rigid . owner Ġ= Ġnode Ċ Ġ* Ċ Ġ* Ġĉ ĉ var Ġscene Ġ= ĠPacked Scene . new () Ċ Ġ* Ġĉ ĉ # ĠOnly Ġ` node ` Ġand Ġ` rigid ` Ġare Ġnow Ġpacked . Ċ Ġ* Ġĉ ĉ var Ġresult Ġ= Ġscene . pack ( node ) Ċ Ġ* Ġĉ ĉ if Ġresult Ġ== ĠOK : Ċ Ġ* Ġĉĉ ĠĠĠ Ġvar Ġerror Ġ= ĠResource Saver . save (" res :// path / name . sc n ", Ġscene ) Ġ Ġ# ĠOr Ġ" user :// ..." Ċ Ġ* Ġĉĉ ĠĠĠ Ġif Ġerror Ġ!= ĠOK : Ċ Ġ* Ġĉĉ ĠĠĠĠĠĠĠ Ġpush _ error (" An Ġerror Ġoccurred Ġwhile Ġsaving Ġthe Ġscene Ġto Ġdisk .") Ċ Ġ* Ġĉ ĉ ``` Ċ Ġ*/ Ċ @ God ot BaseType Ċ public Ġopen Ġclass ĠPacked Scene Ġ: ĠResource () Ġ{ ĊĠ Ġpublic Ġoverride Ġfun Ġ__ new (): ĠUnit Ġ{ ĊĠĠĠ Ġcall Constructor ( ENGINE CLASS _ PACK ED SC ENE ) ĊĠ Ġ} ĊĊĠ Ġpublic Ġopen Ġfun Ġ_ getB und led Scene (): ĠDictionary < Any ?, ĠAny ?> Ġ{ ĊĠĠĠ Ġthrow ĠNotImplementedError ("_ get _ bund led _ scene Ġis Ġnot Ġimplemented Ġfor ĠPacked Scene ") ĊĠ Ġ} ĊĊĠ Ġpublic Ġopen Ġfun Ġ_ set Bund led Scene ( arg 0 : ĠDictionary < Any ?, ĠAny ?> ): ĠUnit Ġ{ ĊĠ Ġ} ĊĊĠ Ġ/** ĊĠĠ Ġ* ĠReturns Ġ` true ` Ġif Ġthe Ġscene Ġfile Ġhas Ġnodes . ĊĠĠ Ġ*/ ĊĠ Ġpublic Ġopen Ġfun Ġcan Instance (): ĠBoolean Ġ{ ĊĠĠĠ ĠTransfer Context . write Arguments () ĊĠĠĠ ĠTransfer Context . call Method ( raw Ptr , ĠENGINE METHOD _ ENGINE CLASS _ PACK ED SC ENE _ CAN _ INSTANCE , ĠBOOL ) ĊĠĠĠ Ġreturn ĠTransfer Context . read ReturnValue ( BOOL , Ġfalse ) Ġas ĠBoolean ĊĠ Ġ} ĊĊĠ Ġ/** ĊĠĠ Ġ* ĠReturns Ġthe Ġ` Scene State ` Ġrepresenting Ġthe Ġscene Ġfile Ġcontents . ĊĠĠ Ġ*/ ĊĠ Ġpublic Ġopen Ġfun ĠgetState (): ĠScene State ? Ġ{ ĊĠĠĠ ĠTransfer Context . write Arguments () ĊĠĠĠ ĠTransfer Context . call Method ( raw Ptr , ĠENGINE METHOD _ ENGINE CLASS _ PACK ED SC ENE _ GET _ STATE , ĠOBJECT ) ĊĠĠĠ Ġreturn ĠTransfer Context . read ReturnValue ( OBJECT , Ġtrue ) Ġas ĠScene State ? ĊĠ Ġ} ĊĊĠ Ġ/** ĊĠĠ Ġ* ĠInstanti ates Ġthe Ġscene 's Ġnode Ġhierarchy . ĠT riggers Ġchild Ġscene Ġinstantiation ( s ). ĠT riggers Ġa Ġ[ godot . Node . NOTIFICATION _ INST ANCED ] Ġnotification Ġon Ġthe Ġroot Ġnode . ĊĠĠ Ġ*/ ĊĠ Ġpublic Ġopen Ġfun Ġinstance ( edit State : ĠLong Ġ= Ġ 0 ): ĠNode ? Ġ{ ĊĠĠĠ ĠTransfer Context . write Arguments ( LONG Ġto Ġedit State ) ĊĠĠĠ ĠTransfer Context . call Method ( raw Ptr , ĠENGINE METHOD _ ENGINE CLASS _ PACK ED SC ENE _ INSTANCE , ĠOBJECT ) ĊĠĠĠ Ġreturn ĠTransfer Context . read ReturnValue ( OBJECT , Ġtrue ) Ġas ĠNode ? ĊĠ Ġ} ĊĊĠ Ġ/** ĊĠĠ Ġ* ĠPack Ġwill Ġignore Ġany Ġsub - nodes Ġnot Ġowned Ġby Ġgiven Ġnode . ĠSee Ġ[ godot . Node . owner ]. ĊĠĠ Ġ*/ ĊĠ Ġpublic Ġopen Ġfun Ġpack ( path : ĠNode ): ĠGod ot Error Ġ{ ĊĠĠĠ ĠTransfer Context . write Arguments ( OBJECT Ġto Ġpath ) ĊĠĠĠ ĠTransfer Context . call Method ( raw Ptr , ĠENGINE METHOD _ ENGINE CLASS _ PACK ED SC ENE _ PACK , ĠLONG ) ĊĠĠĠ Ġreturn ĠGod ot Error . values ()[ Transfer Context . read ReturnValue ( JVM _ INT ) Ġas ĠInt ] ĊĠ Ġ} ĊĊĠ Ġpublic Ġenum Ġclass ĠGen Edit State ( ĊĠĠĠ Ġid : ĠLong ĊĠ Ġ) Ġ{ ĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠIf Ġpassed Ġto Ġ[ instance ], Ġblocks Ġedits Ġto Ġthe Ġscene Ġstate . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ ĠGEN _ EDIT _ STATE _ DISABLED ( 0 ), ĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠIf Ġpassed Ġto Ġ[ instance ], Ġprovides Ġlocal Ġscene Ġresources Ġto Ġthe Ġlocal Ġscene . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ** Note :** ĠOnly Ġavailable Ġin Ġeditor Ġbuilds . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ ĠGEN _ EDIT _ STATE _ INSTANCE ( 1 ), ĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠIf Ġpassed Ġto Ġ[ instance ], Ġprovides Ġlocal Ġscene Ġresources Ġto Ġthe Ġlocal Ġscene . ĠOnly Ġthe Ġmain Ġscene Ġshould Ġreceive Ġthe Ġmain Ġedit Ġstate . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ** Note :** ĠOnly Ġavailable Ġin Ġeditor Ġbuilds . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ ĠGEN _ EDIT _ STATE _ MAIN ( 2 ), ĊĠĠĠ Ġ; ĊĊĠĠĠ Ġpublic Ġval Ġid : ĠLong ĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠ Ġthis . id Ġ= Ġid ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġpublic Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠ Ġpublic Ġfun Ġfrom (` value `: ĠLong ) Ġ= Ġvalues (). single Ġ{ Ġit . id Ġ== Ġ` value ` Ġ} ĊĠĠĠ Ġ} ĊĠ Ġ} ĊĊĠ Ġpublic Ġcompanion Ġobject Ġ{ ĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠIf Ġpassed Ġto Ġ[ instance ], Ġblocks Ġedits Ġto Ġthe Ġscene Ġstate . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġpublic Ġfinal Ġconst Ġval ĠGEN _ EDIT _ STATE _ DISABLED : ĠLong Ġ= Ġ 0 ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠIf Ġpassed Ġto Ġ[ instance ], Ġprovides Ġlocal Ġscene Ġresources Ġto Ġthe Ġlocal Ġscene . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ** Note :** ĠOnly Ġavailable Ġin Ġeditor Ġbuilds . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġpublic Ġfinal Ġconst Ġval ĠGEN _ EDIT _ STATE _ INSTANCE : ĠLong Ġ= Ġ 1 ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠIf Ġpassed Ġto Ġ[ instance ], Ġprovides Ġlocal Ġscene Ġresources Ġto Ġthe Ġlocal Ġscene . ĠOnly Ġthe Ġmain Ġscene Ġshould Ġreceive Ġthe Ġmain Ġedit Ġstate . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ** Note :** ĠOnly Ġavailable Ġin Ġeditor Ġbuilds . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġpublic Ġfinal Ġconst Ġval ĠGEN _ EDIT _ STATE _ MAIN : ĠLong Ġ= Ġ 2 ĊĠ Ġ} Ċ } Ċ