class System {
  constructor(name: string) {
    this.IsActive = false;
    this.Name = name;
  }
  private name: string = '';
  public get Name(): string {
    return this.name;
  }
  set Name(Name: string) {
    this.name = Name;
  }

  private isActive: boolean = false;
  public get IsActive(): boolean {
    return this.isActive;
  }
  protected set IsActive(isActive: boolean) {
    this.isActive = isActive;
  }

  public setActive(active: boolean): void {
    this.IsActive = active;
    if (active) {
      this.onActived();
    } else {
      this.onDisactived();
    }
  }
  public onActived(): void {}
  public onDisactived(): void {}
  public onUpdate() {}
}
export default System;
