本文整理汇总了Golang中github.com/gemrs/gem/gem/game/interface/player.Player.Profile方法的典型用法代码示例。如果您正苦于以下问题:Golang Player.Profile方法的具体用法?Golang Player.Profile怎么用?Golang Player.Profile使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类github.com/gemrs/gem/gem/game/interface/player.Player
的用法示例。
在下文中一共展示了Player.Profile方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: doLogin
// doLogin authenticates the user, sends the login response, and sets up the client for standard packet processing
func (svc *GameService) doLogin(client player.Player, username, password string) error {
profile, responseCode := svc.auth.LookupProfile(username, password)
if responseCode != auth.AuthOkay {
client.Conn().Write <- &game_protocol.OutboundLoginResponseUnsuccessful{
Response: encoding.Uint8(responseCode),
}
client.Conn().Disconnect()
return nil
}
client.SetProfile(profile.(player.Profile))
// Successful login, do all the stuff
client.Conn().Write <- &game_protocol.OutboundLoginResponse{
Response: encoding.Uint8(responseCode),
Rights: encoding.Uint8(client.Profile().Rights()),
Flagged: 0,
}
client.SetDecodeFunc(svc.decodePacket)
go svc.packetConsumer(client)
game_event.PlayerLogin.NotifyObservers(client)
client.LoadProfile()
game_event.PlayerFinishLogin.NotifyObservers(client)
go func() {
client.Conn().WaitForDisconnect()
game_event.PlayerLogout.NotifyObservers(client)
}()
return nil
}
示例2: 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
}