import { Deserialize } from "../util/deserialize.model";
import { WorldMapPositionModel } from "./worldMapPosition.model";
import { Texture2DModel } from "./texture2D.model";

export class QuestPointsOfInterestModel implements Deserialize {
  public PointOfInterestID: number;
  public PointOfInterestName: string;
  public UnlockFeatNames: Array<string>;
  public WorldMapPosition: WorldMapPositionModel;
  public CompletedIcon: Texture2DModel;
  public UncompletedIcon: Texture2DModel;

  public deserialize(input: any): this {
    Object.assign(this, input);
    this.WorldMapPosition = new WorldMapPositionModel().deserialize(input.WorldMapPosition);
    this.CompletedIcon = new Texture2DModel().deserialize(input.CompletedIcon);
    this.UncompletedIcon = new Texture2DModel().deserialize(input.UncompletedIcon);
    return this;
  }
}