Skip to content

Commit 6b7f5b1

Browse files
van800intellij-monorepo-bot
authored andcommitted
[unity] Replace RdProperty with Property since the usage is not RD/connection
(cherry picked from commit ac4e97b833877f2a27e58f06d2a61251453f7498) IJ-CR-181766 GitOrigin-RevId: 26c7b07f87cf1d73ca2a4bcd4be7f2547e62f1f1
1 parent adff1b2 commit 6b7f5b1

File tree

2 files changed

+12
-5
lines changed

2 files changed

+12
-5
lines changed

rider/src/main/kotlin/com/jetbrains/rider/plugins/unity/UnityProjectDiscoverer.kt

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ import com.jetbrains.rd.framework.impl.RdProperty
1010
import com.jetbrains.rd.ide.model.RdExistingSolution
1111
import com.jetbrains.rd.protocol.SolutionExtListener
1212
import com.jetbrains.rd.util.lifetime.Lifetime
13+
import com.jetbrains.rd.util.reactive.Property
1314
import com.jetbrains.rd.util.reactive.adviseUntil
1415
import com.jetbrains.rd.util.threading.coroutines.launch
1516
import com.jetbrains.rider.plugins.unity.explorer.UnityExplorer
@@ -23,7 +24,7 @@ import kotlinx.coroutines.withContext
2324

2425
class UnityDetectorImpl(private val project: Project) : UnityDetector {
2526

26-
override val isUnitySolution: RdProperty<Boolean>
27+
override val isUnitySolution: Property<Boolean>
2728
get() = UnityProjectDiscoverer.getInstance(project).isUnityProject
2829
}
2930

@@ -32,8 +33,7 @@ class UnityProjectDiscoverer(val project: Project) {
3233
// These values will be false unless we've opened a .sln file. Note that the "sidecar" project is a solution that
3334
// lives in the same folder as generated unity project (not the same as a class library project, which could live
3435
// anywhere)
35-
// todo: switch to Property, after RIDER-132142 fixed, https://jetbrains.team/p/ij/reviews/181766/timeline
36-
val isUnityProject = RdProperty(UnityProjectDiscovererState.getInstance(project).isUnityProjectState)
36+
val isUnityProject = Property(UnityProjectDiscovererState.getInstance(project).isUnityProjectState)
3737

3838
// It's a Unity project, but not necessarily loaded correctly (e.g. it might be opened as folder)
3939
val isUnityProjectFolder = RdProperty(UnityProjectDiscovererState.getInstance(project).isUnityProjectFolderState)
@@ -144,7 +144,7 @@ class UnityProjectDiscoverer(val project: Project) {
144144

145145
val Project.hasUnityReference: RdProperty<Boolean>
146146
get() = UnityProjectDiscoverer.getInstance(this).hasUnityReference
147-
val Project.isUnityProject: RdProperty<Boolean>
147+
val Project.isUnityProject: Property<Boolean>
148148
get() = UnityProjectDiscoverer.getInstance(this).isUnityProject
149149
val Project.isUnityProjectFolder: RdProperty<Boolean>
150150
get() = UnityProjectDiscoverer.getInstance(this).isUnityProjectFolder

rider/src/main/kotlin/com/jetbrains/rider/plugins/unity/actions/ActionUtils.kt

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ package com.jetbrains.rider.plugins.unity.actions
33
import com.intellij.openapi.actionSystem.AnActionEvent
44
import com.intellij.ui.ExperimentalUI
55
import com.jetbrains.rd.framework.impl.RdProperty
6+
import com.jetbrains.rd.util.reactive.Property
67
import com.jetbrains.rider.plugins.unity.isConnectedToEditor
78
import com.jetbrains.rider.plugins.unity.isUnityProject
89
import com.jetbrains.rider.plugins.unity.isUnityProjectFolder
@@ -15,7 +16,7 @@ fun AnActionEvent.getFrontendBackendModel(): FrontendBackendModel? {
1516
return project.solution.frontendBackendModel
1617
}
1718

18-
val AnActionEvent.isUnityProject: RdProperty<Boolean>?
19+
val AnActionEvent.isUnityProject: Property<Boolean>?
1920
get() = project?.isUnityProject
2021

2122
val AnActionEvent.isUnityProjectFolder: RdProperty<Boolean>?
@@ -27,6 +28,12 @@ val RdProperty<Boolean>?.valueOrDefault: Boolean
2728
return this.value
2829
}
2930

31+
val Property<Boolean>?.valueOrDefault: Boolean
32+
get() {
33+
if (this == null) return false
34+
return this.value
35+
}
36+
3037
fun AnActionEvent.handleUpdateForUnityConnection(update: ((FrontendBackendModel) -> Boolean)? = null) {
3138
if (!isUnityProject.valueOrDefault && !ExperimentalUI.isNewUI()) { // do not hide UnityActions in the toolbar for the new UI
3239
presentation.isVisible = false

0 commit comments

Comments
 (0)