private void OnCollisionEnter2D(Collision2D collision) { string _tag = collision.transform.tag; if (_tag == "ground" || _tag == "Player") { this.transform.SetParent(collision.transform); body.isKinematic = true; body.velocity = Vector2.zero; body.angularVelocity = 0.0f; transform.position += this.transform.right * 0.2f; GetComponent <Collider2D>().enabled = false; camTarget._object = null; OnTaskFinished.Raise(); GetComponent <SpriteRenderer>().sortingOrder = 7; if (_tag == "Player") { // Instantiate(fx, collision.contacts[0].point, Quaternion.LookRotation(-this.transform.right)); collision.gameObject.GetComponent <Rigidbody2D>().AddForceAtPosition(collision.contacts[0].point, this.transform.right); characterHP.ApplyChage(-1); if (characterHP.value <= 0) { GameOver.Raise(); } } } }
protected void IncrementProgress(int percentage) { log.Debug($"Task '{Title}' (Id: {TaskId}) - Progression: {ProgressionPercentage}"); ProgressionPercentage = percentage; OnProgressChanged?.Invoke(this, percentage); if (percentage == 100) { OnTaskFinished?.Invoke(this, System.EventArgs.Empty); } }
private void UpdateProgressBar(ProgressBarModel pb) { ProgressBar.Value = pb.Value; ProgressBar.Content = pb.Content; ProgressBar.Visibility = pb.Visibility; if (ProgressBar.Visibility == Visibility.Visible) { OnTaskStarted?.Invoke(); } if (ProgressBar.Visibility == Visibility.Hidden) { OnTaskFinished?.Invoke(); } }
protected void OnUnpackFinished(bool bSuccessful) { OnTaskFinished?.Invoke(this, bSuccessful); }
public virtual ITask Execute() { OnTaskFinished?.Invoke(this, System.EventArgs.Empty); return(this); }
private void TaskThreadHandler() { while (!bExit) { //当前没有任务 if (taskQueue.Count == 0) { Thread.Sleep(1000); continue; } var currentTask = taskQueue.Dequeue(); RunningTask = currentTask; OnTaskChanged?.InvokeAll(this, new NotifyCollectionChangedEventArgs(NotifyCollectionChangedAction.Remove, currentResponse)); OnTaskStart?.InvokeAll(this); KancolleTaskResult result = null; if (currentTask is OrganizeTask) { result = Organize(currentTask as OrganizeTask); } else if (currentTask is SupplyTask) { result = Supply(currentTask as SupplyTask); } else if (currentTask is QuestTask) { result = Quest(currentTask as QuestTask); } else if (currentTask is MissionTask) { result = Mission(currentTask as MissionTask); } else if (currentTask is MapTask) { result = Map(currentTask as MapTask); } else if (currentTask is BattleTask) { result = Battle(currentTask as BattleTask); } else if (currentTask is RemodelTask) { result = Remodel(currentTask as RemodelTask); } else if (currentTask is RepairTask) { result = Repair(currentTask as RepairTask); } else if (currentTask is RefreshDataTask) { result = RefreshData(currentTask as RefreshDataTask); } if (result == null) { result = new KancolleTaskResult(currentTask, KancolleTaskResultType.Fail, $"未能处理当前类型任务【{currentTask.GetType().Name}】", UnknownTaskType); } RunningTask = null; LastResult = result; OnTaskFinished?.Invoke(this, result); Thread.Sleep(1000); } MessageBox.Show("thread finish"); }