48 lines
1.4 KiB
C++
48 lines
1.4 KiB
C++
#include "ColorManager.h"
|
|
|
|
void ColorManager::Update(){
|
|
if(!(this->enabled)){
|
|
return;
|
|
}
|
|
// go through our colors and have them fade from r->g->b->r
|
|
for(uint8_t i = 0; i < 9; i++){
|
|
for(uint8_t j = 0; j < 3; j++){
|
|
Color * color = this->colors[i][j];
|
|
// fade from red to green
|
|
if(color->red > 0 && color->green >= 0 && color->blue == 0){
|
|
color->red--;
|
|
color->green++;
|
|
}
|
|
// fade from green to blue
|
|
else if(color->green > 0 && color->blue >= 0 && color->red == 0){
|
|
color->green--;
|
|
color->blue++;
|
|
}
|
|
// fade from blue to red
|
|
else if(color->blue > 0 && color->red >= 0 && color->green == 0){
|
|
color->blue--;
|
|
color->red++;
|
|
}
|
|
}
|
|
}
|
|
|
|
// set the colors
|
|
for(uint8_t i = 0; i < 9; i++){
|
|
Color temp_colors[3] = {*(this->colors[i][0]), *(this->colors[i][1]), *(this->colors[i][2])};
|
|
this->board->SetStackColors(i, temp_colors);
|
|
}
|
|
}
|
|
|
|
void ColorManager::Enable(bool enable){
|
|
this->enabled = enable;
|
|
|
|
if(this->enabled == false){
|
|
// set all the colors to black
|
|
Color black(0, 0, 0);
|
|
Color temp_colors[3] = {black, black, black};
|
|
// set the colors
|
|
for(uint8_t i = 0; i < 9; i++){
|
|
this->board->SetStackColors(i, temp_colors);
|
|
}
|
|
}
|
|
} |