本文整理匯總了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
}