public async Task RunOnEnterStateScript( State state, CancellationToken cancellationToken) { var key = state.OnEnterScriptAssetKey; if (string.IsNullOrEmpty(key)) { return; } var scriptAsset = await assetsManager.GetScriptAsset( key, localeManager.GetLocale(), cancellationToken); var script = scriptHost.CreateScript <OnStateEnterInput>( key, scriptAsset.Data); var input = new OnStateEnterInput { State = state }; await scriptHost.RunScript(script, sessionIdProvider.GetSessionId(), input, cancellationToken); }