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); } }
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); }
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; } } }
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(); }
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; }
public OptionsMenu(MeleeStates states, MenuSelector state) : base(states, state) { }
public MenuSelector(MeleeStates states, MeleeBoot state) : base(states, state) { this.menuCursor = new VerticalMenuCursor(mainController, 5); }
public MeleeBoot(DolphinAsyncController[] controllers) { this.meleeStates = new MeleeStates(this, controllers); this.controller = this.meleeStates.mainController; }
public VSMenu(MeleeStates states, MenuSelector state) : base(states, state) { menuCursor = new VerticalMenuCursor(mainController, 5); }
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; } } }
public TournamentMenu(MeleeStates states, VSMenu state) : base(states, state) { }