public void UpdateButtons(Point pos)
    {
        adjacentUnit = DirectionsExtensions.GetAdjacentPlayer(controller.board, pos);

        if (adjacentUnit == null)
        {
            talkButton.gameObject.SetActive(false);
            comboUI.gameObject.SetActive(false);

            return;
        }

        UnitID adjacentID = adjacentUnit.GetComponent <UnitStats>().ID;

        if (!controller.currentUnit.talked &&
            BattleDialogue.StillHasDialogue(currentUnit, adjacentID) &&
            !controller.talked)
        {
            talkButton.gameObject.SetActive(true);
        }

        comboUI.gameObject.SetActive(true);
        UnitPair pair = RelationshipManager.GetRelationshipPair(currentUnit, adjacentID);

        comboUI.SetWithoutObj(GameInformation.instance.GetComboInfo(pair));
    }
Exemple #2
0
    public override float PlayAttack(Tile target)
    {
        if (animator == null || !animator.isActiveAndEnabled)
        {
            return(0);
        }

        string trigger = DirectionsExtensions.GetAttackDirection(tile, target);

        animator.SetTrigger(trigger);

        return(animator.GetCurrentAnimatorStateInfo(0).length);
    }
    void ChangeDirection(Point p, bool directionOriented)
    {
        Directions dir;

        if (!directionOriented)
        {
            dir = DirectionsExtensions.GetDirection(turn.actor.tile.pos, p);
        }
        else
        {
            dir = p.GetDirection();
        }

        if (turn.actor.dir != dir)
        {
            board.DeSelectTiles(tiles);
            turn.actor.dir = dir;
            turn.actor.Match();
            SelectTiles();
        }
    }