Files
You-Are-A-CEO/TimeSlot.cs
2026-08-03 13:15:39 +02:00

45 lines
1.3 KiB
C#

using Godot;
using yourareanaiceo;
[SceneTree]
public partial class TimeSlot : PanelContainer
{
public MeetingControl MeetingControl { get; set; }
public override bool _CanDropData(Vector2 atPosition, Variant data)
{
return data.VariantType == Variant.Type.Object
&& data.AsGodotObject() is MeetingControlDragData;
}
public override void _DropData(Vector2 atPosition, Variant data)
{
var meetingData = (MeetingControlDragData)data;
MeetingControl = meetingData.MeetingControl;
MeetingControl.Reparent(this, false);
MeetingControl.Visible = true;
meetingData.MeetingControl.DragIsHandled = true;
}
public override void _Notification(int what)
{
if (what == NotificationDragBegin)
MouseFilter = MouseFilterEnum.Pass;
if (what == NotificationDragEnd)
MouseFilter = MouseFilterEnum.Ignore;
}
public void StartMeeting()
{
GD.Print("New Meeting starts!");
var gameState = this.GetGame().GameState;
// TODO: TimeSlot hat bekommt die MeetingResource on Drop?? oder zumindest nicht über Gfx gehen
MeetingControl?.MeetingControlGfx.MeetingResource.StartMeeting(gameState);
MeetingControl?.Animate();
}
}