protected override Task <ActionModelBase> GetActionInternal()
 {
     if (this.ShowLoadModelGrid)
     {
         return(Task.FromResult <ActionModelBase>(VTubeStudioActionModel.CreateForModelLoad(this.SelectedModel?.modelID ?? this.modelID)));
     }
     else if (this.ShowMoveModelGrid)
     {
         return(Task.FromResult <ActionModelBase>(VTubeStudioActionModel.CreateForMoveModel(this.TimeInSeconds, this.RelativeToModel, this.MovementX, this.MovementY, this.Rotation, this.Size)));
     }
     else if (this.ShowRunHotKeyGrid)
     {
         if (this.SelectedHotKey != null)
         {
             return(Task.FromResult <ActionModelBase>(VTubeStudioActionModel.CreateForRunHotKey(this.CurrentModel.modelID, this.SelectedHotKey.hotkeyID)));
         }
         else
         {
             return(Task.FromResult <ActionModelBase>(VTubeStudioActionModel.CreateForRunHotKey(this.modelID, this.hotKeyID)));
         }
     }
     return(Task.FromResult <ActionModelBase>(null));
 }
 public VTubeStudioActionEditorControlViewModel(VTubeStudioActionModel action)
     : base(action)
 {
     this.SelectedActionType = action.ActionType;
     if (this.ShowLoadModelGrid)
     {
         this.modelID = action.ModelID;
     }
     else if (this.ShowMoveModelGrid)
     {
         this.TimeInSeconds   = action.MovementTimeInSeconds;
         this.RelativeToModel = action.MovementRelative;
         this.MovementX       = action.MovementX;
         this.MovementY       = action.MovementY;
         this.Rotation        = action.Rotation;
         this.Size            = action.Size;
     }
     else if (this.ShowRunHotKeyGrid)
     {
         this.modelID  = action.ModelID;
         this.hotKeyID = action.HotKeyID;
     }
 }