Example #1
0
        public List <ItemSurrogate> Select()
        {
            if (cachedGeneratedItems == null)
            {
                cachedGeneratedItems = new List <ItemSurrogate> ();
            }
            cachedGeneratedItems.Clear();

            for (int i = 0; i < TableRolls.Length; i++)
            {
                ItemGenerator itemGenerator = TableRolls[i].Select();
                if (itemGenerator == null)
                {
                    continue;
                }

                if (itemGenerator.RewardTemplate != null)
                {
                    ItemSurrogate generatedItem = itemGenerator.Generate();
                    cachedGeneratedItems.Add(generatedItem);
                }
            }

            return(cachedGeneratedItems);
        }
Example #2
0
 /**
  * Creates maze, including its items and holes
  */
 public void GenerateMaze()
 {
     if (mazeInstance != null)
     {
         RemoveMaze();
     }
     mazeInstance = Instantiate(mazePrefab) as global::Maze.Maze;
     mazeInstance.GenerateMazeWithSize(mazeSize);
     ItemGenerator.Generate(mazeInstance, mazeItemPrefabList);
     HoleGenerator.Generate(mazeInstance, holeAmount);
     StateMachine.TriggerTransition(Transition.PlayGame);
 }
Example #3
0
        public ListBoxSampleWpf()
        {
            InitializeComponent();

            foreach (var item in ItemGenerator.Generate(90))
            {
                lv1.Items.Add(item[0]);
            }

            options = new OptionList();
            options.AddOption("Enabled", lv1, l => l.IsEnabled);
        }
Example #4
0
        public void CheatItem(int index)
        {
            if (index >= CheatItems.Length)
            {
                throw new System.ArgumentOutOfRangeException("index", "The index provided is out of range.");
            }

            ItemGenerator generator = CheatItems[index];

            ItemSurrogate item = generator.Generate();

            Character.inventory.Add(item);
        }
Example #5
0
    private void GenerateDungeonFeatures(int direction)
    {
        // Generate architecture for each tree quad recursively
        ArchitectureGenerator architecture = new ArchitectureGenerator();

        architecture.GenerateArchitecture(dungeonGenerator.quadTree);

        // Generate stairs
        StairGenerator stairs = new StairGenerator();

        stairs.Generate();

        // If we cannot solve the level, we need to generate a different one
        if (!LevelIsSolvable())
        {
            Debug.LogError("Dungeon level cannot be solved. Genrating again...");
            GenerateDungeon(direction);
            return;
        }

        // Generate player
        PlayerGenerator player = new PlayerGenerator();
        Stair           stair  = direction == -1 ? grid.stairDown : grid.stairUp;

        player.GenerateAtPos(stair.x, stair.y);

        // Generate furniture
        FurnitureGenerator furniture = new FurnitureGenerator();

        furniture.Generate();

        // Generate monsters
        MonsterGenerator monsters = new MonsterGenerator();

        monsters.Generate();
        //monsters.GenerateSingle();

        // Generate chests
        ChestGenerator chests = new ChestGenerator();

        chests.Generate();

        // Generate items
        ItemGenerator items = new ItemGenerator();

        items.Generate();
    }
Example #6
0
    public void InitItemsRandomyly()
    {
        int randomRarity = Poisson(2.0);
        var itemOptions  = new List <Item>();

        foreach (Item i in itemGenerator.ItemInfo)
        {
            if (i.Rarity < randomRarity)
            {
                itemOptions.Add(i);
            }
        }

        int randomNum = Poisson(3.0);

        for (int i = 0; i < randomNum; i++)
        {
            Item item = itemGenerator.Generate(GetRandomFromList(itemOptions).Name);
            Items.Add(item);
        }
    }
        public ListViewSampleWpf()
        {
            InitializeComponent();

            foreach (var item in ItemGenerator.Generate())
            {
                var tuple = Tuple.Create(item[0], item[1], item[2]);
                lv1.Items.Add(tuple);
                lv2.Items.Add(tuple);
            }

            options = new OptionList();
            options.AddOption("Enabled", lv1, l => l.IsEnabled);
            options.AddOption("Enabled", lv2, l => l.IsEnabled);

            options.Add(new GenericBoolOption(
                            "GridView", () => lv1.View is GridView,
                            v => {
                lv1.View = v ? gridView1 : null;
                lv2.View = v ? gridView2 : null;
            }));
        }
Example #8
0
        private void Start()
        {
            ItemSurrogate item = generator.Generate();

            drop.SetItem(item);
        }
Example #9
0
        private void Start()
        {
            var item = generator.Generate();

            drop.SetItem(item);
        }
    public Enemy Generate(string name)
    {
        Enemy enemy = new Enemy(gameController);

        string[] data = csvData.Find(s => s[1] == name);

        //Sprite sprite =
        Debug.Log(data[0]);

        enemy.Image = Resources.Load <Sprite>("EnemyImage/" + data[0]);

        enemy.ID1 = data[0];

        enemy.Name  = data[1];
        enemy.MinLv = int.Parse(data[2]);
        enemy.MaxLv = int.Parse(data[3]);
        enemy.Exp   = int.Parse(data[4]);
        enemy.Gold  = int.Parse(data[5]);

        //ドロップアイテム
        string[] dropItems     = data[6].Split('/');
        string[] dropItemProbs = data[7].Split('/');
        for (int i = 0; i < dropItems.Length; i++)
        {
            Item item = itemGenerator.Generate(dropItems[i]);
            enemy.DropItems.Add(item, int.Parse(dropItemProbs[i]));
        }

        //ステータス
        enemy.Statuses[Status.Lv]        = enemy.MinLv;
        enemy.Statuses[Status.MaxHP]     = int.Parse(data[8]);
        enemy.Statuses[Status.currentHP] = int.Parse(data[8]);
        enemy.Statuses[Status.MaxSP]     = int.Parse(data[9]);
        enemy.Statuses[Status.currentSP] = int.Parse(data[9]);
        enemy.Statuses[Status.STR]       = int.Parse(data[10]);
        enemy.Statuses[Status.DEF]       = int.Parse(data[11]);
        enemy.Statuses[Status.INT]       = int.Parse(data[12]);
        enemy.Statuses[Status.MNT]       = int.Parse(data[13]);
        enemy.Statuses[Status.TEC]       = int.Parse(data[14]);
        enemy.Statuses[Status.AGI]       = int.Parse(data[15]);
        enemy.Statuses[Status.LUK]       = int.Parse(data[16]);

        // スキル
        string[] skills     = data[17].Split('/');
        string[] skillProbs = data[18].Split('/');
        for (int i = 0; i < skills.Length; i++)
        {
            Skill skill = skillGenerator2.Generate(skills[i]);
            enemy.skills.Add(skill);
            int prob = int.Parse(skillProbs[i]);
            enemy.EnemyActions.Add(skill, prob);
        }

        //タイプ
        string[] types = data[19].Split('/');
        for (int i = 0; i < types.Length; i++)
        {
            enemy.EnemyTypes.Add((EnemyType)Enum.Parse(typeof(EnemyType), types[i], true));
        }

        //ユニークモンスター
        enemy.IsUnique = Convert.ToBoolean(data[20]);

        //属性耐性
        if (!string.IsNullOrEmpty(data[21]))
        {
            enemy.AttributionResists[Attribution.fire] = int.Parse(data[21]);
        }
        if (!string.IsNullOrEmpty(data[22]))
        {
            enemy.AttributionResists[Attribution.thunder] = int.Parse(data[22]);
        }
        if (!string.IsNullOrEmpty(data[23]))
        {
            enemy.AttributionResists[Attribution.ice] = int.Parse(data[23]);
        }
        if (!string.IsNullOrEmpty(data[24]))
        {
            enemy.AttributionResists[Attribution.holy] = int.Parse(data[24]);
        }
        if (!string.IsNullOrEmpty(data[25]))
        {
            enemy.AttributionResists[Attribution.dark] = int.Parse(data[25]);
        }
        //状態異常耐性
        if (!string.IsNullOrEmpty(data[26]))
        {
            enemy.AilmentResists[Ailment.poison] = int.Parse(data[26]);
        }
        if (!string.IsNullOrEmpty(data[27]))
        {
            enemy.AilmentResists[Ailment.sleep] = int.Parse(data[27]);
        }
        if (!string.IsNullOrEmpty(data[28]))
        {
            enemy.AilmentResists[Ailment.paralysis] = int.Parse(data[28]);
        }
        if (!string.IsNullOrEmpty(data[29]))
        {
            enemy.AilmentResists[Ailment.confusion] = int.Parse(data[29]);
        }
        if (!string.IsNullOrEmpty(data[30]))
        {
            enemy.AilmentResists[Ailment.seal] = int.Parse(data[30]);
        }
        if (!string.IsNullOrEmpty(data[31]))
        {
            enemy.AilmentResists[Ailment.curse] = int.Parse(data[31]);
        }
        if (!string.IsNullOrEmpty(data[32]))
        {
            //    enemy.AilmentResists[Ailment.curse] = int.Parse(data[32]);
            //if (!string.IsNullOrEmpty(data[33]))
            //    enemy.AilmentResists[Ailment.bleeding] = int.Parse(data[33]);
            //if (!string.IsNullOrEmpty(data[34]))
            //    enemy.AilmentResists[Ailment.turnover] = int.Parse(data[34]);
            //if (!string.IsNullOrEmpty(data[35]))
            enemy.AilmentResists[Ailment.stun] = int.Parse(data[35]);
        }
        //if (!string.IsNullOrEmpty(data[36]))
        //    enemy.AilmentResists[Ailment.death] = int.Parse(data[36]);

        return(enemy);
    }
Example #11
0
 public ItemInstance GenerateItem()
 {
     return(ItemGenerator.Generate(prefs.MinMaterial, prefs.MaxMaterial));
 }
 private IEnumerable <ListViewItem> CreateItems()
 {
     return(ItemGenerator.Generate().Select(x => new ListViewItem(x)));
 }
Example #13
0
 private IEnumerable <string> CreateItems()
 {
     return(ItemGenerator.Generate(90).Select(x => x[0]));
 }