// this file is auto create by program, don't edit manually
// template document https://pkg.go.dev/text/template@go1.17.2

package data

// enums
type BuildAreaType int8

const (
	Floor BuildAreaType = 0 // Floor:地板
	Wall  BuildAreaType = 1 // Wall:墙面
)

type BuildingDir int8

const (
	Forward BuildingDir = 0 // Forward:默认正面向
	Left    BuildingDir = 1 // Left:建筑正面向朝左
	Back    BuildingDir = 2 // Back:建建筑正面向朝下
	Right   BuildingDir = 3 // Right:建筑正面向朝右
)

type EnumRelationShip int8

const (
	Friends EnumRelationShip = 0 //
	Enemy   EnumRelationShip = 1 //
	Unknown EnumRelationShip = 2 //
)

type HonorType int8

const (
	Growing HonorType = 1 // Growing:成长
	Work    HonorType = 2 // Work:工作
	Study   HonorType = 3 // Study:学习
)

type PropUseTargetType int8

const (
	Default PropUseTargetType = 1 // Default:默认可以直接使用
	Pet     PropUseTargetType = 2 // Pet:只能对宠物使用
)

// custom types
type ABAsset struct {
	Ab     string //
	Prefab string //
}

type AreaDoorData struct {
	Width  float32 // 存储一个建造区域里门的位置、宽、高信息
	Height float32 //
}

type ItemDiscountWeight struct {
	Discount int // Discount:折扣
	Weight   int // Weight:权重
}

type ItemReward struct {
	ItemBaseType int // itemType:道具基类型
	ItemID       int // itemID:道具ID
	Amount       int // amount:数量
}

type ItemRewardWeight struct {
	ItemBaseType int // itemType:道具基类型
	ItemID       int // itemID:道具ID
	Amount       int // amount:数量
	Weight       int // weight:权重
}

type RangeInt32 struct {
	Min int // 描述一个值的范围
	Max int //
}

type RectRange struct {
	Width  float32 // width:矩形宽
	Height float32 // height:矩形高
}

type RoleConfig struct {
	Names []string //
	Model ABAsset  //
	Icon  ABAsset  //
}

type SdkParam struct {
	BotToken   string // BotToken:string
	BtUserName string // BtUserName:string
	ChatIDName string // ChatIDName:string
	AppID      string // AppID:string
	AppKey     string // AppKey:string
	AppUrl     string // AppUrl:string
}

type S3Param struct {
	AccessKey  string
	SecretKey  string
	Region     string
	BucketName string
	Uid        string
}

type StoreItemWeight struct {
	ItemBaseType int // ItemBaseType:道具基本类型
	ItemID       int // ItemID:物品ID
	Amount       int // Amount:数量
	Price        int // Price:价格
	Weight       int // Weight:权重
}

type TileArea struct {
	Rect TileAreaRange //
	Add  []TilePos     //
	Sub  []TilePos     //
}

type TileAreaRange struct {
	XMin int //
	XMax int //
	YMin int //
	YMax int //
}

type TilePos struct {
	X int //
	Y int //
}

type UnlockCondition struct {
	UnlockType int // UnlockType:解锁类型1等级2解锁条件3任务ID
	ID         int // ID:对应ID
}

type ValueRange struct {
	Key       string     // 描述一个key对应value的范围
	VaueRange RangeInt32 //
}

type Vector2 struct {
	X int // 存储一个二维空间的坐标
	Y int //
}
