public static void HandleResetPosition(Session session, params string[] parameters) { try { // if (parameters.Length > 1) // if (parameters[1] != "") // scale = float.Parse(parameters[1]); string message = "Error saving position."; PositionType type = new PositionType(); if (Enum.TryParse(parameters[0], true, out type)) { if (Enum.IsDefined(typeof(PositionType), type)) { message = $"Saving position {Enum.GetName(typeof(PositionType), type)}"; session.Player.SetCharacterPosition(type, CharacterPositionExtensions.InvalidPosition(session.Id, type)); } } float scale = 1f; var effectEvent = new GameMessageScript(session.Player.Guid, Network.Enum.PlayScript.AttribDownRed, scale); var sysChatMessage = new GameMessageSystemChat(message, ChatMessageType.Broadcast); session.Network.EnqueueSend(effectEvent, sysChatMessage); } catch (Exception) { // Do Nothing } }
/// <summary> /// Returns an available character positions from the database that match the PositionType. /// If no position is found, an invalid position is returned. /// </summary> public Position GetCharacterPosition(Character character, PositionType positionType) { Dictionary <string, object> criteria = new Dictionary <string, object>(); criteria.Add("character_id", character.Id); criteria.Add("positionType", positionType); Position newPosition = CharacterPositionExtensions.InvalidPosition(character.Id, positionType); if (ExecuteConstructedGetStatement(CharacterPreparedStatement.CharacterPositionSelect, typeof(Position), criteria, newPosition)) { return(newPosition); } return(newPosition = CharacterPositionExtensions.InvalidPosition(character.Id, PositionType.Undef)); }