コード例 #1
0
    // Start is called before the first frame update
    // update the player's progress on the HomeScene
    void Start()
    {
        var tracker = ProgressTracker.GetTracker();

        weekTxtObj.text  = $"Week {tracker.WeekNum} / {ProgressTracker.finalWeekNum}";
        moneyTxtObj.text = ItemTracker.GetTracker().Money.ToString();

        if (tracker.ProductionMode)
        {
            if (tracker.WeekNum > 2)
            {
                return;
            }

            foreach (Button panel in panels)
            {
                if (tracker.WeekNum == 1)
                {
                    if (panel.name == "GoToClassPanel")
                    {
                        continue;
                    }
                }
                else if (tracker.WeekNum == 2)
                {
                    if (panel.name == "GoToClassPanel" || panel.name == "ExtraStudyPanel" || panel.name == "BCITStorePanel")
                    {
                        continue;
                    }
                }
                panel.interactable = false;
            }
        }
    }
コード例 #2
0
    // undos all changes up until the first checkpoint encountered which will have its transform returned
    public static Transform undoChanges()
    {
        while (log.Count > 0)
        {
            EventDetails temp = log.Pop();

            switch (temp.type)
            {
            case (EventType.ITEM_RETRIEVED):
                ItemPickUp tempItem = temp.obj.GetComponent <ItemPickUp>();
                tempItem.reactivate();
                ItemTracker.removeItem(tempItem.item);
                break;

            case (EventType.CHECKPOINT):
                if (triggeredCheckpoint != null)
                {
                    triggeredCheckpoint();
                }
                return(temp.obj.transform);
            }
        }

        return(null);
    }
コード例 #3
0
        public void loadInitFlagToItem()
        {
            ItemTracker itemTracker = FindObjectOfType <ItemTracker>();

            if (itemTracker != null)
            {
                itemTracker.Add(100, 0);
            }

            orig_loadInitFlagToItem();

            if (itemTracker != null)
            {
                itemTracker.Add(2, 152);
                itemTracker.Add(2, 153);
                itemTracker.Add(2, 154);
                itemTracker.Add(2, 155);
                itemTracker.Add(2, 156);
                itemTracker.Add(2, 157);
                itemTracker.Add(2, 158);
                itemTracker.Add(2, 159);
                itemTracker.Add(2, 160);
                itemTracker.Add(2, 161);
                itemTracker.Add(3, 10);
                itemTracker.Add(3, 11);
                itemTracker.Add(3, 12);
                itemTracker.Add(3, 13);
                itemTracker.Add(3, 14);
                itemTracker.Add(3, 15);
                itemTracker.Add(3, 16);
                itemTracker.Add(3, 17);
                itemTracker.Add(3, 18);
                itemTracker.Add(101, 0);
            }
        }
コード例 #4
0
 public PacketReceivedHackSettings() : base()
 {
     BlockFlash.AddDependency(this);
     FastTele.AddDependency(this);
     NoTownPortalAnim.AddDependency(this);
     ItemTracker.AddDependency(this);
 }
コード例 #5
0
 protected override void DoEffect()
 {
     base.DoEffect();
     if (surroundingBuildings.Count <= amount)
     {
         foreach (GameObject building in surroundingBuildings)
         {
             if (building != gameObject && building.tag == "industrial" || building.tag == "commercial" || building.tag == "industrial")
             {
                 ItemTracker tempTracker = building.GetComponent <ItemTracker>();
                 if (tempTracker)
                 {
                     tempTracker.police = true;
                 }
             }
         }
     }
     else if (amount < surroundingBuildings.Count)
     {
         for (int i = 0; i < amount; i++)
         {
             if (surroundingBuildings[i] != gameObject)
             {
                 surroundingBuildings[i].GetComponent <ItemTracker>().police = true;
             }
         }
     }
 }
コード例 #6
0
ファイル: InventorySlot.cs プロジェクト: craus/UnityTest
 void Start() {
     itemTracker = new ItemTracker(setValue: (v) => item = v, getValue: () => item);
     new ValueTracker<Inventory>(setValue: (v) => inventory = v, getValue: () => inventory);
     var poolable = GetComponent<Poolable>();
     new BoolTracker(v => poolable.exists = v, () => poolable.exists);
     itemTracker.Init(null);
     onStart();
     started = true;
 }
コード例 #7
0
        public void gameFlagResets()
        {
            ItemTracker itemTracker = FindObjectOfType <ItemTracker>();

            if (itemTracker != null)
            {
                itemTracker.Add(102, 0);
            }

            fsys.allReset();
            playerst.clearItemsNum();
            menusys.menuSysReStart();
            setSystemDataToClothFlag();

            MAINWEAPON mainWeapon = MAINWEAPON.NON;
            SUBWEAPON  subWeapon  = SUBWEAPON.NON;

            L2Rando l2Rando = FindObjectOfType <L2Rando>();

            if (l2Rando != null && l2Rando.IsRandomising)
            {
                Init_Coin_num   = l2Rando.StartingMoney;
                Init_Weight_num = l2Rando.StartingWeights;

                if (l2Rando.RemoveITStatue)
                {
                    setFlagData(8, 10, 1);
                }

                setFlagData(5, 47, (short)(12 - l2Rando.RequiredSkulls));

                ItemInfo itemInfo = ItemDB.GetItemInfo(l2Rando.StartingWeapon);

                if (itemInfo != null)
                {
                    if (l2Rando.StartingWeapon == ItemID.Whip1 || l2Rando.StartingWeapon == ItemID.Whip2 || l2Rando.StartingWeapon == ItemID.Whip3)
                    {
                        setFlagData(itemInfo.ItemSheet, itemInfo.ItemFlag, 1);
                        mainWeapon = exchengeMainWeaponNameToEnum("Whip");
                    }
                    else
                    {
                        mainWeapon = exchengeMainWeaponNameToEnum(itemInfo.BoxName);
                    }
                    subWeapon = exchengeSubWeaponNameToEnum(itemInfo.BoxName);
                }
            }

            playerst.addCoin(Init_Coin_num);
            playerst.addWait(Init_Weight_num);
            playerst.resetPlayerStatus(Init_PLayer_lv, 0, 999, Init_Coin_num, Init_Weight_num, 0, mainWeapon, 0, subWeapon, 0, USEITEM.NON, 0);
            playerst.resetExp();
            setFlagData(0, 42, 1);
            setFlagData(4, 60, 4);
            setFlagData(4, 62, 2);
        }
コード例 #8
0
 private void OnTriggerEnter2D(Collider2D collision)
 {
     if (collision.gameObject.layer == LayerMask.NameToLayer("Player") && !retrieved)
     {
         ItemTracker.addItem(item);
         EventLogger.addLog(EventType.ITEM_RETRIEVED, gameObject);
         deactivate();
         //Debug.Log(ItemTracker.getItemCount(item));
     }
 }
コード例 #9
0
    void Start()
    {
        itemTracker = ItemTracker.GetTracker();

        InitStoreInventory();

        foodOption.onClick.AddListener(() => DisplayItems("Food"));
        drinksOption.onClick.AddListener(() => DisplayItems("Drink"));
        miscOption.onClick.AddListener(() => DisplayItems("Misc"));
        inventoryOption.onClick.AddListener(() => DisplayItems("Inv"));
    }
コード例 #10
0
 void ClearTrackers()
 {
     res     = null;
     com     = null;
     ind     = null;
     off     = null;
     indc    = null;
     fol     = null;
     serv    = null;
     tracker = null;
 }
コード例 #11
0
    // get the items that the player has
    public List <Item> GetItems()
    {
        Dictionary <ItemsEnum, int> inventory = ItemTracker.GetTracker().GetInventory();
        List <Item> items   = new List <Item>();
        ItemFactory factory = ItemFactory.GetFactory();

        foreach (ItemsEnum key in inventory.Keys)
        {
            items.Add(factory.CreateItem(key, inventory[key]));
        }

        return(items);
    }
 // Use this for initialization
 void Start()
 {
     if (Serializer.IsDeserializing)
     {
         return;
     }
     if (Serializer.IsLoading)
     {
         return;
     }
     manager = ReferenceManager.instance.buildingNotificationManager;
     BuildingNotificationManager.notificationUpdater += CheckConditions;
     tracker            = GetComponent <ItemTracker>();
     notificationPrefab = ReferenceManager.instance.notificationPrefab;
 }
コード例 #13
0
        public void SetItems(List <ItemId> itemIds, int[] keyItems)
        {
            if (itemIds == null)
            {
                keyTracker           = null;
                itemTracker          = null;
                bottomlessBoxTracker = null;

                return;
            }

            List <ItemId> keys  = new List <ItemId>();
            List <ItemId> items = new List <ItemId>();

            foreach (ItemId id in itemIds)
            {
                if (keyItems.Contains(id.BaseId))
                {
                    keys.Add(id);
                }
                else
                {
                    items.Add(id);
                }
            }

            IntPtr inventory = pointers.Inventory;

            // Both trackers are nullified if no splits would require using them.
            keyTracker = keys.Count > 0
                                ? new ItemTracker(inventory, handle, (int)InventoryFlags.KeyStart, (int)InventoryFlags.KeyCount)
                                : null;

            itemTracker = items.Count > 0
                                ? new ItemTracker(inventory, handle, (int)InventoryFlags.ItemStart, (int)InventoryFlags.ItemCount)
                                : null;

            // Key items can't be put in the box, meaning that the bottomless box only needs to be tracked if items
            // themselves are tracked.
            bottomlessBoxTracker = items.Count > 0
                                ? new BottomlessBoxTracker(inventory, handle)
                                : null;

            keyTracker?.SetItems(keys);
            itemTracker?.SetItems(items);
            bottomlessBoxTracker?.SetItems(items);
        }
コード例 #14
0
        public void addFlag(int seet_no1, int flag_no1, short value, CALCU cul)
        {
            string name = flag.cellData[seet_no1][flag_no1 + 1][0][0];

#if DEV
            AddFlagToWatch(seet_no1, name, value, cul);
#endif
            orig_addFlag(seet_no1, flag_no1, value, cul);

            if (ItemTracker == null)
            {
                ItemTracker = GameObject.FindObjectOfType <ItemTracker>();
            }

            if (ItemTracker != null)
            {
                ItemTracker.Add(seet_no1, flag_no1);
            }
        }
コード例 #15
0
        public bool setFlagData(int sheet_no, string name, short data)
        {
#if DEV
            AddFlagToWatch(sheet_no, name, data);
#endif
            bool result = orig_setFlagData(sheet_no, name, data);

            if (ItemTracker == null)
            {
                ItemTracker = GameObject.FindObjectOfType <ItemTracker>();
            }

            if (ItemTracker != null)
            {
                ItemTracker.Add(sheet_no, getFlagNo(sheet_no, name));
            }

            return(result);
        }
コード例 #16
0
        public bool setFlagData(int sheet_no, int flag_no, short data)
        {
            string name = flag.cellData[sheet_no][flag_no + 1][0][0];

#if DEV
            AddFlagToWatch(sheet_no, name, data);
#endif
            bool result = orig_setFlagData(sheet_no, flag_no, data);

            if (ItemTracker == null)
            {
                ItemTracker = GameObject.FindObjectOfType <ItemTracker>();
            }

            if (ItemTracker != null)
            {
                ItemTracker.Add(sheet_no, flag_no);
            }

            return(result);
        }
コード例 #17
0
 void SetTracker()
 {
     ClearTrackers();
     tracker = containedBuilding.GetComponent <ItemTracker>();
     if (containedType == 0)
     {
         res        = containedBuilding.GetComponent <ResidentialTracker>();
         res.usable = false;
     }
     else if (containedType == 1)
     {
         com        = containedBuilding.GetComponent <CommercialTracker>();
         com.usable = false;
     }
     else if (containedType == 2)
     {
         ind        = containedBuilding.GetComponent <IndustrialTracker>();
         ind.usable = false;
     }
     else if (containedType == 3)
     {
         off        = containedBuilding.GetComponent <CommercialTracker>();
         off.usable = false;
     }
     else if (containedType == 4)
     {
         indc        = containedBuilding.GetComponent <IndustrialComponent>();
         indc.usable = false;
     }
     else if (containedType == 5)
     {
         fol        = containedBuilding.GetComponent <FoliageTracker>();
         fol.active = false;
     }
     else if (containedType == 6)
     {
         serv        = containedBuilding.GetComponent <ServiceTrackerBase>();
         serv.active = true;
     }
 }
コード例 #18
0
    // Start is called before the first frame update
    void Start()
    {
        string money = ItemTracker.GetTracker().Money.ToString();

        moneyTxtObj.text += money;
    }
コード例 #19
0
 // update the player's score and money
 private void UpdateProgress(int money)
 {
     ItemTracker.GetTracker().AddMoney(money);
 }
コード例 #20
0
    void Awake()
    {
        EventController controller = GameObject.Find("EventController").GetComponent <EventController>();
        Wave            wave       = controller.weekData.weeks.Find(x => x.weekNum == controller.weekNum).waves[controller.waveNum];

        if (coins != null)
        {
            coins.text = "Coins: " + ItemTracker.GetTracker().Money + " + " + wave.coins + " = " + (ItemTracker.GetTracker().Money + wave.coins);
        }
        for (int i = 0; i < screens.Count; i++)
        {
            Character player   = controller.players[i];
            Stats     newStats = player.CalcStats(wave.exp);

            foreach (Transform child in screens[i].transform)
            {
                if (child.name == "Name")
                {
                    child.GetComponent <Text>().text = controller.players[i].characterName;
                }
                else if (child.name == "Exp")
                {
                    string text = "EXP Gained: " + wave.exp + "\n";

                    text += "EXP to next level: " + (Character.CalcExpToLevel(newStats.level) - newStats.exp) + " exp";

                    child.GetComponent <Text>().text = text;
                }
                else if (child.name == "Stats")
                {
                    string text = "";
                    if (newStats.level > player.level)
                    {
                        text += "Level: " + player.level + " ---> " + newStats.level + "          LEVEL UP!";
                        text += "\n\nHP: " + player.maxHealth + " + " + newStats.health + "   --> " + (newStats.health + player.maxHealth);
                        text += "\nAttack: " + player.attack + " + " + newStats.attack + "   --> " + (newStats.attack + player.attack);
                        text += "\nDefense: " + player.defense + " + " + newStats.defense + "   --> " + (newStats.defense + player.defense);
                    }
                    else
                    {
                        text += "Level: " + player.level;
                        text += "\n\nHP: " + player.maxHealth;
                        text += "\nAttack: " + player.attack;
                        text += "\nDefense: " + player.defense;
                    }
                    child.GetComponent <Text>().text = text;
                }
                else if (child.name == "Note")
                {
                    // Skill gain messages
                    //todo: Check skills and use their alias instead of hardcoded stirngs
                    string text = "LEARNED NEW SKILL:\n";
                    if (newStats.level > player.level)
                    {
                        if (player.id == "dps")
                        {
                            switch (newStats.level)
                            {
                            case 2:
                                text += "Heavy Attack";
                                break;

                            case 4:
                                text += "Mass Attack";
                                break;

                            case 5:
                                text += "Self Study";
                                break;

                            case 8:
                                text += "strongWideAttack";
                                break;

                            default:
                                text = "";
                                break;
                            }
                        }
                        else if (player.id == "tank")
                        {
                            switch (newStats.level)
                            {
                            case 2:
                                text += "Calm";
                                break;

                            case 4:
                                text += "Finish Up";
                                break;

                            case 5:
                                text += "Motivation";
                                break;

                            case 7:
                                text += "Rally";
                                break;

                            default:
                                text = "";
                                break;
                            }
                        }
                        else if (player.id == "support")
                        {
                            switch (newStats.level)
                            {
                            case 2:
                                text += "Heal";
                                break;

                            case 4:
                                text += "Medium Attack";
                                break;

                            case 6:
                                text += "Plan Ahead";
                                break;

                            case 8:
                                text += "Party Heal";
                                break;

                            default:
                                text = "";
                                break;
                            }
                        }
                    }
                    else
                    {
                        text = "";
                    }
                    child.GetComponent <Text>().text = text;
                }
            }
        }
    }
コード例 #21
0
    void Start()
    {
        itemTracker = ItemTracker.GetTracker();

        buyButton.onClick.AddListener(() => PurchaseItem());
    }
コード例 #22
0
 protected virtual void ResetTracker()
 {
     tracker = gameObject.GetComponent <ItemTracker>();
 }
コード例 #23
0
 protected override void Start()
 {
     base.Start();
     tracker = gameObject.GetComponent <ItemTracker>();
 }