Skip to content

Commit

Permalink
fix mentor movement
Browse files Browse the repository at this point in the history
  • Loading branch information
AmooHashem committed May 19, 2024
1 parent c0cae59 commit 677767d
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 10 deletions.
12 changes: 8 additions & 4 deletions apps/fsm/views/edge_view.py
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,8 @@ def go_forward(self, request, pk):
for member in team.members.all():
player = member.get_player_of(fsm=fsm)
if player:
player = transit_player_in_fsm(player, edge.tail, edge.head, edge)
player = transit_player_in_fsm(
player, edge.tail, edge.head, edge)
if player.id == player.id:
player = player

Expand All @@ -90,7 +91,8 @@ def go_forward(self, request, pk):
raise ParseError(serialize_error('4083'))
elif fsm.fsm_p_type in [FSM.FSMPType.Individual, FSM.FSMPType.Hybrid]:
if player.current_state == edge.tail:
player = transit_player_in_fsm(player, edge.tail, edge.head, edge)
player = transit_player_in_fsm(
player, edge.tail, edge.head, edge)
return Response(PlayerSerializer(context=self.get_serializer_context()).to_representation(player),
status=status.HTTP_200_OK)
elif player.current_state == edge.head:
Expand All @@ -116,6 +118,8 @@ def mentor_move_forward(self, request, pk):
for member in team.members.all():
player = member.get_player_of(fsm=fsm)
if player:
player = transit_player_in_fsm(player, edge.tail, edge.head, edge)
player = transit_player_in_fsm(
player, edge.tail, edge.head, edge)

return Response({'message': 'ok'}, status=status.HTTP_200_OK)
return Response(PlayerSerializer(context=self.get_serializer_context()).to_representation(player),
status=status.HTTP_200_OK)
9 changes: 3 additions & 6 deletions apps/fsm/views/player_view.py
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,7 @@ def retrieve(self, request, *args, **kwargs):
def go_backward(self, request, pk):
player = self.get_object()
fsm = player.fsm
# todo: it should go back through one of this state inward links:
edge = get_player_latest_taken_edge(player)

if player is None:
Expand Down Expand Up @@ -96,18 +97,14 @@ def mentor_move_backward(self, request, pk):
team = serializer.validated_data['team']
player = self.get_object()
fsm = player.fsm
# todo: it should go back through one of this state inward links:
edge = get_player_latest_taken_edge(player)

if fsm.fsm_p_type == FSM.FSMPType.Team:

departure_time = timezone.now()
for member in team.members.all():
player = member.get_player_of(fsm=fsm)
if player:
player = transit_player_in_fsm(
player, edge.head, edge.tail, edge, departure_time)
if player.id == player.id:
player = player
player = transit_player_in_fsm(player, edge.head, edge.tail, edge)
return Response(PlayerSerializer(context=self.get_serializer_context()).to_representation(player),
status=status.HTTP_200_OK)

Expand Down

0 comments on commit 677767d

Please sign in to comment.