-
Notifications
You must be signed in to change notification settings - Fork 0
/
screenshot.go
56 lines (50 loc) · 1.56 KB
/
screenshot.go
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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
package cmd
import (
"fmt"
"github.com/kijimaD/ruins/lib/states"
gs "github.com/kijimaD/ruins/lib/states"
"github.com/kijimaD/ruins/lib/vrt"
"github.com/urfave/cli/v2"
)
var CmdScreenshot = &cli.Command{
Name: "screenshot",
Usage: "screenshot",
Description: "screenshot game",
Action: runScreenshot,
Flags: []cli.Flag{},
}
func runScreenshot(ctx *cli.Context) error {
mode := ctx.Args().Get(0)
if mode == "" {
return fmt.Errorf("引数が不足している。ステート名が必要")
}
switch mode {
case gs.CraftMenuState{}.String():
st := &gs.CraftMenuState{}
st.SetCategory(states.ItemCategoryTypeItem)
vrt.RunTestGame(st, mode)
case gs.DebugMenuState{}.String():
vrt.RunTestGame(&gs.DebugMenuState{}, mode)
case gs.DungeonMenuState{}.String():
vrt.RunTestGame(&gs.DungeonMenuState{}, mode)
case gs.DungeonSelectState{}.String():
vrt.RunTestGame(&gs.DungeonSelectState{}, mode)
case gs.EquipMenuState{}.String():
vrt.RunTestGame(&gs.EquipMenuState{}, mode)
case gs.HomeMenuState{}.String():
vrt.RunTestGame(&gs.HomeMenuState{}, mode)
case gs.IntroState{}.String():
vrt.RunTestGame(&gs.IntroState{}, mode)
case gs.InventoryMenuState{}.String():
st := &gs.InventoryMenuState{}
st.SetCategory(states.ItemCategoryTypeCard)
vrt.RunTestGame(st, mode)
case gs.MainMenuState{}.String():
vrt.RunTestGame(&gs.MainMenuState{}, mode)
case gs.DungeonState{}.String():
vrt.RunTestGame(&gs.DungeonState{}, mode)
default:
return fmt.Errorf("対応してないステートが指定された: %s", mode)
}
return nil
}