public bool CanOpen() { bool canUse = false; if (BaseDoor.IsLocked()) { if (BaseDoor is CodeLock) { CodeLock codeLock = (CodeLock)BaseDoor; canUse = CanOpenCodeLock(codeLock, Player); } else if (BaseDoor is KeyLock) { KeyLock keyLock = (KeyLock)BaseDoor; canUse = CanOpenKeyLock(keyLock, Player); } } else { canUse = true; } return(canUse); }