from serpent.game import Game

from .api.api import MyGameAPI

from serpent.utilities import Singleton

from serpent.input_controller import InputControllers
from serpent.game_launchers.web_browser_game_launcher import WebBrowser


class SerpentGame(Game, metaclass=Singleton):

    def __init__(self, **kwargs):
        kwargs["platform"] = "PLATFORM"

        kwargs["input_controller"] = InputControllers.PYAUTOGUI

        kwargs["window_name"] = "WINDOW_NAME"

        kwargs["app_id"] = "APP_ID"
        kwargs["app_args"] = None
        kwargs["executable_path"] = "EXECUTABLE_PATH"
        kwargs["url"] = "URL"
        kwargs["browser"] = WebBrowser.DEFAULT

        super().__init__(**kwargs)

        self.api_class = MyGameAPI
        self.api_instance = None

    @property
    def screen_regions(self):
        regions = {
            "SAMPLE_REGION": (0, 0, 0, 0)
        }

        return regions

    @property
    def ocr_presets(self):
        presets = {
            "SAMPLE_PRESET": {
                "extract": {
                    "gradient_size": 1,
                    "closing_size": 1
                },
                "perform": {
                    "scale": 10,
                    "order": 1,
                    "horizontal_closing": 1,
                    "vertical_closing": 1
                }
            }
        }

        return presets

from serpent.game import Game

from .api.api import MyGameAPI

from serpent.utilities import Singleton

from serpent.game_launchers.web_browser_game_launcher import WebBrowser


class SerpentGame(Game, metaclass=Singleton):

    def __init__(self, **kwargs):
        kwargs["platform"] = "PLATFORM"

        kwargs["window_name"] = "WINDOW_NAME"

        kwargs["app_id"] = "APP_ID"
        kwargs["app_args"] = None
        kwargs["executable_path"] = "EXECUTABLE_PATH"
        kwargs["url"] = "URL"
        kwargs["browser"] = WebBrowser.DEFAULT

        super().__init__(**kwargs)

        self.api_class = MyGameAPI
        self.api_instance = None

    @property
    def screen_regions(self):
        regions = {
            "SAMPLE_REGION": (0, 0, 0, 0)
        }

        return regions

    @property
    def ocr_presets(self):
        presets = {
            "SAMPLE_PRESET": {
                "extract": {
                    "gradient_size": 1,
                    "closing_size": 1
                },
                "perform": {
                    "scale": 10,
                    "order": 1,
                    "horizontal_closing": 1,
                    "vertical_closing": 1
                }
            }
        }

        return presets

Remove kwargs["input_controller"] from the Game plugin template
Remove kwargs["input_controller"] from the Game plugin template

  from serpent.game import Game
  
  from .api.api import MyGameAPI
  
  from serpent.utilities import Singleton
  
- from serpent.input_controller import InputControllers
  from serpent.game_launchers.web_browser_game_launcher import WebBrowser
  
  
  class SerpentGame(Game, metaclass=Singleton):
  
      def __init__(self, **kwargs):
          kwargs["platform"] = "PLATFORM"
- 
-         kwargs["input_controller"] = InputControllers.PYAUTOGUI
  
          kwargs["window_name"] = "WINDOW_NAME"
  
          kwargs["app_id"] = "APP_ID"
          kwargs["app_args"] = None
          kwargs["executable_path"] = "EXECUTABLE_PATH"
          kwargs["url"] = "URL"
          kwargs["browser"] = WebBrowser.DEFAULT
  
          super().__init__(**kwargs)
  
          self.api_class = MyGameAPI
          self.api_instance = None
  
      @property
      def screen_regions(self):
          regions = {
              "SAMPLE_REGION": (0, 0, 0, 0)
          }
  
          return regions
  
      @property
      def ocr_presets(self):
          presets = {
              "SAMPLE_PRESET": {
                  "extract": {
                      "gradient_size": 1,
                      "closing_size": 1
                  },
                  "perform": {
                      "scale": 10,
                      "order": 1,
                      "horizontal_closing": 1,
                      "vertical_closing": 1
                  }
              }
          }
  
          return presets
  
Remove kwargs["input_controller"] from the Game plugin template
## Code Before:
from serpent.game import Game

from .api.api import MyGameAPI

from serpent.utilities import Singleton

from serpent.input_controller import InputControllers
from serpent.game_launchers.web_browser_game_launcher import WebBrowser


class SerpentGame(Game, metaclass=Singleton):

    def __init__(self, **kwargs):
        kwargs["platform"] = "PLATFORM"

        kwargs["input_controller"] = InputControllers.PYAUTOGUI

        kwargs["window_name"] = "WINDOW_NAME"

        kwargs["app_id"] = "APP_ID"
        kwargs["app_args"] = None
        kwargs["executable_path"] = "EXECUTABLE_PATH"
        kwargs["url"] = "URL"
        kwargs["browser"] = WebBrowser.DEFAULT

        super().__init__(**kwargs)

        self.api_class = MyGameAPI
        self.api_instance = None

    @property
    def screen_regions(self):
        regions = {
            "SAMPLE_REGION": (0, 0, 0, 0)
        }

        return regions

    @property
    def ocr_presets(self):
        presets = {
            "SAMPLE_PRESET": {
                "extract": {
                    "gradient_size": 1,
                    "closing_size": 1
                },
                "perform": {
                    "scale": 10,
                    "order": 1,
                    "horizontal_closing": 1,
                    "vertical_closing": 1
                }
            }
        }

        return presets

## Instruction:
Remove kwargs["input_controller"] from the Game plugin template
## Code After:
from serpent.game import Game

from .api.api import MyGameAPI

from serpent.utilities import Singleton

from serpent.game_launchers.web_browser_game_launcher import WebBrowser


class SerpentGame(Game, metaclass=Singleton):

    def __init__(self, **kwargs):
        kwargs["platform"] = "PLATFORM"

        kwargs["window_name"] = "WINDOW_NAME"

        kwargs["app_id"] = "APP_ID"
        kwargs["app_args"] = None
        kwargs["executable_path"] = "EXECUTABLE_PATH"
        kwargs["url"] = "URL"
        kwargs["browser"] = WebBrowser.DEFAULT

        super().__init__(**kwargs)

        self.api_class = MyGameAPI
        self.api_instance = None

    @property
    def screen_regions(self):
        regions = {
            "SAMPLE_REGION": (0, 0, 0, 0)
        }

        return regions

    @property
    def ocr_presets(self):
        presets = {
            "SAMPLE_PRESET": {
                "extract": {
                    "gradient_size": 1,
                    "closing_size": 1
                },
                "perform": {
                    "scale": 10,
                    "order": 1,
                    "horizontal_closing": 1,
                    "vertical_closing": 1
                }
            }
        }

        return presets
