/// <summary> /// Spawn a user object for a player /// </summary> /// <param name="monitorArgs">Raw Command args to check for spawn command</param> public void Spawn(MonitorArgs monitorArgs) { CommandsArgs commandsArgs = monitorArgs as CommandsArgs; if (commandsArgs.IsCommand(m_SpawnCommand)) { Spawn(commandsArgs.nick); } }
void InvokeOnReceived(MonitorArgs obj) { CommandsArgs e = obj as CommandsArgs; onReceived.Invoke(m_AdminReference.twitchChat, e); if (CommandsBehaviour.OnCommandsReceived != null) { CommandsBehaviour.OnCommandsReceived(m_AdminReference.twitchChat, e); } }
/// <summary> /// Handles the on move request from the Twitch chat room /// </summary> /// <param name="twitchChat">Twitch Chat object</param> /// <param name="commandsArgs">The arguments received</param> public void OnMove(TwitchChat twitchChat, CommandsArgs commandsArgs) { if (!commandsArgs.nick.Equals(m_Nick)) { return; } if (commandsArgs.IsCommand(m_MoveCommand)) { TwitchChat_OnMoveCommand(twitchChat, commandsArgs); } }
/// <summary> /// Handles the on reset request from the Twitch chat room /// </summary> /// <param name="twitchChat">Twitch Chat object</param> /// <param name="commandsArgs">The arguments recieved</param> public void OnReset(TwitchChat twitchChat, CommandsArgs commandsArgs) { if (!commandsArgs.nick.Equals(m_Nick)) { return; } if (commandsArgs.IsCommand(m_ResetCommand)) { TwitchChat_OnResetCommand(commandsArgs); } }
void m_CommandsBehaviour_onReceived(TwitchChat twitchChat, CommandsArgs commandsArgs) { if (commandsArgs.IsCommand(m_SpawnCommand)) { if (m_Viewers.ContainsKey(commandsArgs.nick)) { Viewer viewer = m_Viewers[commandsArgs.nick]; viewer.accoladesUI.playingImage.color = Color.green; viewer.isPlaying = true; } } }
void TwitchChat_OnZCommand(TwitchChat twitchChat, CommandsArgs commandsArgs) { float value; if (float.TryParse(commandsArgs.argument, out value)) { AddForceFromCommand(float.Parse(commandsArgs.argument), (val) => new Vector3(0.0f, 0.0f, val), (val) => Mathf.Clamp(val.z, -m_MaxSpeed.z, m_MaxSpeed.z)); } else { twitchChat.SendChatMessageFormat("@{0} {1} requires 1 argument and it must be a number you used ({2})", commandsArgs.nick, commandsArgs.command, commandsArgs.argument); } }
/// <summary> /// Handles the on move in one direction request from the Twitch chat room /// </summary> /// <param name="twitchChat">Twitch Chat object</param> /// <param name="commandsArgs">The arguments received</param> public void OnMoveUniDirection(TwitchChat twitchChat, CommandsArgs commandsArgs) { if (!commandsArgs.nick.Equals(m_Nick)) { return; } if (commandsArgs.IsCommand(m_XCommand)) { TwitchChat_OnXCommand(twitchChat, commandsArgs); } else if (commandsArgs.IsCommand(m_YCommand)) { TwitchChat_OnYCommand(twitchChat, commandsArgs); } else if (commandsArgs.IsCommand(m_ZCommand)) { TwitchChat_OnZCommand(twitchChat, commandsArgs); } }
void TwitchChat_OnMoveCommand(TwitchChat twitchChat, CommandsArgs commandsArgs) { int requiredArgsCount = 3; if (commandsArgs.nArgument.Length == requiredArgsCount) { float rmx; float rmy; float rmz; float.TryParse(commandsArgs.nArgument[MX], out rmx); float.TryParse(commandsArgs.nArgument[MY], out rmy); float.TryParse(commandsArgs.nArgument[MZ], out rmz); MovePlayer(rmx, rmy, rmz); } else { twitchChat.SendChatMessageFormat("@{0} {1} requires {2} arguments", commandsArgs.nick, commandsArgs.command, requiredArgsCount); } }
void CommandsBehaviour_OnCommandsReceived(TwitchChat twitchChat, CommandsArgs commandsArgs) { if (commandsArgs.IsCommand(m_HelpCommand)) { string message = string.Concat( m_InboundBuilder.ToString().Trim(new char[] { ',', ' ' }), " - ", m_CommandsBuilder.ToString().Trim(new char[] { ',', ' ' })); twitchChat.SendChatMessage(message); } else if (commandsArgs.IsCommand(m_CommandHelp)) { if (m_HelpDescriptions.ContainsKey(commandsArgs.argument)) { string message = string.Concat("Help for ", commandsArgs.argument, ": ", m_HelpDescriptions[commandsArgs.argument]); twitchChat.SendChatMessage(message); } } }
/// <summary> /// Sets movement vector to zero /// <para>Override in derived classes to add functionality</para> /// </summary> /// <param name="commandsArgs">Commands args received from the chat client</param> protected virtual void TwitchChat_OnResetCommand(CommandsArgs commandsArgs) { m_Movement = Vector3.zero; }
/// <summary> /// Validates that a CommandsArgs is the command you are interested in using /// </summary> /// <param name="commandsArgs">CommandsArgs received from the client</param> /// <param name="command">Command you are interested in using</param> /// <returns>True if the parameters are a match, False otherwise</returns> public static bool IsCommand(this CommandsArgs commandsArgs, string command) { return(commandsArgs.command.Equals(string.Concat(COMMAND_SYMBOL, command))); }
/// <summary> /// Sets movement vector to zero /// <para>Override in derived calsses to add functionality</para> /// </summary> /// <param name="commandsArgs">Commands args received from tyhe chat client</param> protected override void TwitchChat_OnResetCommand(CommandsArgs commandsArgs) { base.TwitchChat_OnResetCommand(commandsArgs); m_Rigidbody.velocity = Vector3.zero; m_Rigidbody.position = base.m_StartPosition; }
void CommandsBehaviour_OnCommandsReceived(TwitchChat twitchChat, CommandsArgs args) { Spawn(args); }