コード例 #1
0
 static void InstallCallbacks(bool server)
 {
     Dispatch.Install <SteamRelayNetworkStatus_t>(x =>
     {
         Status = x.Avail;
     }, server);
 }
コード例 #2
0
 internal static void InstallEvents(bool server)
 {
     Dispatch.Install <IPCountry_t>(x => OnIpCountryChanged?.Invoke(), server);
     Dispatch.Install <LowBatteryPower_t>(x => OnLowBatteryPower?.Invoke(x.MinutesBatteryLeft), server);
     Dispatch.Install <SteamShutdown_t>(x => SteamClosed(), server);
     Dispatch.Install <GamepadTextInputDismissed_t>(x => OnGamepadTextInputDismissed?.Invoke(x.Submitted), server);
 }
コード例 #3
0
 internal static void InstallEvents()
 {
     Dispatch.Install <ValidateAuthTicketResponse_t>(x => OnValidateAuthTicketResponse?.Invoke(x.SteamID, x.OwnerSteamID, x.AuthSessionResponse), true);
     Dispatch.Install <SteamServersConnected_t>(x => OnSteamServersConnected?.Invoke(), true);
     Dispatch.Install <SteamServerConnectFailure_t>(x => OnSteamServerConnectFailure?.Invoke(x.Result, x.StillRetrying), true);
     Dispatch.Install <SteamServersDisconnected_t>(x => OnSteamServersDisconnected?.Invoke(x.Result), true);
     Dispatch.Install <SteamNetAuthenticationStatus_t>(x => OnSteamNetAuthenticationStatus?.Invoke(x.Avail), true);
 }
コード例 #4
0
        internal static void InstallEvents(bool server)
        {
            if (!server)
            {
                Dispatch.Install <SteamInventoryFullUpdate_t>(x => InventoryUpdated(x));
            }

            Dispatch.Install <SteamInventoryDefinitionUpdate_t>(x => LoadDefinitions(), server);
        }
コード例 #5
0
        internal static void InstallEvents()
        {
            Dispatch.Install <LobbyInvite_t>(x => OnLobbyInvite?.Invoke(new Friend(x.SteamIDUser), new Lobby(x.SteamIDLobby)));

            Dispatch.Install <LobbyEnter_t>(x => OnLobbyEntered?.Invoke(new Lobby(x.SteamIDLobby)));

            Dispatch.Install <LobbyCreated_t>(x => OnLobbyCreated?.Invoke(x.Result, new Lobby(x.SteamIDLobby)));

            Dispatch.Install <LobbyGameCreated_t>(x => OnLobbyGameCreated?.Invoke(new Lobby(x.SteamIDLobby), x.IP, x.Port, x.SteamIDGameServer));

            Dispatch.Install <LobbyDataUpdate_t>(x =>
            {
                if (x.Success == 0)
                {
                    return;
                }

                if (x.SteamIDLobby == x.SteamIDMember)
                {
                    OnLobbyDataChanged?.Invoke(new Lobby(x.SteamIDLobby));
                }
                else
                {
                    OnLobbyMemberDataChanged?.Invoke(new Lobby(x.SteamIDLobby), new Friend(x.SteamIDMember));
                }
            });

            Dispatch.Install <LobbyChatUpdate_t>(x =>
            {
                if ((x.GfChatMemberStateChange & (int)ChatMemberStateChange.Entered) != 0)
                {
                    OnLobbyMemberJoined?.Invoke(new Lobby(x.SteamIDLobby), new Friend(x.SteamIDUserChanged));
                }

                if ((x.GfChatMemberStateChange & (int)ChatMemberStateChange.Left) != 0)
                {
                    OnLobbyMemberLeave?.Invoke(new Lobby(x.SteamIDLobby), new Friend(x.SteamIDUserChanged));
                }

                if ((x.GfChatMemberStateChange & (int)ChatMemberStateChange.Disconnected) != 0)
                {
                    OnLobbyMemberDisconnected?.Invoke(new Lobby(x.SteamIDLobby), new Friend(x.SteamIDUserChanged));
                }

                if ((x.GfChatMemberStateChange & (int)ChatMemberStateChange.Kicked) != 0)
                {
                    OnLobbyMemberKicked?.Invoke(new Lobby(x.SteamIDLobby), new Friend(x.SteamIDUserChanged), new Friend(x.SteamIDMakingChange));
                }

                if ((x.GfChatMemberStateChange & (int)ChatMemberStateChange.Banned) != 0)
                {
                    OnLobbyMemberBanned?.Invoke(new Lobby(x.SteamIDLobby), new Friend(x.SteamIDUserChanged), new Friend(x.SteamIDMakingChange));
                }
            });

            Dispatch.Install <LobbyChatMsg_t>(OnLobbyChatMessageRecievedAPI);
        }
コード例 #6
0
 internal void InstallEvents()
 {
     Dispatch.Install <PersonaStateChange_t>(x => OnPersonaStateChange?.Invoke(new Friend(x.SteamID)));
     Dispatch.Install <GameRichPresenceJoinRequested_t>(x => OnGameRichPresenceJoinRequested?.Invoke(new Friend(x.SteamIDFriend), x.ConnectUTF8()));
     Dispatch.Install <GameConnectedFriendChatMsg_t>(OnFriendChatMessage);
     Dispatch.Install <GameOverlayActivated_t>(x => OnGameOverlayActivated?.Invoke(x.Active != 0));
     Dispatch.Install <GameServerChangeRequested_t>(x => OnGameServerChangeRequested?.Invoke(x.ServerUTF8(), x.PasswordUTF8()));
     Dispatch.Install <GameLobbyJoinRequested_t>(x => OnGameLobbyJoinRequested?.Invoke(new Lobby(x.SteamIDLobby), x.SteamIDFriend));
     Dispatch.Install <FriendRichPresenceUpdate_t>(x => OnFriendRichPresenceUpdate?.Invoke(new Friend(x.SteamIDFriend)));
 }
コード例 #7
0
 internal static void InstallEvents()
 {
     Dispatch.Install <SteamServersConnected_t>(x => OnSteamServersConnected?.Invoke());
     Dispatch.Install <SteamServerConnectFailure_t>(x => OnSteamServerConnectFailure?.Invoke());
     Dispatch.Install <SteamServersDisconnected_t>(x => OnSteamServersDisconnected?.Invoke());
     Dispatch.Install <ClientGameServerDeny_t>(x => OnClientGameServerDeny?.Invoke());
     Dispatch.Install <LicensesUpdated_t>(x => OnLicensesUpdated?.Invoke());
     Dispatch.Install <ValidateAuthTicketResponse_t>(x => OnValidateAuthTicketResponse?.Invoke(x.SteamID, x.OwnerSteamID, x.AuthSessionResponse));
     Dispatch.Install <MicroTxnAuthorizationResponse_t>(x => OnMicroTxnAuthorizationResponse?.Invoke(x.AppID, x.OrderID, x.Authorized != 0));
     Dispatch.Install <GameWebCallback_t>(x => OnGameWebCallback?.Invoke(x.URLUTF8()));
     Dispatch.Install <GetAuthSessionTicketResponse_t>(x => OnGetAuthSessionTicketResponse?.Invoke(x));
     Dispatch.Install <DurationControl_t>(x => OnDurationControl?.Invoke(new DurationControl {
         _inner = x
     }));
 }
コード例 #8
0
        internal static void InstallEvents()
        {
            Dispatch.Install <UserStatsReceived_t>(x =>
            {
                if (x.SteamIDUser == SteamClient.SteamId)
                {
                    StatsRecieved = true;
                }

                OnUserStatsReceived?.Invoke(x.SteamIDUser, x.Result);
            });

            Dispatch.Install <UserStatsStored_t>(x => OnUserStatsStored?.Invoke(x.Result));
            Dispatch.Install <UserAchievementStored_t>(x => OnAchievementProgress?.Invoke(new Achievement(x.AchievementNameUTF8()), (int)x.CurProgress, (int)x.MaxProgress));
            Dispatch.Install <UserStatsUnloaded_t>(x => OnUserStatsUnloaded?.Invoke(x.SteamIDUser));
            Dispatch.Install <UserAchievementIconFetched_t>(x => OnAchievementIconFetched?.Invoke(x.AchievementNameUTF8(), x.IconHandle));
        }
コード例 #9
0
 internal static void InstallEvents()
 {
     Dispatch.Install <ScreenshotRequested_t>(x => OnScreenshotRequested?.Invoke());
     Dispatch.Install <ScreenshotReady_t>(x =>
     {
         if (x.Result != Result.OK)
         {
             OnScreenshotFailed?.Invoke(x.Result);
         }
         else
         {
             OnScreenshotReady?.Invoke(new Screenshot {
                 Value = x.Local
             });
         }
     });
 }
コード例 #10
0
 internal static void InstallEvents()
 {
     Dispatch.Install <DlcInstalled_t>(x => OnDlcInstalled?.Invoke(x.AppID));
     Dispatch.Install <NewUrlLaunchParameters_t>(x => OnNewLaunchParameters?.Invoke());
 }
コード例 #11
0
 internal static void InstallEvents(bool server)
 {
     Dispatch.Install <P2PSessionRequest_t>(x => OnP2PSessionRequest?.Invoke(x.SteamIDRemote), server);
     Dispatch.Install <P2PSessionConnectFail_t>(x => OnP2PConnectionFailed?.Invoke(x.SteamIDRemote, (P2PSessionError)x.P2PSessionError), server);
 }
コード例 #12
0
 internal static void InstallEvents()
 {
     Dispatch.Install <BroadcastUploadStart_t>(x => OnBroadcastStarted?.Invoke());
     Dispatch.Install <BroadcastUploadStop_t>(x => OnBroadcastStopped?.Invoke(x.Result));
 }
コード例 #13
0
 internal void InstallEvents(bool server)
 {
     Dispatch.Install <AvailableBeaconLocationsUpdated_t>(x => OnBeaconLocationsUpdated?.Invoke(), server);
     Dispatch.Install <ActiveBeaconsUpdated_t>(x => OnActiveBeaconsUpdated?.Invoke(), server);
 }
コード例 #14
0
 internal static void InstallEvents(bool server)
 {
     Dispatch.Install <SteamParentalSettingsChanged_t>(x => OnSettingsChanged?.Invoke(), server);
 }
コード例 #15
0
 internal void InstallEvents(bool server)
 {
     Dispatch.Install <SteamNetConnectionStatusChangedCallback_t>(ConnectionStatusChanged, server);
 }
コード例 #16
0
 internal static void InstallEvents()
 {
     Dispatch.Install <PlaybackStatusHasChanged_t>(x => OnPlaybackChanged?.Invoke());
     Dispatch.Install <VolumeHasChanged_t>(x => OnVolumeChanged?.Invoke(x.NewVolume));
 }
コード例 #17
0
 internal static void InstallEvents(bool server)
 {
     Dispatch.Install <DownloadItemResult_t>(x => OnDownloadItemResult?.Invoke(x.Result), server);
 }
コード例 #18
0
 internal void InstallEvents(bool server)
 {
     Dispatch.Install <SteamRemotePlaySessionConnected_t>(x => OnSessionConnected?.Invoke(x.SessionID), server);
     Dispatch.Install <SteamRemotePlaySessionDisconnected_t>(x => OnSessionDisconnected?.Invoke(x.SessionID), server);
 }