diff --git a/html/templates/systems/system.html b/html/templates/systems/system.html
deleted file mode 100644
index eb4ed2f..0000000
--- a/html/templates/systems/system.html
+++ /dev/null
@@ -1,5 +0,0 @@
-
-
\ No newline at end of file
diff --git a/html/templates/systems/systems.html b/html/templates/systems/systems.html
index f040c78..b568d86 100644
--- a/html/templates/systems/systems.html
+++ b/html/templates/systems/systems.html
@@ -1,5 +1,4 @@
-
\ No newline at end of file
+
+
+
diff --git a/js/controllers/menu_mod.js b/js/controllers/menu_mod.js
index 47b0e50..f4566f0 100644
--- a/js/controllers/menu_mod.js
+++ b/js/controllers/menu_mod.js
@@ -2,7 +2,7 @@ import { My } from "../skama_code/api/agent.js";
import home from "./home.js";
import login from "./login.js";
import reg from "./reg.js";
-import { systems } from "./systems.js";
+import systems from "./systems.js";
function init_menu(temp_engine) {
temp_engine.add_event("#reg-link", "click", () => {
diff --git a/js/controllers/system.js b/js/controllers/system.js
deleted file mode 100644
index 915227f..0000000
--- a/js/controllers/system.js
+++ /dev/null
@@ -1,100 +0,0 @@
-import { SystemBuilder } from "../skama_code/api/system.js";
-import { Position } from "../skama_code/commun/position.js";
-import menu_mod from "./menu_mod.js"
-
-let canvas;
-let last_target;
-
-let offset = {
- x: 2,
- y: 2
-};
-let max = 100;
-let w = (window.innerWidth/10)*9;
-let h = (window.innerHeight/4)*3;
-
-function animate() {
- canvas.renderAll();
- setTimeout(animate, 1000);
-}
-
-function draw_planet(planet) {
- let shadow = new fabric.Shadow({
- color: "white",
- blur: 5,
- offsetX: 0,
- offsetY: 0,
- });
-
- fabric.Image.fromURL('/assets/planets/planetproto.png', function(img_planet) {
- //FABRICJS
- img_planet.set({
- selectable: false,
- shadow: shadow,
- left: planet.position.x/offset.x + w/2,
- top: planet.position.y/offset.y+ h/2,
- name: planet.name,
- type: planet.type
- });
- canvas.add(img_planet);
- });
-}
-
-function offsetOrbit(planet) {
- if (planet.orbits) {
- console.log("Orbits");
- let x = Math.floor(Math.random() * max - Math.random() * max);
- let y = Math.floor(Math.random() * max - Math.random() * max);
- planet.position.move(new Position(x, y));
- }
-}
-
-export default function system(system, temp_engine) {
- temp_engine.after_render((temp_engine) => {
- $("#sys-name").text(system);
- menu_mod(temp_engine);
- canvas = new fabric.Canvas("canvas",{
- width: w,
- height: h,
- backgroundColor:"rgb(7, 18, 41)",
- renderOnAddRemove: false,
- hoverCursor :'pointer'
- });
- SystemBuilder.get(system, (system) => {
- system.list_all((planets) => {
- planets.forEach(planet => {
- offsetOrbit(planet);
- draw_planet(planet);
- });
- animate();
- }, (err) => {
- console.log(err);
- });
- });
- canvas.on('mouse:up', (e) => {
- if(e.target.shadow.color == "red"){
- e.target.shadow.color = "white"
- }
- else{
- e.target.shadow.color = "red"
- }
- if (last_target) last_target.shadow.color = "white";
- last_target = e.target;
- canvas.renderAll();
- });
- $(window).on("resize", () => {
- canvas.setWidth((window.innerWidth/10)*9);
- canvas.setHeight((window.innerHeight/4)*3);
- canvas.renderAll();
- });
- canvas.on("mouse:wheel", (opt) => {
- let scale = 1.1;
- if (opt.e.deltaY < 0) {
- canvas.zoomToPoint(new fabric.Point(canvas.width / 2, canvas.height / 2), canvas.getZoom() * scale);
- } else if (opt.e.deltaY > 0) {
- canvas.zoomToPoint(new fabric.Point(canvas.width / 2, canvas.height / 2), canvas.getZoom() / scale);
- }
- });
- });
- temp_engine.render("templates/systems/system.html");
-}
\ No newline at end of file
diff --git a/js/controllers/systems.js b/js/controllers/systems.js
index 363e924..8ac4123 100644
--- a/js/controllers/systems.js
+++ b/js/controllers/systems.js
@@ -1,80 +1,25 @@
-import { SystemBuilder } from "../skama_code/api/system.js";
-import menu_mod from "./menu_mod.js"
-import system from "./system.js"
+import { CanvasRenderer } from "../skama_code/rendering/canvas_render.js";
+import menu_mod from "./menu_mod.js";
-let canvas;
-let last_target;
+export default (temp_engine) => {
+ temp_engine.after_render((temp_engine) => {
+ menu_mod(temp_engine);
+ const size = getSize();
+ const canvas = new CanvasRenderer("canvas", size.width, size.height);
-let offset = {
- x: 2,
- y: 2
-};
-let max = 100;
-let w = (window.innerWidth/10)*9;
-let h = (window.innerHeight/4)*3;
-
-function animate() {
- canvas.renderAll();
- setTimeout(animate, 1000);
-}
-
-function draw_system(system) {
- let shadow = new fabric.Shadow({
- color: "white",
- blur: 5,
- offsetX: 0,
- offsetY: 0,
+ window.addEventListener("resize", () => {
+ console.log("tttt");
+ const size = getSize();
+ canvas.resize(size.width, size.height);
});
+ });
- fabric.Image.fromURL('/assets/systems/bluesystem.png', function(img_planet) {
+ temp_engine.render("templates/systems/systems.html");
+};
- img_planet.set({
- selectable: false,
- scaleX: 0.20,
- scaleY: 0.20,
- shadow: shadow,
- left: system.position.x/offset.x + w/2,
- top: system.position.y/offset.y+ h/2,
- name: system.name,
- type: system.type
- });
- canvas.add(img_planet);
- });
+function getSize() {
+ return {
+ width: $("#canvas-container").width(),
+ height: window.innerHeight,
+ };
}
-
-export function systems(temp_engine) {
- temp_engine.after_render((temp_engine) => {
- menu_mod(temp_engine);
- canvas = new fabric.Canvas("canvas",{
- width: w,
- height: h,
- backgroundColor:"rgb(7, 18, 41)",
- renderOnAddRemove: false,
- hoverCursor :'pointer'
- });
- SystemBuilder.list_all((systems) => {
- systems.forEach(system => {
- draw_system(system);
- });
- animate();
- });
- canvas.on('mouse:up', (e) => {
- if (e.target) system(e.target.name, temp_engine);
- });
- $(window).on("resize", () => {
- canvas.setWidth((window.innerWidth/10)*9);
- canvas.setHeight((window.innerHeight/4)*3);
- canvas.renderAll();
- });
- canvas.on("mouse:wheel", (opt) => {
- console.log(opt.e.clientX);
- let scale = 1.1;
- if (opt.e.deltaY < 0) {
- canvas.zoomToPoint(new fabric.Point(opt.e.clientX / canvas.getZoom(), opt.e.clienY / canvas.getZoom()), canvas.getZoom() * scale);
- } else if (opt.e.deltaY > 0) {
- canvas.zoomToPoint(new fabric.Point(canvas.width / 2, canvas.height / 2), canvas.getZoom() / scale);
- }
- });
- });
- temp_engine.render("templates/systems/systems.html");
-}
\ No newline at end of file