本文整理汇总了C++中World::GetLocalPlayer方法的典型用法代码示例。如果您正苦于以下问题:C++ World::GetLocalPlayer方法的具体用法?C++ World::GetLocalPlayer怎么用?C++ World::GetLocalPlayer使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类World
的用法示例。
在下文中一共展示了World::GetLocalPlayer方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: SetSelectedIndex
void PaletteView::SetSelectedIndex(int idx) {
IntVector3 col = colors[idx];
World *w = client->GetWorld();
if(!w) return;
Player *p = w->GetLocalPlayer();
if(!p) return;
p->SetHeldBlockColor(col);
client->net->SendHeldBlockColor();
}
示例2: Draw
void HurtRingView::Draw(){
SPADES_MARK_FUNCTION();
Vector3 playerFront;
World *w = client->GetWorld();
if(!w){
ClearAll();
return;
}
Player *p = w->GetLocalPlayer();
if(p == NULL || !p->IsAlive()){
ClearAll();
return;
}
playerFront = p->GetFront2D();
float hurtRingSize = renderer->ScreenHeight() * .3f;
float cx = renderer->ScreenWidth() * .5f;
float cy = renderer->ScreenHeight() * .5f;
static const float coords[][2]={
{-1,-1},{1,-1},{-1,1}
};
std::list<Item>::iterator it;
for(it = items.begin(); it != items.end(); it++){
Item& item = *it;
float fade = item.fade * 2.f;
if(fade > 1.f)fade = 1.f;
Vector4 color = {1,1,1,fade};
renderer->SetColor(color);
Vector3 dir = -item.dir;
float c = dir.x * playerFront.x + dir.y * playerFront.y;
float s = dir.y * playerFront.x - dir.x * playerFront.y;
Vector2 verts[3];
for(int i = 0; i < 3; i++){
verts[i] = MakeVector2(coords[i][0] * c - coords[i][1] * s,
coords[i][0] * s + coords[i][1] * c);
verts[i] = verts[i] * hurtRingSize + MakeVector2(cx, cy);
}
renderer->DrawImage(image,
verts[0], verts[1], verts[2],
AABB2(0, 0, image->GetWidth(), image->GetHeight()));
}
}
示例3: GetSelectedIndex
int PaletteView::GetSelectedIndex() {
World *w = client->GetWorld();
if(!w) return -1;
Player *p = w->GetLocalPlayer();
if(!p) return -1;
IntVector3 col = p->GetBlockColor();
for(int i = 0; i < (int)colors.size(); i++){
if(col.x == colors[i].x &&
col.y == colors[i].y &&
col.z == colors[i].z)
return i;
}
return -1;
}
示例4: Draw
void MapView::Draw(){
World *world = client->GetWorld();
if(!world)
return;
Player *player = world->GetLocalPlayer();
if(client->IsFollowing()){
player = world->GetPlayer(client->followingPlayerId);
}
if(!player)
return;
if(largeMap)
if(zoomState < .0001f)
return;
GameMap *map = world->GetMap();
Vector2 mapSize = MakeVector2(map->Width(), map->Height());
Vector3 pos = player->GetPosition();;
if(player->GetTeamId() >= 2){
pos = client->followPos;
}
Vector2 center = {pos.x, pos.y};
float cfgMapSize = cg_minimapSize;
if(cfgMapSize < 32) cfgMapSize = 32;
if(cfgMapSize > 256) cfgMapSize = 256;
Vector2 mapWndSize = {cfgMapSize, cfgMapSize};
float scale = actualScale;
center = Mix(center,
mapSize * .5f,
zoomState);
Vector2 zoomedSize = {512, 512};
if(renderer->ScreenWidth() < 512.f ||
renderer->ScreenHeight() < 512.f)
zoomedSize = MakeVector2(256, 256);
if(largeMap){
float per = zoomState;
per = 1.f - per;
per *= per;
per = 1.f - per;
per = Mix(.7f, 1.f, per);
zoomedSize = Mix(MakeVector2(0, 0),
zoomedSize,
per);
mapWndSize = zoomedSize;
}
Vector2 inRange = mapWndSize * .5f * scale;
AABB2 inRect(center - inRange, center + inRange);
if(largeMap){
inRect.min = MakeVector2(0, 0);
inRect.max = mapSize;
}else{
if(inRect.GetMinX() < 0.f)
inRect = inRect.Translated(-inRect.GetMinX(), 0.f);
if(inRect.GetMinY() < 0.f)
inRect = inRect.Translated(0, -inRect.GetMinY());
if(inRect.GetMaxX() > mapSize.x)
inRect = inRect.Translated(mapSize.x - inRect.GetMaxX(), 0.f);
if(inRect.GetMaxY() > mapSize.y)
inRect = inRect.Translated(0, mapSize.y - inRect.GetMaxY());
}
AABB2 outRect(renderer->ScreenWidth() - mapWndSize.x - 16.f, 16.f,
mapWndSize.x,
mapWndSize.y);
if(largeMap){
outRect.min = MakeVector2((renderer->ScreenWidth() - zoomedSize.x) * .5f,
(renderer->ScreenHeight() - zoomedSize.y) * .5f);
outRect.max =MakeVector2((renderer->ScreenWidth() + zoomedSize.x) * .5f,
(renderer->ScreenHeight() + zoomedSize.y) * .5f);
}
float alpha = 1.f;
if(largeMap){
alpha = zoomState;
}
// fades bg
if(largeMap) {
Handle<IImage> bg = renderer->RegisterImage("Gfx/MapBg.png");
Vector2 scrSize = {renderer->ScreenWidth(),
renderer->ScreenHeight()};
float size = std::max(scrSize.x, scrSize.y);
renderer->SetColorAlphaPremultiplied(MakeVector4(0, 0, 0,alpha * .5f));
renderer->DrawImage(bg,
AABB2((scrSize.x - size) * .5f,
(scrSize.y - size) * .5f,
size, size));
}
// draw border
Handle<IImage> border;
float borderWidth;
AABB2 borderRect = outRect;
if(largeMap) {
//.........这里部分代码省略.........