Documentation ¶
Overview ¶
Package game 目录下包含了各类通用的游戏玩法性内容,其中该目录主要为基础性内容,具体目录将对应不同的游戏功能性内容。
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Actor ¶
type Actor interface { // SetGuid 设置对象的唯一标识符 // - 需要注意的是该函数不应该主动执行,否则可能产生意想不到的情况 SetGuid(guid int64) // GetGuid 获取对象的唯一标识符 GetGuid() int64 }
Actor 表示游戏中的可以放到游戏场景中的游戏对象的基本类型
- 需要注意 Actor 不等于 Player
- 在 Minotaur 中,每个网络连接可以表示一个 Player,而每个玩家可以拥有多个 Actor
- Actor 并非 Player 独有,场景中也可包含各类无主的 Actor
type Item ¶
type Item[ID comparable] interface { // GetID 获取物品ID GetID() ID // IsSame 与另一个物品比较是否相同 IsSame(item Item[ID]) bool }
type ItemContainer ¶
type ItemContainer[ItemID comparable, I Item[ItemID]] interface { // GetSize 获取容器物品非堆叠数量 GetSize() int // GetSizeLimit 获取容器物品非堆叠数量上限 GetSizeLimit() int // SetExpandSize 设置拓展非堆叠数量上限 SetExpandSize(size int) // GetItem 获取物品 GetItem(guid int64) (ItemContainerMember[ItemID, I], error) // GetItems 获取所有非空物品 // - 物品顺序为容器内顺序 // - 空的容器空间将被忽略 GetItems() []ItemContainerMember[ItemID, I] // GetItemsFull 获取所有物品 // - 物品顺序为容器内顺序 // - 空的容器空间将被设置为nil // - 当容器非堆叠物品上限为0时,最后一个非空物品之后的所有空物品都将被忽略 // - 当容器非堆叠物品未达到上限时,其余空间将使用nil填充 GetItemsFull() []ItemContainerMember[ItemID, I] // GetItemsMap 获取所有物品 GetItemsMap() map[int64]ItemContainerMember[ItemID, I] // ExistItem 物品是否存在 ExistItem(guid int64) bool // ExistItemWithID 是否存在特定ID的物品 ExistItemWithID(id ItemID) bool // AddItem 添加物品 AddItem(item I, count *huge.Int) (guid int64, err error) // DeductItem 扣除特定物品数量,当数量为0将被移除,数量不足时将不进行任何改变 DeductItem(guid int64, count *huge.Int) error // TransferTo 转移特定物品到另一个容器中 TransferTo(guid int64, count *huge.Int, target ItemContainer[ItemID, I]) error // CheckAllowAdd 检查是否允许添加特定物品 CheckAllowAdd(item I, count *huge.Int) error // CheckDeductItem 检查是否允许扣除特定物品 CheckDeductItem(guid int64, count *huge.Int) error // Remove 移除特定guid的物品 Remove(guid int64) // RemoveWithID 移除所有物品ID匹配的物品 RemoveWithID(id ItemID) // Clear 清空物品容器 Clear() }
ItemContainer 物品容器
type ItemContainerMember ¶
type ItemContainerMember[ItemID comparable, I Item[ItemID]] interface { // GetID 获取物品ID GetID() ItemID // GetGUID 获取物品GUID GetGUID() int64 // GetCount 获取物品数量 GetCount() *huge.Int // GetItem 获取物品 GetItem() I }
ItemContainerMember 物品容器成员信息
type Player ¶
type Player[ID comparable] interface { // GetID 获取玩家ID GetID() ID // GetConn 获取玩家连接 GetConn() *server.Conn // UseConn 指定连接 UseConn(conn *server.Conn) // Close 关闭玩家并且释放其资源 Close() }
Player 玩家
type Position2D ¶
type Position2D interface { // GetPosition 获取对象位置 GetPosition() (x, y float64) }
Position2D 2D位置接口定义
type Position2DSet ¶
type Position2DSet interface {
SetPosition(x, y float64)
}
Position2DSet 2D位置设置接口定义
type Position3D ¶
type Position3D interface {
GetPosition() (x, y, z float64)
}
Source Files ¶
Click to show internal directories.
Click to hide internal directories.