35 lines
959 B
Haskell
35 lines
959 B
Haskell
{-# LANGUAGE OverloadedStrings #-}
|
|
|
|
module Main (main) where
|
|
|
|
import Control.Exception
|
|
import System.Environment
|
|
import System.Posix.Process
|
|
|
|
import SpaceTraders
|
|
import SpaceTraders.Automation.Init
|
|
import SpaceTraders.APIClient.Errors
|
|
import SpaceTraders.APIClient.Ships
|
|
import SpaceTraders.APIClient.Systems
|
|
import SpaceTraders.Database.Agents
|
|
import SpaceTraders.Database.Contracts
|
|
import SpaceTraders.Database.Ships
|
|
|
|
main :: IO ()
|
|
main = do
|
|
env <- initST
|
|
runSpaceTradersT getAgent env >>= print
|
|
s <- runSpaceTradersT initSystems env
|
|
case s of
|
|
Left (APIResetHappened _) -> do
|
|
p <- getExecutablePath
|
|
a <- getArgs
|
|
e <- getEnvironment
|
|
executeFile p False a (Just e)
|
|
Left e -> throwIO e
|
|
Right s' -> print $ length s'
|
|
runSpaceTradersT getContracts env >>= print
|
|
ss <- runSpaceTradersT getShips env
|
|
runSpaceTradersT (dock $ head ss) env >>= print
|
|
runSpaceTradersT (orbit $ head ss) env >>= print
|
|
deinitST env
|