8 std::string temp_lineParsed =
"";
10 Color default_src_color = { 255, 255, 255, 255 };
11 Color src_color = { 255, 255, 255, 255 };
13 Color default_dest_color = { 255, 255, 255, 255 };
14 Color dest_color = { 255, 255, 255, 255 };
27 void init()
override {
30 void update(
float deltaTime)
override {
36 glm::vec3 fromNodeCenter = entity->getFromNode()->GetComponent<
TransformComponent>().getCenterTransform();
37 glm::vec3 toNodeCenter = entity->getToNode()->GetComponent<
TransformComponent>().getCenterTransform();
39 batch.drawLine(v_index, fromNodeCenter, toNodeCenter, src_color, dest_color);
45 glm::vec3 fromPortCenter = entity->getFromNode()->children[entity->fromPort]->GetComponent<
TransformComponent>().getCenterTransform();
46 glm::vec3 toPortCenter = entity->getToNode()->children[entity->toPort]->GetComponent<
TransformComponent>().getCenterTransform();
48 batch.drawLine(v_index, fromPortCenter, toPortCenter, src_color, dest_color);
51 void setSrcColor(
Color clr) {
52 default_src_color = clr;
56 void setDestColor(
Color clr) {
57 default_dest_color = clr;
61 void SetFlashAnimation(
int idX,
int idY,
size_t fr,
float sp,
const Animation::animType type,
const std::vector<float>& flashTimes,
Color flashC,
int reps = 0)
63 flash_animation =
FlashAnimation(idX, idY, fr, sp, type, flashTimes, flashC, reps);
66 void setFlashFrame() {
67 float t = this->flash_animation.interpolation_a;
70 this->src_color = Color::fromVec4(glm::mix(default_src_color.toVec4(), this->flash_animation.flashColor.toVec4(), 3 * t));
73 this->src_color = Color::fromVec4(glm::mix(this->flash_animation.flashColor.toVec4(), default_src_color.toVec4(), std::min((3 * (t - 0.33f)), 1.0f)));
74 this->dest_color = Color::fromVec4(glm::mix(default_dest_color.toVec4(), this->flash_animation.flashColor.toVec4(), 3 * (t - 0.33f)));
77 this->dest_color = Color::fromVec4(glm::mix(this->flash_animation.flashColor.toVec4(), default_dest_color.toVec4(), std::min((3 * (t - 0.66f)), 1.0f)));
83 std::string GetComponentName()
override {
84 return "Line_w_Color";
87 void showGUI()
override {
90 ImGui::Text(
"Line: %s", temp_lineParsed.c_str());
92 ImVec4 a_color = ImVec4(src_color.r / 255.0f, src_color.g / 255.0f, src_color.b / 255.0f, src_color.a / 255.0f);
93 if (ImGui::ColorPicker4(
"Color Line Src", (
float*)&a_color)) {
95 (GLubyte)(a_color.x * 255),
96 (GLubyte)(a_color.y * 255),
97 (GLubyte)(a_color.z * 255),
98 (GLubyte)(a_color.w * 255)
101 setSrcColor(newColor);
105 ImVec4 b_color = ImVec4(dest_color.r / 255.0f, dest_color.g / 255.0f, dest_color.b / 255.0f, dest_color.a / 255.0f);
106 if (ImGui::ColorPicker4(
"Color Line Dest", (
float*)&b_color)) {
108 (GLubyte)(b_color.x * 255),
109 (GLubyte)(b_color.y * 255),
110 (GLubyte)(b_color.z * 255),
111 (GLubyte)(b_color.w * 255)
114 setDestColor(newColor);