А не подскажите как обновлять только элемент?
Пробовал удалять его и заново в контейнер добавлять и загружать контейнер но в таком случае получается что у игрока несколько контейнеров, и при закрытие одного остается второй
Поэтому в данный момент удаляется весь MyBackgroundName и выглядит это не красиво
Пробовал удалять его и заново в контейнер добавлять и загружать контейнер но в таком случае получается что у игрока несколько контейнеров, и при закрытие одного остается второй
Поэтому в данный момент удаляется весь MyBackgroundName и выглядит это не красиво
Код:
using System;
using System.Collections.Generic;
using System.Globalization;
using System.Linq;
using Newtonsoft.Json;
using Oxide.Core;
using Oxide.Core.Plugins;
using Oxide.Game.Rust.Cui;
using UnityEngine;
namespace Oxide.Plugins
{
[Info("Command", "Cold", "1.0.0")]
public class Command : RustPlugin
{
[PluginReference] private Plugin ImageLibrary;
private CuiElementContainer container;
[ChatCommand("command")]
private void tesCommand(BasePlayer player)
{
container = new CuiElementContainer();
//задний фон прозрачный
var backgroundName = container.Add(new CuiPanel
{
CursorEnabled = true,
RectTransform = {AnchorMin = "0 0", AnchorMax = "1 1"},
Image =
{
Color = "0 0 0 0.5", Material = "assets/content/ui/uibackgroundblur.mat",
Sprite = "assets/content/ui/ui.background.transparent.radial.psd"
}
}, "Overlay", "MyBackgroundName");
//фон
container.Add(new CuiElement
{
Parent = "MyBackgroundName",
Components =
{
new CuiRawImageComponent {Url = "Ваша ссылка"},
new CuiRectTransformComponent {AnchorMin = "0 0", AnchorMax = "1 1"},
}
});
container.Add(getBut(), "MyBackgroundName", "aplus");
//закрытие
container.Add(new CuiButton
{
RectTransform = {AnchorMin = "0.8 0.8", AnchorMax = "0.9 0.9"},
Button = {Close = "MyBackgroundName", Color = "0 0 0 0"},
Text = {Text = ""}
}, "MyBackgroundName");
CuiHelper.AddUi(player, container);
}
public int a = 1;
private CuiButton getBut()
{
CuiButton c = new CuiButton();
c.RectTransform.AnchorMin = "0.56 0.42";
c.RectTransform.AnchorMax = "0.64 0.47";
c.Button.Command = "aplus";
c.Button.Color = "1 0 0 1";
c.Text.Text = $"A++ {a}";
c.Text.Align = TextAnchor.MiddleCenter;
return c;
}
void OnPlayerDisconnected(BasePlayer player, string reason)
{
CuiHelper.DestroyUi(player, "MyBackgroundName");
player.ChatMessage("clear");
}
[ConsoleCommand("aplus")]
void sndmss(ConsoleSystem.Arg args)
{
BasePlayer player = args.Player();
a++;
CuiHelper.DestroyUi(player, "MyBackgroundName");
container.Add(getBut(), "MyBackgroundName", "aplus");
CuiHelper.AddUi(player, container);
}
}
}