public void PutPointer()
 {
     ray = rtsCamera.ScreenPointToRay(Input.mousePosition);
     if (Physics.Raycast(ray: ray,
                         hitInfo: out hitInfo,
                         maxDistance: Mathf.Infinity,
                         layerMask: LayerMask.GetMask("Place", "NPC", "Construct", "Floor", "UI")))
     {
         Position = hitInfo.point;
         int hitLayer = hitInfo.collider.gameObject.layer;
         TargetType   = TargetType.None;
         TargetEntity = null;
         if ((hitLayer == LayerMask.NameToLayer("Place")) || (hitLayer == LayerMask.NameToLayer("Floor")))
         {
             TargetType = TargetType.Place;
         }
         else if (hitLayer == LayerMask.NameToLayer("NPC"))
         {
             TargetType   = TargetType.NPC;
             TargetEntity = hitInfo.collider.gameObject.GetComponent <GameEntity>();
         }
         else if (hitLayer == LayerMask.NameToLayer("Construct"))
         {
             Construct targetHit = hitInfo.collider.gameObject.GetComponent <Construct>();
             if (targetHit.Player.Group == Group.NPC)
             {
                 TargetType = TargetType.NPC;
             }
             else
             {
                 TargetType = TargetType.Construct;
             }
             TargetEntity = targetHit.GetComponent <GameEntity>();
         }
         else if (hitLayer == LayerMask.NameToLayer("UI"))
         {
             TargetType = TargetType.None;
         }
     }
 }