Skip to content

Commit 562f621

Browse files
author
benpollarduk
committed
Changed when room change events are triggered
1 parent 739cab0 commit 562f621

File tree

2 files changed

+20
-17
lines changed

2 files changed

+20
-17
lines changed

NetAF/Assets/Locations/Region.cs

Lines changed: 18 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -116,6 +116,8 @@ internal Reaction Enter()
116116
if (!reaction.ContinueWithTransition)
117117
return reaction.Reaction;
118118

119+
EventBus.Publish(new RoomEntered(CurrentRoom));
120+
119121
EventBus.Publish(new RegionEntered(this));
120122

121123
var introduction = CurrentRoom.Introduction.GetDescription();
@@ -132,11 +134,15 @@ internal Reaction Enter()
132134
/// <returns>The reaction.</returns>
133135
internal Reaction Exit()
134136
{
135-
var result = CurrentRoom?.MovedOutOf(this, null).Reaction ?? Reaction.Silent;
137+
var result = CurrentRoom?.MovedOutOf(this, null) ?? RoomTransitionReaction.Silent;
136138

137-
EventBus.Publish(new RegionExited(this));
139+
if (result.ContinueWithTransition)
140+
{
141+
EventBus.Publish(new RoomExited(CurrentRoom));
142+
EventBus.Publish(new RegionExited(this));
143+
}
138144

139-
return result;
145+
return result.Reaction;
140146
}
141147

142148
/// <summary>
@@ -241,10 +247,16 @@ public Reaction Move(Direction direction)
241247

242248
if (reaction.ContinueWithTransition)
243249
{
250+
EventBus.Publish(new RoomExited(CurrentRoom));
251+
244252
reaction = adjoiningRoom.MovedInto(this, CurrentRoom, direction.Inverse());
245-
253+
246254
if (reaction.ContinueWithTransition)
255+
{
247256
CurrentRoom = adjoiningRoom;
257+
258+
EventBus.Publish(new RoomEntered(CurrentRoom));
259+
}
248260
}
249261

250262
return reaction.Reaction;
@@ -327,6 +339,8 @@ public Reaction JumpToRoom(Point3D location)
327339
CurrentRoom = roomPosition.Room;
328340
var reaction = CurrentRoom.MovedInto(this, null);
329341

342+
EventBus.Publish(new RoomEntered(CurrentRoom));
343+
330344
return reaction.Reaction;
331345
}
332346

NetAF/Assets/Locations/Room.cs

Lines changed: 2 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44
using System.Text;
55
using NetAF.Assets.Characters;
66
using NetAF.Commands;
7-
using NetAF.Events;
87
using NetAF.Extensions;
98
using NetAF.Interpretation;
109
using NetAF.Rendering;
@@ -456,12 +455,7 @@ internal RoomTransitionReaction MovedInto(Region region, Room adjoiningRoom, Dir
456455
EnteredFrom = direction;
457456
HasBeenVisited = true;
458457

459-
var result = EnterCallback?.Invoke(GetTransition(region, adjoiningRoom, direction)) ?? RoomTransitionReaction.Silent;
460-
461-
if (result.ContinueWithTransition)
462-
EventBus.Publish(new RoomEntered(this));
463-
464-
return result;
458+
return EnterCallback?.Invoke(GetTransition(region, adjoiningRoom, direction)) ?? RoomTransitionReaction.Silent;
465459
}
466460

467461
/// <summary>
@@ -473,12 +467,7 @@ internal RoomTransitionReaction MovedInto(Region region, Room adjoiningRoom, Dir
473467
/// <returns>The reaction to the transition.</returns>
474468
internal RoomTransitionReaction MovedOutOf(Region region, Room adjoiningRoom, Direction? direction = null)
475469
{
476-
var result = ExitCallback?.Invoke(GetTransition(region, adjoiningRoom, direction)) ?? RoomTransitionReaction.Silent;
477-
478-
if (result.ContinueWithTransition)
479-
EventBus.Publish(new RoomExited(this));
480-
481-
return result;
470+
return ExitCallback?.Invoke(GetTransition(region, adjoiningRoom, direction)) ?? RoomTransitionReaction.Silent;
482471
}
483472

484473
/// <summary>

0 commit comments

Comments
 (0)