コード例 #1
0
 void EndMove(Direction dir)
 {
     //else change value
     Value = map.GetNewValue(value, dir);
     //set position and add to tiles
     LayeredGridPosition += dir;
     GridPosition        += dir;
     PlaceInWorld();
     //rejoin tiles in map
     Map.Add(LayeredGridPosition, this);
     OnTileEndMove?.Invoke(this);
 }
コード例 #2
0
    void Merge(Direction dir)
    {
        MoveableTile mergedInto = map.GetTileAt(LayeredGridPosition + dir) as MoveableTile;

        //OnMerge
        mergedInto.PlayMergeAnimation();
        mergedInto.mergeAudioSrc.Play();
        OnMerged?.Invoke(this, mergedInto);
        //movement ended
        OnTileEndMove?.Invoke(this);
        //"merged" with existing tile
        ActivateMergeEffectSelfMoving(mergedInto);
        //Destroy(gameObject);
        //InvokeOnDeath();
        KillTile();
    }