Generate isolated states only on demand
	
		
			
	
		
	
	
		
	
		
			All checks were successful
		
		
	
	
		
			
				
	
				E2E Testing / test (push) Successful in 1m40s
				
			
		
		
	
	
				
					
				
			
		
			All checks were successful
		
		
	
	E2E Testing / test (push) Successful in 1m40s
				
			This commit is contained in:
		
							parent
							
								
									ee970db716
								
							
						
					
					
						commit
						87a0dd775e
					
				@ -1,3 +1,4 @@
 | 
			
		||||
<mat-checkbox [(ngModel)]="this.gamesystem!.generateIsolatedStates">Generate Isolated States</mat-checkbox>
 | 
			
		||||
<app-product-state-editor [templateElement]="templateElement" [gamesystem]="gamesystem" (onOpenGamesystemEditor)="onOpenGamesystemEditor($event)"></app-product-state-editor>
 | 
			
		||||
<div id="productStateEditor">
 | 
			
		||||
  <app-product-transition-editor [templateElement]="templateElement" [gamesystem]="gamesystem" (onOpenGamesystem)="onOpenGamesystemEditor($event)"></app-product-transition-editor>
 | 
			
		||||
 | 
			
		||||
@ -16,6 +16,7 @@ import {IsolatedProductStateGenerator} from "./productSystemGenerator/IsolatedPr
 | 
			
		||||
export class ProductGamesystem extends Gamesystem<ProductState, ProductTransition> {
 | 
			
		||||
 | 
			
		||||
  innerGamesystems: Gamesystem<State<any>, Transition<any>>[] = [];
 | 
			
		||||
  generateIsolatedStates: boolean = false
 | 
			
		||||
 | 
			
		||||
  static constructFromSimpleGamesystem(simpleGamesystem: SimpleGamesystem, gameModel: GameModel) {
 | 
			
		||||
    const productGamesystem = new ProductGamesystem(simpleGamesystem.componentName, simpleGamesystem.componentDescription);
 | 
			
		||||
@ -76,8 +77,10 @@ export class ProductGamesystem extends Gamesystem<ProductState, ProductTransitio
 | 
			
		||||
    const productGenerator = new ProductSystemGenerator(this);
 | 
			
		||||
    productGenerator.generateFromChildsystems();
 | 
			
		||||
 | 
			
		||||
    const isolatedStatesGenerator = new IsolatedProductStateGenerator(this);
 | 
			
		||||
    isolatedStatesGenerator.generateIsolatedProductStates();
 | 
			
		||||
    if(this.generateIsolatedStates) {
 | 
			
		||||
      const isolatedStatesGenerator = new IsolatedProductStateGenerator(this);
 | 
			
		||||
      isolatedStatesGenerator.generateIsolatedProductStates();
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  addChildGamesystem(gamesystem: Gamesystem<State<any>, Transition<any>>) {
 | 
			
		||||
 | 
			
		||||
@ -32,10 +32,14 @@ export class ProductTemplateSystem extends ProductGamesystem implements Template
 | 
			
		||||
    } else {
 | 
			
		||||
      const productTemplateGenerator = new TemplateProductSystemGenerator(this, templateElement);
 | 
			
		||||
      productTemplateGenerator.generateFromChildsystems()
 | 
			
		||||
 | 
			
		||||
      if(this.generateIsolatedStates) {
 | 
			
		||||
        const isolatedTemplateStateGenerator = new IsolatedTemplateStateGenerator(this, templateElement);
 | 
			
		||||
        isolatedTemplateStateGenerator.generateIsolatedProductStates();
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    const isolatedTemplateStateGenerator = new IsolatedTemplateStateGenerator(this, templateElement);
 | 
			
		||||
    isolatedTemplateStateGenerator.generateIsolatedProductStates();
 | 
			
		||||
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
		Loading…
	
		Reference in New Issue
	
	Block a user