Exemple #1
0
        // Setting HUD Parameters
        public Transform GetPokemonHUDSpawnPosition(
            PBS.Battle.View.WifiFriendly.Pokemon pokemon,
            TeamMode teamMode,
            bool isNear)
        {
            // get spawn position
            Transform spawnPos = null;

            switch (teamMode)
            {
            case TeamMode.Single:
                spawnPos = isNear ? pokemonHUDSpawnNearSingle : pokemonHUDSpawnFarSingle;
                break;

            case TeamMode.Double:
                spawnPos = (pokemon.battlePos == 0) ? (isNear ? pokemonHUDSpawnNearDouble0 : pokemonHUDSpawnFarDouble0)
                        : isNear ? pokemonHUDSpawnNearDouble1 : pokemonHUDSpawnFarDouble1;
                break;

            case TeamMode.Triple:
                spawnPos = (pokemon.battlePos == 0) ? (isNear ? pokemonHUDSpawnNearTriple0 : pokemonHUDSpawnFarTriple0)
                        : (pokemon.battlePos == 1) ? (isNear ? pokemonHUDSpawnNearTriple1 : pokemonHUDSpawnFarTriple1)
                        : isNear ? pokemonHUDSpawnNearTriple2 : pokemonHUDSpawnFarTriple2;
                break;
            }
            return(spawnPos);
        }
Exemple #2
0
        public Room(Player[] players, TeamMode teamMode, TeamType teamType)
        {
            switch (teamType)
            {
            case TeamType.One: TeamMemberNumber = 1; break;

            case TeamType.Three: TeamMemberNumber = 3; break;

            case TeamType.Five: TeamMemberNumber = 5; break;
            }
            if (players.Length != TeamMemberNumber * 2)
            {
                return;
            }
            RoomMember = players;
            RoomMode   = teamMode;
            RoomType   = teamType;
            RedTeam    = new Player[TeamMemberNumber];
            for (int i = 0; i < TeamMemberNumber; i++)
            {
                RedTeam[i]      = RoomMember[i];
                RedTeam[i].Room = this;
            }
            BlueTeam = new Player[TeamMemberNumber];
            for (int i = 0; i < TeamMemberNumber; i++)
            {
                BlueTeam[i]     = RoomMember[TeamMemberNumber + i];
                RedTeam[i].Room = this;
            }
            TimeInit();
            GoToConfirmStage();
        }
        public EngineInitialization(CombatMode mode, TeamMode team1mode, TeamMode team2mode,
                                    PlayerProfile team1p1, int team1p1palette, PlayerMode team1p1mode,
                                    PlayerProfile team1p2, int team1p2palette, PlayerMode team1p2mode,
                                    PlayerProfile team2p1, int team2p1palette, PlayerMode team2p1mode,
                                    PlayerProfile team2p2, int team2p2palette, PlayerMode team2p2mode,
                                    StageProfile stage, int?seed = null)
        {
            seed = seed ?? Environment.TickCount;
            if (mode == CombatMode.None)
            {
                throw new ArgumentOutOfRangeException(nameof(mode));
            }
            if (team1p1 == null)
            {
                throw new ArgumentNullException(nameof(team1p1));
            }
            if (team1p1palette < 0 || team1p1palette > 11)
            {
                throw new ArgumentOutOfRangeException(nameof(team1p1palette));
            }
            if (team1p2palette < 0 || team1p2palette > 11)
            {
                throw new ArgumentOutOfRangeException(nameof(team1p2palette));
            }
            if (team2p1 == null)
            {
                throw new ArgumentNullException(nameof(team2p1));
            }
            if (team2p1palette < 0 || team2p1palette > 11)
            {
                throw new ArgumentOutOfRangeException(nameof(team2p1palette));
            }
            if (team2p2palette < 0 || team2p2palette > 11)
            {
                throw new ArgumentOutOfRangeException(nameof(team2p2palette));
            }
            if (stage == null)
            {
                throw new ArgumentNullException(nameof(stage));
            }

            m_mode    = mode;
            Team1Mode = team1mode;
            Team2Mode = team2mode;
            m_team1p1 = new PlayerCreation(team1p1, team1p1.GetValidPaletteIndex(team1p1palette), team1p1mode);
            if (team1p2 != null)
            {
                m_team1p2 = new PlayerCreation(team1p2, team1p2.GetValidPaletteIndex(team1p2palette), team1p2mode);
            }
            m_team2p1 = new PlayerCreation(team2p1, team2p1.GetValidPaletteIndex(team2p1palette), team2p1mode);
            if (team2p2 != null)
            {
                m_team2p2 = new PlayerCreation(team2p2, team2p2.GetValidPaletteIndex(team2p2palette), team2p2mode);
            }
            m_stage = stage;
            m_seed  = seed.Value;
        }
Exemple #4
0
 public ModelUpdateTeam(BattleTeam obj, bool loadAsset = false)
 {
     this.loadAsset = loadAsset;
     teamID         = obj.teamID;
     teamMode       = (obj.teamMode == BattleTeam.TeamMode.Single)? TeamMode.Single
         : (obj.teamMode == BattleTeam.TeamMode.Double)? TeamMode.Double
         : TeamMode.Triple;
     for (int i = 0; i < obj.trainers.Count; i++)
     {
         trainers.Add(obj.trainers[i].playerID);
     }
 }
Exemple #5
0
 public Team(global::BattleTeam obj)
 {
     teamID   = obj.teamID;
     teamMode = (obj.teamMode == BattleTeam.TeamMode.Single)? TeamMode.Single
         : (obj.teamMode == BattleTeam.TeamMode.Double)? TeamMode.Double
         : TeamMode.Triple;
     trainers = new List <Trainer>();
     for (int i = 0; i < obj.trainers.Count; i++)
     {
         trainers.Add(new Trainer(obj.trainers[i]));
     }
 }
Exemple #6
0
        /// <summary>
        /// Draws the given pokemon on the canvas.
        /// </summary>
        /// <param name="pokemon">The pokemon to be drawn.</param>
        /// <param name="teamMode">The pokemon's team's battle type for reference.</param>
        /// <param name="isNear">If true, this pokemon is drawn as being part of the ally team.</param>
        /// <returns></returns>
        public Entities.Pokemon DrawPokemon(
            Battle.View.WifiFriendly.Pokemon pokemon,
            TeamMode teamMode,
            bool isNear)
        {
            // get spawn position
            Transform spawnPos = this.transform;

            switch (teamMode)
            {
            case TeamMode.Single:
                spawnPos = (isNear) ? spawnNearSingle : spawnFarSingle;
                break;

            case TeamMode.Double:
                spawnPos = (pokemon.battlePos == 0) ? (isNear ? spawnNearDouble0 : spawnFarDouble0)
                        : isNear ? spawnNearDouble1 : spawnFarDouble1;
                break;

            case TeamMode.Triple:
                spawnPos = (pokemon.battlePos == 0) ? (isNear ? spawnNearTriple0 : spawnFarTriple0)
                        : (pokemon.battlePos == 1) ? (isNear ? spawnNearTriple1 : spawnFarTriple1)
                        : isNear ? spawnNearTriple2 : spawnFarTriple2;
                break;
            }

            // draw pokemon
            PokemonData pokemonData = PokemonDatabase.instance.GetPokemonData(pokemon.pokemonID);
            string      drawPath    = "pokemonSprites/" + (isNear ? "back/" : "front/") + pokemonData.displayID;

            Entities.Pokemon newScnPokemon = Instantiate(pokemonPrefab, spawnPos.position, Quaternion.identity, spawnPos);
            newScnPokemon.spriteRenderer.sprite = BattleAssetLoader.instance.nullSprite;
            newScnPokemon.shadowRenderer.sprite = BattleAssetLoader.instance.nullSprite;
            newScnPokemon.pokemonUniqueID       = pokemon.uniqueID;

            // positioning
            float xOffset = isNear ? pokemonData.xOffset2DNear : pokemonData.xOffset2DFar;
            float yOffset = isNear ? pokemonData.yOffset2DNear : pokemonData.yOffset2DFar;

            newScnPokemon.transform.localPosition = new Vector3(xOffset, yOffset);

            // load model
            newScnPokemon.pokemonID = pokemon.pokemonID;
            StartCoroutine(BattleAssetLoader.instance.LoadPokemon(
                               pokemon: pokemon,
                               useFront: !isNear,
                               useBack: isNear,
                               scnPokemonNew: newScnPokemon
                               ));

            scnPokemon.Add(newScnPokemon);
            return(newScnPokemon);
        }
Exemple #7
0
 public Settings(ulong matchId, string roomName, string historyUrl,
                 long currentBeatmapId, TeamMode teamMode, WinCondition winCondition,
                 long mods)
 {
     MatchId          = matchId;
     RoomName         = roomName;
     HistoryUrl       = historyUrl;
     CurrentBeatmapId = currentBeatmapId;
     TeamMode         = teamMode;
     WinCondition     = winCondition;
     Mods             = mods;
 }
Exemple #8
0
        public static string GetMatePrefix(TeamMode mode, TeamSide side)
        {
            switch (side)
            {
            case TeamSide.Left:
                return(mode == TeamMode.Turns? "p1.teammate" : "p3");

            case TeamSide.Right:
                return(mode == TeamMode.Turns ? "p2.teammate" : "p4");

            default:
                throw new ArgumentOutOfRangeException(nameof(side));
            }
        }
Exemple #9
0
        private static string GetLifebarSectionName(TeamMode mode)
        {
            switch (mode)
            {
            case TeamMode.Simul:
                return("Simul Lifebar");

            case TeamMode.Turns:
                return("Turns Lifebar");

            default:
                return("Lifebar");
            }
        }
Exemple #10
0
        private static string GetNameSectionName(TeamMode mode)
        {
            switch (mode)
            {
            case TeamMode.Simul:
                return("Simul Name");

            case TeamMode.Turns:
                return("Turns Name");

            default:
                return("Name");
            }
        }
Exemple #11
0
        /// <summary>
        /// Sets the win conditions
        /// </summary>
        /// <param name="teamMode">Team mode</param>
        /// <param name="condition">Win condition</param>
        /// <param name="slots">Amount of slots</param>
        public void SetLobby(TeamMode teamMode, WinCondition?condition, int?slots)
        {
            StringBuilder builder = new StringBuilder($"{(int)teamMode}");

            if (condition.HasValue)
            {
                builder.Append($" {(int)condition}");
            }
            if (slots.HasValue)
            {
                builder.Append($" {slots}");
            }

            SendCommand(MPCommand.Set, builder.ToString());
        }
Exemple #12
0
    // Constructor
    public BattleTeam(
        TeamMode teamMode       = TeamMode.Single,
        List <Trainer> trainers = null,
        int teamID        = 0,
        bool setupControl = true)
    {
        this.teamMode = teamMode;
        this.teamID   = teamID;
        this.trainers = new List <Trainer>();
        if (trainers != null)
        {
            this.trainers.AddRange(trainers);
            if (setupControl)
            {
                SetTeamPos(this.teamID);
                SetUpTrainerControl();
            }
        }

        bProps = new BattleTeamProperties();
    }
Exemple #13
0
        public void CreatePlayers(TeamMode mode, PlayerCreation p1, PlayerCreation p2)
        {
            if (p1 == null)
            {
                throw new ArgumentNullException(nameof(p1));
            }

            Clear();

            Mode = mode;
            m_p1 = new Player(Engine, p1.Profile, p1.Mode, this);
            m_p1.PaletteNumber = p1.PaletteIndex;

            if (p2 != null)
            {
                m_p2 = new Player(Engine, p2.Profile, p2.Mode, this);
                m_p2.PaletteNumber = p2.PaletteIndex;
            }

            ResetPlayers();
        }
Exemple #14
0
        // Drawing HUD
        public HUD.PokemonHUD DrawPokemonHUD(
            PBS.Battle.View.WifiFriendly.Pokemon pokemon,
            TeamMode teamMode,
            bool isNear)
        {
            // get spawn position
            Transform spawnPos = GetPokemonHUDSpawnPosition(pokemon, teamMode, isNear);

            if (spawnPos == null)
            {
                Debug.LogWarning("Could not find HUD Spawn Position for " + pokemon.nickname);
                return(null);
            }
            else
            {
                // draw pokemon HUD
                HUD.PokemonHUD pokemonHUD = Instantiate(pokemonHUDPrefab, spawnPos.position, Quaternion.identity, spawnPos);
                pokemonHUD.pokemonUniqueID = pokemon.uniqueID;
                pokemonHUD.hpObj.gameObject.SetActive(isNear &&
                                                      (teamMode == TeamMode.Single ||
                                                       teamMode == TeamMode.Double));
                // set EXP bar
                pokemonHUD.expObj.SetActive(isNear &&
                                            (teamMode == TeamMode.Single ||
                                             teamMode == TeamMode.Double));
                pokemonHUDs.Add(pokemonHUD);

                UpdatePokemonHUD(
                    pokemon: pokemon,
                    nickname: pokemon.nickname,
                    gender: pokemon.gender,
                    level: pokemon.level,
                    nonVolatileStatusID: pokemon.nonVolatileStatus,
                    currentHP: pokemon.currentHP,
                    maxHP: pokemon.maxHP);
                return(pokemonHUD);
            }
        }
Exemple #15
0
 public void ReadPacket(MinecraftStream stream)
 {
     TeamName = stream.ReadString();
     PacketMode = (TeamMode)stream.ReadUInt8();
     if (PacketMode == TeamMode.CreateTeam || PacketMode == TeamMode.UpdateTeam)
     {
         DisplayName = stream.ReadString();
         TeamPrefix = stream.ReadString();
         TeamSuffix = stream.ReadString();
         EnableFriendlyFire = stream.ReadBoolean();
     }
     if (PacketMode == TeamMode.CreateTeam || PacketMode == TeamMode.AddPlayers ||
         PacketMode == TeamMode.RemovePlayers)
     {
         var playerCount = stream.ReadInt16();
         Players = new string[playerCount];
         for (int i = 0; i < playerCount; i++)
             Players[i] = stream.ReadString();
     }
 }
Exemple #16
0
 // HUD
 public HUD.PokemonHUD DrawPokemonHUD(PBS.Battle.View.WifiFriendly.Pokemon pokemon, TeamMode teamMode, bool isNear)
 {
     return(HUDPanel.DrawPokemonHUD(pokemon, teamMode, isNear));
 }