private void PerformMove(EditFormActionType moveType) { BeforeMove?.Invoke(bs.Current, new MoveEventArgs(moveType)); bbiDelete.Enabled = true; switch (moveType) { case EditFormActionType.Next: bs.DataSource = MasterData.Next(bs.Current); break; case EditFormActionType.Previous: bs.DataSource = MasterData.Previous(bs.Current); break; case EditFormActionType.First: bs.DataSource = MasterData.First(bs.Current); break; case EditFormActionType.Last: bs.DataSource = MasterData.Last(bs.Current); break; case EditFormActionType.New: bs.DataSource = MasterData.New(bs.Current); bbiSave.Enabled = bbiSaveAndClose.Enabled = bbiSaveAndNew.Enabled = true; bbiNext.Enabled = bbiLast.Enabled = bbiPrev.Enabled = bbiFirst.Enabled = false; bbiReset.Enabled = true; bbiAddNew.Enabled = false; bbiEdit.Enabled = false; bbiDelete.Enabled = false; ChangeControlsReadOnly(false); key.Enabled = true; break; } AfterMove?.Invoke(bs.Current, new MoveEventArgs(moveType)); }
public void MoveTo(HexCell targetCell) { BeforeMove?.Invoke(); if (ParentCell.CharacterOnCell == this) { ParentCell.CharacterOnCell = null; //checking in case of stepping over a friendly character } ParentCell = targetCell; if (targetCell.IsFreeToStand) { targetCell.CharacterOnCell = this; //checking in case of stepping over a friendly character } CharacterObject.transform.parent = targetCell.transform; AnimationPlayer.Add(new MoveTo(CharacterObject.transform, CharacterObject.transform.parent.transform.TransformPoint(0, 10, 0), 0.13f)); AfterMove?.Invoke(); }
private IEnumerator Move(Vector3 target, float duration) { float currTime = 0f; Vector3 startPosition = transform.position; while ((transform.position - target).sqrMagnitude != 0) { currTime += Time.deltaTime; float interpolant = currTime / duration; transform.position = Vector3.Lerp(startPosition, target, interpolant); yield return(null); } transform.position = new Vector3(transform.position.x, transform.position.y); AfterMove?.Invoke(); if (IsTemp) { Destroy(gameObject); } }
public void OnAfterMove() { AfterMove?.Invoke(this, EventArgs.Empty); }
public override string ToString() { return(AfterMove?.ToString() ?? "Init"); }