Ejemplo n.º 1
0
        public void BuyItem(Item originalItem)
        {
            // TODO: Create a copy instead of random.
            var newItem = ItemGenerator.CreateItem(_owner, originalItem.ItemDefinition);

            _inventoryGrid.AddItem(newItem);
        }
Ejemplo n.º 2
0
    void Start()
    {
        if (player == null)
        {
            player = GameObject.FindGameObjectWithTag("Player").GetComponent <PlayerNew>();
        }

        vendorItems = new List <Item>();

        int randomNumberOfItems = Random.Range(2, 7 + 1);

        for (int i = 0; i < randomNumberOfItems; i++)
        {
            vendorItems.Add(ItemGenerator.CreateItem("weapon", "random", player.Level));
        }
        randomNumberOfItems = Random.Range(2, 6 + 1);
        for (int i = 0; i < randomNumberOfItems; i++)
        {
            vendorItems.Add(ItemGenerator.CreateItem("armor", "random", player.Level));
        }
        randomNumberOfItems = Random.Range(0, 2 + 1);
        for (int i = 0; i < randomNumberOfItems; i++)
        {
            vendorItems.Add(ItemGenerator.CreateItem("socket", "random", player.Level));
        }
    }
Ejemplo n.º 3
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);
        }
Ejemplo n.º 4
0
 // Use this for initialization
 void Start()
 {
     platformWidth = thePlatform.GetComponent <BoxCollider2D>().size.x;
     itemGenerator = FindObjectOfType <ItemGenerator>();
     selectorStore = 0;
     selector      = 0;
 }
Ejemplo n.º 5
0
    public void SetAttachItem(int itemID, int position)
    {
        string text = "1006";

        if (position != 0)
        {
            text = "1007";
        }
        this.m_GameObjData.AttachID[position] = itemID;
        S_Item data = GameDataDB.ItemDB.GetData(itemID);

        if (data == null)
        {
            Debug.LogWarning("itemData not be found : " + itemID);
            return;
        }
        GameObject gameObject = ItemGenerator.CreateItemGameObject(data.StoryPrefabName);

        if (gameObject == null)
        {
            Debug.LogWarning("item not be found : " + data.StoryPrefabName);
            return;
        }
        gameObject.name = data.StoryPrefabName;
        Transform transform = TransformTool.SearchHierarchyForBone(base.gameObject.transform, text);

        if (transform == null)
        {
            Debug.LogWarning("node not be found : " + text);
            return;
        }
        gameObject.transform.position = transform.position;
        gameObject.transform.rotation = transform.rotation;
        gameObject.transform.parent   = transform;
    }
Ejemplo n.º 6
0
    public void BuildOut()
    {
        // Don't attempt to create more rooms during initialization
        creatingRoom = true;

        roomWidth      = new IntRange(minRoomWidth, maxRoomWidth);
        roomHeight     = new IntRange(minRoomHeight, maxRoomHeight);
        corridorLength = new IntRange(minCorridorLength, maxCorridorLength);

        // Makes all the items yo
        item_generator = new ItemGenerator();
        item_generator.number_of_goals = total_rooms - 1;
        item_generator.buildOut();

        //Holds all tiles
        board_holder      = new GameObject("Board Holder");
        background_holder = new GameObject("Background Holder");

        // Fill board with wall tiles
        fillOutBoard();

        // Initial room and corridor creation
        CreateRoom(0, -1);
        CreateCorridor(0, 0);
        CreateRoom(1, 0);
        CreateCorridor(1, 1);
        CreateRoom(2, 1);

        last_created_room     = 2;
        last_created_corridor = 1;

        // You can create more rooms now
        creatingRoom = false;
    }
Ejemplo n.º 7
0
        private void GenerateTawernShopBagpack(int playerLevel)
        {
            ItemGenerator itemGenerator = new ItemGenerator();

            this.TawernShopBagpack.Add(itemGenerator.GenerateGoldByLevel(playerLevel));

            for (int i = 0; i < 10; i++)
            {
                int  randJunk = CryptoRandom.Next(6, 10);
                Item armor    = itemGenerator.GenerateJunk((ItemSubType)randJunk);
                this.TawernShopBagpack.Add(armor);
            }

            for (int i = 0; i < 6; i++)
            {
                int randJunkType = CryptoRandom.Next(0, 1);
                if (randJunkType == 0)
                {
                    randJunkType = (int)ItemType.Food;
                }
                else
                {
                    randJunkType = (int)ItemType.Potion;
                }
                int randJunk = CryptoRandom.Next(0, 5);
                //Debug.Log(i + " : " + (ItemType)randJunkType + " : " + (ItemSubType)randJunk);
                ConsumeableItem consumeItem = itemGenerator.GenerateConsumeableItem((ItemType)randJunkType, (ItemSubType)randJunk);
                this.TawernShopBagpack.Add(consumeItem);
            }
        }
Ejemplo n.º 8
0
        /// <summary>
        /// Spanws gold for given player.
        /// </summary>
        /// <param name="player">The player.</param>
        /// <param name="position">The position for drop.</param>
        public void SpawnGold(Actor source, Player player)
        {
            // TODO: Gold should be spawned for all players in range. /raist.
            var item = ItemGenerator.CreateGold(player, RandomHelper.Next(1000, 3000)); // somehow the actual ammount is not shown on ground /raist.

            DropItem(source, player, item);
        }
Ejemplo n.º 9
0
    public override void OnInspectorGUI()
    {
        serializedObject.Update();

        ItemGenerator myTarget = (ItemGenerator)target;

        EditorGUILayout.PropertyField(state_Prop);
        SportType st = (SportType)state_Prop.enumValueIndex;

        switch (st)
        {
        case SportType.DOWNHILL:
            EditorGUILayout.PropertyField(dh_playerController, true, new GUILayoutOption[0]);
            EditorGUILayout.PropertyField(dh_standardChangeMeters, new GUIContent("dh_standardChangeMeters"), true);
            EditorGUILayout.PropertyField(dh_intervalMeters, new GUIContent("dh_intervalMeters"), true);
            EditorGUILayout.PropertyField(dh_itemAreas, new GUIContent("dh_itemAreas"), true);
            EditorGUILayout.PropertyField(dh_numPerGenerates, new GUIContent("dh_numPerGenerates"), true);
            break;

        case SportType.SKELETON:

            break;

        case SportType.SKIJUMP:
            EditorGUILayout.PropertyField(sj_playerController, true, new GUILayoutOption[0]);
            EditorGUILayout.PropertyField(sj_standardChangeMeter, new GUIContent("sj_standardChangeMeter"), true);
            EditorGUILayout.PropertyField(sj_intervalMeter, new GUIContent("sj_intervalMeter"), true);
            EditorGUILayout.PropertyField(sj_numPerGenerate, new GUIContent("sj_numPerGenerate"), true);
            break;
        }

        EditorGUILayout.PropertyField(items, new GUIContent("items"), true);
        EditorGUILayout.PropertyField(parent, new GUIContent("parent"), true);
        serializedObject.ApplyModifiedProperties();
    }
Ejemplo n.º 10
0
    // Use this for initialization
    void Start()
    {
        canvas = GetComponentInChildren <Canvas>();
        canvas.gameObject.SetActive(false);

        itemData = ItemGenerator.GenerateRandomItem();
    }
Ejemplo n.º 11
0
        IEnumerator Initialize()
        {
            Database.Initialize();
            SpriteManager.instance.Initialize();
            LoadUnlocks();

            ItemGenerator.Initialize();
            PcGenerator.Initialize();
            QuestGenerator.Initialize();
            StockpileManager.instance.Initialize();
            ModelManager.instance.Initialize();

            PcManager.instance.Initialize();
            //PcManager.instance.Load();
            PcManager.instance.Generate();

            questManager.Initialize();

            PortraitRoom.instance.Initialize(PcManager.instance.PcDataList.Count);

            guiManager.Initialize(buildingObjects);

            //AudioManager.instance.PlayMusic("Back Home", 0, 5f);
            AudioManager.instance.PlayAmbient("Town Day", true);

            return(null);
        }
Ejemplo n.º 12
0
        // TODO: Proper item loading from droplist?
        protected virtual List <Item> GetVendorItems(Player plr)
        {
            List <Item> list;

            if (this.ActorSNO.Id == 109467)
            {
                list = AllPotions(plr);
            }
            else
            {
                list = new List <Item>
                {
                    ItemGenerator.GenerateWeaponToVendor(this, plr),
                    ItemGenerator.GenerateWeaponToVendor(this, plr),
                    ItemGenerator.GenerateWeaponToVendor(this, plr),
                    ItemGenerator.GenerateWeaponToVendor(this, plr),
                    ItemGenerator.GenerateWeaponToVendor(this, plr),
                    ItemGenerator.GenerateWeaponToVendor(this, plr),

                    ItemGenerator.GenerateArmorToVendor(this, plr),
                    ItemGenerator.GenerateArmorToVendor(this, plr),
                    ItemGenerator.GenerateArmorToVendor(this, plr),
                    ItemGenerator.GenerateArmorToVendor(this, plr),
                    ItemGenerator.GenerateArmorToVendor(this, plr),
                    ItemGenerator.GenerateArmorToVendor(this, plr),
                };
            }
            return(list);
        }
Ejemplo n.º 13
0
 public void GiveConsumables()
 {
     for (int i = 0; i < 100; i++)
     {
         player.AddItem(ItemGenerator.CreateItem("consum", "legendary", 100));
     }
 }
Ejemplo n.º 14
0
    private void PlaceItems()
    {
        foreach (var room in _map.Rooms)
        {
            if (Dice.Roll("1D10") < 3)
            {
                if (_map.DoesRoomHaveWalkableSpace(room))
                {
                    Point randomRoomLocation = _map.GetRandomLocationInRoom(room);
                    if (randomRoomLocation != null)
                    {
                        Item  item     = ItemGenerator.CreateItem();
                        Point location = _map.GetRandomLocationInRoom(room);

                        item.go = GameObject.Instantiate <GameObject>(Game.Items[item.Name],
                                                                      new Vector2(location.X, location.Y), Quaternion.identity);
                        item.go.transform.SetParent(Game.itemsHolder);
                        item.go.GetComponent <Renderer>().enabled = false;
                        Game.ItemsTiles[location.X, location.Y]   = item;
                        _map.AddTreasure(location.X, location.Y, item);
                    }
                }
            }
        }
    }
Ejemplo n.º 15
0
    void AddGenerators(List <IGenerator> generators)
    {
        LevelInfo levelInfo = new LevelInfo();

        levelInfo.columns          = columns;
        levelInfo.rows             = rows;
        levelInfo.playerHeight     = playerHeight;
        levelInfo.maxJumpHeight    = maxJumpHeight;
        levelInfo.maxJumpLength    = maxJumpLength;
        levelInfo.minGroundHeight  = minGroundHeight;
        levelInfo.minGroundLength  = minGroundLength;
        levelInfo.maxGroundLength  = maxGroundLength;
        levelInfo.gapProbability   = gapProbability;
        levelInfo.steepProbability = steepProbability;
        levelInfo.blockProbability = blockProbability;

        GroundGenerator   groundGenerator   = new GroundGenerator(levelInfo);
        ObstacleGenerator obstacleGenerator = new ObstacleGenerator(levelInfo);
        BlockGenerator    blockGenerator    = new BlockGenerator(levelInfo);
        ItemGenerator     itemGenerator     = new ItemGenerator(levelInfo);

        generators.Add(groundGenerator);
        generators.Add(obstacleGenerator);
        generators.Add(blockGenerator);
        generators.Add(itemGenerator);
    }
Ejemplo n.º 16
0
 public void OnMouseClick(IMapItem item)
 {
     if (ItemGenerator != null && item != null)
     {
         ItemGenerator.OnMapItemClick(item);
     }
 }
Ejemplo n.º 17
0
        public void RenderGenerator(ItemGenerator generator)
        {
            if (generator == null)
            {
                RenderEmpty();
                return;
            }

            RenderTemplate(generator.RewardTemplate);

            if (quantityText != null)
            {
                quantityText.gameObject.SetActive(true);
                if (generator.MinCount == generator.MaxCount)
                {
                    if (generator.MinCount != 1)
                    {
                        quantityText.text = generator.MinCount.ToString();
                    }
                    else
                    {
                        quantityText.gameObject.SetActive(false);
                    }
                }
                else
                {
                    quantityText.text = generator.MinCount.ToString() + "-" + generator.MaxCount.ToString();
                }
            }

            Faded = false;
        }
        public TreeViewSampleWpf()
        {
            InitializeComponent();
            DataContext = this;

            var root = ItemGenerator.GetTree();

            AddItem(treeView1.Items, root);
            AddItem(treeView2.Items, root);

            options = new OptionList();
            options.AddOption("Enabled", treeView1, treeView2, l => l.IsEnabled);
            options.Add(new GenericBoolOption(
                            "FullRowSelect",
                            () => TreeViewService.GetFullRowSelect(treeView1),
                            v => {
                TreeViewService.SetFullRowSelect(treeView1, v);
                TreeViewService.SetFullRowSelect(treeView2, v);
            }));
            options.Add(new GenericIntOption(
                            "ItemHeight",
                            () => itemHeight,
                            v => {
                itemHeight = v;
                SetItemHeight(treeView1.Items, itemHeight > 0 ? (double?)itemHeight : null);
                SetItemHeight(treeView2.Items, itemHeight > 0 ? (double?)itemHeight : null);
            }));
        }
Ejemplo n.º 19
0
        protected void SetText(/*object sender, OCRText result*/)
        {
            textView = FindViewById <TextView>(Resource.Id.showTxt);

            // Should be replaced by fake item generator for now
            //string text = result.text;
            ItemGenerator.Initialize();
            string text = ItemGenerator.GenerateItems();

            if (!String.IsNullOrEmpty(text))
            {
                Receipt receipt     = new Receipt(text);
                string  receiptJSON = JsonConvert.SerializeObject(receipt);
                System.Diagnostics.Debug.WriteLine("ID: " + UserController.GetUserID + " Token: " + UserController.UserToken + " json: " + receiptJSON);

                textView.Text  = "Shop:" + receipt.shop.ToString() + "\n\n";
                textView.Text += "Items bought:\n";
                foreach (Item item in receipt.shoppingList)
                {
                    textView.Text += "* " + item.name + " " + item.getPrice() + "\nCategory: " + item.category + "\n\n";
                }
                textView.Text += "Total : " + receipt.total + "\n";
                Task.Run(() => ReceiptApiManager.SaveReceiptData(UserController.GetUserID, UserController.UserToken, receiptJSON));
            }
        }
Ejemplo n.º 20
0
    void Start()
    {
        slotAmount     = 20;
        inventoryPanel = GameObject.Find("Inventory Panel");
        characterPanel = GameObject.Find("Character Panel");
        statsInfo      = GameObject.Find("Stats Info");
        slotPanel      = inventoryPanel.transform.FindChild("Slot Panel").gameObject;

        for (int cnt = 0; cnt < slotAmount; cnt++)
        {
            PlayerCharacter.Inventory.Add(new Item());
            slots.Add(Instantiate(inventorySlot));
            slots[cnt].transform.SetParent(slotPanel.transform);
            slots[cnt].GetComponent <Slot>().Id = cnt;
        }

        _testItem = ItemGenerator.CreatePotion();
        AddItem(_testItem);


        _displayCharacterWindow = false;
        _displayInventoryWindow = false;
        inventoryPanel.SetActive(_displayInventoryWindow);
        characterPanel.SetActive(_displayCharacterWindow);
    }
Ejemplo n.º 21
0
    public void EnemyDrops()
    {
        // Debug.Log("checking for enemy drops");
        WeaponGenerator weaponGenerator = gameObject.GetComponent <WeaponGenerator>();
        ArmorGenerator  armorGenerator  = gameObject.GetComponent <ArmorGenerator>();
        ItemGenerator   itemGenerator   = gameObject.GetComponent <ItemGenerator>();

        CheckItemDrop();

        if (isWeaponDrop)
        {
            // check for preset weapon chance
            CheckPresetWeapon();

            weaponGenerator.GenerateWeapon(presetWeapon);
            isWeaponDrop = false;
        }

        if (isArmorDrop)
        {
            // check for preset armor chance
            CheckPresetArmor();

            armorGenerator.GenerateArmor();
            isArmorDrop = false;
        }

        if (isItemDrop)
        {
            itemGenerator.GenerateItem();
            isItemDrop = false;
        }
    }
Ejemplo n.º 22
0
    public void PopulateChest()
    {
        loot = new List <Item>();

        bool isNum = int.TryParse(itemsInChest, out numToPopulate);

        if (!isNum)
        {
            if (itemsInChest == "random")
            {
                int randomNum = Random.Range(0, 100 + 1);
                if (randomNum < 55)
                {
                    numToPopulate = 0;
                }
                else
                {
                    numToPopulate = Random.Range(0, 1 + 1);
                }
            }
            else
            {
                numToPopulate = 1;
            }
        }

        for (int cnt = 0; cnt < numToPopulate; cnt++)
        {
            loot.Add(ItemGenerator.CreateItem(chestSpawnType, chestRarity, chestItemLevel));
        }
    }
Ejemplo n.º 23
0
    IEnumerator BeginReturningIDS()
    {
        yield return(new WaitForSeconds(.3f));

        foreach (string id in actor.data.ids)
        {
            ids.Add(id);
        }
        foreach (EEquipmentType equipmentType in actor.data.itemTypes)
        {
            types.Add(equipmentType);
        }

        for (int i = 0; i < ids.Count; i++)
        {
            Item item = ItemGenerator.IDToItem(ids[i]);
            InventoryItemDisplay display = (InventoryItemDisplay)Instantiate(inventoryItemDisplayPrefab);
            display.transform.SetParent(targetTransform, false);
            Debug.Log("Item " + i + " Name " + item.Name + " id " + item.ID + " level " + item.Level + "stats" + item.Stats);

            display.textName.text   = item.Name;
            display.flavorText.text = item.FlavorText;
            display.strength.text   = "STR: " + (int)item.Stats.Strength;
            display.dexterity.text  = "Dex: " + (int)item.Stats.Dexterity;
            display.intellect.text  = "Int: " + (int)item.Stats.Intelect;
            display.gold.text       = "Gold: " + (int)item.Stats.GoldValue;
            display.scrap.text      = "Scrap: " + (int)item.Stats.ScrapValue;
            display.health.text     = "Health " + (int)item.Stats.Health;
            display.sprite.sprite   = item.GetSprite();
        }
    }
Ejemplo n.º 24
0
    private void GenerateShopInventory()
    {
        ItemGenerator itemGenerator   = ScriptableObject.CreateInstance <ItemGenerator>();
        List <string> applicableItems = itemGenerator.GetItemListByLevelAndType(playerLevel, currentShopType);

        // COMMENT OUT FROM HERE UNTIL NEXT MARKER TO GENERATE UNFILTERED ITEM LIST
        // Only put in shop items that the player does not own
        foreach (Item item in ownedItems)
        {
            if (applicableItems.Contains(item.GetItemName()) && item.GetItemType() != Item.ItemTypes.Arm && item.GetItemType() != Item.ItemTypes.Leg)
            {
                applicableItems.Remove(item.GetItemName());
            }
        }

        // Here we limit the amount of items in the shop to 5 if over 5 applicable items are available
        if (applicableItems.Count > 5)
        {
            List <string> newList = new List <string>();
            while (newList.Count < 5)
            {
                int index = Random.Range(0, applicableItems.Count);
                if (!newList.Contains(applicableItems[index]))
                {
                    newList.Add(applicableItems[index]);
                }
            }
            applicableItems = newList;
        }
        // END COMMENT ZONE FOR UNFILTERED ITEM LIST

        AttemptToCreateShopItems(applicableItems);
    }
Ejemplo n.º 25
0
    private int height = 0;                                  // CSVの行数

    public EnemyGenerator(GameController gameController)
    {
        this.gameController = gameController;
        itemGenerator       = gameController.ItemGenerator;
        skillGenerator2     = gameController.SkillGenerator;
        //Init();
    }
Ejemplo n.º 26
0
        /// <summary>
        /// Spanws a health-globe for given player.
        /// </summary>
        /// <param name="player">The player.</param>
        /// <param name="position">The position for drop.</param>
        public void SpawnHealthGlobe(Actor source, Player player, Vector3D position)
        {
            // TODO: Health-globe should be spawned for all players in range. /raist.
            var item = ItemGenerator.CreateGlobe(player, RandomHelper.Next(1, 28)); // somehow the actual ammount is not shown on ground /raist.

            DropItem(source, player, item);
        }
Ejemplo n.º 27
0
    public void AddItem(int value)
    {
        Item newItem = ItemGenerator.GenerateItem(value);

        playerControl.PlayerClass.AddItem(newItem);

        GameObject go = EntitySpawnManager.InstantSpawn(UIItemPoolName, Vector3.zero, Quaternion.identity, countEntity: false);

        go.transform.parent = UIItemHolder.transform;



        float y = (int)((playerControl.PlayerClass.items.Count - 1) / 4) * 0.05f;
        float x = (int)((playerControl.PlayerClass.items.Count - 1) % 4) * 0.25f;

        go.GetComponent <UIButton>().Text = newItem.Description;
        go.GetComponent <UIButton>().RelativePosition.x = x;
        go.GetComponent <UIButton>().RelativePosition.y = y;

        UIItemHolder.GetComponent <UIRect>().AddChild(go.GetComponent <UIButton>());
        UIItemHolder.GetComponent <UIRect>().UpdateChildren();

        if (UIItemHolder.GetComponent <UIScrollPanel>())
        {
            UIItemHolder.GetComponent <UIScrollPanel>().RelHeight = (y + 0.05f);
        }
    }
Ejemplo n.º 28
0
    void Test()
    {
        Debug.Log("Test starts");
        // example flexibility
        Item item = new Item();

        item.ItemType = Itemtype.Weapon;
        if (item.ItemType == Itemtype.Weapon)
        {
            Debug.Log(item.WeaponProperties.GetDps(item));
        }



        item.ItemType = Itemtype.Armor;
        if (item.ItemType == Itemtype.Armor)
        {
            Debug.Log(item.ArmorProperties.Defense);
        }


        switch (item.ItemType)
        {
        case ItemType.Weapon: Debug.Log("Do Weapon Stuff - instantiate at weapon spawnpoint"); break;

        case ItemType.Armor: Debug.Log("Do Armor Stuff - instantiate at spawnpoint"); break;

        default: Debug.Log("what ever..."); break;
        }

        // example item generator
        Item item2 = new ItemGenerator(ItemType.Weapon);

        Debug.Log(item2.Name);

        Item item3 = new ItemGenerator(ItemType.Armor, "New Armor Item");

        Debug.Log(item3.Name);

        item3.ItemType = ItemType.Weapon;
        item3.Name     = "Ultra Sword";
        Debug.Log(item3.Name);

        Item item4 = new ItemGenerator(ItemType.Weapon, "New Weapon Item", UnityEngine.Random.Range(1, 100), UnityEngine.Random.Range(1, 100));

        Debug.Log(item3.Name);

        Item item5 = new ItemGenerator().GetRandomItem();

        Debug.Log(item2.Name);
        Debug.Log(item2.ItemType);

        // clone item

        Item item6 = item5.Clone();

        Debug.Log(item2.Name);

        Debug.Log("Test ends");
    }
Ejemplo n.º 29
0
    public Dungeon
    (
        Logger logger,
        ItemController itemController,
        LadderGenerator ladderGenerator,
        MonsterController monsterController,
        ItemGenerator itemGenerator,
        MonsterGenerator monsterGenerator,
        GameObject tile,
        int dungeonX,
        int dungeonY,
        int maxRoomSize,
        int minRoomSize,
        int maxRooms,
        int dungeonLevel
    )
    {
        this.Logger            = logger;
        this.ItemController    = itemController;
        this.LadderGenerator   = ladderGenerator;
        this.MonsterController = monsterController;
        this.ItemGenerator     = itemGenerator;
        this.MonsterGenerator  = monsterGenerator;

        this.Tile = tile;

        this.DungeonX     = dungeonX;
        this.DungeonY     = dungeonY;
        this.MaxRoomSize  = maxRoomSize;
        this.MinRoomSize  = minRoomSize;
        this.MaxRooms     = maxRooms;
        this.DungeonLevel = dungeonLevel;
    }
Ejemplo n.º 30
0
    /// <summary>
    /// ダンジョン生成
    /// </summary>
    public void GenerateDungeon()
    {
        _floorNum++;
        floorText.GetComponent <Text> ().text = "B" + _floorNum;

        if (_floorNum % BattleCycle == EntryCycle)
        {
            Instantiate(Boss, new Vector2(0, 0), new Quaternion());
        }

        if (_floorNum % BattleCycle == 0)
        {
            GenerateBossFloor();
            return;
        }

        width  = (int)Random.Range(20, 50);
        height = (int)Random.Range(10, 25);

        _floor   = new Layer2D(width, height);
        _divList = new List <DgDivision> ();

        // すべてを壁に
        _floor.Fill(WALL);

        // 一つ目の区画
        CreateDivision(0, 0, width - 1, height - 1);
        _divList[0].start = _divList[0].goal = true;

        // 区画を分割
        SplitDivision(false);

        // 部屋を作る
        CreateRoom();

        // 部屋を繋ぐ
        ConnectRooms();
        // スタートとゴールを決める
        DgDivision startRoom = _divList[Random.Range(0, _divList.Count - 1)];
        int        start     = Random.Range(startRoom.Room.Left + 1, startRoom.Room.Right);
        DgDivision goalRoom  = _divList[Random.Range(0, _divList.Count - 1)];
        int        goal      = Random.Range(goalRoom.Room.Left + 1, goalRoom.Room.Right);


        // スタートとゴールの穴を開ける
        BitFloor(start, goal);


        // タイルを配置
        Setblock(_floor, start, goal);
        SetBigWall(start, goal);

        // 主人公を配置
        GameObject.Find("Player").transform.position = new Vector2(start, wallSize * 2 / 3);
        // spawnerの設定
        EnemySpawner.StartSpawn(_floor, _floorNum);
        // アイテムを設置
        ItemGenerator.RandomDeploy(_floor, 5);
    }
Ejemplo n.º 31
0
	/*public static void AddEquipmentSlot(RPGEquipmentSlot slot, List<RPGEquipmentSlot> slots)
	{
		List<IItem> items = new List<IItem>();
		
		foreach(IItem item in slots)
			items.Add((IItem)item);
		
		slot.ID = EditorUtils.IntPopup(slot.ID, items, "Eq slot ID", 200, FieldTypeEnum.BeginningOnly);
	}*/
	
	/*public static void AddWeapon(RPGWeapon weapon)
	{
		EditorUtils.Separator();
		
		EditorGUILayout.Separator();
		EditorGUILayout.BeginHorizontal();
		
		EditorGUILayout.PrefixLabel("Melee / range");
		weapon.Attack = (WeaponCombatSkillType)EditorGUILayout.EnumPopup(weapon.Attack ,GUILayout.Width(100));
		
		EditorGUILayout.EndHorizontal();
		
		EditorGUILayout.Separator();
		EditorGUILayout.BeginHorizontal();
		
		EditorGUILayout.PrefixLabel("Minimum dmg");
		weapon.MinimumDmg = EditorGUILayout.IntField(weapon.MinimumDmg ,GUILayout.Width(100));
		
		EditorGUILayout.PrefixLabel("Maximum dmg");
		weapon.MaximumDmg = EditorGUILayout.IntField(weapon.MaximumDmg ,GUILayout.Width(100));
		EditorGUILayout.EndHorizontal();
		
		EditorGUILayout.Separator();
		EditorGUILayout.BeginHorizontal();
		
		EditorGUILayout.PrefixLabel("Attack speed");
		weapon.AttackSpeed = EditorGUILayout.FloatField(weapon.AttackSpeed ,GUILayout.Width(100));
		EditorGUILayout.EndHorizontal();
		
		EditorGUILayout.Separator();
		EditorGUILayout.BeginHorizontal();
		
		EditorGUILayout.PrefixLabel("Minimum range");
		weapon.MinimumRange = EditorGUILayout.IntField(weapon.MinimumRange ,GUILayout.Width(100));
		
		EditorGUILayout.PrefixLabel("Maximum range");
		weapon.MaximumRange = EditorGUILayout.IntField(weapon.MaximumRange ,GUILayout.Width(100));
		EditorGUILayout.EndHorizontal();
		
		EditorGUILayout.Separator();
		EditorGUILayout.BeginHorizontal();
		
		EditorGUILayout.PrefixLabel("Is ammo");
		weapon.IsAmmo = EditorGUILayout.Toggle(weapon.IsAmmo ,GUILayout.Width(100));
		EditorGUILayout.EndHorizontal();
		
		EditorGUILayout.Separator();
		EditorGUILayout.BeginHorizontal();
		
		EditorGUILayout.PrefixLabel("Need ammo");
		weapon.NeedAmmo = EditorGUILayout.Toggle(weapon.NeedAmmo ,GUILayout.Width(100));
		EditorGUILayout.EndHorizontal();
		
		EditorGUILayout.Separator();
		EditorGUILayout.BeginHorizontal();
		
		EditorGUILayout.PrefixLabel("Weapon type");
		weapon.WeaponType = (WeaponCategoryType)EditorGUILayout.EnumPopup(weapon.WeaponType ,GUILayout.Width(100));
		EditorGUILayout.EndHorizontal();
	}*/
	
	public static void ItemGenerator(RPGItem item, ItemGenerator generator)
	{
		
		EditorGUILayout.Separator();
		EditorGUILayout.BeginHorizontal();
		EditorGUILayout.PrefixLabel("Lvl increase");
		
		generator.Frequency = EditorGUILayout.IntSlider(generator.Frequency,1,20,  GUILayout.Width(100));
		if (GUILayout.Button("Generate", GUILayout.Width(200)))
		{
			generator.Calculate(item);
		}
		EditorGUILayout.EndHorizontal();
		
		
		EditorGUILayout.Separator();
		EditorGUILayout.BeginHorizontal();
		
		EditorGUILayout.PrefixLabel("Use adjective");
		generator.UseNames = EditorGUILayout.Toggle(generator.UseNames, GUILayout.Width(300));
		EditorGUILayout.EndHorizontal();	
		
		
		EditorGUILayout.Separator();
		EditorGUILayout.BeginHorizontal();
			
		EditorGUILayout.LabelField("Names", generator.GetNames);
		EditorGUILayout.EndHorizontal();
		
		EditorGUILayout.Separator();
		EditorGUILayout.BeginHorizontal();
		
		EditorGUILayout.PrefixLabel("Increasing price");
		generator.Price = EditorGUILayout.Toggle(generator.Price, GUILayout.Width(100));
		if (generator.Price)
		{
			generator.PriceType = (IncresingTypeEnum)EditorGUILayout.EnumPopup(generator.PriceType, GUILayout.Width(100));
		
			EditorGUILayout.PrefixLabel("amount");
			generator.IncreasingPrice = EditorGUILayout.FloatField(generator.IncreasingPrice, GUILayout.Width(100));
		}
		EditorGUILayout.EndHorizontal();
		
		EditorGUILayout.Separator();
		EditorGUILayout.BeginHorizontal();
		EditorGUILayout.LabelField("Prices", generator.GetPrices);
		EditorGUILayout.EndHorizontal();
		
		EditorGUILayout.Separator();
		EditorGUILayout.BeginHorizontal();
		
		EditorGUILayout.PrefixLabel("Increasing effect");
		generator.Effects = EditorGUILayout.Toggle(generator.Effects, GUILayout.Width(100));
		if (generator.Effects)
		{
			generator.EffectType = (IncresingTypeEnum)EditorGUILayout.EnumPopup(generator.EffectType, GUILayout.Width(100));
		
			EditorGUILayout.PrefixLabel("amount");
			generator.IncreasingEffect = EditorGUILayout.FloatField(generator.IncreasingEffect, GUILayout.Width(100));
		}
		EditorGUILayout.EndHorizontal();
	}