bool InputFilter(AbstractTile selectedTile, AbstractTile destinationTile, TileMoveDirection moveDirection) 
	{
		if (pieceToMove == null || pieceToMoveDestination == null) {
			return true;
		}
		
		AbstractTile tileToMove = pieceToMove.Tile;
		AbstractTile tileToMoveDest = pieceToMoveDestination.Tile;
		
		if (destinationTile == null) 
		{
			Match3BoardGameLogic boardLogic = Match3BoardGameLogic.Instance;
			BoardCoord targetBoardPos = selectedTile.BoardPiece.BoardPosition;
			targetBoardPos.OffsetByAndClamp(boardLogic.tilesMoveDirections[(int)moveDirection], boardLogic.boardData.NumRows - 1, boardLogic.boardData.NumColumns - 1);
			destinationTile = boardLogic.boardData[targetBoardPos].Tile;
		}
		
		if (tileToMove == selectedTile && tileToMoveDest == destinationTile ||
			tileToMove == destinationTile && tileToMoveDest == selectedTile)
		{
			disableTutorial = true;
			TileSwitchInput.Instance.InputFilter = null;
			return true;
		}

		return false;
	}
Esempio n. 2
0
    public override void StartUsingItem(Match3BoardGameLogic _boardLogic)
    {
        base.StartUsingItem(_boardLogic);

        PossibleMatchesController.Instance.EnabledCount--;
        TileSwitchInput.Instance.DisableInput();
    }
Esempio n. 3
0
    public override void StartUsingItem(Match3BoardGameLogic _boardLogic)
    {
        base.StartUsingItem(_boardLogic);

        TileSwitchInput.Instance.DeactivateDrag();
        Match3Tile.OnTileTap += OnTileSelected;
    }
Esempio n. 4
0
	public override void StartUsingItem(Match3BoardGameLogic _boardLogic)
	{
		base.StartUsingItem(_boardLogic);
		
		PossibleMatchesController.Instance.EnabledCount--;
		TileSwitchInput.Instance.DisableInput();
	}
Esempio n. 5
0
    /// <summary>
    /// Raises the drag gesture event. This event is raised by FingerGestures's DragRecognizer component.
    /// Determine the selected tile and in which direction the user dragged it and tell the <see cref="Match3BoardGameLogic"/>
    /// that we've started moving that tile in that direction.
    /// </summary>
    /// <param name='eventData'>
    /// Event data.
    /// </param>
    public void OnDragGesture(DragGesture eventData)
    {
        if (dragLock > 0)
        {
            tapSelectedTile = null;
            return;
        }

        // Check if we've selected any tile.
        if (eventData.StartSelection != null && eventData.StartSelection.layer == Match3Globals.Instance.layerBoardTile)
        {
            if (eventData.Phase == ContinuousGesturePhase.Started)
            {
                // Cancel the tap selected tile if we've done a drag gesture.
                tapSelectedTile = null;

                AbstractTile      dragSelectedTile = eventData.StartSelection.GetComponent <AbstractTile>();
                TileMoveDirection moveDirection    = Match3BoardGameLogic.GetTileMoveDirection(eventData.TotalMove);

                if (InputFilter == null || InputFilter(dragSelectedTile, null, moveDirection))
                {
//					Debug.Log("Drag event started! Start Selection: " + eventData.StartSelection + " -> totalMove = " + eventData.TotalMove);
                    if (boardGameLogic.TryToMoveTile(dragSelectedTile, moveDirection))
                    {
                        //boardGameLogic.loseConditions.NewMove();
                    }
                }
            }
        }
    }
Esempio n. 6
0
	public override void StartUsingItem(Match3BoardGameLogic _boardLogic)
	{
		base.StartUsingItem(_boardLogic);
		
		TileSwitchInput.Instance.DeactivateDrag();
		Match3Tile.OnTileTap += OnTileSelected;
	}
Esempio n. 7
0
	public override void StartUsingItem(Match3BoardGameLogic _boardLogic)
	{
		base.StartUsingItem(_boardLogic);
		
		StartItemEffects();
		
		SoundManager.Instance.PlayOneShot("snowball_sfx");
	}
Esempio n. 8
0
    public override void StartUsingItem(Match3BoardGameLogic _boardLogic)
    {
        base.StartUsingItem(_boardLogic);

        StartItemEffects();

        SoundManager.Instance.PlayOneShot("snowball_sfx");
    }
Esempio n. 9
0
	public override void StartUsingItem(Match3BoardGameLogic _boardLogic)
	{
		base.StartUsingItem(_boardLogic);
		(boardLogic.loseConditions as LoseTimer).pendingTimeUpdate = true;
		
		StartItemEffects();
		
		StartCoroutine(PlaySound());
	}
Esempio n. 10
0
    public override void StartUsingItem(Match3BoardGameLogic _boardLogic)
    {
        base.StartUsingItem(_boardLogic);
        (boardLogic.loseConditions as LoseTimer).pendingTimeUpdate = true;

        StartItemEffects();

        StartCoroutine(PlaySound());
    }
Esempio n. 11
0
	public override void StartUsingItem(Match3BoardGameLogic _boardLogic)
	{
		base.StartUsingItem(_boardLogic);
		
		TileSwitchInput.Instance.DeactivateDrag();
		touchController.StartInputController();
		touchController.OnNewBoardPieceSelected += OnNewBoardPieceSelected;
		
//		Match3Tile.OnTileTap += OnTileSelected;
	}
Esempio n. 12
0
    public override void StartUsingItem(Match3BoardGameLogic _boardLogic)
    {
        base.StartUsingItem(_boardLogic);

        TileSwitchInput.Instance.DeactivateDrag();
        touchController.StartInputController();
        touchController.OnNewBoardPieceSelected += OnNewBoardPieceSelected;

//		Match3Tile.OnTileTap += OnTileSelected;
    }
Esempio n. 13
0
    public override void StartUsingItem(Match3BoardGameLogic _boardLogic)
    {
        base.StartUsingItem(_boardLogic);

//		TileSwitchInput.Instance.gameObject.SetActive(false);
        TileSwitchInput.Instance.DisableInput();

        targetBoardPieces = new List <Match3BoardPiece>(destroyTiles);

        SelectAndDestroyTiles();
    }
Esempio n. 14
0
	public override void StartUsingItem(Match3BoardGameLogic _boardLogic)
	{
		base.StartUsingItem(_boardLogic);
		
//		TileSwitchInput.Instance.gameObject.SetActive(false);
		TileSwitchInput.Instance.DisableInput();
		
		targetBoardPieces = new List<Match3BoardPiece>(destroyTiles);
		
		SelectAndDestroyTiles();
	}
Esempio n. 15
0
	public virtual void StartUsingItem(Match3BoardGameLogic _boardLogic)
	{
		boardLogic = _boardLogic;		
		
		if (effectPrefab) {
			destroyEffect = effectPrefab.GetComponent<DestroyEffect>();
		}
		
		if (OnStartUsingAnyItem != null)
		{
			OnStartUsingAnyItem(this);
		}
	}
Esempio n. 16
0
    public virtual void StartUsingItem(Match3BoardGameLogic _boardLogic)
    {
        boardLogic = _boardLogic;

        if (effectPrefab)
        {
            destroyEffect = effectPrefab.GetComponent <DestroyEffect>();
        }

        if (OnStartUsingAnyItem != null)
        {
            OnStartUsingAnyItem(this);
        }
    }
Esempio n. 17
0
	public override void StartUsingItem(Match3BoardGameLogic _boardLogic)
	{
		base.StartUsingItem(_boardLogic);
		
		minMagnitudeAmount = Match3BoardRenderer.horizTileDistance * 4;
		criticalMagnitudeAmount = Match3BoardRenderer.horizTileDistance;
		
		destroyIndex = 0;
		
		startPosition = Vector2.zero;
		startPosition = Vector2.zero;
	
//		TileSwitchInput.Instance.gameObject.SetActive(false);
		TileSwitchInput.Instance.DisableInput();
			
		StartCoroutine("GetInput");
	}
Esempio n. 18
0
    public override void StartUsingItem(Match3BoardGameLogic _boardLogic)
    {
        base.StartUsingItem(_boardLogic);

        minMagnitudeAmount      = Match3BoardRenderer.horizTileDistance * 4;
        criticalMagnitudeAmount = Match3BoardRenderer.horizTileDistance;

        destroyIndex = 0;

        startPosition = Vector2.zero;
        startPosition = Vector2.zero;

//		TileSwitchInput.Instance.gameObject.SetActive(false);
        TileSwitchInput.Instance.DisableInput();

        StartCoroutine("GetInput");
    }
Esempio n. 19
0
    public override void StartUsingItem(Match3BoardGameLogic _boardLogic)
    {
        base.StartUsingItem(_boardLogic);

        tileList    = new List <NormalTile>(10);
        shakeTarget = Match3BoardGameLogic.Instance.match3Board;

//		TileSwitchInput.Instance.gameObject.SetActive(false);
        TileSwitchInput.Instance.DisableInput();

        if (tileList.Count != 0)
        {
            tileList.Clear();
        }

        PopulateTileList();
        DoItem();
    }
Esempio n. 20
0
	public override void StartUsingItem(Match3BoardGameLogic _boardLogic)
	{
		base.StartUsingItem(_boardLogic);
		
		tileList = new List<NormalTile>(10);
		shakeTarget = Match3BoardGameLogic.Instance.match3Board;
		
//		TileSwitchInput.Instance.gameObject.SetActive(false);
		TileSwitchInput.Instance.DisableInput();
		
		if(tileList.Count != 0)
		{
			tileList.Clear();
		}
		
		PopulateTileList();
		DoItem();
	}
Esempio n. 21
0
    protected override void Awake()
    {
        Debug.Log("Match3BoardGameLogic Awake");
        instance = this;

        base.Awake();

        waitEndFrame = new WaitForEndOfFrame();

        HOTween.Init(false, false, false);

        characterUsed = CharacterSpecialAnimations.characterIndex < 0 ? "" : CompanionSelect.icons[CharacterSpecialAnimations.characterIndex];

        LoadLevel(Match3BoardRenderer.levelIdx);

        // Once the level is loaded get the reference to the board data
        boardData = boardRenderer.GetComponent <BoardData>();

        gameSoundEventsHandler = new InGameSoundEventsHandler();
        gameSoundEventsHandler.RegisterSoundEvents();
    }
 // Use this for initialization
 void Start()
 {
     gameLogic = Match3BoardGameLogic.Instance;
 }
 public Match3LevelSerializer(Match3BoardGameLogic _gameLogic, string _fileName) : base(_fileName)
 {
     fileHeaderTag = FileHeaderTag;
     gameLogic     = _gameLogic;
 }
	public Match3LevelSerializer(Match3BoardGameLogic _gameLogic, string _fileName) : base(_fileName) { 
		fileHeaderTag = FileHeaderTag;
		gameLogic = _gameLogic;
	}
Esempio n. 25
0
	// Use this for initialization
	void Start () 
	{
		gameLogic = Match3BoardGameLogic.Instance;				
	}
Esempio n. 26
0
    public override void StartUsingItem(Match3BoardGameLogic _boardLogic)
    {
        base.StartUsingItem(_boardLogic);

        SelectRandomItem();
    }
Esempio n. 27
0
	public override void StartUsingItem(Match3BoardGameLogic _boardLogic)
	{
		base.StartUsingItem(_boardLogic);
		
		SelectRandomItem();
	}
	protected override void Awake ()
	{
		Debug.Log("Match3BoardGameLogic Awake");
		instance = this;

		base.Awake ();
		
		waitEndFrame = new WaitForEndOfFrame();
			
		HOTween.Init(false, false, false);
		
		characterUsed = CharacterSpecialAnimations.characterIndex < 0 ? "" : CompanionSelect.icons[CharacterSpecialAnimations.characterIndex];
		
		LoadLevel(Match3BoardRenderer.levelIdx);
		
		// Once the level is loaded get the reference to the board data
		boardData = boardRenderer.GetComponent<BoardData>();
		
		gameSoundEventsHandler = new InGameSoundEventsHandler();
		gameSoundEventsHandler.RegisterSoundEvents();
	}