// ----------------------------------------------------------------------------------- // UCE_setSimpleTimegate // ----------------------------------------------------------------------------------- private void UCE_setSimpleTimegate(UCE_Area_Timegate targetTimegate) { // ---------- Update only if either Visits or Hours is set if (targetTimegate.maxVisits != 0 || targetTimegate.hoursBetweenVisits != 0) { bool done = false; int idx = UCE_GetTimegateIndexByName(targetTimegate.name); // -- Update existing Timegate entry if (idx > -1 && UCE_timegates[idx].valid && UCE_timegates[idx].name == targetTimegate.name) { UCE_Timegate myTimegate = new UCE_Timegate(); myTimegate.name = targetTimegate.name; myTimegate.count = UCE_timegates[idx].count + 1; myTimegate.hours = DateTime.UtcNow.ToString("s"); myTimegate.valid = true; UCE_timegates[idx] = myTimegate; done = true; } // -- Add new Timegate if it does not exist if (!done) { UCE_Timegate myTimegate = new UCE_Timegate(); myTimegate.name = targetTimegate.name; myTimegate.count = 1; myTimegate.hours = DateTime.UtcNow.ToString("s"); myTimegate.valid = true; UCE_timegates.Add(myTimegate); } } }
private void CharacterLoad_UCE_SimpleTimegate(Player player) { player.UCE_timegates.Clear(); #if _MYSQL && _SERVER var table = ExecuteReaderMySql("SELECT timegateName, timegateCount, timegateHours FROM character_timegates WHERE `character`=@name", new MySqlParameter("@name", player.name)); foreach (var row in table) { UCE_Timegate timegate = new UCE_Timegate(); timegate.name = (string)row[0]; timegate.count = Convert.ToInt32((int)row[1]); timegate.hours = (string)row[2]; timegate.valid = true; player.UCE_timegates.Add(timegate); } #elif _SQLITE && _SERVER var table = connection.Query <character_timegates>("SELECT timegateName, timegateCount, timegateHours FROM character_timegates WHERE character=?", player.name); foreach (var row in table) { UCE_Timegate timegate = new UCE_Timegate(); timegate.name = row.timegateName; timegate.count = row.timegateCount; timegate.hours = row.timegateHours; timegate.valid = true; player.UCE_timegates.Add(timegate); } #endif }