Namespace KaijuSolutions.MultiplayerEngine
Core Kaiju Multiplayer Engine functionality. See the KaijuMultiplayerManager for most of the API functions. Other core functions can be found in the KaijuSearchParameters and KaijuUser APIs.
Classes
KaijuData<T>
Data for lobbies which can be searched upon.
KaijuFilter
Base class for voice and text filtering.
KaijuFilterData<T>
Data for lobbies which can be searched upon and filters results.
KaijuFriendsTextFilter
Simple text filter that blocks all messages that are not from friends and ourselves.
KaijuMultiplayerManager
The core of Kaiju Multiplayer Engine handling initialization, networking, matchmaking, and events. This class is a singleton with all functions and callbacks being static for ease of referencing and binding. The singleton will ensure there is only one instance by destroying any additional instances, so you can safely add one to all of your scenes.
KaijuNearData
Store a search data entry for number data that should be near to a target value.
KaijuNumberData
Store a search data entry for number data.
KaijuOverlay
Handles Steam overlay functionality.
KaijuPrefixTextFilter
Text filter that only keeps messages that are prefixed by one or more prefixes which could be useful for implementing team-based chats.
KaijuSearchParameters
What parameters we want to use to search for lobbies with. If we create a lobby, these will be applied.
KaijuSelfMessage
Allow for caching messages to ourselves.
KaijuStats
Handles all achievements, stats, and leaderboards functionality.
KaijuStringData
Store a search data entry for string data.
KaijuTextFilter
Base for filtering chat messages.
KaijuUser
Store the information of a user.
KaijuVoiceFilter
Base for applying filters to voice audio.
KaijuWordsTextFilter
Filter out specific words replacing them with a given character. Note that this is mainly just an example, and if you want to make a full profanity filter, it is recommended you find a word list and programmatically load and check it in an efficient manner.
Interfaces
IKaijuVoice
Interface to allow for matching voice settings with the KaijuMultiplayerManager and receiving new audio in case other custom methods wish to be created.
Enums
KaijuDistance
How far to search for lobbies.
Close - Only lobbies in the same immediate region will be returned.
Default - Only lobbies in the same region or nearby regions will be returned.
Far - For games that don't have many latency requirements, will return lobbies about half-way around the globe.
Worldwide - No filtering, will match lobbies as far as India to NY (not recommended, expect multiple seconds of latency between the clients).
KaijuIconSize
The icon size we want. Note that the below sizes are the official ones from the Steamworks API documentation, but actual icon sizes do not seem to be guaranteed to match these values.
Large = 128 x 128.
Medium = 64 x 64.
Small = 32 x 32.
None = No icon.
KaijuIconStatus
The status of an icon we requested.
Available - Icon available.
Requested - Icon requested but not yet available.
None - No icon available.
KaijuLeaderboardDisplay
The display type for leaderboards on the Steam community.
Numeric - The scores are simple numerical values.
Numeric - The scores are times in seconds.
Milliseconds - The scores are times in milliseconds.
KaijuLeaderboardRequest
The type of request for leaderboards.
Global - Global rankings, with indices representing global positions. The top placed player starts at one, not zero.
Around - Global rankings around our position on the leaderboard, including the user's position. Negative values represent values ahead of the user, and positive after the user.
Friends - Rankings of all friends. Start and end values are ignored.
KaijuLobbyMode
The mode of the lobby which controls what players can join. Regardless of the mode set, no players can join if there is no space left or the lobby is not set to be open.
Invite Only - Only players invited by current lobby members can join. Does not show up in searches.
Invite and Friends - Friends of lobby members or players invited by current lobby members can join. Does not show up in searches.
Public - Anyone may join, and your friends can see you are in a lobby. Shows up in searches.
Invisible - Anyone can join, but not visible to your friends. Shows up in searches.
KaijuPopulationMode
How to handle sorting lobbies based on player counts.
Most Players - Sort by highest current player count and then by highest capacity.
None - Don't sort by player count.
Least Players - Sort by lowest current player count and then by lowest capacity.
KaijuRelationship
The relationship with another user.
None - No set relationship.
Ignored Temporary - The user just clicked to ignore your friend request.
Requested - The user has requested you add them as a friend.
Friend - The user is your friend.
Initiated - You requested the user to add you as a friend.
Blocked - You have blocked this user.
Ignored - This user ignored your friend request.
KaijuSearchKey
Get the data type a search parameter key is for.
None - Not set as a key.
String - The key is for string data.
Number - The key is for numeric data.
Near - The key is for near data.
KaijuSearchType
How to handle a search value.
EqualToOrLessThan - Equal to or less than the given value.
LessThan - Less than the given value.
Equal - Equal to the given value.
GreaterThan - Greater than the given value.
EqualToOrGreaterThan - Equal to or greater than the given value.
NotEqual - Not equal to the given value.
KaijuState
Get the state of a user.
Offline - Not currently logged on.
Online - Logged on.
Busy - Logged on, but set to "Do not disturb."
Away - Auto-away feature.
Snooze - Auto-away for a long time.
Trading - Online, trading.
Looking to Play - Online, wanting to play.
KaijuVoiceAssignment
How to handle automatically enabling voices for users when their ID is set. This does not stop you from manually assigning other voice recipients manually.
None - Do not automatically enable any voices.
Others - Automatically enable voices for other players.
Self - Automatically enable voice for yourself.
All - Automatically enable voices for other players and yourself.
Delegates
KaijuMultiplayerManager.ChatEventHandler
Delegate for chat events.
KaijuMultiplayerManager.EmptyEventHandler
Delegate for empty events.
KaijuMultiplayerManager.IdEventHandler
Delegate for ID events.
KaijuMultiplayerManager.LobbiesEventHandler
Delegate for the lobby searching event.
KaijuMultiplayerManager.RichPresenceEventHandler
Delegate for rich presence being updated.
KaijuMultiplayerManager.UserChatEventHandler
Delegate for chat events on KaijuUser components.
KaijuMultiplayerManager.UserRichPresenceEventHandler
Delegate for rich presence being updated on KaijuUser components.
KaijuStats.CurrentUserStatsReceivedHandler
Delegate for getting the stats of a given user.
KaijuStats.LeaderboardDownloadHandler
Delegate for finding a leaderboard.
KaijuStats.LeaderboardFindHandler
Delegate for finding a leaderboard.
KaijuStats.LeaderboardScoreUploadedHandler
Delegate for uploading a score to a leaderboard.
KaijuStats.NumberPlayersHandler
Delegate for getting the number of players.
KaijuStats.SuccessIdEventHandler
Delegate for ID events with a success field.
KaijuStats.UserAchievementIconFetchedHandler
Delegate for getting the icon of an achievement.
KaijuStats.UserAchievementStoredHandler
Delegate for the result of storing an achievement on the server.
KaijuStats.UserStatsReceivedHandler
Delegate for getting the stats of a user.
KaijuStats.UserStatsStoredHandler
Delegate for storing our stats.