void Start()
    {
        UnityData unityData = GetUnityData();

        inGameWrapper = new InGameWrapper(unityData, DeviceInputFactory.Create(unityData.unityDeviceInputData.inputType));
        uiShop.StartShop();
        Match_DotNetAdapter.instance.StartOnlineClient(inGameWrapper.logger);
    }
 public InGameWrapper(UnityData unityData, IDeviceInput deviceInput)
 {
     instance        = this;
     logger          = new UnityLogger();
     camera          = GameObject.Find("Camera").GetComponent <Camera>();
     clockWrapper    = new ClockWrapper();
     resetLogic      = new ResetLogic();
     playersWrapper  = new PlayersWrapper(unityData.playerData, deviceInput);
     mapWrapper      = new MapWrapper(unityData.mapData, playersWrapper.GetOnlyLocalPlayer());
     spellsWrapper   = new SpellWrapper(unityData.spellData);
     cursorWrapper   = new CursorWrapper(unityData.cursorData);
     aimWrapper      = new AimWrapper(unityData.aimData, deviceInput);
     currencyWrapper = new CurrencyWrapper(unityData.currencyWrapper);
     EverythingSetupEvent();
 }