Пример #1
0
    void Awake()
    {
        audioSource = GetComponent <AudioSource>();
        Pitch       = GetComponent <PitchVariance>();
        mover       = GetComponent <BoardMover>();
        animator    = GetComponent <Animator>();

        mover.OnMove += OnMove;
    }
Пример #2
0
    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;
    }
Пример #3
0
    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);
    }
Пример #4
0
    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();
    }
Пример #5
0
    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>());
            }
        }
    }
Пример #6
0
 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);
 }
Пример #7
0
 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("没有选定上升的板子!");
     }
 }
Пример #8
0
 void Awake()
 {
     boardMover    = GetComponent <BoardMover>();
     pitchVariance = GetComponent <PitchVariance>();
     sr            = GetComponent <SpriteRenderer>();
 }
Пример #9
0
 public Vector2 GetPosition(BoardMover mover) => GetPosition(GetMoverPosition(mover));
Пример #10
0
 public RadialPosition GetMoverPosition(BoardMover mover) => positionLookup.TryGetValue(mover, out var pos) ? pos : null;
Пример #11
0
 protected override void OnBoard(PlayerController player)
 {
     base.OnBoard(player);
     BoardMover.Move(target, delta, 1 - smoothness, delaySeconds);
     Destroy(this);
 }