Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        /// <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);
        }
Ejemplo n.º 3
0
 /// <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);
 }
Ejemplo n.º 4
0
    // 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();
    }
Ejemplo n.º 5
0
 /// <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();
 }
Ejemplo n.º 6
0
    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;
            }
        }
    }
Ejemplo n.º 7
0
 public static void StopUpdate(ActiveFighter fighter)
 {
     _activeTeams[fighter.Team.Index].ActiveFighters.Remove(fighter);
 }