Example #1
0
        public void GenerateNewScene(ISceneForSceneGenerator scene, IEnumerable <IPlayer> players, int seed)
        {
            Tile[][] sceneTiles = scene.SetupEmptyTileSet(20, 20);
            for (int x = 0; x < sceneTiles.Length; x++)
            {
                for (int y = 0; y < sceneTiles[x].Length; y++)
                {
                    scene.CreateTile(tileSet[x, y], x, y, null);
                }
            }

            List <IPlayer> tempPlayers = players.ToList();

            if (tempPlayers.Count != 2)
            {
                throw new ArgumentException("Players count should be 2", "players");
            }

            for (int i = 0; i < 2; i++)
            {
                if (tempPlayers[i].KeyActorsGen.Count > 5)
                {
                    throw new ArgumentException("Actors count should be less than 5. Thrown on player " + tempPlayers[i].Id, "players.keyActors");
                }

                Player tempScenePlayer = GeneratorHelper.ConvertExternalPlayerFromGeneration(scene, tempPlayers[i], i);
                for (int j = 0; j < tempPlayers[i].KeyActorsGen.Count; j++)
                {
                    tempScenePlayer.KeyActors.Add(GeneratorHelper.ConvertExternalActorFromGeneration(scene, tempScenePlayer, sceneTiles[1 + (i * 17)][2 + (j * 2)], tempPlayers[i].KeyActorsGen[j], null));
                }
            }
        }
Example #2
0
        public static Actor ConvertExternalActorFromGeneration(ISceneForSceneGenerator scene, Player player, Tile target, ForExternalUse.Generation.ObjectInterfaces.IActor actor, float?z)
        {
            Actor newActor = scene.CreateActor(
                player,
                actor.ExternalId,
                actor.NativeId,
                new RoleModelNative(scene.NativeManager, null, actor.Strength, actor.Willpower, actor.Constitution, actor.Speed, actor.ActionPointsIncome, actor.AttackingSkillName, actor.SkillNames.ToArray()),
                target,
                null,
                null,
                z);

            if (actor.StartBuffs != null)
            {
                foreach (string buffName in actor.StartBuffs)
                {
                    newActor.BuffManager.AddBuff(new Buff(newActor.BuffManager, scene.NativeManager.GetBuffNative(buffName), null, null));
                }
            }

            return(newActor);
        }
Example #3
0
        public void GenerateNewScene(ISceneForSceneGenerator scene, IEnumerable <IPlayer> players, int seed)
        {
            var positions = DefaultSceneForDuel.FillScene(scene, out Tile[][] sceneTiles);

            List <IPlayer> tempPlayers = players.ToList();

            if (tempPlayers.Count != 2)
            {
                throw new ArgumentException("Players count should be 2", "players");
            }

            var iterator            = 0;
            var tempPlayersForScene = tempPlayers.Select(player =>
            {
                iterator++;
                if (player.KeyActorsGen.Count != 3)
                {
                    throw new ArgumentException("Actors count should be 3. Thrown on player " + player.Id, "players.keyActors");
                }

                return(GeneratorHelper.ConvertExternalPlayerFromGeneration(scene, player, iterator));
            }).ToList();

            tempPlayersForScene[0].KeyActors.Add(
                GeneratorHelper.ConvertExternalActorFromGeneration(scene, tempPlayersForScene[0], sceneTiles[positions[0].x][positions[0].y], tempPlayers[0].KeyActorsGen[0], null));
            tempPlayersForScene[0].KeyActors.Add(
                GeneratorHelper.ConvertExternalActorFromGeneration(scene, tempPlayersForScene[0], sceneTiles[positions[1].x][positions[1].y], tempPlayers[0].KeyActorsGen[1], null));
            tempPlayersForScene[0].KeyActors.Add(
                GeneratorHelper.ConvertExternalActorFromGeneration(scene, tempPlayersForScene[0], sceneTiles[positions[2].x][positions[2].y], tempPlayers[0].KeyActorsGen[2], null));

            tempPlayersForScene[1].KeyActors.Add(
                GeneratorHelper.ConvertExternalActorFromGeneration(scene, tempPlayersForScene[1], sceneTiles[positions[3].x][positions[3].y], tempPlayers[1].KeyActorsGen[0], null));
            tempPlayersForScene[1].KeyActors.Add(
                GeneratorHelper.ConvertExternalActorFromGeneration(scene, tempPlayersForScene[1], sceneTiles[positions[4].x][positions[4].y], tempPlayers[1].KeyActorsGen[1], null));
            tempPlayersForScene[1].KeyActors.Add(
                GeneratorHelper.ConvertExternalActorFromGeneration(scene, tempPlayersForScene[1], sceneTiles[positions[5].x][positions[5].y], tempPlayers[1].KeyActorsGen[2], null));
        }
Example #4
0
 public static Player ConvertExternalPlayerFromGeneration(ISceneForSceneGenerator scene, ForExternalUse.Generation.ObjectInterfaces.IPlayer player, int?team)
 {
     return(scene.CreatePlayer(player.Id, player.UserId, team));
 }