private static void InitialiseEntityVendorInfo() { ImmutableDictionary <uint, EntityVendor> vendors = WorldDatabase.GetEntityVendors() .GroupBy(v => v.Id) .ToImmutableDictionary(g => g.Key, g => g.First()); ImmutableDictionary <uint, ImmutableList <EntityVendorCategory> > vendorCategories = WorldDatabase.GetEntityVendorCategories() .GroupBy(c => c.Id) .ToImmutableDictionary(g => g.Key, g => g.ToImmutableList()); ImmutableDictionary <uint, ImmutableList <EntityVendorItem> > vendorItems = WorldDatabase.GetEntityVendorItems() .GroupBy(i => i.Id) .ToImmutableDictionary(g => g.Key, g => g.ToImmutableList()); // category with no items foreach (uint source in vendorCategories.Keys.Except(vendorItems.Keys)) { } // items with no category foreach (uint source in vendorItems.Keys.Except(vendorCategories.Keys)) { } VendorInfo = vendorCategories.Keys .Select(i => new VendorInfo(vendors[i], vendorCategories[i], vendorItems[i])) .ToImmutableDictionary(v => v.Id, v => v); log.Info($"Loaded vendor information for {VendorInfo.Count} {(VendorInfo.Count > 1 ? "entities" : "entity")}."); }
public WorldServer() { Config = new WorldServerConfig("Resources/Config/World.ini"); WorldDatabase = new WorldDatabase(Config); if (WorldDatabase.Connection.CheckConnection()) { Console.WriteLine("Connecting to cluster server..."); int clusterPort = (int)Config.GetSetting("ClusterPort"); int worldStartPort = (int)Config.GetSetting("WorldStartPort"); Console.WriteLine("Searching open port for cluster server communication..."); while (PortChecker.IsPortAvailable(worldStartPort)) { Console.WriteLine("Port {0} not available, let's try another port", worldStartPort.ToString()); worldStartPort += 1; } ClusterConnector = new ClusterConnector(clusterPort.ToString(), worldStartPort.ToString()); ClusterConnector.StartListening(); // Let's wait a bit to let the subscriber and publisher socket to connect Thread.Sleep(1500); RegisterChannelRequest request = new RegisterChannelRequest((string)Config.GetSetting("ClusterAuthorizationPassword"), (string)Config.GetSetting("Address"), worldStartPort.ToString(), (string)Config.GetSetting("ChannelName"), 50, ClusterConnector.PublisherSocket); ClusterConnector.OnRegisterChannelSuccesful += new ClusterConnector.RequestSuccesfulHandler(OnRegisterChannelSuccesful); } }
public void ResetWorldDatabase(bool useConnStr) { if (useConnStr) worldDatabase = new WorldDatabase(SAI_Editor_Manager.Instance.connString.Server, SAI_Editor_Manager.Instance.connString.Port, SAI_Editor_Manager.Instance.connString.UserID, SAI_Editor_Manager.Instance.connString.Password, SAI_Editor_Manager.Instance.connString.Database); else worldDatabase = new WorldDatabase(Settings.Default.Host, Settings.Default.Port, Settings.Default.User, GetPasswordSetting(), Settings.Default.Database); }
static async Task MainAsync(string[] args) { //Starting string host = "127.0.0.1", database = "mimic_auth", user = "******", pass = "******"; var builder = new DbContextOptionsBuilder().UseMySQL($"Server={host}; database={database}; UID={user}; password={pass}"); authDatabase = new AuthDatabase(builder.Options); authDatabase.Database.EnsureCreated(); database = "mimic_world"; builder = new DbContextOptionsBuilder().UseMySQL($"Server={host}; database={database}; UID={user}; password={pass}"); worldDatabase = new WorldDatabase(builder.Options); worldDatabase.Database.EnsureCreated(); world = new World(); string ip = "0.0.0.0"; ushort port = 8085; var socketManager = new SocketManager <WorldHandler>(ip, port); await socketManager.StartAsync(); Console.Out.WriteLine("Started on " + ip + ":" + port); //Started. Looping InitWorldLoop(); //Stopping }
private void CalculateEntityAreaData() { log.Info("Calculating area information for entities..."); var mapFiles = new Dictionary <ushort, MapFile>(); var entities = new HashSet <EntityModel>(); foreach (EntityModel model in WorldDatabase.GetEntitiesWithoutArea()) { entities.Add(model); if (!mapFiles.TryGetValue(model.World, out MapFile mapFile)) { WorldEntry entry = GameTableManager.Instance.World.GetEntry(model.World); mapFile = BaseMapManager.Instance.GetBaseMap(entry.AssetPath); mapFiles.Add(model.World, mapFile); } uint worldAreaId = mapFile.GetWorldAreaId(new Vector3(model.X, model.Y, model.Z)); model.Area = (ushort)worldAreaId; log.Info($"Calculated area {worldAreaId} for entity {model.Id}."); } WorldDatabase.UpdateEntities(entities); log.Info($"Calculated area information for {entities.Count} {(entities.Count == 1 ? "entity" : "entities")}."); }
private void Start() { //TODO: This shouldn't be neccesary once I've got the cartridge loader scene up and running //Will check that all data exists before even entering the game scene //Load all Data, Make sure none are missing if (!WorldDatabase.LoadWorldData()) { Debug.LogWarning("World Data is Missing!"); } else if (!LevelDatabase.LoadLevelData()) { Debug.LogWarning("Level Data is Missing!"); } else if (!RoomDatabase.LoadRoomData()) { Debug.LogWarning("Room Data is Missing!"); } else if (!InteractableDatabase.LoadInteractableData()) { Debug.LogWarning("Interaction Data is Missing!"); } else if (!ObstacleDatabase.LoadObstacleData()) { Debug.LogWarning("Obstacle Data is Missing!"); } else if (!ItemDatabase.LoadItemData()) { Debug.LogWarning("Item Data is Missing!"); } else { WorldManagerInst.EnterWorld(); UIController.Instance.EnableUI(); } }
/// <summary> /// Called when the BlockWorld behaviour is enabled. /// </summary> private void OnEnable() { if (m_WorldContainer != null) { return; // Already enabled } var chunkSize = new GridSize(4); var world = new World(chunkSize); var blockList = new BlockTypeList(); var remesh = new RemeshHandler(); var database = new WorldDatabase("/home/thedudefromci/Bones3/TestWorld"); remesh.AddDistributor(new StandardDistributor()); m_WorldContainer = new WorldContainer(world, remesh, blockList, database); m_WorldContainer.BlockContainerProvider.OnBlockContainerCreated += OnChunkCreated; m_WorldContainer.BlockContainerProvider.OnBlockContainerDestroyed += OnChunkDestroyed; m_WorldContainer.RemeshHandler.OnRemeshFinish += OnRemeshFinished; #if UNITY_EDITOR if (!Application.isPlaying) { UnityEditor.EditorApplication.update += Update; } #endif }
private void buttonTestConnection_Click(object sender, EventArgs e) { buttonTestConnection.Enabled = false; MySqlConnectionStringBuilder _connectionString = new MySqlConnectionStringBuilder(); _connectionString.Server = textBoxHost.Text; _connectionString.UserID = textBoxUsername.Text; _connectionString.Port = CustomConverter.ToUInt32(textBoxPort.Text); _connectionString.Database = textBoxWorldDatabase.Text; if (textBoxPassword.Text.Length > 0) { _connectionString.Password = textBoxPassword.Text; } WorldDatabase worldDatabase = null; if (!Settings.Default.UseWorldDatabase) { worldDatabase = new WorldDatabase(Settings.Default.Host, Settings.Default.Port, Settings.Default.User, SAI_Editor_Manager.Instance.GetPasswordSetting(), Settings.Default.Database); } else { worldDatabase = SAI_Editor_Manager.Instance.worldDatabase; } //! If no connection was established, it would throw an error in WorldDatabase.CanConnectToDatabase. if (worldDatabase.CanConnectToDatabase(_connectionString)) { MessageBox.Show("Connection successful!", "Connection status", MessageBoxButtons.OK, MessageBoxIcon.Information); } buttonTestConnection.Enabled = true; }
void Form1_Load(object sender, EventArgs e) { _StatusBar = "Initializing..."; settings = new Properties.Settings(); // metadata=res://*/Database.csdl|res://*/Database.ssdl|res://*/Database.msl; world = new WorldDatabase($"metadata=res://*/Database.Database.csdl|res://*/Database.Database.ssdl|res://*/Database.Database.msl;provider=MySql.Data.MySqlClient;provider connection string=\";server={settings.IPAdress};user id={settings.User};password={settings.Pass};database={settings.World_DB};persistsecurityinfo=True\""); //new WorldDatabase(); Text = $"Database Editor - {settings.IPAdress}"; // Initialize dictionary for tables and set datagridviews column names DatabaseStructure.InitializeDictionary(); // Creature Control creatureControl.world = world; creatureControl.settings = settings; creatureControl.Initialize(); creatureControl.CreatureTab.SelectedIndexChanged += EditorControlTab_SelectedIndexChanged; AcceptButton = creatureControl.AcceptButton; // GameObject Control gameObjectControl.world = world; gameObjectControl.settings = settings; gameObjectControl.Initialize(); gameObjectControl.GameObjectTab.SelectedIndexChanged += EditorControlTab_SelectedIndexChanged; // Item Control itemControl.world = world; itemControl.settings = settings; itemControl.Initialize(); itemControl.ItemTab.SelectedIndexChanged += EditorControlTab_SelectedIndexChanged; // Load App settings if (settings.FormSize.Height != 0 && settings.FormSize.Width != 0) { Size = settings.FormSize; } // Load DBCs if (settings.DBC_Path == String.Empty) { DBCPath dbcPath = new DBCPath(); dbcPath.ShowDialog(); } DbcStore.LoadFiles(); //DBC.DBCStores.LoadFiles(); /*List<DBC.FamilyEntry> list = new List<DBC.FamilyEntry>(); * * foreach (var record in DBC.DBCStores.Family.Records) // Records in DBC * { * list.Add(record.ID, record. * } * * DBCDataGridView.DataSource = list;*/ _StatusBar = "Ready, MySQL connect success"; }
public Database() { ItemDatabase = new ItemDatabase(); TileDatabase = new TileDatabase(); WorldDatabase = new WorldDatabase(); BiomeDatabase = new BiomeDatabase(); StructureDatabase = new StructureDatabase(); }
public static void TestSetup(TestContext context) { // copy config.js File.Copy(Path.Combine(Environment.CurrentDirectory, "..\\..\\..\\..\\..\\ACE.Server\\Config.js"), ".\\Config.js", true); ConfigManager.Initialize(); worldDb = new WorldDatabase(); }
public TCManager() { var set = Settings.Default; AuthDatabase = new AuthDatabase(set.DBHost, set.DBPort, set.DBUsername, set.DBPassword.DecryptString(Encoding.Unicode.GetBytes(Settings.Default.Entropy)).ToInsecureString(), set.DBAuthName); CharDatabase = new CharDatabase(set.DBHost, set.DBPort, set.DBUsername, set.DBPassword.DecryptString(Encoding.Unicode.GetBytes(Settings.Default.Entropy)).ToInsecureString(), set.DBCharName); WorldDatabase = new WorldDatabase(set.DBHost, set.DBPort, set.DBUsername, set.DBPassword.DecryptString(Encoding.Unicode.GetBytes(Settings.Default.Entropy)).ToInsecureString(), set.DBWorldName); }
private EntityCache LoadEntityCache(ushort worldId) { var entityCache = new EntityCache(WorldDatabase.GetEntities(worldId)); entityCaches.Add(worldId, entityCache); log.Trace($"Initialised {entityCache.EntityCount} spawns on {entityCache.GridCount} grids for world {worldId}."); return(entityCache); }
public World() { StaticData = WorldDatabase.GetWorldData(); _worldLevels = new Level[LevelDatabase.LevelCount]; for (int i = 0; i < _worldLevels.Length; i++) { _worldLevels[i] = new Level(i + 1); } }
public static WorldDatabase Create() { WorldDatabase asset = ScriptableObject.CreateInstance <WorldDatabase>(); AssetDatabase.CreateAsset(asset, "Assets/WorldDatabase.asset"); AssetDatabase.SaveAssets(); return(asset); }
public void ResetDatabases() { string password = Settings.Default.Password; if (password.Length > 0) password = SecurityExtensions.DecryptString(password, Encoding.Unicode.GetBytes(Settings.Default.Entropy)).ToInsecureString(); worldDatabase = new WorldDatabase(Settings.Default.Host, Settings.Default.Port, Settings.Default.User, password, Settings.Default.Database); sqliteDatabase = new SQLiteDatabase("Resources/sqlite_database.db"); }
private async void DownloadApplyTDB() { var result = _messageService.Show("This will create the 'world' database. If the database already exists, it will be overwritten! Continue?", "Warning!", MessageButton.YesNo, MessageImage.Warning); if (result == MessageResult.Yes) { Progress <int> progress = new Progress <int>(val => { TDBSetupProgress = val; }); //var wizard = e.Source as Xceed.Wpf.Toolkit.Wizard; //if (Wizard != null) //{ // Wizard.CanSelectNextPage = false; // Wizard.CanSelectPreviousPage = false; //} TDBSetupWorking = true; string tempDir = FileHelper.GenerateTempDirectory(); string file = Path.Combine(tempDir, "TDB.7z"); string extractTo = Path.Combine(tempDir, "TDB"); Directory.CreateDirectory(extractTo); await TDB.DownloadTDBAsync(progress, file); await TDB.Extract7zAsync(file, extractTo, progress); string[] files = Directory.GetFiles(extractTo); string tdbSql = ""; foreach (string f in files) { if (Path.GetFileName(f).StartsWith("TDB_full")) { tdbSql = f; break; } } if (!string.IsNullOrEmpty(tdbSql)) { MySqlDatabase db = new WorldDatabase(MySQLHost, MySQLPort, MySQLUsername, MySQLPassword, "world"); await db.CreateDatabaseAsync(); await TDB.ApplyAsync(tdbSql, db, progress, new CancellationTokenSource()); } FileHelper.DeleteDirectory(tempDir); TDBSetupWorking = false; } }
public void ResetWorldDatabase(bool useConnStr) { if (useConnStr) { worldDatabase = new WorldDatabase(SAI_Editor_Manager.Instance.connString.Server, SAI_Editor_Manager.Instance.connString.Port, SAI_Editor_Manager.Instance.connString.UserID, SAI_Editor_Manager.Instance.connString.Password, SAI_Editor_Manager.Instance.connString.Database); } else { worldDatabase = new WorldDatabase(Settings.Default.Host, Settings.Default.Port, Settings.Default.User, GetPasswordSetting(), Settings.Default.Database); } }
private async void buttonSearchForWorldDb_Click(object sender, EventArgs e) { WorldDatabase worldDatabase = new WorldDatabase(textBoxHost.Text, XConverter.ToUInt32(textBoxPort.Text), textBoxUsername.Text, textBoxPassword.Text, ""); List <string> databaseNames = await SAI_Editor_Manager.Instance.GetDatabasesInConnection(textBoxHost.Text, textBoxUsername.Text, XConverter.ToUInt32(textBoxPort.Text), textBoxPassword.Text, worldDatabase); if (databaseNames != null && databaseNames.Count > 0) { using (var selectDatabaseForm = new SelectDatabaseForm(databaseNames, textBoxWorldDatabase)) selectDatabaseForm.ShowDialog(this); } }
private void CacheEntitySpawns() { foreach (var entity in WorldDatabase.GetEntities((ushort)Entry.Id)) { // TODO: cache spawns by grid, only spawn when grid is loaded // (int X, int Z) coord = GetGridCoord(vector); var test = new NonPlayer(entity); var vector = new Vector3(entity.X, entity.Y, entity.Z); EnqueueAdd(test, vector); } }
private void CacheEntitySpawns() { uint count = 0u; foreach (EntityModel model in WorldDatabase.GetEntities((ushort)Entry.Id)) { entityCache.AddEntity(model); count++; } log.Trace($"Initialised {count} spawns for world {Entry.Id}."); }
public void ResetDatabases() { string password = Settings.Default.Password; if (password.Length > 0) { password = SecurityExtensions.DecryptString(password, Encoding.Unicode.GetBytes(Settings.Default.Entropy)).ToInsecureString(); } worldDatabase = new WorldDatabase(Settings.Default.Host, Settings.Default.Port, Settings.Default.User, password, Settings.Default.Database); sqliteDatabase = new SQLiteDatabase("Resources/sqlite_database.db"); }
public void Initialise() { var builder = ImmutableDictionary.CreateBuilder <ulong, Disable>(); foreach (DisableModel model in WorldDatabase.GetDisables()) { DisableType type = (DisableType)model.Type; builder.Add(Hash(type, model.ObjectId), new Disable(type, model.ObjectId, model.Note)); } disables = builder.ToImmutable(); }
public static void TestSetup(TestContext context) { // copy config.json File.Copy(Path.Combine(Environment.CurrentDirectory, "..\\..\\..\\..\\ACE\\Config.json"), ".\\Config.json", true); ConfigManager.Initialize(); worldDb = new WorldDatabase(); worldDb.Initialize(ConfigManager.Config.MySql.World.Host, ConfigManager.Config.MySql.World.Port, ConfigManager.Config.MySql.World.Username, ConfigManager.Config.MySql.World.Password, ConfigManager.Config.MySql.World.Database); }
void Loot_Load(object sender, EventArgs e) { settings = new Properties.Settings(); world = MainForm.Instance.WorldDB; //todo initialize datagrid column names WorldDatabase db = new WorldDatabase(); var query = world.item_template.Select(x => new { x.entry, x.name }).ToList(); DataGrid.Load(query); // find row and select }
public void HandlerNotFound_ThrowsError() { var rootFolder = TestFolder + "/Saves/world15"; var db = new WorldDatabase(rootFolder); var props = new WorldProperties { ChunkSize = new GridSize(2), WorldName = "New World", }; Assert.Throws <System.ArgumentException>(() => db.SaveObject(props)); Assert.Throws <System.ArgumentException>(() => db.LoadObject(props)); }
public void RegisterHandler() { var rootFolder = TestFolder + "/Saves/world15"; var db = new WorldDatabase(rootFolder); var handler = new Mock <IFileHandler <string> >(); db.RegisterFileHandler(handler.Object); db.SaveObject("Hello World!"); handler.Verify(h => h.Save(rootFolder, "Hello World!")); db.LoadObject <string>(); handler.Verify(h => h.Load(rootFolder, null)); }
private void testDatabaseToolStripMenuItem_Click(object sender, EventArgs e) { var db = new WorldDatabase(); try { var config = WeenieEditorConfig.Load(); db.Initialize(config.ServerIp, uint.Parse(config.ServerPort), config.RootUsername, config.RootPassword, config.WorldDatabaseName, false); MessageBox.Show(this, "Connection to database successful!", "ACE", MessageBoxButtons.OK); } catch (Exception ex) { MessageBox.Show("Error connecting to database." + Environment.NewLine + ex, "ACE", MessageBoxButtons.OK); } }
private void byIDToolStripMenuItem_Click(object sender, EventArgs e) { string weenieId = Interaction.InputBox("Enter the Weenie ID", "ACE"); uint id; if (uint.TryParse(weenieId, out id)) { var db = new WorldDatabase(); var config = WeenieEditorConfig.Load(); db.Initialize(config.ServerIp, uint.Parse(config.ServerPort), config.RootUsername, config.RootPassword, config.WorldDatabaseName); _weenie = db.GetWeenie(id); LoadWeenie(); } }
static BaseController() { WorldDb = new WorldDatabase(); WorldDb.Initialize(ConfigManager.Config.MySql.World.Host, ConfigManager.Config.MySql.World.Port, ConfigManager.Config.MySql.World.Username, ConfigManager.Config.MySql.World.Password, ConfigManager.Config.MySql.World.Database); AuthDb = new AuthenticationDatabase(); AuthDb.Initialize(ConfigManager.Config.MySql.Authentication.Host, ConfigManager.Config.MySql.Authentication.Port, ConfigManager.Config.MySql.Authentication.Username, ConfigManager.Config.MySql.Authentication.Password, ConfigManager.Config.MySql.Authentication.Database); }
/// <summary> /// Called when the BlockWorld behaviour is enabled. /// </summary> private void OnEnable() { var chunkSize = new GridSize(4); var world = new World(chunkSize); var blockList = new BlockTypeList(); var remesh = new RemeshHandler(); var database = new WorldDatabase("/home/thedudefromci/Bones3/TestWorld"); remesh.AddDistributor(new StandardDistributor()); WorldContainer = new WorldContainer(world, remesh, blockList, database); WorldContainer.BlockContainerProvider.OnBlockContainerCreated += OnChunkCreated; WorldContainer.BlockContainerProvider.OnBlockContainerDestroyed += OnChunkDestroyed; WorldContainer.RemeshHandler.OnRemeshFinish += OnRemeshFinished; }
private void InitialiseStoreCategories() { IEnumerable <StoreCategory> storeCategoryModels = WorldDatabase.GetStoreCategories() .OrderBy(i => i.Id) .Where(x => x.ParentId != 0 && // exclude top level parent category placeholder Convert.ToBoolean(x.Visible)); var builder = ImmutableDictionary.CreateBuilder <uint, Category>(); foreach (StoreCategory category in storeCategoryModels) { builder.Add(category.Id, new Category(category)); } storeCategories = builder.ToImmutable(); }
public Task<List<string>> GetDatabasesInConnection(string host, string username, uint port, string password = "", WorldDatabase _worldDatabase = null) { return Task.Run(() => { if (host.Length <= 0 || username.Length <= 0 || port <= 0) { MessageBox.Show("You must fill a host, username and port in order to search for your world database (we need to establish a connection to list your databases)!", "An error has occurred!", MessageBoxButtons.OK, MessageBoxIcon.Error); return null; } MySqlConnectionStringBuilder _connectionString = new MySqlConnectionStringBuilder(); _connectionString.Server = host; _connectionString.UserID = username; _connectionString.Port = port; if (password.Length > 0) _connectionString.Password = password; //! Will throw an error message itself if no connection can be made. if (!(_worldDatabase ?? Instance.worldDatabase).CanConnectToDatabase(_connectionString)) return null; List<string> databaseNames = new List<string>(); try { using (var connection = new MySqlConnection(_connectionString.ToString())) { connection.Open(); var returnVal = new MySqlDataAdapter("SHOW DATABASES", connection); var dataTable = new DataTable(); returnVal.Fill(dataTable); if (dataTable.Rows.Count <= 0) { MessageBox.Show("Your connection contains no databases!", "An error has occurred!", MessageBoxButtons.OK, MessageBoxIcon.Error); return null; } foreach (DataRow row in dataTable.Rows) databaseNames.AddRange(row.ItemArray.Select(t => t.ToString())); } } catch (Exception ex) { MessageBox.Show(ex.Message, "Something went wrong!", MessageBoxButtons.OK, MessageBoxIcon.Error); } return databaseNames; }); }
private string GetStringByTargetType(SmartScript smartScript, WorldDatabase worldDatabase) { switch ((SmartTarget)smartScript.target_type) { case SmartTarget.SMART_TARGET_SELF: return "Self"; case SmartTarget.SMART_TARGET_VICTIM: return "Victim"; case SmartTarget.SMART_TARGET_HOSTILE_SECOND_AGGRO: return "Second On Threatlist"; case SmartTarget.SMART_TARGET_HOSTILE_LAST_AGGRO: return "Last On Threatlist"; case SmartTarget.SMART_TARGET_HOSTILE_RANDOM: return "Random On Threatlist"; case SmartTarget.SMART_TARGET_HOSTILE_RANDOM_NOT_TOP: return "Random On Threatlist Not Top"; case SmartTarget.SMART_TARGET_ACTION_INVOKER: return "Invoker"; case SmartTarget.SMART_TARGET_POSITION: return "Position"; case SmartTarget.SMART_TARGET_CREATURE_RANGE: case SmartTarget.SMART_TARGET_CREATURE_DISTANCE: case SmartTarget.SMART_TARGET_CLOSEST_CREATURE: return "Closest Creature '" + worldDatabase.GetCreatureNameById(smartScript.target_param1) + "'"; case SmartTarget.SMART_TARGET_CREATURE_GUID: return "Closest Creature '" + worldDatabase.GetCreatureNameByGuid(smartScript.target_param1) + "'"; case SmartTarget.SMART_TARGET_GAMEOBJECT_RANGE: case SmartTarget.SMART_TARGET_GAMEOBJECT_DISTANCE: case SmartTarget.SMART_TARGET_CLOSEST_GAMEOBJECT: return "Closest Gameobject '" + worldDatabase.GetGameobjectNameById(smartScript.target_param1) + "'"; case SmartTarget.SMART_TARGET_GAMEOBJECT_GUID: return "Closest Gameobject '" + worldDatabase.GetGameobjectNameByGuid(smartScript.target_param1) + "'"; case SmartTarget.SMART_TARGET_INVOKER_PARTY: return "Invoker's Party"; case SmartTarget.SMART_TARGET_PLAYER_RANGE: case SmartTarget.SMART_TARGET_PLAYER_DISTANCE: case SmartTarget.SMART_TARGET_CLOSEST_PLAYER: return "Closest Player"; case SmartTarget.SMART_TARGET_ACTION_INVOKER_VEHICLE: return "Invoker's Vehicle"; case SmartTarget.SMART_TARGET_OWNER_OR_SUMMONER: return "Owner Or Summoner"; case SmartTarget.SMART_TARGET_THREAT_LIST: return "First Unit On Threatlist"; case SmartTarget.SMART_TARGET_CLOSEST_ENEMY: return "Closest Enemy"; case SmartTarget.SMART_TARGET_CLOSEST_FRIENDLY: return "Closest Friendly Unit"; default: return "<unsupported target type>"; } }
public void ResetWorldDatabase() { worldDatabase = new WorldDatabase(Settings.Default.Host, Settings.Default.Port, Settings.Default.User, GetPasswordSetting(), Settings.Default.Database); }
public void ResetWorldDatabase(MySqlConnectionStringBuilder _connectionString) { worldDatabase = new WorldDatabase(_connectionString.Server, _connectionString.Port, _connectionString.UserID, _connectionString.Password, _connectionString.Database); }
protected Manager() { WorldDB = WorldDatabase.ActiveWorldDatabase; }
private void buttonTestConnection_Click(object sender, EventArgs e) { buttonTestConnection.Enabled = false; MySqlConnectionStringBuilder _connectionString = new MySqlConnectionStringBuilder(); _connectionString.Server = textBoxHost.Text; _connectionString.UserID = textBoxUsername.Text; _connectionString.Port = CustomConverter.ToUInt32(textBoxPort.Text); _connectionString.Database = textBoxWorldDatabase.Text; if (textBoxPassword.Text.Length > 0) _connectionString.Password = textBoxPassword.Text; WorldDatabase worldDatabase = null; if (!Settings.Default.UseWorldDatabase) worldDatabase = new WorldDatabase(Settings.Default.Host, Settings.Default.Port, Settings.Default.User, SAI_Editor_Manager.Instance.GetPasswordSetting(), Settings.Default.Database); else worldDatabase = SAI_Editor_Manager.Instance.worldDatabase; //! If no connection was established, it would throw an error in WorldDatabase.CanConnectToDatabase. if (worldDatabase.CanConnectToDatabase(_connectionString)) MessageBox.Show("Connection successful!", "Connection status", MessageBoxButtons.OK, MessageBoxIcon.Information); buttonTestConnection.Enabled = true; }
private async void buttonSearchForWorldDb_Click(object sender, EventArgs e) { buttonSearchForWorldDb.Enabled = false; WorldDatabase worldDatabase = new WorldDatabase(textBoxHost.Text, CustomConverter.ToUInt32(textBoxPort.Text), textBoxUsername.Text, textBoxPassword.Text, ""); List<string> databaseNames = await SAI_Editor_Manager.Instance.GetDatabasesInConnection(textBoxHost.Text, textBoxUsername.Text, CustomConverter.ToUInt32(textBoxPort.Text), textBoxPassword.Text, worldDatabase); if (databaseNames != null && databaseNames.Count > 0) using (var selectDatabaseForm = new SelectDatabaseForm(databaseNames, textBoxWorldDatabase)) selectDatabaseForm.ShowDialog(this); buttonSearchForWorldDb.Enabled = true; }