예제 #1
0
    public void OnDrop(PointerEventData eventData)
    {
        Debug.Log("onDrop is called");
        if (!draggedObject)
        {                                               // check if slot has an item already
            GameObject obj = GameObject.Instantiate(dragHandler.draggedObject.gameObject);
            obj.GetComponent <IconHandler>().setNum(1); // check if slot has an item already
            obj.transform.SetParent(transform);
            dragHandler.draggedObject.GetComponent <IconHandler>()
            .decOne();
            ItemAbstract item = ItemDefinitions.stringToItem(
                draggedObject.GetComponent <ItemBasic>().itemString);
            transform.parent.GetComponent <ShipModSlotHandler>().setShipItem(item);
            //dragHandler.draggedObject.transform.SetParent(transform);

            print("obj: " + draggedObject.GetComponent <ItemBasic>().itemString);
            print("item: " + item.getType());
            ShipDefinitions.ShipEntity entity = ShipDefinitions.loadShip(transform.parent.GetComponent <ShipModSlotHandler>().thisEntity.uniqueId);
            print("ship: " + entity.uniqueId);
            print("currentItems: " + ItemDefinitions.itemsToString(entity.items));
            entity.items.Add(item);
            print("newCurrentItems: " + ItemDefinitions.itemsToString(entity.items));
            ShipDefinitions.saveShip(entity);
        }
    }
예제 #2
0
    public void saveInventory()
    {
        List <ItemAbstract> items = new List <ItemAbstract>();

        foreach (string key in inventory.Keys)
        {
            ItemAbstract item = ItemDefinitions.stringToItem(key);
            for (int i = 0; i < inventory[key]; i++)
            {
                items.Add(item);
            }
        }
        ItemDefinitions.saveItems(uniqueId, ItemDefinitions.itemsToString(items));

        /*
         * string invSlotLabel = uniqueId + "InventorySlotLabel[Weapon]";
         * for (int i = 0; i < WeaponItem.numWeaponTypes; i++)
         * {
         *  string currLabel = invSlotLabel + i.ToString();
         *  print("Saving weapon item: " + i + " and num = " + numOfEachWeapItem[i]);
         *  UnityEngine.PlayerPrefs.SetInt(currLabel, numOfEachWeapItem[i]);
         * }
         * invSlotLabel = uniqueId + "InventorySlotLabel[Engine]";
         * for (int i = 0; i < EngineItem.numEngineTypes; i++)
         * {
         *  string currLabel = invSlotLabel + i.ToString();
         *  print("Saving engine item: " + i + " and num = " + numOfEachEngItem[i]);
         *  UnityEngine.PlayerPrefs.SetInt(currLabel, numOfEachEngItem[i]);
         * }
         */
    }
예제 #3
0
    public static void saveShip(ShipEntity entity)
    {
        PlayerPrefs.SetString("TSSE[ShipEntity][" + entity.uniqueId + "]", shipToString(entity));
        PlayerPrefs.SetString("TSSEList[Item][" + entity.uniqueId + "]", ItemDefinitions.itemsToString(entity.items));

        //GameObject.Find("GameLogic").GetComponent<GameEventHandler>().printThing(
        //    "TSSEList[Item][" + entity.uniqueId + "]");
    }
예제 #4
0
    public void exit()
    {
        List <ItemAbstract> playerItems = playerItemList.getAllItems();

        ItemDefinitions.saveItems("Player", ItemDefinitions.itemsToString(playerItems));

        List <ItemAbstract> merchantItems = merchantItemList.getAllItems();

        ItemDefinitions.saveItems(merchantId, ItemDefinitions.itemsToString(merchantItems));

        playerInventory.saveCurrency();
        merchantInventory.saveCurrency();
        loadPreviousLevel();
    }
예제 #5
0
    public static ShipEntity loadShip(string uniqueId)
    {
        //GameObject.Find("GameLogic").GetComponent<GameEventHandler>().printThing(uniqueId);
        ShipEntity entity = stringtoShip(
            PlayerPrefs.GetString("TSSE[ShipEntity][" + uniqueId + "]"));

        entity.uniqueId = uniqueId;
        if (entity.shipType == ShipType.None)
        {
            return(entity);
        }
        entity.items = ItemDefinitions.stringToItems(
            PlayerPrefs.GetString("TSSEList[Item][" + entity.uniqueId + "]"));
        GameObject.Find("GameLogic").GetComponent <GameEventHandler>().printThing(
            ItemDefinitions.itemsToString(entity.items));

        return(entity);
    }
예제 #6
0
    public void callEvent(string param)
    {
        string[] full      = param.Split(' ');
        string   eventName = full[0];

        switch (eventName)
        {
        case "print":
            printTest();
            break;

        case "dialogue":
            if (full.Length != 2)
            {
                print("ERROR: dialogue called but no character name given!");
                return;
            }
            dialogue(full[1]);
            break;

        case "scene":
            if (full.Length != 2)
            {
                print("ERROR: scene called but no scene given!");
                return;
            }
            loadScene(full[1]);
            break;

        case "trigger":
        {
            if (full.Length != 2)
            {
                print("ERROR: trigger called but no scene given!");
                return;
            }
            triggerLevel(full[1]);
            break;
        }

        case "money":
        {
            if (full.Length != 2)
            {
                print("ERROR: money called but no value given!");
                return;
            }
            money(int.Parse(full[1]));
            break;
        }

        case "addmoney":
        {
            if (full.Length != 2)
            {
                print("ERROR: money called but no value given!");
                return;
            }
            addmoney(int.Parse(full[1]));
            break;
        }

        case "hack":
        {
            addmoney(1000);
            List <ItemAbstract> items = new List <ItemAbstract>();
            items.Add(new EngineItem(EngineItem.EngineType.Spinjet, 4));

            items.Add(new WeaponItem(WeaponItem.WeaponType.CrownModAmmoCap, 1));
            items.Add(new WeaponItem(WeaponItem.WeaponType.CrownModRange, 2));
            items.Add(new WeaponItem(WeaponItem.WeaponType.FlameModRechargeRate, 4));
            items.Add(new WeaponItem(WeaponItem.WeaponType.MissileModAmmoCap, 1));
            items.Add(new WeaponItem(WeaponItem.WeaponType.MissileModAmmoCap, 1));
            ItemDefinitions.saveItems("Player", ItemDefinitions.itemsToString(items));

            List <ItemAbstract> aitems = new List <ItemAbstract>();
            aitems.Add(new WeaponItem(WeaponItem.WeaponType.CrownModAmmoCap, 1));
            aitems.Add(new WeaponItem(WeaponItem.WeaponType.CrownModAmmoCap, 2));
            aitems.Add(new WeaponItem(WeaponItem.WeaponType.CrownModAmmoCap, 4));
            aitems.Add(new WeaponItem(WeaponItem.WeaponType.CrownModRange, 2));
            aitems.Add(new WeaponItem(WeaponItem.WeaponType.CrownModRechargeRate, 3));
            aitems.Add(new WeaponItem(WeaponItem.WeaponType.FlameModAmmoCap, 2));
            aitems.Add(new WeaponItem(WeaponItem.WeaponType.FlameModAmmoCap, 2));
            aitems.Add(new WeaponItem(WeaponItem.WeaponType.FlameModRechargeRate, 3));
            aitems.Add(new WeaponItem(WeaponItem.WeaponType.FlameModRechargeRate, 1));
            ItemDefinitions.saveItems("MerchantTest", ItemDefinitions.itemsToString(items));
            break;
        }
        }
    }