Skip to content

Commit

Permalink
[Interface/Component/LuaScriptGroup] Added a Lua script group
Browse files Browse the repository at this point in the history
- A Lua script can be given to be applied to its entity

- Bumped license year
  • Loading branch information
Razakhel committed Jun 2, 2024
1 parent ca1571b commit 7cb857d
Show file tree
Hide file tree
Showing 8 changed files with 247 additions and 46 deletions.
2 changes: 1 addition & 1 deletion LICENSE
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
MIT License

Copyright (c) 2023 Romain Milbert
Copyright (c) 2024 Romain Milbert

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
Expand Down
74 changes: 53 additions & 21 deletions assets/translations/english.ts
Original file line number Diff line number Diff line change
Expand Up @@ -40,104 +40,109 @@
<context>
<name>AppWindow</name>
<message>
<location filename="../../src/RaZor/Interface/Component/AppComponents.cpp" line="37"/>
<location filename="../../src/RaZor/Interface/Component/AppComponents.cpp" line="58"/>
<source>Failed to find an entity named</source>
<translation>Failed to find an entity named</translation>
</message>
<message>
<location filename="../../src/RaZor/Interface/Component/AppComponents.cpp" line="90"/>
<location filename="../../src/RaZor/Interface/Component/AppComponents.cpp" line="116"/>
<source> component(s) not displayed.</source>
<translation> component(s) not displayed.</translation>
</message>
<message>
<location filename="../../src/RaZor/Interface/Component/AppComponents.cpp" line="104"/>
<location filename="../../src/RaZor/Interface/Component/AppComponents.cpp" line="130"/>
<location filename="../../src/RaZor/Interface/AppWindow.cpp" line="404"/>
<source>Failed to import mesh</source>
<translation>Failed to import mesh</translation>
</message>
<message>
<location filename="../../src/RaZor/Interface/Component/AppComponents.cpp" line="226"/>
<location filename="../../src/RaZor/Interface/Component/AppComponents.cpp" line="241"/>
<source>Lua script</source>
<translation>Lua script</translation>
</message>
<message>
<location filename="../../src/RaZor/Interface/Component/AppComponents.cpp" line="265"/>
<source>Line</source>
<translation>Line</translation>
</message>
<message>
<location filename="../../src/RaZor/Interface/Component/AppComponents.cpp" line="233"/>
<location filename="../../src/RaZor/Interface/Component/AppComponents.cpp" line="272"/>
<source>Plane</source>
<translation>Plane</translation>
</message>
<message>
<location filename="../../src/RaZor/Interface/Component/AppComponents.cpp" line="239"/>
<location filename="../../src/RaZor/Interface/Component/AppComponents.cpp" line="278"/>
<source>Sphere</source>
<translation>Sphere</translation>
</message>
<message>
<location filename="../../src/RaZor/Interface/Component/AppComponents.cpp" line="246"/>
<location filename="../../src/RaZor/Interface/Component/AppComponents.cpp" line="285"/>
<source>Triangle</source>
<translation>Triangle</translation>
</message>
<message>
<location filename="../../src/RaZor/Interface/Component/AppComponents.cpp" line="253"/>
<location filename="../../src/RaZor/Interface/Component/AppComponents.cpp" line="292"/>
<source>Quad</source>
<translation>Quad</translation>
</message>
<message>
<location filename="../../src/RaZor/Interface/Component/AppComponents.cpp" line="261"/>
<location filename="../../src/RaZor/Interface/Component/AppComponents.cpp" line="300"/>
<source>AABB</source>
<translation>AABB</translation>
</message>
<message>
<location filename="../../src/RaZor/Interface/Component/AppComponents.cpp" line="267"/>
<location filename="../../src/RaZor/Interface/Component/AppComponents.cpp" line="306"/>
<source>OBB</source>
<translation>OBB</translation>
</message>
<message>
<location filename="../../src/RaZor/Interface/Component/AppComponents.cpp" line="118"/>
<location filename="../../src/RaZor/Interface/Component/AppComponents.cpp" line="120"/>
<location filename="../../src/RaZor/Interface/Component/AppComponents.cpp" line="144"/>
<location filename="../../src/RaZor/Interface/Component/AppComponents.cpp" line="146"/>
<source>Add component</source>
<translation>Add component</translation>
</message>
<message>
<location filename="../../src/RaZor/Interface/Component/AppComponents.cpp" line="124"/>
<location filename="../../src/RaZor/Interface/Component/AppComponents.cpp" line="150"/>
<source>Transform</source>
<translation>Transform</translation>
</message>
<message>
<location filename="../../src/RaZor/Interface/Component/AppComponents.cpp" line="137"/>
<location filename="../../src/RaZor/Interface/Component/AppComponents.cpp" line="163"/>
<source>Mesh</source>
<translation>Mesh</translation>
</message>
<message>
<location filename="../../src/RaZor/Interface/Component/AppComponents.cpp" line="150"/>
<location filename="../../src/RaZor/Interface/Component/AppComponents.cpp" line="176"/>
<source>Mesh renderer</source>
<translation>Mesh renderer</translation>
</message>
<message>
<location filename="../../src/RaZor/Interface/Component/AppComponents.cpp" line="163"/>
<location filename="../../src/RaZor/Interface/Component/AppComponents.cpp" line="189"/>
<source>Light</source>
<translation>Light</translation>
</message>
<message>
<location filename="../../src/RaZor/Interface/Component/AppComponents.cpp" line="168"/>
<location filename="../../src/RaZor/Interface/Component/AppComponents.cpp" line="194"/>
<source>Point light</source>
<translation>Point light</translation>
</message>
<message>
<location filename="../../src/RaZor/Interface/Component/AppComponents.cpp" line="175"/>
<location filename="../../src/RaZor/Interface/Component/AppComponents.cpp" line="201"/>
<source>Directional light</source>
<translation>Directional light</translation>
</message>
<message>
<location filename="../../src/RaZor/Interface/Component/AppComponents.cpp" line="185"/>
<location filename="../../src/RaZor/Interface/Component/AppComponents.cpp" line="211"/>
<source>Rigid body</source>
<translation>Rigid body</translation>
</message>
<message>
<location filename="../../src/RaZor/Interface/Component/AppComponents.cpp" line="219"/>
<location filename="../../src/RaZor/Interface/Component/AppComponents.cpp" line="258"/>
<source>Collider</source>
<translation>Collider</translation>
</message>
<message>
<location filename="../../src/RaZor/Interface/Component/AppComponents.cpp" line="202"/>
<location filename="../../src/RaZor/Interface/Component/AppComponents.cpp" line="228"/>
<source>Sound</source>
<translation>Sound</translation>
</message>
Expand Down Expand Up @@ -325,6 +330,33 @@
<translation>Up</translation>
</message>
</context>
<context>
<name>LuaScriptComp</name>
<message>
<location filename="../../interface/LuaScriptComp.ui" line="6"/>
<location filename="../../interface/LuaScriptComp.ui" line="9"/>
<source>Lua script</source>
<translation>Lua script</translation>
</message>
<message>
<location filename="../../interface/LuaScriptComp.ui" line="15"/>
<source>Script file</source>
<translation>Script file</translation>
</message>
</context>
<context>
<name>LuaScriptGroup</name>
<message>
<location filename="../../src/RaZor/Interface/Component/LuaScriptGroup.cpp" line="23"/>
<source>Could not open the file</source>
<translation>Could not open the file</translation>
</message>
<message>
<location filename="../../src/RaZor/Interface/Component/LuaScriptGroup.cpp" line="37"/>
<source>Failed to load the script:</source>
<translation>Failed to load the script:</translation>
</message>
</context>
<context>
<name>MainWindow</name>
<message>
Expand Down
74 changes: 53 additions & 21 deletions assets/translations/french.ts
Original file line number Diff line number Diff line change
Expand Up @@ -40,104 +40,109 @@
<context>
<name>AppWindow</name>
<message>
<location filename="../../src/RaZor/Interface/Component/AppComponents.cpp" line="37"/>
<location filename="../../src/RaZor/Interface/Component/AppComponents.cpp" line="58"/>
<source>Failed to find an entity named</source>
<translation>N&apos;a pas pu trouver une entité appelée</translation>
</message>
<message>
<location filename="../../src/RaZor/Interface/Component/AppComponents.cpp" line="90"/>
<location filename="../../src/RaZor/Interface/Component/AppComponents.cpp" line="116"/>
<source> component(s) not displayed.</source>
<translation> composant(s) non affiché(s).</translation>
</message>
<message>
<location filename="../../src/RaZor/Interface/Component/AppComponents.cpp" line="104"/>
<location filename="../../src/RaZor/Interface/Component/AppComponents.cpp" line="130"/>
<location filename="../../src/RaZor/Interface/AppWindow.cpp" line="404"/>
<source>Failed to import mesh</source>
<translation>Échec de l&apos;import du maillage</translation>
</message>
<message>
<location filename="../../src/RaZor/Interface/Component/AppComponents.cpp" line="226"/>
<location filename="../../src/RaZor/Interface/Component/AppComponents.cpp" line="241"/>
<source>Lua script</source>
<translation>Script Lua</translation>
</message>
<message>
<location filename="../../src/RaZor/Interface/Component/AppComponents.cpp" line="265"/>
<source>Line</source>
<translation>Ligne</translation>
</message>
<message>
<location filename="../../src/RaZor/Interface/Component/AppComponents.cpp" line="233"/>
<location filename="../../src/RaZor/Interface/Component/AppComponents.cpp" line="272"/>
<source>Plane</source>
<translation>Plan</translation>
</message>
<message>
<location filename="../../src/RaZor/Interface/Component/AppComponents.cpp" line="239"/>
<location filename="../../src/RaZor/Interface/Component/AppComponents.cpp" line="278"/>
<source>Sphere</source>
<translation>Sphère</translation>
</message>
<message>
<location filename="../../src/RaZor/Interface/Component/AppComponents.cpp" line="246"/>
<location filename="../../src/RaZor/Interface/Component/AppComponents.cpp" line="285"/>
<source>Triangle</source>
<translation>Triangle</translation>
</message>
<message>
<location filename="../../src/RaZor/Interface/Component/AppComponents.cpp" line="253"/>
<location filename="../../src/RaZor/Interface/Component/AppComponents.cpp" line="292"/>
<source>Quad</source>
<translation>Carré</translation>
</message>
<message>
<location filename="../../src/RaZor/Interface/Component/AppComponents.cpp" line="261"/>
<location filename="../../src/RaZor/Interface/Component/AppComponents.cpp" line="300"/>
<source>AABB</source>
<translation>AABB</translation>
</message>
<message>
<location filename="../../src/RaZor/Interface/Component/AppComponents.cpp" line="267"/>
<location filename="../../src/RaZor/Interface/Component/AppComponents.cpp" line="306"/>
<source>OBB</source>
<translation>OBB</translation>
</message>
<message>
<location filename="../../src/RaZor/Interface/Component/AppComponents.cpp" line="118"/>
<location filename="../../src/RaZor/Interface/Component/AppComponents.cpp" line="120"/>
<location filename="../../src/RaZor/Interface/Component/AppComponents.cpp" line="144"/>
<location filename="../../src/RaZor/Interface/Component/AppComponents.cpp" line="146"/>
<source>Add component</source>
<translation>Ajouter composant</translation>
</message>
<message>
<location filename="../../src/RaZor/Interface/Component/AppComponents.cpp" line="124"/>
<location filename="../../src/RaZor/Interface/Component/AppComponents.cpp" line="150"/>
<source>Transform</source>
<translation>Transformation</translation>
</message>
<message>
<location filename="../../src/RaZor/Interface/Component/AppComponents.cpp" line="137"/>
<location filename="../../src/RaZor/Interface/Component/AppComponents.cpp" line="163"/>
<source>Mesh</source>
<translation>Maillage</translation>
</message>
<message>
<location filename="../../src/RaZor/Interface/Component/AppComponents.cpp" line="150"/>
<location filename="../../src/RaZor/Interface/Component/AppComponents.cpp" line="176"/>
<source>Mesh renderer</source>
<translation>Rendu du maillage</translation>
</message>
<message>
<location filename="../../src/RaZor/Interface/Component/AppComponents.cpp" line="163"/>
<location filename="../../src/RaZor/Interface/Component/AppComponents.cpp" line="189"/>
<source>Light</source>
<translation>Lumière</translation>
</message>
<message>
<location filename="../../src/RaZor/Interface/Component/AppComponents.cpp" line="168"/>
<location filename="../../src/RaZor/Interface/Component/AppComponents.cpp" line="194"/>
<source>Point light</source>
<translation>Lumière positionnelle</translation>
</message>
<message>
<location filename="../../src/RaZor/Interface/Component/AppComponents.cpp" line="175"/>
<location filename="../../src/RaZor/Interface/Component/AppComponents.cpp" line="201"/>
<source>Directional light</source>
<translation>Lumière directionnelle</translation>
</message>
<message>
<location filename="../../src/RaZor/Interface/Component/AppComponents.cpp" line="185"/>
<location filename="../../src/RaZor/Interface/Component/AppComponents.cpp" line="211"/>
<source>Rigid body</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/RaZor/Interface/Component/AppComponents.cpp" line="219"/>
<location filename="../../src/RaZor/Interface/Component/AppComponents.cpp" line="258"/>
<source>Collider</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/RaZor/Interface/Component/AppComponents.cpp" line="202"/>
<location filename="../../src/RaZor/Interface/Component/AppComponents.cpp" line="228"/>
<source>Sound</source>
<translation>Son</translation>
</message>
Expand Down Expand Up @@ -325,6 +330,33 @@
<translation>Haut</translation>
</message>
</context>
<context>
<name>LuaScriptComp</name>
<message>
<location filename="../../interface/LuaScriptComp.ui" line="6"/>
<location filename="../../interface/LuaScriptComp.ui" line="9"/>
<source>Lua script</source>
<translation>Script Lua</translation>
</message>
<message>
<location filename="../../interface/LuaScriptComp.ui" line="15"/>
<source>Script file</source>
<translation>Fichier de script</translation>
</message>
</context>
<context>
<name>LuaScriptGroup</name>
<message>
<location filename="../../src/RaZor/Interface/Component/LuaScriptGroup.cpp" line="23"/>
<source>Could not open the file</source>
<translation>Échec de l&apos;ouverture du fichier</translation>
</message>
<message>
<location filename="../../src/RaZor/Interface/Component/LuaScriptGroup.cpp" line="37"/>
<source>Failed to load the script:</source>
<translation>Échec du chargement du script :</translation>
</message>
</context>
<context>
<name>MainWindow</name>
<message>
Expand Down
15 changes: 15 additions & 0 deletions include/RaZor/Interface/Component/LuaScriptGroup.hpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
#pragma once

#ifndef RAZOR_LUASCRIPTGROUP_HPP
#define RAZOR_LUASCRIPTGROUP_HPP

#include "RaZor/Interface/Component/ComponentGroup.hpp"

class LuaScriptGroup final : public ComponentGroup {
public:
LuaScriptGroup(Raz::Entity& entity, AppWindow& appWindow);

void removeComponent() override;
};

#endif // RAZOR_LUASCRIPTGROUP_HPP
42 changes: 42 additions & 0 deletions interface/LuaScriptComp.ui
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>LuaScriptComp</class>
<widget class="LuaScriptGroup" name="LuaScriptComp">
<property name="windowTitle">
<string>Lua script</string>
</property>
<property name="title">
<string>Lua script</string>
</property>
<layout class="QFormLayout" name="luaScriptLayout">
<item row="0" column="0">
<widget class="QLabel" name="luaScriptFileLabel">
<property name="text">
<string>Script file</string>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="FileWidget&lt;FileType::LUA_SCRIPT&gt;" name="luaScriptFile">
<property name="readOnly">
<bool>true</bool>
</property>
</widget>
</item>
</layout>
</widget>
<customwidgets>
<customwidget>
<class>LuaScriptGroup</class>
<extends>QGroupBox</extends>
<header>RaZor/Interface/Component/LuaScriptGroup.hpp</header>
</customwidget>
<customwidget>
<class>FileWidget&lt;FileType::LUA_SCRIPT&gt;</class>
<extends>QLineEdit</extends>
<header>RaZor/Interface/FileWidget.hpp</header>
</customwidget>
</customwidgets>
<resources/>
<connections/>
</ui>
Loading

0 comments on commit 7cb857d

Please sign in to comment.