- package gameEngine.entites.gameComponents;
-
- import gameEngine.entites.EditorEntity;
- import gameEngine.entites.GameObject;
- import gameEngine.input.Input;
- import gameEngine.input.MouseInput;
- import gameEngine.scenes.EditorScene;
- import gameEngine.views.*;
- import org.joml.Vector3f;
-
- import static org.lwjgl.glfw.GLFW.*;
-
- public class TextMesh extends GameComponent{
-
- private GameObject parent;
- private Text textRenderer;
-
- public TextMesh(GameObject parent, String text, int textSize) {
- this.parent = parent;
- this.textRenderer = new Text(parent.transform.position.x, parent.transform.position.y, text, textSize);
- }
-
- public TextMesh(TextMesh original, GameObject newParent) {
- this.parent = newParent;
- this.textRenderer = new Text(
- newParent.transform.position.x,
- newParent.transform.position.y,
- original.textRenderer.text,
- original.textRenderer.textSize
- );
- }
-
- @Override
- public GameComponent copy() {
- return this;
- }
-
- @Override
- public void init() {
- textRenderer.update();
- }
-
- @Override
- public void update() {
- Vector3f globalPosition = new Vector3f(parent.transform.position).add(localPosition);
- textRenderer.setPosition(globalPosition);
- Vector3f globalRotation = new Vector3f(parent.transform.rotation).add(localRotation);
- textRenderer.setRotation(globalRotation);
- Vector3f globalScale = new Vector3f(parent.transform.scale).add(localScale);
- textRenderer.setScale(globalScale);
- textRenderer.update();
- }
-
- public void setText(String newText){
- textRenderer.setText(newText);
- }
-
- public void setTextSize(int newTextSize) {
- textRenderer.setTextSize(newTextSize);
- }
-
- public void setColor(Color color){
- textRenderer.setColor(color);
- }
-
- public int getTextSize(){
- return textRenderer.textSize;
- }
- }