Esempio n. 1
0
    public void SpawnEnemy(Vector2 firstDestination)
    {
        // List<Vector2> enemyRoute = GenerateRoute();
        List <Vector2> enemyRoute = new List <Vector2>();

        //enemyRoute.Add(GetSpawnPoint());
        enemyRoute.Add(firstDestination);
        enemyRoute.Add(ClosestPoint(firstDestination));
        GameObject newEnemy = Instantiate(Globals.ENEMY, GetSpawnPoint(), Quaternion.identity);

        newEnemy.transform.SetParent(ObjectContainer.instance.enemies.transform);
        AutoMover autoMover = newEnemy.GetComponent <AutoMover>();
        Inventory inventory = newEnemy.GetComponent <Inventory>();

        autoMover.route        = enemyRoute;
        autoMover.randomPatrol = true;
        autoMover.pointMemory  = PRNG.Range(0, 3);

        Inventory.ItemType[]     types    = (Inventory.ItemType[])System.Enum.GetValues(typeof(Inventory.ItemType));
        Inventory.ItemType       dropType = types[PRNG.Range(0, types.Length)];
        Inventory.InventoryEntry item     = new Inventory.InventoryEntry(dropType, 1);
        inventory.Add(item);

        StartCoroutine(DelayedCall(autoMover, firstDestination));
        //autoMover.SoundToPosition(firstDestination, true, Noise.Source.Gun, Vector2.zero);
    }
Esempio n. 2
0
    private void SpawnEnemy(Vector2 cell)
    {
        List <Vector2> enemyRoute = new List <Vector2>();

        enemyRoute.Add(RandomTileFromCell(cell));

        foreach (Vector2 neighbor in neighborList[cell])
        {
            enemyRoute.Add(RandomTileFromCell(neighbor));
        }


        GameObject newEnemy = Instantiate(Globals.ENEMY, enemyRoute[0], Quaternion.identity);

        // newEnemy.name = newEnemy.name + i;
        newEnemy.transform.SetParent(ObjectContainer.instance.enemies.transform);
        AutoMover autoMover = newEnemy.GetComponent <AutoMover>();
        Inventory inventory = newEnemy.GetComponent <Inventory>();

        autoMover.spawnsWounded = true;
        autoMover.route         = enemyRoute;
        autoMover.randomPatrol  = PRNG.Range(0, 2) == 0;
        autoMover.pointMemory   = PRNG.Range(0, 3);

        Inventory.ItemType[]     types    = (Inventory.ItemType[])System.Enum.GetValues(typeof(Inventory.ItemType));
        Inventory.ItemType       dropType = types[PRNG.Range(0, types.Length)];
        Inventory.InventoryEntry item     = new Inventory.InventoryEntry(dropType, 1);
        inventory.Add(item);

        // Position, route, weaponequipped, leashlength, randompatrol, pointmemory, inventory
    }
    public void ObjectClicked(Inventory.InventoryEntry item)
    {
        var selectedItem = item.Item;

        if (selectedItem.itemType == ItemType.Weapon)
        {
            if (selectedItem != data.CurrentWeapon.weaponConfiguration)
            {
                Tooltip.UseItemButton.gameObject.SetActive(true);
                Tooltip.WeaponEquipedText.gameObject.SetActive(false);
                Tooltip.ButtonText.text = "Equip";
            }
            else
            {
                Tooltip.UseItemButton.gameObject.SetActive(false);
                Tooltip.WeaponEquipedText.gameObject.SetActive(true);
            }
        }
        else
        {
            Tooltip.UseItemButton.gameObject.SetActive(true);
            Tooltip.WeaponEquipedText.gameObject.SetActive(false);
            Tooltip.ButtonText.text = "Use";
        }
    }
Esempio n. 4
0
    public GameData(SetupRouter sr)
    {
        PlayerTeam = new List <PlayerLunen>();
        //Debug.Log("Found " + sr.battleSetup.PlayerLunenTeam.Count + " Lunen!");
        foreach (GameObject monster in sr.battleSetup.PlayerLunenTeam)
        {
            PlayerTeam.Add(GeneratePlayerLunen(monster.GetComponent <Monster>(), sr));
        }
        StorageLunen = sr.storageSystem.StoredLunen;

        InventoryItems = new List <InventoryItem>();
        //Debug.Log("Found " + sr.inventory.listOfItems.Count + " Item" + (sr.inventory.listOfItems.Count == 1 ? "" : "s") + "!");
        for (int i = 0; i < sr.inventory.listOfItems.Count; i++)
        {
            Inventory.InventoryEntry currentItem = sr.inventory.listOfItems[i];
            InventoryItem            a           = new InventoryItem();
            a.itemIndex  = sr.database.ItemToIndex(currentItem.item);
            a.itemAmount = currentItem.amount;
            InventoryItems.Add(a);
        }

        SaveTriggers = new List <TriggerSet>();
        for (int i = 0; i < sr.database.GlobalStoryTriggerList.Count; i++)
        {
            TriggerSet set = new TriggerSet();
            set.setName = sr.database.GlobalStoryTriggerList[i].name;
            foreach (TriggerPart part in sr.database.GlobalStoryTriggerList[i].triggerParts)
            {
                TriggerSave save = new TriggerSave();
                save.triggerTITLE  = part.title;
                save.triggerType   = part.type;
                save.triggerBool   = part.triggerBool;
                save.triggerInt    = part.triggerInt;
                save.triggerFloat  = part.triggerFloat;
                save.triggerDouble = part.triggerDouble;
                save.triggerString = part.triggerString;
                set.triggerParts.Add(save);
            }
            SaveTriggers.Add(set);
        }

        GuidList        = sr.battleSetup.GuidList;
        positionX       = sr.playerLogic.transform.position.x;
        positionY       = sr.playerLogic.transform.position.y;
        currentScene    = sr.battleSetup.lastOverworld;
        facingDirection = (int)sr.playerLogic.move.lookDirection;
        gold            = sr.inventory.gold;

        respawnX         = sr.battleSetup.respawnLocation.x;
        respawnY         = sr.battleSetup.respawnLocation.y;
        respawnScene     = sr.battleSetup.respawnScene;
        respawnDirection = (int)sr.battleSetup.respawnDirection;
    }
Esempio n. 5
0
    private void SpawnPlayer()
    {
        PlayerMover.instance.transform.position = RandomTileFromCell(new Vector2(2, 2));
        Inventory inventory = PlayerMover.instance.GetComponent <Inventory>();

        Inventory.ItemType[] types = (Inventory.ItemType[])System.Enum.GetValues(typeof(Inventory.ItemType));
        int startingItems          = PRNG.Range(0, 5);

        for (int i = 0; i < startingItems; ++i)
        {
            Inventory.ItemType       dropType = types[PRNG.Range(0, types.Length)];
            Inventory.InventoryEntry item     = new Inventory.InventoryEntry(dropType, 1);
            inventory.Add(item);
        }
    }
Esempio n. 6
0
 public void SetInventoryEntry(Inventory.InventoryEntry _entry)
 {
     entry = _entry;
     if (entry != null)
     {
         button.interactable = true;
         nameText.text       = entry.item.name;
         amountText.text     = entry.amount + "x";
     }
     else
     {
         button.interactable = false;
         nameText.text       = "";
         amountText.text     = "";
     }
 }