private void Unload() { _killQueue = null; UnityEngine.Object.Destroy(_holder); _holder = null; for (var i = 0; i < _config.MaxFeedMessages; i++) { KillQueue.RemoveKillCui($"kf-{i}"); } _config = null; Pool.directory.Remove(typeof(KillEvent)); SaveData(); }
private void OnServerInitialized() { foreach (var blueprint in ItemManager.bpList.Where(bp => bp.targetItem.category == ItemCategory.Weapon || bp.targetItem.category == ItemCategory.Tool)) { var md = blueprint.targetItem.GetComponent <ItemModEntity>(); if (!md) { continue; } if (!_itemNameMapping.ContainsKey(md.entityPrefab.resourceID)) { _itemNameMapping.Add(md.entityPrefab.resourceID, blueprint.targetItem.displayName.english); } } _holder = new GameObject("SKFHolder"); UnityEngine.Object.DontDestroyOnLoad(_holder); _killQueue = _holder.AddComponent <KillQueue>(); Pool.FillBuffer <KillEvent>(_config.MaxFeedMessages); }