๐Ÿ“ฆ sleepyfran / duets

๐Ÿ“„ Situations.Types.fs ยท 31 lines
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31namespace Duets.Entities

module SituationTypes =
    /// Situations that happen while on an airport/airplane.
    type AirportSituation = Flying of Flight

    /// Situations that happen while on a concert.
    type ConcertSituation =
        | Preparing of ConcertPreparationChecklist
        | InConcert of OngoingConcert

    /// Situations that happen while the character is travelling.
    type TravelSituation =
        | TravellingByCar of currentCarPosition: RoomCoordinates * car: Item
        | TravellingByMetro

    /// Defines all situations in which the character can be in.
    type Situation =
        /// Player is exploring the world in no specific situation.
        | FreeRoam
        /// Player is inside of an airport about to flight or flying.
        | Airport of AirportSituation
        /// Player is performing a concert.
        | Concert of ConcertSituation
        /// Playing a mini-game.
        | PlayingMiniGame of MiniGameState
        /// Player is in a conversation with an NPC.
        | Socializing of SocializingState
        /// Player is travelling in a vehicle.
        | Travelling of TravelSituation