Safe Haskell | None |
---|
All the building blocks to allow rules to build events.
- data Event a where
- type EventNumber = Int
- data EventData a where
- data InputData a
- = RadioData a
- | CheckboxData [a]
- | TextData String
- | TextAreaData String
- | ButtonData
- type Msg a = Event (Message a)
- type MsgData a = EventData (Message a)
- onEvent :: (Typeable e, Show e, Eq e) => Event e -> ((EventNumber, EventData e) -> Nomex ()) -> Nomex EventNumber
- onEvent_ :: forall e. (Typeable e, Show e, Eq e) => Event e -> (EventData e -> Nomex ()) -> Nomex EventNumber
- onEventOnce :: (Typeable e, Show e, Eq e) => Event e -> (EventData e -> Nomex ()) -> Nomex EventNumber
- delEvent :: EventNumber -> Nomex Bool
- delAllEvents :: (Typeable e, Show e, Eq e) => Event e -> Nomex ()
- sendMessage :: (Typeable a, Show a) => Msg a -> a -> Nomex ()
- sendMessage_ :: Msg () -> Nomex ()
- onMessage :: (Typeable m, Show m) => Msg m -> (MsgData m -> Nomex ()) -> Nomex EventNumber
- onMessageOnce :: (Typeable m, Show m) => Msg m -> (MsgData m -> Nomex ()) -> Nomex EventNumber
- schedule :: Schedule Freq -> (UTCTime -> Nomex ()) -> Nomex ()
- schedule_ :: Schedule Freq -> Nomex () -> Nomex ()
- schedule' :: [UTCTime] -> (UTCTime -> Nomex ()) -> Nomex ()
- schedule'_ :: [UTCTime] -> Nomex () -> Nomex ()
- getCurrentTime :: NomexNE UTCTime
- oneWeek :: NominalDiffTime
- oneDay :: NominalDiffTime
- oneHour :: NominalDiffTime
- oneMinute :: NominalDiffTime
Documentation
events names
type EventNumber = IntSource
data associated with each events
PlayerData :: PlayerInfo -> EventData Player | |
RuleData :: RuleInfo -> EventData RuleEvent | |
TimeData :: UTCTime -> EventData Time | |
MessageData :: Show m => m -> EventData (Message m) | |
| |
InputData :: Show a => InputData a -> EventData (Input a) | |
VictoryData :: VictoryCond -> EventData Victory | |
onEvent :: (Typeable e, Show e, Eq e) => Event e -> ((EventNumber, EventData e) -> Nomex ()) -> Nomex EventNumberSource
register a callback on an event
onEvent_ :: forall e. (Typeable e, Show e, Eq e) => Event e -> (EventData e -> Nomex ()) -> Nomex EventNumberSource
register a callback on an event, disregard the event number
onEventOnce :: (Typeable e, Show e, Eq e) => Event e -> (EventData e -> Nomex ()) -> Nomex EventNumberSource
set an handler for an event that will be triggered only once
delEvent :: EventNumber -> Nomex BoolSource
sendMessage :: (Typeable a, Show a) => Msg a -> a -> Nomex ()Source
broadcast a message that can be catched by another rule
sendMessage_ :: Msg () -> Nomex ()Source
onMessage :: (Typeable m, Show m) => Msg m -> (MsgData m -> Nomex ()) -> Nomex EventNumberSource
subscribe on a message
onMessageOnce :: (Typeable m, Show m) => Msg m -> (MsgData m -> Nomex ()) -> Nomex EventNumberSource
schedule :: Schedule Freq -> (UTCTime -> Nomex ()) -> Nomex ()Source
on the provided schedule, the supplied function will be called
schedule'_ :: [UTCTime] -> Nomex () -> Nomex ()Source
oneWeek :: NominalDiffTimeSource
duration
oneDay :: NominalDiffTimeSource
duration
oneHour :: NominalDiffTimeSource
duration
oneMinute :: NominalDiffTimeSource
duration