/// <summary> /// Set code on new lock in master lock privilege area /// </summary> /// <param name="entity"></param> void OnEntitySpawned(BaseNetworkable entity) { if (!initialized) { return; } if (entity is CodeLock) { CodeLock codeLock = entity as CodeLock; BuildingPrivlidge privilege = codeLock.GetBuildingPrivilege(); if (!privilege) { return; } if (data.buildings.ContainsKey(privilege.net.ID)) { if (data.buildings[privilege.net.ID]) { BaseEntity lockEntity = privilege.GetSlot(BaseEntity.Slot.Lock); if (lockEntity is CodeLock) { codeLock.code = (lockEntity as CodeLock).code; codeLock.SetFlag(BaseEntity.Flags.Locked, true); foreach (ProtoBuf.PlayerNameID player in privilege.authorizedPlayers) { codeLock.whitelistPlayers.Add(player.userid); } codeLock.SendNetworkUpdateImmediate(); } } } } else if (entity is BuildingPrivlidge && (bool)Config["Display Tooltips"]) { BasePlayer player = BasePlayer.FindByID((entity as BuildingPrivlidge).OwnerID); ShowGameTip(player, Lang("AddLock", player.UserIDString)); } }