public void UpdateNameplatePosition() { lock (nameplateList) { if (nameplateList.Count == 0) { return; } //Updating selected index startingRenderingIndex = Math.Max(selectedIndex - maximumRenderableLines + 1, 0); finalRenderingIndex = Math.Min(startingRenderingIndex + maximumRenderableLines, nameplateList.Count); Vector2 startingPosition = background.Position.ToIntegerDomain() + (elementYOffset / 2).ToIntegerDomain(); for (int i = startingRenderingIndex; i < finalRenderingIndex; i++) { Nameplate nmp = nameplateList[i]; nmp.Update(startingPosition + (i - startingRenderingIndex) * elementYOffset); nmp.ResetTextColor(); } nameplateList[selectedIndex].ReplaceTextColor(nameplateList[selectedIndex].PlayerColor, Color.White); } }
public void ChangePosition(Vector2 newPostion) { if (newPostion == ButtonOffset) { return; } Vector2 diff = newPostion - ButtonOffset; flipbookList.ForEach((x) => x.Position += diff); spriteList.ForEach((x) => x.Position += diff); Mobile.MobileFlipbook.Position += diff; Nameplate.Update(Nameplate.Position + diff); ButtonOffset = newPostion; }