Safe Haskell | None |
---|---|
Language | Haskell98 |
All the building blocks to allow rules to build events.
- onEvent :: (Typeable e, Show e) => Event e -> ((EventNumber, e) -> Nomex ()) -> Nomex EventNumber
- onEvent_ :: (Typeable e, Show e) => Event e -> (e -> Nomex ()) -> Nomex EventNumber
- onEventOnce :: (Typeable e, Show e) => Event e -> (e -> Nomex ()) -> Nomex EventNumber
- delEvent :: EventNumber -> Nomex Bool
- getEvents :: NomexNE [EventInfo]
- getEvent :: EventNumber -> NomexNE (Maybe EventInfo)
- getIntermediateResults :: EventNumber -> NomexNE (Maybe [(PlayerNumber, SomeData)])
- sendMessage :: (Typeable a, Show a) => Msg a -> a -> Nomex ()
- sendMessage_ :: String -> Nomex ()
- onMessage :: (Typeable m, Show m) => Msg m -> (m -> Nomex ()) -> Nomex EventNumber
- onMessageOnce :: (Typeable m, Show m) => Msg m -> (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
- timeEvent :: UTCTime -> Event UTCTime
- messageEvent :: Typeable a => Msg a -> Event a
- victoryEvent :: Event VictoryInfo
- playerEvent :: Player -> Event PlayerInfo
- ruleEvent :: RuleEvent -> Event RuleInfo
- signalEvent :: Typeable a => Signal a -> Event a
- inputFormSignal :: Typeable a => PlayerNumber -> String -> InputForm a -> Signal a
- liftEvent :: NomexNE a -> Event a
Documentation
onEvent :: (Typeable e, Show e) => Event e -> ((EventNumber, e) -> Nomex ()) -> Nomex EventNumber Source
register a callback on an event
onEvent_ :: (Typeable e, Show e) => Event e -> (e -> Nomex ()) -> Nomex EventNumber Source
register a callback on an event, disregard the event number
onEventOnce :: (Typeable e, Show e) => Event e -> (e -> Nomex ()) -> Nomex EventNumber Source
set an handler for an event that will be triggered only once
delEvent :: EventNumber -> Nomex Bool Source
getIntermediateResults :: EventNumber -> NomexNE (Maybe [(PlayerNumber, SomeData)]) Source
sendMessage :: (Typeable a, Show a) => Msg a -> a -> Nomex () Source
broadcast a message that can be catched by another rule
sendMessage_ :: String -> Nomex () Source
onMessage :: (Typeable m, Show m) => Msg m -> (m -> Nomex ()) -> Nomex EventNumber Source
subscribe on a message
onMessageOnce :: (Typeable m, Show m) => Msg m -> (m -> Nomex ()) -> Nomex EventNumber Source
schedule :: Schedule Freq -> (UTCTime -> Nomex ()) -> Nomex () Source
on the provided schedule, the supplied function will be called
schedule'_ :: [UTCTime] -> Nomex () -> Nomex () Source
getCurrentTime :: NomexNE UTCTime Source
get the current time as UTCTime
oneWeek :: NominalDiffTime Source
duration
oneDay :: NominalDiffTime Source
duration
oneHour :: NominalDiffTime Source
duration
oneMinute :: NominalDiffTime Source
duration
messageEvent :: Typeable a => Msg a -> Event a Source
Build a message event, that can be intercepted by another rule this is useful for message-passing style of communication
victoryEvent :: Event VictoryInfo Source
Build a event firing when the victory condition is changed
playerEvent :: Player -> Event PlayerInfo Source
Build a event firing when a player arrives or leaves
ruleEvent :: RuleEvent -> Event RuleInfo Source
Build a event firing when an action is made on a rule
signalEvent :: Typeable a => Signal a -> Event a Source
inputFormSignal :: Typeable a => PlayerNumber -> String -> InputForm a -> Signal a Source