fixed agissantes icons size #2190
This commit is contained in:
		| @@ -51,6 +51,8 @@ export default { | |||||||
|       prev_scale: 1, |       prev_scale: 1, | ||||||
|       opacity: 0, |       opacity: 0, | ||||||
|       tween: null, |       tween: null, | ||||||
|  |       is_opening: false, | ||||||
|  |       is_closing: false, | ||||||
|       body: null, |       body: null, | ||||||
|       body_parts: [], |       body_parts: [], | ||||||
|       constraint: null, |       constraint: null, | ||||||
| @@ -148,6 +150,9 @@ export default { | |||||||
|         if (this.is_opened & n !== o) { |         if (this.is_opened & n !== o) { | ||||||
|           this.setPaperContents(); |           this.setPaperContents(); | ||||||
|         } |         } | ||||||
|  |         if (n !== o) { | ||||||
|  |           this.handlePaperVisibilityOnMapMode() | ||||||
|  |         } | ||||||
|       }, |       }, | ||||||
|       deep: true |       deep: true | ||||||
|     }, |     }, | ||||||
| @@ -448,7 +453,7 @@ export default { | |||||||
|       } |       } | ||||||
|       if (this.concernement.has_agissantes) { |       if (this.concernement.has_agissantes) { | ||||||
|         // TODO icons |         // TODO icons | ||||||
|         // this.paper_main_object.addChild(this.setPaperAgissantes()); |         this.paper_main_object.addChild(this.setPaperAgissantesIcons()); | ||||||
|       } |       } | ||||||
|       if (this.concernement.has_doleance) { |       if (this.concernement.has_doleance) { | ||||||
|         this.addNewPaperSymbolInstance('doleance_icon'); |         this.addNewPaperSymbolInstance('doleance_icon'); | ||||||
| @@ -621,6 +626,27 @@ export default { | |||||||
|       } |       } | ||||||
|       return g; |       return g; | ||||||
|     }, |     }, | ||||||
|  |     setPaperAgissantesIcons(){ | ||||||
|  |       let g = new paper.Group({ | ||||||
|  |         pivot: new paper.Point(this.pos), | ||||||
|  |         name: 'agissantes_icons' | ||||||
|  |       }); | ||||||
|  |       for (let i = 0; i < this.entites.length; i++) { | ||||||
|  |         if (this.entites[i].entite && this.entites[i].entite.agissante) { | ||||||
|  |           let instance = new paper.SymbolItem(this.paper_symbol_definitions['entite_action_icon']); | ||||||
|  |           instance.name = 'entite_action'; | ||||||
|  |           instance.position = new paper.Point([this.pos.x + this.entites[i].display.pos.x * this.scale, this.pos.y + this.entites[i].display.pos.y * this.scale]); | ||||||
|  |           instance.fillColor = '#000'; | ||||||
|  |           // instance.scale(0.2); | ||||||
|  |           instance.scale(this.scale); | ||||||
|  |           instance.item_id = this.entites[i].entite.id; | ||||||
|  |           instance.item_type = 'entite_action'; | ||||||
|  |           instance.is_symbol_instance = true; | ||||||
|  |           g.addChild(instance) | ||||||
|  |         } | ||||||
|  |       } | ||||||
|  |       return g; | ||||||
|  |     }, | ||||||
|     setPaperPuissanceagirBesoins(){ |     setPaperPuissanceagirBesoins(){ | ||||||
|       let g = new paper.Group({ |       let g = new paper.Group({ | ||||||
|         pivot: new paper.Point(this.pos), |         pivot: new paper.Point(this.pos), | ||||||
| @@ -970,7 +996,37 @@ export default { | |||||||
|       return g; |       return g; | ||||||
|     }, |     }, | ||||||
|     // PAPER VISIBILITY |     // PAPER VISIBILITY | ||||||
|     handlePaperVisibility(){ |     handlePaperVisibilityOnBeforeOpen(){ | ||||||
|  |       // agissantes | ||||||
|  |       if (this.concernement.has_agissantes && this.map_mode === "action") { | ||||||
|  |         if (!this.is_opened) { | ||||||
|  |           this.paper_main_object.children.agissantes_icons.visible = true; | ||||||
|  |         } else { | ||||||
|  |           this.paper_main_object.children.agissantes_icons.visible = false; | ||||||
|  |         } | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     handlePaperVisibilityOnOpened(){ | ||||||
|  |        | ||||||
|  |  | ||||||
|  |     }, | ||||||
|  |     handlePaperVisibilityOnBeforeClose(){ | ||||||
|  |        | ||||||
|  |     }, | ||||||
|  |     handlePaperVisibilityOnClosed(){ | ||||||
|  |       // agissantes | ||||||
|  |       if (this.concernement.has_agissantes && this.map_mode === "action") { | ||||||
|  |         if (!this.is_opened) { | ||||||
|  |           this.paper_main_object.children.agissantes_icons.visible = true; | ||||||
|  |         } else { | ||||||
|  |           this.paper_main_object.children.agissantes_icons.visible = false; | ||||||
|  |         } | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     handlePaperVisibilityOnMapMode(){ | ||||||
|  |  | ||||||
|  |     }, | ||||||
|  |     handlePaperVisibilityOnAfterEnginUpdate(){ | ||||||
|       // contours focused |       // contours focused | ||||||
|       if (!this.isFocused()){ |       if (!this.isFocused()){ | ||||||
|         this.paper_main_object.children['contours'].fillColor = "rgba(255,255,255,0.1)"; |         this.paper_main_object.children['contours'].fillColor = "rgba(255,255,255,0.1)"; | ||||||
| @@ -1007,16 +1063,14 @@ export default { | |||||||
|         } |         } | ||||||
|       } |       } | ||||||
|        |        | ||||||
|       // TODO icons |       // agissantes | ||||||
|       // // agissantes |       if (this.concernement.has_agissantes) { | ||||||
|       // // console.log('this.concernement.has_agissantes', this.concernement.has_agissantes); |         if (this.map_mode !== "action") { | ||||||
|       // if (this.concernement.has_agissantes) { |           this.paper_main_object.children.agissantes_icons.visible = false; | ||||||
|       //   if (this.map_mode === "action") { |         } else if(!this.is_opened && !this.is_closing){ | ||||||
|       //     // this.paper_main_object.children.agissantes.visible = true; |           this.paper_main_object.children.agissantes_icons.visible = true; | ||||||
|       //   } else { |         } | ||||||
|       //     // this.paper_main_object.children.agissantes.visible = false; |       } | ||||||
|       //   }   |  | ||||||
|       // } |  | ||||||
|  |  | ||||||
|       // doleance      |       // doleance      | ||||||
|       if (this.concernement.has_doleance) { |       if (this.concernement.has_doleance) { | ||||||
| @@ -1196,10 +1250,12 @@ export default { | |||||||
|         this.tween.stop(); |         this.tween.stop(); | ||||||
|       } |       } | ||||||
|       if (open) { |       if (open) { | ||||||
|  |         this.is_opening = true; | ||||||
|         // paper bring to front |         // paper bring to front | ||||||
|         this.paper_main_object.bringToFront(); |         this.paper_main_object.bringToFront(); | ||||||
|         // create the paper objects to display (like entite, besoin, etc) |         // create the paper objects to display (like entite, besoin, etc) | ||||||
|         this.setPaperContents(); |         this.setPaperContents(); | ||||||
|  |         this.handlePaperVisibilityOnBeforeOpen(); | ||||||
|  |  | ||||||
|         // calcul opened size regarding window size |         // calcul opened size regarding window size | ||||||
|         // let ch = this.canvas.height; |         // let ch = this.canvas.height; | ||||||
| @@ -1239,6 +1295,8 @@ export default { | |||||||
|             this.pos = {x:obj.x, y:obj.y}; |             this.pos = {x:obj.x, y:obj.y}; | ||||||
|             Matter.Body.setPosition(this.body, this.pos); |             Matter.Body.setPosition(this.body, this.pos); | ||||||
|              |              | ||||||
|  |             this.handlePaperVisibilityOnOpened(); | ||||||
|  |  | ||||||
|             // fix the concernement position with a constraint |             // fix the concernement position with a constraint | ||||||
|             this.constraint = Matter.Constraint.create({ |             this.constraint = Matter.Constraint.create({ | ||||||
|               pointA: this.pos, |               pointA: this.pos, | ||||||
| @@ -1249,15 +1307,21 @@ export default { | |||||||
|             }); |             }); | ||||||
|             Matter.Composite.add(this.matterEngine.world, [this.body, this.constraint]); |             Matter.Composite.add(this.matterEngine.world, [this.body, this.constraint]); | ||||||
|              |              | ||||||
|  |             this.is_opening = false; | ||||||
|           }); |           }); | ||||||
|           // recreate the matter engine event to get it a the end of the events stack |           // recreate the matter engine event to get it a the end of the events stack | ||||||
|           Matter.Events.off(this.matterEngine, "afterUpdate", this.onAfterEngineUpdate); |           Matter.Events.off(this.matterEngine, "afterUpdate", this.onAfterEngineUpdate); | ||||||
|           Matter.Events.on(this.matterEngine, "afterUpdate", this.onAfterEngineUpdate); |           Matter.Events.on(this.matterEngine, "afterUpdate", this.onAfterEngineUpdate); | ||||||
|       } else { |       } else { | ||||||
|         // closing |         // closing | ||||||
|  |         this.is_closing = true; | ||||||
|  |  | ||||||
|         if(this.constraint){ |         if(this.constraint){ | ||||||
|           Matter.Composite.remove(this.matterEngine.world, this.constraint); |           Matter.Composite.remove(this.matterEngine.world, this.constraint); | ||||||
|         } |         } | ||||||
|  |  | ||||||
|  |         this.handlePaperVisibilityOnBeforeClose(); | ||||||
|  |  | ||||||
|         this.tween = new Tween.Tween({s: this.scale, o: 1}) |         this.tween = new Tween.Tween({s: this.scale, o: 1}) | ||||||
|           .to({s: 1, o: 0}, 500) |           .to({s: 1, o: 0}, 500) | ||||||
|           .onUpdate((obj) => { |           .onUpdate((obj) => { | ||||||
| @@ -1276,7 +1340,9 @@ export default { | |||||||
|           }) |           }) | ||||||
|           .onComplete((obj) => { |           .onComplete((obj) => { | ||||||
|             this.prev_scale = this.scale = 1; |             this.prev_scale = this.scale = 1; | ||||||
|  |             this.handlePaperVisibilityOnClosed(); | ||||||
|             this.clearPaperContents(); |             this.clearPaperContents(); | ||||||
|  |             this.is_closing = false; | ||||||
|           }); |           }); | ||||||
|       } |       } | ||||||
|       this.tween.easing(Tween.Easing.Quadratic.InOut).start(); |       this.tween.easing(Tween.Easing.Quadratic.InOut).start(); | ||||||
| @@ -1619,7 +1685,7 @@ export default { | |||||||
|  |  | ||||||
|       this.paper_main_object.position = this.pos = this.body.position; |       this.paper_main_object.position = this.pos = this.body.position; | ||||||
|  |  | ||||||
|       this.handlePaperVisibility() |       this.handlePaperVisibilityOnAfterEnginUpdate() | ||||||
|     }, |     }, | ||||||
|   }, |   }, | ||||||
|   render() { |   render() { | ||||||
|   | |||||||
| @@ -212,6 +212,7 @@ export default { | |||||||
|       this.addPaperSymbolDefinition('entite', this.setPaperEntiteSymbol()); |       this.addPaperSymbolDefinition('entite', this.setPaperEntiteSymbol()); | ||||||
|       this.addPaperSymbolDefinition('entite_hidden', this.setPaperHiddenEntiteSymbol()); |       this.addPaperSymbolDefinition('entite_hidden', this.setPaperHiddenEntiteSymbol()); | ||||||
|       this.addPaperSymbolDefinition('entite_hover', this.setPaperEntiteHoverSymbol()); |       this.addPaperSymbolDefinition('entite_hover', this.setPaperEntiteHoverSymbol()); | ||||||
|  |       this.addPaperSymbolDefinition('entite_action_icon', this.setPaperEntiteActionIconSymbol()); | ||||||
|       this.addPaperSymbolDefinition('entite_action', this.setPaperEntiteActionSymbol()); |       this.addPaperSymbolDefinition('entite_action', this.setPaperEntiteActionSymbol()); | ||||||
|       this.addPaperSymbolDefinition('entite_action_hover', this.setPaperEntiteActionHoverSymbol()); |       this.addPaperSymbolDefinition('entite_action_hover', this.setPaperEntiteActionHoverSymbol()); | ||||||
|       this.addPaperSymbolDefinition('besoin', this.setPaperBesoinSymbol()); |       this.addPaperSymbolDefinition('besoin', this.setPaperBesoinSymbol()); | ||||||
| @@ -897,6 +898,24 @@ export default { | |||||||
|         strokeWidth:2 |         strokeWidth:2 | ||||||
|       }) |       }) | ||||||
|     }, |     }, | ||||||
|  |     setPaperEntiteActionIconSymbol(){ | ||||||
|  |       let svgIcon = paper.project.importSVG(iconAction); | ||||||
|  |       svgIcon.strokeWidth = 0.8; | ||||||
|  |       svgIcon.scale(0.6); | ||||||
|  |       svgIcon.strokeColor = '#000'; | ||||||
|  |       svgIcon.fillColor = null; | ||||||
|  |       svgIcon.position = {x:0, y:0}; | ||||||
|  |  | ||||||
|  |       // let circle = new paper.Path.Circle({ | ||||||
|  |       //   radius: 3, | ||||||
|  |       //   fillColor: 'rgba(255,255,255,0.01)' | ||||||
|  |       // }) | ||||||
|  |  | ||||||
|  |       return new paper.Group({ | ||||||
|  |         children: [svgIcon], | ||||||
|  |         name: 'action_icon' | ||||||
|  |       }); | ||||||
|  |     }, | ||||||
|     setPaperEntiteActionSymbol(){ |     setPaperEntiteActionSymbol(){ | ||||||
|       let svgIcon = paper.project.importSVG(iconAction); |       let svgIcon = paper.project.importSVG(iconAction); | ||||||
|       svgIcon.strokeWidth = 0.25; |       svgIcon.strokeWidth = 0.25; | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user