class AcceptRoleView(disnake.ui.View):
def __init__(self, author): # Сам класс с кнопкой
self.author = author
super().__init__(timeout=None)
@disnake.ui.button(label="Принять", style=disnake.ButtonStyle.success)
async def button_accept(self, button: disnake.ui.Button, inter: disnake.AppCmdInter):
await inter.send(f"{self.author.mention} был принят {inter.author.mention}")
class Modal(disnake.ui.Modal):
... # Тут както создаем модал, до этого мы както его вызвали
async def callback(self, interaction: disnake.ModalInteraction):
# Как то обрабатываем модал и чтобы отправить сообщение указываем view
await inter.send(content=inter.author.id, view=AcceptRoleView(inter.author))
var w_mp = Camera.main.ScreenToWorldPoint(Input.mousePosition);
if(transform.position.x < w_mp.x)
{
gameObject.transform.rotation = Quaternion.Euler(0, 180, 0);
}
else
{
gameObject.transform.rotation = Quaternion.Euler(0, 0, 0);
}
/*
Наглядно и ясно:)
Left - левая рука
Right - права рука
Up - голова сверху
Down - ноги снизу
Front - живот
Behind - спина
*/
public void OnTriggerEnter(Collider other)
{
if(other.name == "LeftCol")
{
Debug.Log("Левая сторона");
}
if(other.name == "RightCol")
{
Debug.Log("Правая сторона");
}
if(other.name == "UpCol")
{
Debug.Log("Верхняя сторона");
}
if(other.name == "DownCol")
{
Debug.Log("Нижняя сторона");
}
if(other.name == "FrontCol")
{
Debug.Log("Спереди");
}
if(other.name == "BehindCol")
{
Debug.Log("Сзади");
}
}
CharacterController controller = GetComponent<CharacterController>();
if(controller.isGround) //проверка на то, находится игрок на земле или нет
{
//проигрывание анимации и, если надо, движения
}