You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
105 lines
2.7 KiB
105 lines
2.7 KiB
function findLogique(logiqueId) {
|
|
let elem = null;
|
|
logiques.forEach(function (element) {
|
|
if (element.name === logiqueId) {
|
|
elem = element;
|
|
}
|
|
});
|
|
return elem;
|
|
}
|
|
|
|
function giveSwitchYWithLineId(lineId){
|
|
var elementY = null;
|
|
switchsInfoCopy.forEach(function(element){
|
|
if(stage.findOne("#"+element.id).id3 == lineId){
|
|
elementY = (element.y);
|
|
}
|
|
});
|
|
return elementY;
|
|
}
|
|
|
|
function removeLineFromSwitch(lineId){
|
|
switchsInfoCopy.forEach(function(element){
|
|
if(stage.findOne("#"+element.id).id3 == lineId){
|
|
stage.findOne("#"+element.id).id3 = null;
|
|
}
|
|
});
|
|
}
|
|
|
|
function removeLine(lineId){
|
|
//remove from switch
|
|
removeLineFromSwitch(lineId);
|
|
let line = stage.findOne("#" + lineId);
|
|
line.destroy();
|
|
|
|
}
|
|
|
|
function giveLineId(logiqueId,entre) {
|
|
var newEntre = entre;
|
|
isSwitch = false;
|
|
if(entre.id !== undefined){
|
|
switchsInfoCopy.forEach(function(element){
|
|
if(entre.id() == element.id){
|
|
isSwitch = true;
|
|
newEntre = element;
|
|
}
|
|
});
|
|
}
|
|
let lineId = null;
|
|
let logique = findLogique(logiqueId);
|
|
if(logique.y >= newEntre.y){
|
|
if (logique.type === "inv") {
|
|
if (logique.id1 == null) {
|
|
lineId = "id1";
|
|
}
|
|
}
|
|
else {
|
|
if (logique.id1 == null) {
|
|
lineId = "id1";
|
|
} else if (logique.id2 == null) {
|
|
lineId = "id2";
|
|
/*if(isSwitch){
|
|
if(giveSwitchYWithLineId(logique.id1) > entre.getY()){
|
|
console.log(giveSwitchYWithLineId(logique.id1));
|
|
console.log(entre);
|
|
removeLine(entre.id3);
|
|
lineRemove.push([entre, "switch"]);
|
|
}else{
|
|
lineId = "id2";
|
|
}
|
|
}*/
|
|
}
|
|
}
|
|
}else{
|
|
if (logique.type === "inv") {
|
|
if (logique.id1 == null) {
|
|
lineId = "id1";
|
|
}
|
|
}
|
|
else {
|
|
if (logique.id2 == null) {
|
|
lineId = "id2";
|
|
} else if (logique.id1 == null) {
|
|
lineId = "id1";
|
|
}
|
|
|
|
|
|
}
|
|
}
|
|
|
|
return lineId
|
|
}
|
|
|
|
function checkLogiqueLines(logiqueId, lineId) {
|
|
let logique = findLogique(logiqueId);
|
|
logiques.forEach(function (element, index) {
|
|
if (element.name === logique.name) {
|
|
Object.keys(element).map(function(objectKey, index) {
|
|
if(objectKey == lineId && objectKey != null){
|
|
return true;
|
|
}
|
|
});
|
|
}
|
|
});
|
|
return false;
|
|
} |