package Ġl mr . mu w ata Ċ Ċ import Ġl mr . ms d . models . Collision Type .* Ċ import Ġl mr . ms d . models . Stage Ċ Ċ object ĠB os ses Water ifier Ġ{ ĊĠĠĠ Ġfun Ġwater ify Amp his ba ena ( amp his ba ena : ĠStage ) Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠTODO : Ġr cd Ġedits ĊĠĠĠĠĠĠĠ Ġfor Ġ( scene Ġin Ġamp his ba ena . scenes ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġscene . collision . set Each Ġ{ Ġtile , Ġx , Ġ_ Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(! Ru ins Water ifier . is Convert Candidate ( tile )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtile ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( x Ġ< Ġ 3 2 ) ĠW ATER _ FLOW _ LEFT Ġelse ĠW ATER _ FLOW _ RIGHT ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġwater ify S akit ( sak it : ĠStage ) Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠTODO : Ġr cd Ġedits ĊĠĠĠĠĠĠĠ Ġfor Ġ( scene Ġin Ġs akit . scenes ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġscene . collision . set Each Ġ{ Ġtile Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( Ru ins Water ifier . is Convert Candidate ( tile )) ĠW ATER _ FLOW _ DOWN Ġelse Ġtile ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġwater ify E ll mac ( ell mac : ĠStage ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠTODO : Ġr cd Ġedits ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġwater ify B ah am ut ( b ah am ut : ĠStage ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠTODO : Ġr cd Ġedits ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġwater ify Vi y ( vi y : ĠStage ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠTODO : Ġr cd Ġedits ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġwater ify Pal en que ( pal en que : ĠStage ) Ġ{ ĊĠĠĠĠĠĠĠ Ġ// Ġplane Ġignores Ġcollision ĊĠĠĠĠĠĠĠ Ġ// ĠTODO : Ġr cd Ġedits ĊĠĠĠĠĠĠĠ Ġfor Ġ( scene Ġin Ġpal en que . scenes ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġmake Ġle me za Ġd ab ĊĠĠĠĠĠĠĠĠĠĠĠ Ġscene . collision . select ( 0 , Ġ 0 , Ġ 6 4 , Ġ 4 5 ). fill ( WATER _ FLOW _ LEFT ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġscene . collision . select ( 0 , Ġ 4 4 , Ġ 6 4 , Ġ 4 ). fill ( ICE ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġwater ify T iam at ( ti amat : ĠStage ) Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠTODO : Ġr cd Ġedits ĊĠĠĠĠĠĠĠ Ġfor Ġ( scene Ġin Ġt iam at . scenes ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcoll Ġ= Ġscene . collision ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( coll . width (). toInt () Ġ!= Ġ 6 4 Ġ&& Ġcoll . height (). toInt () Ġ!= Ġ 4 8 ) Ġcontinue ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠLeft Ġplatforms ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcoll . select ( 2 , Ġ 0 , Ġ 1 6 , Ġ 4 4 ). set Each Ġ{ Ġtile , Ġx , Ġy Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( Ru ins Water ifier . is Convert Candidate ( tile )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( x Ġ/ Ġ 8 Ġ== Ġ 0 ) ĠW ATER FALL Ġelse ĠL AVA ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġtile ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠCenter ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcoll . select ( 1 8 , Ġ 0 , Ġ 2 8 , Ġ 4 4 ). fill ( L AVA _ FLOW _ DOWN ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠRight Ġplatforms ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcoll . select ( 4 6 , Ġ 0 , Ġ 1 6 , Ġ 4 4 ). set Each Ġ{ Ġtile , Ġx , Ġy Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( Ru ins Water ifier . is Convert Candidate ( tile )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( x Ġ/ Ġ 8 Ġ== Ġ 1 ) ĠW ATER FALL Ġelse ĠL AVA ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġtile ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠTriangle Ġof Ġconfusion ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtriangle Ġ= Ġscene . collision . select Ġ{ Ġx , Ġy Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġx Ġin Ġ 1 9 .. 4 5 Ġ&& Ġy Ġ> Ġ 2 4 Ġ&& Ġy Ġ< Ġ 4 4 Ġ&& Ġx Ġ> Ġ 3 1 . 5 Ġ- Ġ( y Ġ* Ġ 0 . 7 Ġ- Ġ 1 3 ) Ġ&& Ġx Ġ< Ġ 3 1 . 5 Ġ+ Ġ( y Ġ* Ġ 0 . 7 Ġ- Ġ 1 3 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtriangle . set Each Ġ{ Ġx , Ġ_ Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( x Ġ< Ġ 3 2 ) ĠL AVA _ FLOW _ LEFT Ġelse ĠL AVA _ FLOW _ RIGHT ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠIn verted Ġtriangle Ġof Ġpain ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcoll . select ( 3 1 , Ġ 2 2 , Ġ 2 , Ġ 2 ). fill ( WATER FALL ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠĠĠĠĠĠĠĠĠĠĠ Ġscene . collision Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. select ( 2 8 , Ġ 2 1 , Ġ 8 , Ġ 4 ) Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. select (( x , Ġy ) Ġ-> Ġx Ġ> Ġy Ġ- Ġ 0 . 5 f Ġ&& Ġx Ġ< Ġ 8 Ġ- Ġy ) Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. fill ( Collision Type . WATER FALL ); ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }