void Awake() { audioSource = GetComponent <AudioSource>(); Pitch = GetComponent <PitchVariance>(); mover = GetComponent <BoardMover>(); animator = GetComponent <Animator>(); mover.OnMove += OnMove; }
public void AddMover(BoardMover mover, RadialPosition pos) { if (positionLookup.ContainsKey(mover)) { throw new Exception("Mover already on board"); } positionLookup.Add(mover, pos); movers[pos.Index] = mover; }
public BoardMover[] GetLane(int lane) { BoardMover[] results = new BoardMover[BoardController.NUM_SPACES]; for (int i = 0; i < NUM_SPACES; i++) { results[i] = movers[lane * NUM_SPACES + i]; } return(results); }
public void RemoveMover(BoardMover mover) { if (!positionLookup.ContainsKey(mover)) { throw new Exception("Mover not on board"); } movers[GetMoverPosition(mover).Index] = null; positionLookup.Remove(mover); mover.CallRemove(); }
protected override void function2(PlayerController player) { if (!qiLai) { return; } if (parameter != null) { for (int i = 0; i < parameter.Length; i++) { BoardMover.Move(parameter[i].target, origPos[i] - parameter[i].target.position, 1 - parameter[i].smoothness, parameter[i].delaySeconds + 0.3f, parameter[i].target.GetComponent <EmptyCom>()); } } }
public bool TryMove(BoardMover mover, RadialPosition to) { if (mover.Locked) { return(false); } if (GetMover(to) == null) { movers[GetMoverPosition(mover).Index] = null; positionLookup.Remove(mover); AddMover(mover, to); mover.CallMove(); return(true); } return(false); }
protected override void function(PlayerController player) { if (parameter != null) { foreach (BoardMover.Parameter p in parameter) { BoardMover.Move(p.target, p.delta - p.target.position, 1 - p.smoothness, p.delaySeconds + 0.1f, p.target.GetComponent <EmptyCom>()); } if (!qiLai) { Boom(); } } else { print("没有选定上升的板子!"); } }
void Awake() { boardMover = GetComponent <BoardMover>(); pitchVariance = GetComponent <PitchVariance>(); sr = GetComponent <SpriteRenderer>(); }
public Vector2 GetPosition(BoardMover mover) => GetPosition(GetMoverPosition(mover));
public RadialPosition GetMoverPosition(BoardMover mover) => positionLookup.TryGetValue(mover, out var pos) ? pos : null;
protected override void OnBoard(PlayerController player) { base.OnBoard(player); BoardMover.Move(target, delta, 1 - smoothness, delaySeconds); Destroy(this); }