/// <summary> /// /// </summary> /// <param name="moveType">移动类型></param> /// <param name="target">移动目标</param> /// <param name="oneRoundTime">单次运行时间</param> /// <param name="repeatType">重复类型默认为循环</param> public void Initialize(MoveActionType moveType, Transform target , float oneRoundTime, MoveRepeatType repeatType = MoveRepeatType.Loop) { this.MoveType = moveType; this.RepeatType = repeatType; this.MoveTarget = target; this.OneRoundTime = oneRoundTime; }
public void SetMovement(Vector3 direction, MoveActionType actionType) { if (IsFallingNow) { return; } if (actionType == MoveActionType.NO_MOVE) { StopAllMovements(); return; } isRelativeDirectionNow = false; CurrentTargetDirection = new Vector3(direction.x, 0, direction.y); CurrentMoveActionType = actionType; }
public void SetMovement(RelativeDirection relDirection, MoveActionType actionType) { if (IsFallingNow) { return; } if (actionType == MoveActionType.NO_MOVE) { StopAllMovements(); return; } isRelativeDirectionNow = true; relativeDirection = relDirection; CurrentTargetDirection = CurrentDirection; CurrentMoveActionType = actionType; }
public void SetMovement(RelativeDirection relDirection, MoveActionType actionType) { if (TranslationsController == null) { return; } // Управление перемещением более приоритетно, чем прицеливание - отменяем прицеливание по возможности if (artilleryLauncher?.IsLaunchingNow ?? false) { return; } if (isAimingNow && actionType == MoveActionType.NO_MOVE) { return; } if (actionType != MoveActionType.NO_MOVE) { artilleryLauncher.ClearAimData(); } isAimingNow = false; TranslationsController.SetMovement(relDirection, actionType); }
private List <Room> GetTargetRoomList(MoveActionType MoveActionType, Room CurrentRoom, Player CurrentPlayer) { var TargetRoomList = new List <Room>(); var CurrentLayer = GameMap.Find(x => x.RoomList.Contains(CurrentRoom)); switch (MoveActionType) { case MoveActionType.Up: if (CurrentLayer.Depth == 1) { TargetRoomList.Add(GetRoom(0, 0)); } else if (CurrentLayer.Depth == 7) { if (CurrentRoom.Index == 0) { TargetRoomList.Add(GetRoom(6, 0)); TargetRoomList.Add(GetRoom(6, 1)); TargetRoomList.Add(GetRoom(6, 2)); } else { TargetRoomList.Add(GetRoom(6, 2)); TargetRoomList.Add(GetRoom(6, 3)); TargetRoomList.Add(GetRoom(6, 4)); } } else { TargetRoomList.Add(GetRoom(CurrentRoom.Depth - 1, CurrentRoom.Index)); } break; case MoveActionType.Down: if (CurrentLayer.Depth == 0) { TargetRoomList.Add(GetRoom(1, 0)); TargetRoomList.Add(GetRoom(1, 1)); TargetRoomList.Add(GetRoom(1, 2)); TargetRoomList.Add(GetRoom(1, 3)); TargetRoomList.Add(GetRoom(1, 4)); } else if (CurrentLayer.Depth == 6) { if (CurrentRoom.Index <= 2) { TargetRoomList.Add(GetRoom(7, 0)); } else { TargetRoomList.Add(GetRoom(7, 1)); } } else { TargetRoomList.Add(GetRoom(CurrentRoom.Depth + 1, CurrentRoom.Index)); } break; case MoveActionType.Left: TargetRoomList.Add(GetRoom(CurrentRoom.Depth, CurrentRoom.Index - 1)); break; case MoveActionType.Right: TargetRoomList.Add(GetRoom(CurrentRoom.Depth, CurrentRoom.Index + 1)); break; case MoveActionType.Stay: TargetRoomList.Add(GetRoom(CurrentRoom.Depth, CurrentRoom.Index)); break; } return(TargetRoomList); }
protected override void ReadData(IPacketReader reader) { _moveAction = (MoveActionType)reader.ReadByte(); _elapse = reader.ReadShort(); }
public void Reset() { MoveTarget = null; m_bPlalying = false; MoveType = MoveActionType.Circle; }