public static void DrawEntityHUD(ActiveFighter fighter) { var pos = fighter.ManagedPed.Position; Function.Call(Hash.SET_DRAW_ORIGIN, pos.X, pos.Y, pos.Z, 0); DrawSquare(new Point(0, -32), Color.Red, string.Format("dist: {0}", Game.Player.Character.Position.DistanceTo(pos))); Function.Call(Hash.CLEAR_DRAW_ORIGIN); }
/// <summary> /// Find the team with the least members and assign it to the fighter. /// </summary> /// <param name="newFighter">Target fighter.</param> /// <param name="activeFighters">Active fighters.</param> public static void SetupTeam(ActiveFighter newFighter) { var memberCounts = _activeTeams.Select(x => x.ActiveFighters.Count).ToList(); var team = _activeTeams[memberCounts.IndexOf(memberCounts.Min())]; newFighter.AssignTeam(team); team.ActiveFighters.Add(newFighter); }
/// <summary> /// Setup the UI box for the specified fighter /// </summary> /// <param name="fighter"></param> /// <returns></returns> public UIBox AddFighterInfo(ActiveFighter fighter) { Items.Clear(); Items.Add(new UIText("AI Player", new Point(14, 16), 0.4f, Color.White, GTA.Font.ChaletComprimeCologne, false)); Items.Add(new UIText(fighter.Team.TeamInfo.FriendlyName, new Point(14, 35), 0.4f, Color.White, GTA.Font.ChaletComprimeCologne, false)); Items.Add(new UIText("KILLED", new Point(78, 5), 0.34f, Color.White, GTA.Font.Monospace, false)); Items.Add(new UIRectangle(new Point(166, 40), new Size(21, 13), Color.FromArgb(180, fighter.Team.Color))); imageAsset = fighter.Team.TeamInfo.AltImageAsset; return(this); }
// Use this for initialization void Start() { activeMonster = GameObject.Find("ActiveMonster"); activeMonsterScript = activeMonster.GetComponent <ActiveFighter>(); csvStrings = csv.text.Split(stringSeparator, System.StringSplitOptions.None); //There are 5 normal monsters for (int i = 1; i < 6; i++) { cards.Add(i - 1); } Shuffle(); }
/// <summary> /// Draw the kill info UI for the time given in milliseconds. /// </summary> public static void DisplayKillInfoUI(ActiveFighter fighter, int timeout, bool teamKilled = false) { killInfoUI.AddFighterInfo(fighter); killInfoTimer.Interval = timeout; killInfoTimer.Start(); }
public override void PanelEffect() { GameObject manager = GameObject.Find("Manager"); GameManager managerScript = manager.GetComponent <GameManager>(); GameObject activePlayerCard; GameObject activeBoss = GameObject.Find("ActiveBoss"); ActiveFighter activeBossScript = activeBoss.GetComponent <ActiveFighter>(); GameObject activeFinalBoss = GameObject.Find("ActiveFinalBoss"); ActiveFighter activeFinalBossScript = activeFinalBoss.GetComponent <ActiveFighter>(); GameObject bossCardPile = GameObject.Find("BossCardPile"); BossPile bossCardPileScript = bossCardPile.GetComponent <BossPile>(); if (managerScript.characterScript.artifactsOwned.Count >= 4 && !managerScript.wasFinalBossFightIgnored) { managerScript.isChoosingToFightFinalBoss = true; StartCoroutine(managerScript.FightFinalBossChoice()); } if (!managerScript.fightFinalBoss && !managerScript.canvasFightChoice.isActiveAndEnabled) { if (activeBossScript.bossCard == null || activeBossScript.bossCard.isAlive == false) { bossCardPileScript.FlipNewActiveBoss(); foreach (GameObject prefab in managerScript.bossSprites) { if (prefab.name == activeBossScript.bossCard.spriteName) { GameObject activeBossSprite = Instantiate(prefab); managerScript.SetCard("boss", activeBossSprite); if (managerScript.characters[managerScript.activePlayer].GetComponent <Character>().card.fighterName == "White Hood") { activePlayerCard = managerScript.whiteHoodSprite; managerScript.SetCard("activePlayer", activePlayerCard); } else { activePlayerCard = managerScript.blackHoodSprite; managerScript.SetCard("activePlayer", activePlayerCard); } } } } managerScript.bossScript = activeBossScript; managerScript.wasFinalBossFightIgnored = false; managerScript.CreateFadingSystemText("Fighting the Mid-Boss!"); managerScript.currentPhase = GameManager.TurnPhases.BATTLE; } else if (managerScript.fightFinalBoss && !managerScript.canvasFightChoice.isActiveAndEnabled) { if (activeFinalBossScript.finalBossCard == null) { string[] stringSeparator = new string[] { "\r\n" }; string[] csvStrings = monsterCsv.text.Split(stringSeparator, System.StringSplitOptions.None); for (int i = 1; i < csvStrings.Length; i++) { string[] parsedString = csvStrings[i].Split(','); if (System.Convert.ToInt32(parsedString[0]) == 8) { MonsterCard flippedFinalBossCard = new MonsterCard(System.Convert.ToInt32(parsedString[0]), parsedString[1], parsedString[2], parsedString[3], parsedString[4], System.Convert.ToInt32(parsedString[5]), System.Convert.ToInt32(parsedString[6]), System.Convert.ToInt32(parsedString[7]), System.Convert.ToInt32(parsedString[8]), parsedString[9]); activeFinalBossScript.finalBossCard = flippedFinalBossCard; break; } } } else { GameObject activeFinalBossSprite = Instantiate(managerScript.finalBossSprites[0]); managerScript.SetCard("finalBoss", activeFinalBossSprite); if (managerScript.characters[managerScript.activePlayer].GetComponent <Character>().card.fighterName == "White Hood") { activePlayerCard = managerScript.whiteHoodSprite; managerScript.SetCard("activePlayer", activePlayerCard); } else { activePlayerCard = managerScript.blackHoodSprite; managerScript.SetCard("activePlayer", activePlayerCard); } managerScript.finalBossScript = activeFinalBossScript; managerScript.wasFinalBossFightIgnored = false; managerScript.CreateFadingSystemText("Fighting the Final Boss!"); managerScript.currentPhase = GameManager.TurnPhases.BATTLE; managerScript.currentBattlePhase = GameManager.BattlePhases.INITIAL; } } }
public static void StopUpdate(ActiveFighter fighter) { _activeTeams[fighter.Team.Index].ActiveFighters.Remove(fighter); }