Skip to content

Commit

Permalink
Support animator
Browse files Browse the repository at this point in the history
  • Loading branch information
prostory committed Sep 27, 2019
1 parent bbd1628 commit 4b1b048
Show file tree
Hide file tree
Showing 30 changed files with 344 additions and 308 deletions.
40 changes: 20 additions & 20 deletions app/src/main/java/com/zdog/demo/ui/basic/Shapes.kt
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
package com.zdog.demo.ui.basic

import com.zdog.demo.ui.shapes.World
import com.zdog.demo.ui.shapes.duration
import com.zdog.demo.ui.shapes.repeat
import com.zdog.library.render.duration
import com.zdog.library.render.repeat
import com.zdog.library.render.*

class Shapes {
Expand All @@ -13,7 +13,7 @@ class Shapes {
init {
var index = 0
shape {
addTo = shapes[index++].world
addTo = shapes[index++].illo
path(
line(x = -40f),
line(x = 40f)
Expand All @@ -23,7 +23,7 @@ class Shapes {
}

shape {
addTo = shapes[index++].world
addTo = shapes[index++].illo
path(
line(x = -32f, y = -40f),
line(x = 32f, y = -40f),
Expand All @@ -36,7 +36,7 @@ class Shapes {
}

shape {
addTo = shapes[index++].world
addTo = shapes[index++].illo
path(
line(x = -32f, y = -40f, z = 40f),
line(x = 32f, y = -40f),
Expand All @@ -49,7 +49,7 @@ class Shapes {
}

shape {
addTo = shapes[index++].world
addTo = shapes[index++].illo
path(
line(x = -60f, y = -60f),
arc(
Expand All @@ -67,7 +67,7 @@ class Shapes {
}

shape {
addTo = shapes[index++].world
addTo = shapes[index++].illo
path(
line(x = -60f, y = -60f),
bezier(
Expand All @@ -82,7 +82,7 @@ class Shapes {
}

val triangle = shape {
addTo = shapes[index++].world
addTo = shapes[index++].illo
path(
line(x = 0f, y = -40f),
line(x = 40f, y = 40f),
Expand All @@ -93,20 +93,20 @@ class Shapes {
}

triangle.copy {
addTo = shapes[index++].world
addTo = shapes[index++].illo
closed = false
}

hemisphere {
addTo = shapes[index++].world
addTo = shapes[index++].illo
diameter = 120f
stroke = 0f
color = "#C25".toColour()
backface = "#EA0".toColour()
}

cone {
addTo = shapes[index++].world
addTo = shapes[index++].illo
diameter = 70f
length = 90f
stroke = 0f
Expand All @@ -115,7 +115,7 @@ class Shapes {
}

cylinder {
addTo = shapes[index++].world
addTo = shapes[index++].illo
diameter = 80f
length = 120f
stroke = 0f
Expand All @@ -124,7 +124,7 @@ class Shapes {
}

cylinder {
addTo = shapes[index++].world
addTo = shapes[index++].illo
diameter = 80f
length = 120f
stroke = 0f
Expand All @@ -134,7 +134,7 @@ class Shapes {
}

val box = box {
addTo = shapes[index++].world
addTo = shapes[index++].illo
width = 120f
height = 100f
depth = 80f
Expand All @@ -147,17 +147,17 @@ class Shapes {
}

box.copy {
addTo = shapes[index++].world
addTo = shapes[index++].illo
leftFace = null
rightFace = null
rearFace = "#EA0".toColour()
}

val distance = 40f

shapes[index].world.rotate(x = -(TAU / 16).toFloat())
shapes[index].illo.rotate(x = -(TAU / 16).toFloat())
val dot = shape {
addTo = shapes[index++].world
addTo = shapes[index++].illo
translate(y = -distance)
stroke = 80f
color = "#636".toColour()
Expand All @@ -182,9 +182,9 @@ class Shapes {
translate(y = distance)
}

shapes[index].world.rotate(x = -(TAU / 16).toFloat())
shapes[index].illo.rotate(x = -(TAU / 16).toFloat())
val dot2 = dot.copy {
addTo = shapes[index++].world
addTo = shapes[index++].illo
}
dot2.copy {
translate(x = -distance)
Expand All @@ -205,7 +205,7 @@ class Shapes {
shapes.forEach {
it.apply {
play(
world.rotateTo(y = TAU.toFloat()).duration(3000).repeat()
illo.rotateTo(y = TAU.toFloat()).duration(3000).repeat()
)
}
}
Expand Down
10 changes: 5 additions & 5 deletions app/src/main/java/com/zdog/demo/ui/effects/Sky.kt
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ import com.zdog.library.render.*

class Sky(world: World) {
val background = shape {
addTo = world.world
addTo = world.illo
translate(z = layerSpace * -2)
visible = false
}
Expand Down Expand Up @@ -97,7 +97,7 @@ class Sky(world: World) {
}

cloud = cloud {
addTo = world.world
addTo = world.illo
translate(z = layerSpace * -1)
}
}
Expand All @@ -108,7 +108,7 @@ class Sky(world: World) {
bgGroup3.color = theme.background3
sun.color = theme.sun
cloud.color = theme.cloud
world.world.color = theme.sky
world.illo.color = theme.sky
}

fun onSwitchDay(world: World, theme: SkyTheme, inDay: Boolean) {
Expand All @@ -130,7 +130,7 @@ class Sky(world: World) {
bgGroup2.colorTo(world, theme.background2).duration(1200).start()
bgGroup3.colorTo(world, theme.background3).duration(1200).start()
cloud.colorTo(world, theme.cloud).duration(1200).start()
world.world.colorTo(world, theme.sky).duration(1200).start()
world.illo.colorTo(world, theme.sky).duration(1200).start()
} else {
sunshine.children.forEachIndexed { index, dot ->
dot.translateTo(
Expand All @@ -152,7 +152,7 @@ class Sky(world: World) {
bgGroup2.colorTo(world, theme.background2).delay(1200).start()
bgGroup3.colorTo(world, theme.background3).delay(1200).start()
cloud.colorTo(world, theme.cloud).delay(1200).start()
world.world.colorTo(world, theme.sky).delay(1200).start()
world.illo.colorTo(world, theme.sky).delay(1200).start()
}
}
}
4 changes: 2 additions & 2 deletions app/src/main/java/com/zdog/demo/ui/effects/cloud/CloudSky.kt
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@ package com.zdog.demo.ui.effects.cloud
import com.zdog.demo.ui.effects.Entity
import com.zdog.demo.ui.effects.Sky
import com.zdog.demo.ui.shapes.World
import com.zdog.demo.ui.shapes.duration
import com.zdog.demo.ui.shapes.translateTo
import com.zdog.library.render.duration
import com.zdog.library.render.translateTo

class CloudSky(private val sky: Sky) : Entity() {
override fun onAttachTo(world: World, inDay: Boolean) {
Expand Down
7 changes: 2 additions & 5 deletions app/src/main/java/com/zdog/demo/ui/effects/rain/RainSky.kt
Original file line number Diff line number Diff line change
@@ -1,13 +1,10 @@
package com.zdog.demo.ui.effects.rain

import android.animation.ValueAnimator
import com.zdog.demo.ui.effects.Entity
import com.zdog.demo.ui.effects.Sky
import com.zdog.demo.ui.effects.layerSpace
import com.zdog.demo.ui.shapes.*
import com.zdog.library.render.attachTo
import com.zdog.library.render.set
import com.zdog.library.render.vector
import com.zdog.library.render.*

class RainSky(private val sky: Sky) : Entity() {
private val drops1 = Raindrops(
Expand Down Expand Up @@ -75,6 +72,6 @@ class RainSky(private val sky: Sky) : Entity() {
sky.cloud.colorTo(world, theme.cloud).duration(1200).start()
drops1.colorTo(world, theme.sea1).duration(1200).start()
drops2.colorTo(world, theme.sea3).duration(1200).start()
world.world.colorTo(world, theme.sky).duration(1200).start()
world.illo.colorTo(world, theme.sky).duration(1200).start()
}
}
5 changes: 1 addition & 4 deletions app/src/main/java/com/zdog/demo/ui/effects/rain/Raindrops.kt
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,7 @@ package com.zdog.demo.ui.effects.rain
import android.animation.Animator
import android.animation.AnimatorListenerAdapter
import com.zdog.demo.ui.shapes.*
import com.zdog.library.render.Combine
import com.zdog.library.render.Shape
import com.zdog.library.render.line
import com.zdog.library.render.set
import com.zdog.library.render.*
import kotlin.random.Random

class Raindrops(count: Int,
Expand Down
1 change: 0 additions & 1 deletion app/src/main/java/com/zdog/demo/ui/effects/rain/Sea2.kt
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
package com.zdog.demo.ui.effects.rain

import android.animation.ValueAnimator
import com.zdog.demo.ui.effects.Entity
import com.zdog.demo.ui.effects.layerSpace
import com.zdog.demo.ui.shapes.*
Expand Down
5 changes: 1 addition & 4 deletions app/src/main/java/com/zdog/demo/ui/effects/rain/Sea3.kt
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,7 @@ package com.zdog.demo.ui.effects.rain
import com.zdog.demo.ui.effects.Entity
import com.zdog.demo.ui.effects.layerSpace
import com.zdog.demo.ui.shapes.*
import com.zdog.library.render.Shape
import com.zdog.library.render.anchor
import com.zdog.library.render.line
import com.zdog.library.render.shape
import com.zdog.library.render.*

class Sea3 : Entity() {
private val container = anchor {
Expand Down
6 changes: 3 additions & 3 deletions app/src/main/java/com/zdog/demo/ui/effects/rain/Ship.kt
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
package com.zdog.demo.ui.effects.rain

import com.zdog.demo.ui.shapes.World
import com.zdog.demo.ui.shapes.colorTo
import com.zdog.demo.ui.shapes.delay
import com.zdog.demo.ui.shapes.duration
import com.zdog.library.render.colorTo
import com.zdog.library.render.delay
import com.zdog.library.render.duration
import com.zdog.library.render.*

class Ship : Group() {
Expand Down
5 changes: 1 addition & 4 deletions app/src/main/java/com/zdog/demo/ui/effects/rain/Smoke.kt
Original file line number Diff line number Diff line change
@@ -1,10 +1,7 @@
package com.zdog.demo.ui.effects.rain

import com.zdog.demo.ui.shapes.*
import com.zdog.library.render.Combine
import com.zdog.library.render.copy
import com.zdog.library.render.ellipse
import com.zdog.library.render.magnitudeSqrt
import com.zdog.library.render.*

class Smoke : Combine() {
init {
Expand Down
1 change: 0 additions & 1 deletion app/src/main/java/com/zdog/demo/ui/effects/rain/Spray.kt
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
package com.zdog.demo.ui.effects.rain

import android.animation.ValueAnimator
import com.zdog.demo.ui.shapes.*
import com.zdog.library.render.*

Expand Down
1 change: 1 addition & 0 deletions app/src/main/java/com/zdog/demo/ui/effects/sunny/Bird.kt
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ import com.zdog.demo.ui.effects.bird
import com.zdog.demo.ui.effects.layerSpace
import com.zdog.demo.ui.shapes.*
import com.zdog.demo.ui.shapes.Colors.midnight
import com.zdog.library.render.*

class Bird : Entity() {
private val shape = bird {
Expand Down
4 changes: 1 addition & 3 deletions app/src/main/java/com/zdog/demo/ui/effects/sunny/Clouds.kt
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,7 @@ import com.zdog.demo.ui.effects.cloud2
import com.zdog.demo.ui.effects.layerSpace
import com.zdog.demo.ui.shapes.*
import com.zdog.demo.ui.shapes.Colors.white
import com.zdog.library.render.TAU
import com.zdog.library.render.combine
import com.zdog.library.render.copy
import com.zdog.library.render.*

class Clouds : Entity() {
private val container = combine {
Expand Down
4 changes: 2 additions & 2 deletions app/src/main/java/com/zdog/demo/ui/effects/sunny/Glowworm.kt
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@ import com.zdog.demo.ui.effects.layerSpace
import com.zdog.demo.ui.shapes.Colors
import com.zdog.demo.ui.shapes.Colors.amber
import com.zdog.demo.ui.shapes.World
import com.zdog.demo.ui.shapes.alphaTo
import com.zdog.demo.ui.shapes.delay
import com.zdog.library.render.alphaTo
import com.zdog.library.render.delay
import com.zdog.library.render.anchor
import com.zdog.library.render.copy
import com.zdog.library.render.shape
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,7 @@ package com.zdog.demo.ui.effects.sunny
import android.animation.Animator
import android.animation.AnimatorListenerAdapter
import com.zdog.demo.ui.shapes.*
import com.zdog.library.render.Anchor
import com.zdog.library.render.Vector
import com.zdog.library.render.vector
import com.zdog.library.render.*
import kotlin.random.Random

class RandomMover(
Expand Down
1 change: 1 addition & 0 deletions app/src/main/java/com/zdog/demo/ui/effects/sunny/Stars.kt
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ import com.zdog.demo.ui.effects.layerSpace
import com.zdog.demo.ui.effects.star
import com.zdog.demo.ui.shapes.*
import com.zdog.demo.ui.shapes.Colors.gold1
import com.zdog.library.render.*

class Stars: Entity() {
private val star1 = star {
Expand Down
4 changes: 2 additions & 2 deletions app/src/main/java/com/zdog/demo/ui/effects/sunny/SunnySky.kt
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@ package com.zdog.demo.ui.effects.sunny
import com.zdog.demo.ui.effects.Entity
import com.zdog.demo.ui.effects.Sky
import com.zdog.demo.ui.shapes.World
import com.zdog.demo.ui.shapes.duration
import com.zdog.demo.ui.shapes.translateTo
import com.zdog.library.render.duration
import com.zdog.library.render.translateTo

class SunnySky(private val sky: Sky): Entity() {
override fun onAttachTo(world: World, inDay: Boolean) {
Expand Down
8 changes: 1 addition & 7 deletions app/src/main/java/com/zdog/demo/ui/shapes/Sun.kt
Original file line number Diff line number Diff line change
Expand Up @@ -5,13 +5,7 @@ import android.animation.ValueAnimator
import android.view.animation.OvershootInterpolator
import com.zdog.demo.ui.shapes.Colors.gold1
import com.zdog.demo.ui.shapes.Colors.gold2
import com.zdog.library.render.Anchor
import com.zdog.library.render.Combine
import com.zdog.library.render.TAU
import com.zdog.library.render.combine
import com.zdog.library.render.copy
import com.zdog.library.render.rect
import com.zdog.library.render.shape
import com.zdog.library.render.*

class Sun(diameter: Float) : Anchor() {
private val sunshine: Combine
Expand Down
Loading

0 comments on commit 4b1b048

Please sign in to comment.