public void OnButton() { ContextText.text = string.Empty; OnButtonPress?.Invoke(); OnButtonPress = null; gameObject.SetActive(false); }
}//onStaminaRestore public void UpdateStamina(float byAmount) { this.Status += byAmount; if (Mathf.Sign(byAmount) < 0 && this.Status > 0) { ResetFlags(); } if (this.Status > Amount) { EOnFullyRestored?.Invoke(); Reset(); } if (this.Status < 0) { this.Status = 0; this.IsFullyDrained = true; this.timeOfDrained = Time.timeSinceLevelLoad; EOnFullyDrained?.Invoke(); } if (Mathf.Sign(byAmount) < 0) { this.timeOfLastStaminaUpdate = Time.timeSinceLevelLoad; } EOnStaminaUpdated?.Invoke(this.Status); }//UpdateStamina
//Ein Delegat kann einen optionalen Parameter angeben AUCH WENN die Funktion der sie zugewiesen ist einen Parameter vorschreibt. Trotzdem darf das Parameterfeld des Delegaten nicht leer sein, solange die Methode Parameter verlangt. Der Delegat gibt bei leerem Parameterfeld den default Wert des optionalen Parameters(also 0) an(weil: int i = 0). //Delegaten die außerhalb von Klassen deklariert sind können nur statische Methoden annehmen. public void InvokeDelegates() { SimpleDelegate simpleDelegate = new SimpleDelegate(DelegateMethod); // Dem Delegaten "simpleDelegate" wird die Methode "DelegateMethod" zugewiesen //Anstatt die Methode mit dem new Modifizierer und dem Delegatennamen einem Delegaten zuzuweisen kann man auch schreiben: SimpleDelegate simple = DelegateMethod; simpleDelegate += new SimpleDelegate(AnotherDelegateMethod); //Der Delegat "simpleDelegate" hat eine weitere Methode aufgenommen. Ein Delegat der Verweise zu mehreren Methoden hat nennt man "Multicast-Delegaten". Er wird bei Ausführung die beiden Methoden nacheinander aufrufen. //Delegaten kann man auf mehrere Weisen Multicasten. Man kann entweder die Funktion ".Combine()" aufrufen oder die Delegaten mit dem "+=" Operator überladen. simpleDelegate.Invoke(); //".Invoke()" ist ein Befehl der die ausführung der Methoden verlangt. Wenn der Delegat nicht vom Typ "void" ist kann man den Rückgabewert des Delegaten auch in eine Variable laden. (z.b. int result = simpleDelegate; / int result = simpleDelegate.Invoke(); Console.WriteLine(result);) //Statt die ".Invoke()" Methode zu nutzen kann man Delegaten auch wie normale Methoden aufrufen wie unten: simple(); Console.WriteLine("Generische Delegaten ausführen?[y/n]"); switch (Console.ReadLine().ToLower()) { case "y": GenericDelegates(); break; case "n": default: return; } }
public void InvokeOnDone() { DestroyResourcesView.SetActive(false); MainSelectorView.SetActive(true); Player.LocalPlayer.CmdNextPlayerInWarWithOrEnd(); OnDone?.Invoke(); }
private Task doAbort() { if (OnTaskAbort != null) { return(OnTaskAbort.Invoke()); } else { return(System.Threading.Tasks.Task.CompletedTask); } }
private Task end() { if (OnTaskEnd != null) { return(OnTaskEnd.Invoke()); } else { return(System.Threading.Tasks.Task.CompletedTask); } }
private Task doTask() { if (Task != null) { return(Task.Invoke()); } else { return(System.Threading.Tasks.Task.CompletedTask); } }
private Task begin() { taskState = WorkerTaskState.InProgress; if (OnTaskBegin != null) { return(OnTaskBegin.Invoke()); } else { return(System.Threading.Tasks.Task.CompletedTask); } }
static void Main(string[] args) { SimpleDelegate sd1 = SimpleMethod1; sd1 += SimpleMethod2; sd1 += SimpleMethod3; //sd1 -= SimpleMethod3; //sd4(); int value = sd1.Invoke(); Console.WriteLine(value); Console.ReadKey(); }
public void InvokeDelegate() { Stopwatch stopwatch = new Stopwatch(); stopwatch.Start(); var myDelegate = new SimpleDelegate(SayHello); while (true) { if (stopwatch.Elapsed.Seconds != this.t) { continue; } myDelegate.Invoke(); stopwatch.Restart(); } }
static public void Execute(string code) { doClear?.Invoke(); try { //if (!code.StartsWith("//@Pure")) //{ // StringBuilder ncode = new StringBuilder("using System;using TextBot;"); // string[] cc = code.Split('\r', '\n'); // for (int i = 0; i < cc.Length; i++) // { // string line = cc[i].Trim(); // if (line.StartsWith("//@")) // ncode.Append(line.Substring(3)); // } // ncode.Append("namespace Generated{public class GeneratedClass:ProcessorBaseClass{"); // for (int i = 0; i < cc.Length; i++) // { // string line = cc[i].Trim(); // if (line.StartsWith("//#")) // ncode.Append(line.Substring(3)); // } // ncode.Append("public override void Process(){\r\n"); // ncode.Append(code); // ncode.Append("}}}"); // code = ncode.ToString(); //} Assembly asm = BuildAssembly(code); ProcessorBaseClass instance = asm.CreateInstance("Generated.GeneratedClass") as ProcessorBaseClass; instance.Process(); instance.flush(); } catch (Exception e) { WriteLine("[!!]" + e.GetType().Name + ": "); WriteLine(e.Message); WriteLine(e.StackTrace); } }
public void GameLost_() { GameLost?.Invoke(); }
public void GameStart_() { GameStart?.Invoke(); }
public override void FireEvent() { SimpleDelegate simple = MyEvent; simple?.Invoke(); }
public virtual void FireEvent() { SimpleDelegate simple = MyEvent; simple?.Invoke(); }
public void OnClick() { OnClickDelegate?.Invoke(); Destroy(gameObject); }
public Response FullCopyTable <TEntityInput, TEntityOutput>(string tableName, string command, SimpleDelegate <TEntityInput, TEntityOutput> action) where TEntityInput : class, new() where TEntityOutput : class, new() { var count = Count(tableName); var reads = 0; //ThresholdReachedEventHandler handler = ThresholdReached; var startTime = DateTime.Now; RowReads = 0; EventData = new ThresholdReachedEventArgs() { TableName = tableName, StartTime = startTime, CountRows = count }; var cmd = new TDbCommand(); cmd.Connection = this.Connection; cmd.CommandText = command; cmd.CommandTimeout = 0; using (var reader = cmd.ExecuteReader()) { if (reader == null) { throw new ArgumentNullException("dataReader"); } if (!reader.HasRows) { return(null); } var bulkCopy = new SqlBulkCopy(ConnectionStringOutput, SqlBulkCopyOptions.KeepNulls & SqlBulkCopyOptions.KeepIdentity) { DestinationTableName = tableName, BulkCopyTimeout = this.BulkCopyTimeout, BatchSize = this.BatchSize, //EnableStreaming, NotifyAfter = this.NotifyAfter, //ColumnMappings }; bulkCopy.SqlRowsCopied += new SqlRowsCopiedEventHandler(OnSqlRowsCopied); new TEntityOutput().GetColumnMapping().ForEach(delegate(SqlBulkCopyColumnMapping item) { bulkCopy.ColumnMappings.Add(item); }); var IsReader = true; while (reads < count) { var result = new List <TEntityInput>(); //var rows = new List<IDictionary<string, object>>(); for (int i = 0; i < PagePaging; i++) { if (reads < count) { if (i % this.NotifyAfter == 0) { EventData.ReadRows = reads; EventData.TimePross = DateTime.Now - startTime; ThresholdReached(this, EventData);//OnThresholdReached(EventData); } IsReader = reader.Read(); result.Add(BuildEntity1 <TEntityInput>(reader)); //rows.Add(ReadRow(reader)); reads++; } } //foreach (var row in rows) //{ // result.Add(BuildEntity<TEntityInput>(row)); //} EventData.ReadRows = reads; EventData.TimePross = DateTime.Now - startTime; ThresholdReached(this, EventData);//OnThresholdReached(EventData); List <TEntityOutput> models = action.Invoke(result); //var t = models.MapModel(tableName); try { var tDataTable = models.ConvertToDataTable(); bulkCopy.WriteToServer(tDataTable); } catch (Exception ex) { throw ex; } } //columnMapping.ForEach(delegate (SqlBulkCopyColumnMapping item) { bulkCopy.ColumnMappings.Add(item); }); //var tDataTable = ClsExtendedLibrary.ConvertToDataTable<TEntity>(entity); //bulkCopy.BulkCopyTimeout = 0; } //IEnumerable<TEntity> models = new List<TEntity>(); //DataTable table = models.MapModel(tableName); var endTime = DateTime.Now; EventData.TimePross = DateTime.Now - EventData.StartTime; EventData.WriteRows = EventData.CountRows; ThresholdReached(this, EventData);//OnThresholdReached(EventData); return(new Response(EventData.TableName, startTime, endTime, EventData.CountRows)); }
public void InvokeDecline() { DisableAllViews(); Hide(); OnDecline?.Invoke(); }
public void InvokeAccept() { DisableAllViews(); Hide(); OnAccept?.Invoke(); }
public void OnEndTradingAlliance() { Panel.SetActive(false); OnEndTradingAllianceDelegate?.Invoke(); }
public void OnOfferAlliance() { Panel.SetActive(false); OnOfferAllianceDelegate?.Invoke(); }
public void OnEndWar() { Panel.SetActive(false); OnEndWarDelegate?.Invoke(); }