@@ -4,7 +4,7 @@ use crate::collect_ui::CollectResources;
4
4
use crate :: construct_ui:: ConstructionPayment ;
5
5
use crate :: custom_phase_ui:: { MultiSelection , UnitsSelection } ;
6
6
use crate :: dialog_ui:: { BaseOrCustomAction , BaseOrCustomDialog } ;
7
- use crate :: event_ui:: { custom_phase_event_help, event_help, pay_help} ;
7
+ use crate :: event_ui:: { custom_phase_event_help, custom_phase_event_origin , event_help, pay_help} ;
8
8
use crate :: happiness_ui:: IncreaseHappinessConfig ;
9
9
use crate :: layout_ui:: FONT_SIZE ;
10
10
use crate :: map_ui:: ExploreResolutionConfig ;
@@ -18,7 +18,7 @@ use server::action::Action;
18
18
use server:: city:: { City , MoodState } ;
19
19
use server:: content:: custom_phase_actions:: {
20
20
AdvanceRequest , ChangeGovernmentRequest , CurrentEventRequest , CurrentEventResponse ,
21
- PlayerRequest , SelectedStructure , UnitTypeRequest ,
21
+ CurrentEventType , PlayerRequest , SelectedStructure , UnitTypeRequest ,
22
22
} ;
23
23
use server:: events:: EventOrigin ;
24
24
use server:: game:: { Game , GameState } ;
@@ -57,7 +57,7 @@ pub enum ActiveDialog {
57
57
UnitTypeRequest ( UnitTypeRequest ) ,
58
58
UnitsRequest ( UnitsSelection ) ,
59
59
StructuresRequest ( MultiSelection < SelectedStructure > ) ,
60
- BoolRequest ,
60
+ BoolRequest ( String ) ,
61
61
ChangeGovernmentType ( ChangeGovernmentRequest ) ,
62
62
ChooseAdditionalAdvances ( ChooseAdditionalAdvances ) ,
63
63
}
@@ -94,7 +94,7 @@ impl ActiveDialog {
94
94
ActiveDialog :: UnitTypeRequest ( _) => "custom phase unit request" ,
95
95
ActiveDialog :: UnitsRequest ( _) => "custom phase units request" ,
96
96
ActiveDialog :: StructuresRequest ( _) => "custom phase structures request" ,
97
- ActiveDialog :: BoolRequest => "custom phase bool request" ,
97
+ ActiveDialog :: BoolRequest ( _ ) => "custom phase bool request" ,
98
98
}
99
99
}
100
100
@@ -151,19 +151,19 @@ impl ActiveDialog {
151
151
}
152
152
ActiveDialog :: ResourceRewardRequest ( _)
153
153
| ActiveDialog :: AdvanceRequest ( _)
154
- | ActiveDialog :: PaymentRequest ( _)
155
- | ActiveDialog :: BoolRequest => custom_phase_event_help ( rc, None ) ,
156
- ActiveDialog :: UnitTypeRequest ( r) => custom_phase_event_help ( rc, r. description . as_ref ( ) ) ,
154
+ | ActiveDialog :: PaymentRequest ( _) => {
155
+ event_help ( rc, & custom_phase_event_origin ( rc) , true )
156
+ }
157
+ ActiveDialog :: BoolRequest ( d) => custom_phase_event_help ( rc, d) ,
158
+ ActiveDialog :: UnitTypeRequest ( r) => custom_phase_event_help ( rc, & r. description ) ,
157
159
ActiveDialog :: UnitsRequest ( r) => {
158
- custom_phase_event_help ( rc, r. selection . request . description . as_ref ( ) )
160
+ custom_phase_event_help ( rc, & r. selection . request . description )
159
161
}
160
162
ActiveDialog :: StructuresRequest ( r) => {
161
- custom_phase_event_help ( rc, r. request . description . as_ref ( ) )
162
- }
163
- ActiveDialog :: PositionRequest ( r) => {
164
- custom_phase_event_help ( rc, r. request . description . as_ref ( ) )
163
+ custom_phase_event_help ( rc, & r. request . description )
165
164
}
166
- ActiveDialog :: PlayerRequest ( r) => custom_phase_event_help ( rc, Some ( & r. description ) ) ,
165
+ ActiveDialog :: PositionRequest ( r) => custom_phase_event_help ( rc, & r. request . description ) ,
166
+ ActiveDialog :: PlayerRequest ( r) => custom_phase_event_help ( rc, & r. description ) ,
167
167
}
168
168
}
169
169
@@ -535,15 +535,20 @@ impl State {
535
535
ActiveDialog :: StructuresRequest ( MultiSelection :: new ( r. clone ( ) ) )
536
536
}
537
537
CurrentEventRequest :: SelectPlayer ( r) => ActiveDialog :: PlayerRequest ( r. clone ( ) ) ,
538
- CurrentEventRequest :: BoolRequest => ActiveDialog :: BoolRequest ,
538
+ CurrentEventRequest :: BoolRequest ( d ) => ActiveDialog :: BoolRequest ( d . clone ( ) ) ,
539
539
CurrentEventRequest :: ChangeGovernment ( r) => {
540
540
ActiveDialog :: ChangeGovernmentType ( r. clone ( ) )
541
541
}
542
- CurrentEventRequest :: ExploreResolution ( r) => {
543
- ActiveDialog :: ExploreResolution ( ExploreResolutionConfig {
544
- block : r. block . clone ( ) ,
545
- rotation : r. block . position . rotation ,
546
- } )
542
+ CurrentEventRequest :: ExploreResolution => {
543
+ if let CurrentEventType :: ExploreResolution ( r) = & game. current_event ( ) . event_type
544
+ {
545
+ ActiveDialog :: ExploreResolution ( ExploreResolutionConfig {
546
+ block : r. block . clone ( ) ,
547
+ rotation : r. block . position . rotation ,
548
+ } )
549
+ } else {
550
+ panic ! ( "invalid state" ) ;
551
+ }
547
552
}
548
553
} ;
549
554
}
0 commit comments