diff options
author | Gregor Kleen <gkleen@yggdrasil.li> | 2016-06-06 18:15:29 +0200 |
---|---|---|
committer | Gregor Kleen <gkleen@yggdrasil.li> | 2016-06-06 18:15:29 +0200 |
commit | 73c24db325e741ca9402152d934bd28c7ac89fed (patch) | |
tree | fb55e2fbdd63d53a41a820929c7b1423cbff61c4 /src | |
parent | 8e1232fc24c67e80c14d6b56904876550342b6b2 (diff) | |
download | 2017-01-16_17:13:37-73c24db325e741ca9402152d934bd28c7ac89fed.tar 2017-01-16_17:13:37-73c24db325e741ca9402152d934bd28c7ac89fed.tar.gz 2017-01-16_17:13:37-73c24db325e741ca9402152d934bd28c7ac89fed.tar.bz2 2017-01-16_17:13:37-73c24db325e741ca9402152d934bd28c7ac89fed.tar.xz 2017-01-16_17:13:37-73c24db325e741ca9402152d934bd28c7ac89fed.zip |
reorder
Diffstat (limited to 'src')
-rw-r--r-- | src/Main.hs | 20 |
1 files changed, 10 insertions, 10 deletions
diff --git a/src/Main.hs b/src/Main.hs index f608c01..145df7a 100644 --- a/src/Main.hs +++ b/src/Main.hs | |||
@@ -103,11 +103,6 @@ listFactions, listEntities :: Sh GameState () | |||
103 | listFactions = use inhabitedFactions >>= mapM_ (shellPutStrLn . view faction') | 103 | listFactions = use inhabitedFactions >>= mapM_ (shellPutStrLn . view faction') |
104 | listEntities = use (gEntities . to Map.keys) >>= mapM_ (shellPutStrLn <=< toName) | 104 | listEntities = use (gEntities . to Map.keys) >>= mapM_ (shellPutStrLn <=< toName) |
105 | 105 | ||
106 | -- Manage faction | ||
107 | listFaction, alignEntity :: Completable Faction -> Sh GameState () | ||
108 | listFaction = withArg $ \qFaction -> use gEntities >>= mapM_ (shellPutStrLn <=< toName) . Map.keys . Map.filter ((==) qFaction . view eFaction) | ||
109 | alignEntity = withArg $ \nFaction -> withFocus $ \ident -> gEntities %= Map.adjust (set eFaction nFaction) ident | ||
110 | |||
111 | -- Automatic focus | 106 | -- Automatic focus |
112 | focusTip, blur :: Sh GameState () | 107 | focusTip, blur :: Sh GameState () |
113 | focusTip = gFocus <~ preuse tip | 108 | focusTip = gFocus <~ preuse tip |
@@ -138,6 +133,16 @@ nameEntity :: String -> Sh GameState () | |||
138 | nameEntity ('#':_) = shellPutErrLn "We do not allow names that might shadow explicit access to entities via their number (‘#<n>’)" | 133 | nameEntity ('#':_) = shellPutErrLn "We do not allow names that might shadow explicit access to entities via their number (‘#<n>’)" |
139 | nameEntity name = withFocus $ \ident -> modifying gEntityNames $ Bimap.insert ident (name ^. entityName) | 134 | nameEntity name = withFocus $ \ident -> modifying gEntityNames $ Bimap.insert ident (name ^. entityName) |
140 | 135 | ||
136 | -- Manage faction | ||
137 | listFaction, alignEntity :: Completable Faction -> Sh GameState () | ||
138 | listFaction = withArg $ \qFaction -> use gEntities >>= mapM_ (shellPutStrLn <=< toName) . Map.keys . Map.filter ((==) qFaction . view eFaction) | ||
139 | alignEntity = withArg $ \nFaction -> withFocus $ \ident -> gEntities %= Map.adjust (set eFaction nFaction) ident | ||
140 | |||
141 | renameFaction :: Completable Faction -> Completable Faction -> Sh GameState () | ||
142 | renameFaction f1' f2' = withArg (\f1 -> withArg (\f2 -> renameFaction' f1 f2) f2') f1' | ||
143 | where | ||
144 | renameFaction' f1 f2 = modifying (gEntities . each . eFaction) (\cF -> bool cF f2 $ cF == f1) | ||
145 | |||
141 | spawnFaction :: Completable Faction -> Integer -> Completable Entity -> String -> Sh GameState () | 146 | spawnFaction :: Completable Faction -> Integer -> Completable Entity -> String -> Sh GameState () |
142 | spawnFaction cFaction num cEntity nameTemplate | 147 | spawnFaction cFaction num cEntity nameTemplate |
143 | | ('#':_) <- nameTemplate = shellPutErrLn "We do not allow names that might shadow explicit access to entities via their number (‘#<n>’)" | 148 | | ('#':_) <- nameTemplate = shellPutErrLn "We do not allow names that might shadow explicit access to entities via their number (‘#<n>’)" |
@@ -197,8 +202,3 @@ entitySeqVal' ident = do | |||
197 | Just (entity, sVal) -> do | 202 | Just (entity, sVal) -> do |
198 | (newEntity, view (seqVal . re _Just) -> val) <- evalFormula entity sVal | 203 | (newEntity, view (seqVal . re _Just) -> val) <- evalFormula entity sVal |
199 | gEntities . at ident .= Just (newEntity & set eSeqVal val) | 204 | gEntities . at ident .= Just (newEntity & set eSeqVal val) |
200 | |||
201 | renameFaction :: Completable Faction -> Completable Faction -> Sh GameState () | ||
202 | renameFaction f1' f2' = withArg (\f1 -> withArg (\f2 -> renameFaction' f1 f2) f2') f1' | ||
203 | where | ||
204 | renameFaction' f1 f2 = modifying (gEntities . each . eFaction) (\cF -> bool cF f2 $ cF == f1) | ||