public TournamentPlayers(MeleeStates states, TournamentMenu state, int numberOfPlayers) : base(states, state)
 {
     this.numberOfPlayers = numberOfPlayers;
     this.players         = new TournamentPlayer[numberOfPlayers];
     for (int i = 0; i < players.Count(); i++)
     {
         players[i] = new TournamentPlayer(states.characters.getRandomCharacter(), "CPU" + i);
     }
 }
Exemplo n.º 2
0
 public MeleeMenu(MeleeStates states, VSMenu state)
     : base(states, state)
 {
     portraits = new MeleePortrait[] {
         new MeleePortrait(states.controllers[0], 1),
         new MeleePortrait(states.controllers[1], 2)
     };
     stageCursor = new MeleeStageCursor(mainController);
 }
Exemplo n.º 3
0
 void FallBack()
 {
     if (gameObject && orgLocation)
     {
         float dist = Vector3.Distance(transform.position, orgLocation.transform.position);
         agent.destination = orgLocation.transform.position;
         if (agent.remainingDistance < 5)
         {
             states = MeleeStates.WAITING;
         }
     }
 }
Exemplo n.º 4
0
        public async Task confirm(MeleeStates states, DolphinAsyncController controller)
        {
            Bitmap    portrait     = states.dolphinWindowCapturer.captureCPUTournamentPortrait();
            Character newCharacter = states.imageMatcher.findCharacterInTournament(portrait);

            controller.press(DolphinButton.A);
            MenuCursor menuCursor = new MenuCursor(controller, new Point(5, 5), currentCharacter.tournamentPosition);
            await menuCursor.moveTo(newCharacter.tournamentPosition);

            await controller.press(DolphinButton.A).then().press(DolphinPOVButton.RIGHT).then().press(DolphinButton.A).execute();

            // Ici le textMenuCursor !
            await controller.press(DolphinButton.B).then().press(DolphinPOVButton.LEFT).execute();
        }
Exemplo n.º 5
0
        public Tester()
        {
            InitializeComponent();
            controllers = new DolphinAsyncController[] {
                new DolphinAsyncController(new vJoyController(1)),
                new DolphinAsyncController(new vJoyController(2))
            };
            dolphinCapturer = new DolphinWindowCapture();
            mainController  = controllers[0];
            startMenu       = new MeleeBoot(controllers);
            states          = startMenu.meleeStates;
            menuSelector    = states.menuSelector;

            stageCursor = new MeleeStageCursor(mainController);
            manager     = new CharactersManager();
            autoUpdateToggle.Checked = true;
        }
Exemplo n.º 6
0
 public OptionsMenu(MeleeStates states, MenuSelector state) : base(states, state)
 {
 }
Exemplo n.º 7
0
 public MenuSelector(MeleeStates states, MeleeBoot state) : base(states, state)
 {
     this.menuCursor = new VerticalMenuCursor(mainController, 5);
 }
Exemplo n.º 8
0
 public MeleeBoot(DolphinAsyncController[] controllers)
 {
     this.meleeStates = new MeleeStates(this, controllers);
     this.controller  = this.meleeStates.mainController;
 }
Exemplo n.º 9
0
 public VSMenu(MeleeStates states, MenuSelector state) : base(states, state)
 {
     menuCursor = new VerticalMenuCursor(mainController, 5);
 }
Exemplo n.º 10
0
    void DetermineMoveBasedOnState()
    {
        float dist = Vector3.Distance(player.transform.position, transform.position);

        if (dist > aggroRange && states != MeleeStates.WAITING)
        {
            states = MeleeStates.FALLBACK;
        }
        if (dist <= aggroRange && !isWaiting)
        {
            states = MeleeStates.AGGRO;
        }
        if (orgLocation != null && Vector3.Distance(orgLocation.transform.position, transform.position) > 50)
        {
            // He has to fall back after he loses sight of you.
            states = MeleeStates.FALLBACK;
        }
        if (dist < attackRange && !isWaiting)
        {
            states = MeleeStates.ATTACK;
        }
        if (gameObject)
        {
            switch (states)
            {
            case MeleeStates.AGGRO:
                if (agent.isStopped)
                {
                    agent.isStopped = false;
                }
                isRefreshed = true;
                transform.LookAt(player.transform);
                AggroState();
                break;

            case MeleeStates.ATTACK:
                transform.LookAt(player.transform);
                if (isRanged)                                                                             //For ranged, make them appear at a range near the player
                {
                    if (Vector3.Distance(player.transform.position, transform.position) < attackDistance) // <- Going to be attack range
                    {
                        agent.isStopped = true;
                    }
                    else
                    {
                        agent.isStopped = false;
                    }
                }
                else if (isMelee)
                {
                    if (Vector3.Distance(player.transform.position, transform.position) < attackDistance)     // <- Going to be attack range
                    {
                        agent.isStopped = true;
                    }
                    else
                    {
                        agent.isStopped = false;
                    }
                }
                agent.destination = player.transform.position;
                AttackState();
                break;

            case MeleeStates.WAITING:
                isRefreshed = true;
                WaitingState();
                break;

            case MeleeStates.FALLBACK:
                isRefreshed = true;
                if (!isWaiting)
                {
                    StartCoroutine(WaitBeforeAttack(10f));     //Maybe i should make it so it just has to return to its org pos instead of a timer...
                }
                FallBack();
                break;
            }
        }
    }
Exemplo n.º 11
0
 public TournamentMenu(MeleeStates states, VSMenu state) : base(states, state)
 {
 }