Esempio n. 1
0
    public static TargetSelectionManager FetchTargetSelectionManager()
    {
        GameObject             targetSelectionManagerObject = GameObject.FindGameObjectWithTag(TagsConstants.TARGET_SELECTION_MANAGER_TAG);
        TargetSelectionManager targetSelectionManager       = targetSelectionManagerObject.GetComponent <TargetSelectionManager>();

        return(targetSelectionManager);
    }
Esempio n. 2
0
    public void GenericTagOutAimAction(GameObject actionUser)
    {
        List <GameObject> runners = PlayerUtils.GetRunnersOnField()
                                    .OrderBy(runner => Vector3.Distance(actionUser.transform.position, runner.transform.position))
                                    .ToList();

        if (runners.Count > 1)
        {
            TargetSelectionManager.EnableSelection(runners.First().transform.position, runners, TagOutAimAction, actionUser);
            PlayersTurnManager.IsCommandPhase = true;
        }
        else
        {
            GameObject nearestRunner = runners.First();
            this.TagOutAimAction(actionUser, nearestRunner);
        }
    }
Esempio n. 3
0
    public void GenericPassAction(GameObject actionUser)
    {
        List <GameObject> fielders = PlayerUtils.GetFieldersOnField()
                                     .Where(fielder => !fielder.Equals(actionUser))
                                     .OrderBy(fielder => Vector3.Distance(actionUser.transform.position, fielder.transform.position))
                                     .ToList();

        Action <GameObject, GameObject> finalActionsToPerform = PassBallAction;

        //Add an additionnal action for the pass. => go back to initial placement for the catcher.
        if (PlayerUtils.HasCatcherPosition(actionUser))
        {
            CatcherBehaviour catcherBehaviour = PlayerUtils.FetchCatcherBehaviourScript(actionUser);
            finalActionsToPerform += catcherBehaviour.ReturnToInitialPosition;
        }

        TargetSelectionManager.EnableSelection(fielders.First().transform.position, fielders, finalActionsToPerform, actionUser);
    }