bool _isStalking = false;
public void StopStalk()
{
_isStalking = false;
}
public void StartStalk(string nick)
{
_isStalking = true;
Task.Run(() =>
{
for (int i = 0; i < 255; i++) //Просмотр всех пользователей на сервере.
{
if (nick == Main.player[i].name) //Проверка, совпал ли указанный ник с тем, который нашёлся
{
while(_isStalking)
{
Thread.Sleep(1000); //Выставить делей на телепорт, чтобы много ресов не кушал
Main.player[Main.myPlayer].position = Main.player[i].position; //Телепортация
NetMessage.SendData(13, -1, -1, null, Main.myPlayer, 0f, 0f, 0f, 0); //Пакеты
}
break;
}
}
});
}
bool _isStalking = false;
public void SomeMethod(string name)
{
//Если Main.player - IEnumerable
var somePlayer = Main.player.FirstOrDefault(player => player.name == name);
if(somePlayer != null)
StartStalk(somePlayer);
//Если Main.player - array
/*
for(int i = 0; i < Main.player.Length; i++)
{
if(Main.player[i].name == name)
{
StartStalk(Main.player[i]);
break;
}
}
*/
}
public void StopStalk()
{
_isStalking = false;
}
public void StartStalk(Player player)
{
_isStalking = true;
Task.Run(() =>
{
while(_isStalking)
{
Thread.Sleep(1000); //Выставить делей на телепорт, чтобы много ресов не кушал
Main.player[Main.myPlayer].position = player.position; //Телепортация
NetMessage.SendData(13, -1, -1, null, Main.myPlayer, 0f, 0f, 0f, 0); //Пакеты
}
});
}
RenderOptions.EdgeMode="Aliased", но тогда графика совсем не о чем
<Style x:Key="RoundedButton" TargetType="Button">
<Setter Property="Grid.Column" Value="1"/>
<Setter Property="Margin" Value="20 32"/>
<Setter Property="HorizontalContentAlignment" Value="Center" />
<Setter Property="VerticalContentAlignment" Value="Center" />
<Setter Property="FontSize" Value="14"/>
<Setter Property="FontFamily" Value="Verdana"/>
<Setter Property="Foreground" Value="White"/>
<Setter Property="Background" Value="Transparent"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type Button}">
<Grid>
<Border Name="RoundedButtonBorder"
Margin="0"
CornerRadius="15"
Background="{TemplateBinding Background}"
BorderBrush="White"
BorderThickness="3"
>
<ContentPresenter HorizontalAlignment="Center"
VerticalAlignment="Center"
>
</ContentPresenter>
</Border>
<Border Name="RoundedButtonBorderHidden"
Margin="0"
CornerRadius="15"
BorderBrush="White"
BorderThickness="5"
Visibility="Hidden"
>
<ContentPresenter HorizontalAlignment="Center"
VerticalAlignment="Center"
>
</ContentPresenter>
</Border>
</Grid>
<ControlTemplate.Triggers>
<Trigger Property="IsMouseOver" Value="true">
<Setter Property="Background" Value="White" />
<Setter Property="Foreground" Value="Black" />
<Setter TargetName="RoundedButtonBorderHidden" Property="Visibility" Value="Visible"/>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
public void OpenOptions(...) //передаем все необходимые параметры
{ ... }
private void OpenOptions(object sender, RoutedEventArgs e)
{
Animations.OpenOptions(...,...,...);
}
public void Shopbttn_addBonus (int index) {
try {
if (Score >= ShopCosts[index]) {
Bonus += ShopBonuses[index];
Score -= ShopCosts[index];
ShopCosts[index] *= 2;
ShopBttnsText[index].text = "КУПИТЬ УЛУЧШЕНИЕ \n" + ShopCosts[index] + "$";
} else {
Debug.Log ("Не хватает!");
}
} catch (Exception e) {
Debug.Log ($"Неверный индекс кнопки. Был передан индекс {index}, " +
"валидные числа индекса для массива: " +
$"ShopCosts - от 0 до {ShopCosts.Count - 1}" +
$"ShopBonuses - от 0 до {ShopBonuses.Count - 1}" +
$"ShopBttnsText - от 0 до {ShopBttnsText.Count - 1}");
}
}