示例#1
0
        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));
        }
示例#2
0
文件: Character.cs 项目: tojatos/NKM
 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();
 }
示例#3
0
    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);
        }
    }
示例#4
0
 public void OnAfterMove()
 {
     AfterMove?.Invoke(this, EventArgs.Empty);
 }
示例#5
0
 public override string ToString()
 {
     return(AfterMove?.ToString() ?? "Init");
 }