本文整理汇总了Golang中github.com/gemrs/gem/gem/game/interface/player.Player.Animations方法的典型用法代码示例。如果您正苦于以下问题:Golang Player.Animations方法的具体用法?Golang Player.Animations怎么用?Golang Player.Animations使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类github.com/gemrs/gem/gem/game/interface/player.Player
的用法示例。
在下文中一共展示了Player.Animations方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: buildUpdateBlock
func (struc *PlayerUpdateBlock) buildUpdateBlock(w io.Writer, thisPlayer player.Player) error {
flags := thisPlayer.Flags() & ^entity.MobFlagMovementUpdate
if flags == 0 {
return nil
}
if flags >= 256 {
flags |= 64
flagsEnc := encoding.Uint16(flags)
err := flagsEnc.Encode(w, encoding.IntLittleEndian)
if err != nil {
return err
}
} else {
flagsEnc := encoding.Uint8(flags)
err := flagsEnc.Encode(w, encoding.IntNilFlag)
if err != nil {
return err
}
}
/* Update appearance */
if (flags & entity.MobFlagIdentityUpdate) != 0 {
buf := encoding.NewBuffer()
appearance := thisPlayer.Profile().Appearance()
anims := thisPlayer.Animations()
appearanceBlock := OutboundPlayerAppearance{
Gender: encoding.Uint8(appearance.Gender()),
HeadIcon: encoding.Uint8(appearance.HeadIcon()),
HelmModel: encoding.Uint8(0),
CapeModel: encoding.Uint8(0),
AmuletModel: encoding.Uint8(0),
RightWieldModel: encoding.Uint8(0),
TorsoModel: encoding.Uint16(256 + appearance.Model(player.Torso)),
LeftWieldModel: encoding.Uint8(0),
ArmsModel: encoding.Uint16(256 + appearance.Model(player.Arms)),
LegsModel: encoding.Uint16(256 + appearance.Model(player.Legs)),
HeadModel: encoding.Uint16(256 + appearance.Model(player.Head)),
HandsModel: encoding.Uint16(256 + appearance.Model(player.Hands)),
FeetModel: encoding.Uint16(256 + appearance.Model(player.Feet)),
BeardModel: encoding.Uint16(256 + appearance.Model(player.Beard)),
HairColor: encoding.Uint8(appearance.Color(player.Hair)),
TorsoColor: encoding.Uint8(appearance.Color(player.Torso)),
LegColor: encoding.Uint8(appearance.Color(player.Legs)),
FeetColor: encoding.Uint8(appearance.Color(player.Feet)),
SkinColor: encoding.Uint8(appearance.Color(player.Skin)),
AnimIdle: encoding.Uint16(anims.Animation(player.AnimIdle)),
AnimSpotRotate: encoding.Uint16(anims.Animation(player.AnimSpotRotate)),
AnimWalk: encoding.Uint16(anims.Animation(player.AnimWalk)),
AnimRotate180: encoding.Uint16(anims.Animation(player.AnimRotate180)),
AnimRotateCCW: encoding.Uint16(anims.Animation(player.AnimRotateCCW)),
AnimRotateCW: encoding.Uint16(anims.Animation(player.AnimRotateCW)),
AnimRun: encoding.Uint16(anims.Animation(player.AnimRun)),
}
err := appearanceBlock.Encode(buf, nil)
if err != nil {
return err
}
block := buf.Bytes()
blockSize := encoding.Uint8(len(block))
err = blockSize.Encode(w, encoding.IntNegate)
if err != nil {
return err
}
_, err = w.Write(block)
if err != nil {
return err
}
}
return nil
}