Advertisement
zihadrizkyef

Untitled

Oct 25th, 2018
194
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Kotlin 1.20 KB | None | 0 0
  1. package com.zihadrizkyef.aispacewar
  2.  
  3. import java.util.*
  4.  
  5. /**
  6.  * بِسْمِ اللهِ الرَّحْمٰنِ الرَّحِيْمِ
  7.  * Created by zihadrizkyef on 26/10/18.
  8.  */
  9. class GameObjectTest {
  10.     private val alarmCounter = arrayListOf<Int>()
  11.     private val alarmLength = arrayListOf<Int>()
  12.     private val alarmAction = arrayListOf<()->Unit>()
  13.    
  14.     val random = Random()
  15.     var direction = random.nextInt(360)
  16.  
  17.     private val changeDir = {
  18.         direction = random.nextInt(360)
  19.         setAlarm(random.nextInt(1000), changeDir)
  20.     }
  21.  
  22.     open fun onCreate() {
  23.         setAlarm(1000, changeDir)
  24.     }
  25.  
  26.     open fun onUpdate() {
  27.         updateAlarm()
  28.     }
  29.  
  30.     protected fun setAlarm(length: Int, action: ()->Unit) {
  31.         alarmCounter.add(0)
  32.         alarmLength.add(length)
  33.         alarmAction.add(action)
  34.     }
  35.  
  36.     private fun updateAlarm() {
  37.         for (i in 0 until alarmLength.size) {
  38.             if (alarmCounter[i] != -1 && alarmCounter[i] < alarmLength[i]) {
  39.                 alarmCounter[i]++
  40.             } else if (alarmCounter[i] == alarmLength[i]) {
  41.                 alarmAction[i]()
  42.                 alarmCounter[i]++
  43.             }
  44.         }
  45.     }
  46. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement