|  | @@ -11,7 +11,7 @@ using UnityInjector.Attributes;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  namespace CM3D2.ToukaScreenShot.Plugin
 | 
	
		
			
				|  |  |  {
 | 
	
		
			
				|  |  | -    [PluginVersion("0.1.1.0")]
 | 
	
		
			
				|  |  | +    [PluginVersion("0.1.2.0")]
 | 
	
		
			
				|  |  |      [PluginName("Com3d2.ToukaScreenShot.Plugin")]
 | 
	
		
			
				|  |  |      [PluginFilter("COM3D2x64")]
 | 
	
		
			
				|  |  |      public class ToukaScreenShot : PluginBase
 | 
	
	
		
			
				|  | @@ -43,6 +43,7 @@ namespace CM3D2.ToukaScreenShot.Plugin
 | 
	
		
			
				|  |  |          private bool noConfigFlg;
 | 
	
		
			
				|  |  |          private bool shiftKey;
 | 
	
		
			
				|  |  |          private string triggerKey = "s";
 | 
	
		
			
				|  |  | +        private string photoShootKey = "d";
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          private void Start()
 | 
	
		
			
				|  |  |          {
 | 
	
	
		
			
				|  | @@ -59,6 +60,7 @@ namespace CM3D2.ToukaScreenShot.Plugin
 | 
	
		
			
				|  |  |              ctrlKey = GetValueIni("Command", "Ctrl", true);
 | 
	
		
			
				|  |  |              shiftKey = GetValueIni("Command", "Shift", false);
 | 
	
		
			
				|  |  |              triggerKey = GetValueIni("Command", "Trigger", "s");
 | 
	
		
			
				|  |  | +            photoShootKey = GetValueIni("Command", "Trigger", "d");
 | 
	
		
			
				|  |  |              if (noConfigFlg) SaveConfig();
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -96,6 +98,39 @@ namespace CM3D2.ToukaScreenShot.Plugin
 | 
	
		
			
				|  |  |              var pressedShift = Input.GetKey(KeyCode.LeftShift) || Input.GetKey(KeyCode.RightShift);
 | 
	
		
			
				|  |  |              if (altKey == pressedAlt && ctrlKey == pressedCtrl && shiftKey == pressedShift && Input.GetKeyDown(triggerKey))
 | 
	
		
			
				|  |  |                  StartCoroutine(ExecScreenShot());
 | 
	
		
			
				|  |  | +            else if (altKey == pressedAlt && ctrlKey == pressedCtrl && shiftKey == pressedShift && Input.GetKeyDown(photoShootKey))
 | 
	
		
			
				|  |  | +                StartCoroutine(StartPhotoShoot());
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        private IEnumerator StartPhotoShoot()
 | 
	
		
			
				|  |  | +        {
 | 
	
		
			
				|  |  | +            yield return new WaitForEndOfFrame();
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +            var activeMaidCount = GameMain.Instance.CharacterMgr.GetMaidCount();
 | 
	
		
			
				|  |  | +            Maid activeMaid = null;
 | 
	
		
			
				|  |  | +            for (var i = 0; i < activeMaidCount; i++)
 | 
	
		
			
				|  |  | +                if ((activeMaid = GameMain.Instance.CharacterMgr.GetMaid(i)).Visible)
 | 
	
		
			
				|  |  | +                    break;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +            if (activeMaid == null)
 | 
	
		
			
				|  |  | +            {
 | 
	
		
			
				|  |  | +                Debug.Log("No maid found!");
 | 
	
		
			
				|  |  | +                yield break;
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +            
 | 
	
		
			
				|  |  | +            var poseList =
 | 
	
		
			
				|  |  | +                Directory.GetFiles(Path.Combine(UTY.gameProjectPath, Path.Combine("PhotoModeData", "MyPose")));
 | 
	
		
			
				|  |  | +            
 | 
	
		
			
				|  |  | +            Debug.Log($"Maid to use: {activeMaid.name}");
 | 
	
		
			
				|  |  | +            Debug.Log($"Pose count: {poseList.Length}");
 | 
	
		
			
				|  |  | +            for (var poseNum = 0; poseNum < poseList.Length; poseNum++)
 | 
	
		
			
				|  |  | +            {
 | 
	
		
			
				|  |  | +                Debug.Log($"{poseNum + 1} / {poseList.Length}");
 | 
	
		
			
				|  |  | +                var poseFile = poseList[poseNum];
 | 
	
		
			
				|  |  | +                PhotoMotionData.AddMyPose(poseFile).Apply(activeMaid);
 | 
	
		
			
				|  |  | +                yield return ExecScreenShot();
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +            Debug.Log("Done!");
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          private IEnumerator ExecScreenShot()
 |