mirror of
https://github.com/beefytech/Beef.git
synced 2025-06-10 12:32:20 +02:00
Merge pull request #1126 from disarray2077/event_unsubscribe
Return error on event unsubscribe failure
This commit is contained in:
commit
47cde27639
1 changed files with 9 additions and 15 deletions
|
@ -136,7 +136,7 @@ namespace System
|
|||
}
|
||||
}
|
||||
|
||||
public void Remove(T compareDelegate, bool deleteDelegate = false) mut
|
||||
public Result<void> Remove(T compareDelegate, bool deleteDelegate = false) mut
|
||||
{
|
||||
Object data = Target;
|
||||
|
||||
|
@ -150,9 +150,7 @@ namespace System
|
|||
break;
|
||||
}
|
||||
if (idx == -1)
|
||||
{
|
||||
Runtime.FatalError("Not found");
|
||||
}
|
||||
return .Err;
|
||||
|
||||
if (deleteDelegate)
|
||||
delete list[idx];
|
||||
|
@ -177,18 +175,14 @@ namespace System
|
|||
else
|
||||
{
|
||||
T dlgMember = (T)data;
|
||||
if (Delegate.Equals(compareDelegate, dlgMember))
|
||||
{
|
||||
if (deleteDelegate)
|
||||
delete dlgMember;
|
||||
Target = null;
|
||||
return;
|
||||
}
|
||||
else
|
||||
{
|
||||
Runtime.FatalError("Not found");
|
||||
}
|
||||
if (!Delegate.Equals(compareDelegate, dlgMember))
|
||||
return .Err;
|
||||
if (deleteDelegate)
|
||||
delete dlgMember;
|
||||
Target = null;
|
||||
}
|
||||
|
||||
return .Ok;
|
||||
}
|
||||
|
||||
public rettype(T) Invoke(params T p) mut
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue