This commit is contained in:
Torrie Fischer
2024-12-19 14:48:14 +01:00
parent 514c9defd6
commit 6de1704da2
15 changed files with 372 additions and 251 deletions

View File

@@ -6,7 +6,7 @@ use crate::lib8::Hsv;
use crate::events::EventBus;
use crate::geometry::*;
use crate::render::{Shader, Surface, Surfaces};
use crate::task::Task;
use crate::task::{Environment, Task};
use crate::lib8::{trig::{sin8, cos8}, noise::inoise8, IntoRgb8};
#[derive(Debug)]
@@ -68,7 +68,7 @@ impl<T: Surface> IdleTask<T> {
impl<T: Surface> Task for IdleTask<T> {
fn name(&self) -> &'static str { "Idle" }
fn start(&mut self, _bus: &mut EventBus) {
fn start(&mut self, _env: &mut Environment) {
self.solid.set_shader(SolidShader {});
self.surface.set_shader(ThinkingShader { });
self.shimmer.set_shader(ShimmerShader { });
@@ -78,7 +78,7 @@ impl<T: Surface> Task for IdleTask<T> {
self.shimmer.set_opacity(64);
}
fn stop(&mut self, _bus: &mut EventBus) {
fn stop(&mut self, _env: &mut Environment) {
self.solid.clear_shader();
self.surface.clear_shader();
self.shimmer.clear_shader();

View File

@@ -1,7 +1,7 @@
use crate::lib8::Hsv;
use crate::{lib8::Hsv, task::Environment};
use rgb::RGB8;
use crate::{events::{Event, EventBus}, lib8::{interpolate::scale8, trig::{cos8, sin8}, IntoRgb8}, render::{Shader, Surface}, task::Task, time::Periodically};
use crate::{events::EventBus, lib8::{interpolate::scale8, trig::{cos8, sin8}, IntoRgb8}, render::{Shader, Surface}, task::Task, time::Periodically};
use super::{Coordinates, Rectangle, VirtualCoordinates};
@@ -93,11 +93,11 @@ impl<T: Surface> TestPattern<T> {
impl<T: Surface> Task for TestPattern<T> {
fn name(&self) -> &'static str { "TestPattern" }
fn start(&mut self, _bus: &mut EventBus) {
fn start(&mut self, _env: &mut Environment) {
self.surface.set_shader(self.pattern);
}
fn on_tick(&mut self, bus: &mut EventBus) {
fn on_tick(&mut self, _env: &mut Environment) {
self.updater.run(|| {
self.pattern = self.pattern.next();
log::info!("Test pattern: {:?}", self.pattern);
@@ -122,7 +122,7 @@ impl<T: Surface> Task for TestPattern<T> {
});
}
fn stop(&mut self, _bus: &mut EventBus) {
fn stop(&mut self, _env: &mut Environment) {
self.surface.clear_shader();
}
}