public virtual void Move(MoveEventArgs e) { if (e.distance == 0) { return; } lock (privateLock) { if (!this._movable) { return; } if ((DateTime.Now - lastMoveTime).TotalSeconds < 1 / _frameRate) { return; } MoveStart?.Invoke(this); XYPosition previousPosition = _position; _position = _position + new XYPosition(e.distance * Math.Cos(e.angle), e.distance * Math.Sin(e.angle)); Debug(this, "Move from " + previousPosition.ToString() + " angle : " + e.angle + " distance : " + e.distance + " aim : " + _position.ToString()); OnMove?.Invoke(this, e, previousPosition); Debug(this, "Move result poition : " + this._position.ToString()); MoveComplete?.Invoke(this); } }
public int MovingToCarrier() { if (!MoveStart.IsValidTrolleyPosition()) { return(0); } return(MovingToCarrier(MoveStart)); }
void Start() { oscillators = GetComponentsInChildren <Oscillator>(); Debug.Log(oscillators.Length); state = State.normal; speed_controllers = new BlockSpeedController[blocks.Length]; for (int i = 0; i < blocks.Length; i++) { speed_controllers[i] = blocks[i].GetComponent <BlockSpeedController>(); } start_blockmove = start_block.GetComponent <MoveStart>(); }
public void MoveToPosition(IntVector2 position) { Position = position; IsMoving = true; float motionSpeed; if (IsDiagonal(Position, position)) { motionSpeed = _unitSettings.MotionSpeed * 1.4f; } else { motionSpeed = _unitSettings.MotionSpeed; } _unit.transform.DOMove(new Vector3(position.x, 0, position.y), motionSpeed) .OnComplete(CompleteMoveHandler) .SetEase(Ease.Linear); MoveStart?.Invoke(); }
public override string ToString() { try { if (Info == "GET") { return($"id { ID } : { Status } for { Unit.UnitName(Unit_ID) } {Info} from { MoveTarget } to "); } if (MoveStart == null || (MoveStart.Bridge == 0 && MoveStart.Trolley == 0)) { if (Source != null && SourceHook.IsValidPosition(Unit_ID)) { return($"id { ID } : { Status } for { Unit.UnitName(Unit_ID) } {Info} from { Source } to "); } else { return($"id { ID } : { Status } for { Unit.UnitName(Unit_ID) } {Info} from to { Target }"); } } if (MoveStart != null && MoveStart.IsValidPosition(Unit_ID)) { return($"id { ID } : { Status } for { Unit.UnitName(Unit_ID) } {Info} from { MoveStart } to { MoveTarget }"); } if (Source != null && SourceHook.IsValidPosition(Unit_ID)) { return($"id { ID } : { Status } for { Unit.UnitName(Unit_ID) } {Info} from { Source } to "); } else { return($"id { ID } : { Status } for { Unit.UnitName(Unit_ID) } {Info} from { MoveStart } to { MoveTarget }"); } } catch { return(base.ToString()); } }
public void SetOnPosition(IntVector2 position) { _unit.transform.position = new Vector3(position.x, 0, position.y); Position = position; MoveStart?.Invoke(); }
public void MoveToPosition(IntVector2 position) { MoveStart?.Invoke(); MoveComplete?.Invoke(); }
/// <summary> /// マウスでウィンドウ移動開始のイベントを実行 /// </summary> private void DoMoveStart() { MoveStart?.Invoke(this, new StartWindowMoveMouseEventArgs()); }