Exemple #1
0
 void OnMouseUp()
 {
     if (currentItem != null)
     {
         PlayerCoin.Add((int)(currentItem.GetComponent <Item>().Cost *quantity * 0.1f));
         PlayerItems.Add(currentItem.name, -quantity);
         SetItem(currentItem.name);
     }
 }
Exemple #2
0
    public static void Load()
    {
        if (!File.Exists(savePath))
        {
            return;
        }

        string       line;
        StreamReader file = new StreamReader(savePath);

        while ((line = file.ReadLine()) != null)
        {
            string[] exp = line.Split(';');

            if (exp[0] == "gold")
            {
                PlayerCoin.Set(int.Parse(exp[1]));
            }
            else if (exp[0] == "monster")
            {
                PlayerMonster.Add(exp[1], int.Parse(exp[2]));
            }
            else if (exp[0] == "item")
            {
                PlayerItems.Add(exp[1], int.Parse(exp[2]));
            }
            else if (exp[0] == "field")
            {
                if (exp[2] == "0")
                {
                    PlayerField.Add(int.Parse(exp[1]), FieldStatus.FIELD_FAILED);
                }
                else if (exp[2] == "1")
                {
                    PlayerField.Add(int.Parse(exp[1]), FieldStatus.FIELD_1STAR);
                }
                else if (exp[2] == "2")
                {
                    PlayerField.Add(int.Parse(exp[1]), FieldStatus.FIELD_2STAR);
                }
                else if (exp[2] == "3")
                {
                    PlayerField.Add(int.Parse(exp[1]), FieldStatus.FIELD_3STAR);
                }
                else
                {
                    PlayerField.Add(int.Parse(exp[1]), FieldStatus.FIELD_EMPTY);
                }
            }

            PlayerMonster.Load();
        }

        file.Close();
    }
Exemple #3
0
        public void RegisterAsset(AssetViewModel asset)
        {
            _assetList.Add(asset);
            PlayerItems.Add(new AssetPlayerItem(asset));

            asset.Player.LoopAnimation = false;
            if (SelectedMainAnimation == null)
            {
                SelectedMainAnimation = PlayerItems.First();
            }

            OnEnableChanged(IsEnabled);
        }
Exemple #4
0
    private void ItemClickHander()
    {
        RaycastHit2D hit = Physics2D.Raycast(Camera.main.ScreenToWorldPoint(Input.mousePosition),
                                             Vector2.zero);

        if (hit.transform != null)
        {
            for (int i = 0; i < colliderList.Count; i++)
            {
                if (colliderList[i] == hit.transform.gameObject)
                {
                    GetComponent <BuffEffect>().AddBuff(itemList[i]);
                    PlayerItems.Add(itemList[i].name, -1);
                    itemList.RemoveAt(i);
                    this.Hide();
                    break;
                }
            }
        }
    }
Exemple #5
0
    // Update is called once per frame
    void Update()
    {
        if (Input.GetMouseButtonUp(0))
        {
            RaycastHit2D hit = Physics2D.Raycast(Camera.main.ScreenToWorldPoint(Input.mousePosition),
                                                 Vector2.zero);

            if (hit.transform != null)
            {
                for (int i = 0; i < colliderList.Count; i++)
                {
                    if (hit.transform.gameObject == colliderList[i].gameObject)
                    {
                        if (PlayerCoin.Get() >= itemList[i].GetComponent <Item>().Cost)
                        {
                            PlayerCoin.Spend(itemList[i].GetComponent <Item>().Cost);
                            PlayerItems.Add(itemList[i].name, 1);
                        }
                    }
                }
            }
        }
    }
        public CharSaveResponse(SaveReader playerData, string hash = null)
        {
            Data = playerData.GetBytes(true);                                                           // true is important!
            Hash = (hash != null) ? hash : Helper.MD5(Data);
            HashWithOriginalStat = (hash != null) ? hash : Helper.MD5(playerData.GetBytes(true, true)); // true is important!;

            Version   = playerData.Version;
            TimeStamp = playerData.TimeStamp;

            // items
            foreach (var i in playerData.Inventory.PlayerItems)
            {
                PlayerItems.Add(new CharItemResponse(i));
            }
            foreach (var i in playerData.Inventory.CorpseItems)
            {
                CorpseItems.Add(new CharItemResponse(i));
            }
            foreach (var i in playerData.Inventory.GolemItems)
            {
                GolemItems.Add(new CharItemResponse(i));
            }
            foreach (var i in playerData.Inventory.MercItems)
            {
                MercItems.Add(new CharItemResponse(i));
            }

            Name            = playerData.Character.Name;
            Class           = playerData.Character.Class;
            Died            = playerData.Character.Died;
            Expansion       = playerData.Character.Expansion;
            Hardcore        = playerData.Character.Hardcore;
            Ladder          = playerData.Character.Ladder;
            HasMercenary    = playerData.Character.HasMercenary;
            MercenaryExp    = playerData.Character.MercenaryExp;
            MercenaryNameId = playerData.Character.MercenaryNameId;
            MercenaryType   = playerData.Character.MercenaryType;
            Progression     = playerData.Character.Progression;
            BaseHitpoints   = playerData.Stat.BaseHitpoints;
            BaseMana        = playerData.Stat.BaseMana;
            BaseStamina     = playerData.Stat.BaseStamina;
            DeathCount      = playerData.Stat.DeathCount;
            Dexterity       = playerData.Stat.Dexterity;
            Energy          = playerData.Stat.Energy;
            Experience      = playerData.Stat.Experience;
            Gold            = playerData.Stat.Gold;
            GoldBank        = playerData.Stat.GoldBank;
            Hitpoints       = playerData.Stat.Hitpoints;
            KillCount       = playerData.Stat.KillCount;
            Level           = playerData.Stat.Level;
            Mana            = playerData.Stat.Mana;
            SkillPoints     = playerData.Stat.SkillPoints;
            Stamina         = playerData.Stat.Stamina;
            StatPoints      = playerData.Stat.StatPoints;
            Strength        = playerData.Stat.Strength;
            Vitality        = playerData.Stat.Vitality;

            for (var i = 0; i < playerData.Skill.Length; i++)
            {
                Skills.Add(byte.Parse(playerData.Skill[i].ToString()));
            }
        }
Exemple #7
0
    private void ShowGameEnd()
    {
        if (!messageBox.activeSelf)
        {
            int bonusMin = (PlayerMonster.IndexEnemy + 1) * 9;
            int bonusMax = (PlayerMonster.IndexEnemy + 1) * 12;

            if (playerHealth <= 0)
            {
                bonusMin = (PlayerMonster.IndexEnemy + 1) * 1;
                bonusMax = (PlayerMonster.IndexEnemy + 1) * 3;
            }

            int goldBonus = Random.Range(bonusMin, bonusMax);

            PlayerCoin.Add(goldBonus);
            GameObject gold = messageBox.transform.FindChild("GoldDisplay").gameObject;
            gold.GetComponent <TextMesh>().text = "+" + goldBonus;

            // Apply database
            foreach (GameObject go in activeMonster)
            {
                PlayerMonster.Get(go.GetComponent <Monster>().StorageIndex).exp =
                    go.GetComponent <Monster>().Exp;
            }

            List <GameObject> dropItem = new List <GameObject>();
            foreach (GameObject item in Reference.Asset.itemTemplate)
            {
                int rand = Random.Range(0, 100);

                if (rand <= item.GetComponent <Item>().DropWeight)
                {
                    PlayerItems.Add(item.name, 1);
                    dropItem.Add(item);
                }
            }

            int count = 0;
            foreach (GameObject go in dropItem)
            {
                GameObject item = (GameObject)Instantiate(go,
                                                          new Vector3(count, 0, 0),
                                                          Quaternion.identity);
                item.GetComponent <SpriteRenderer>().sortingOrder = 2;
                count++;
            }

            switch (defeatedEnemy)
            {
            case 0:
                if (PlayerField.Get(PlayerMonster.IndexEnemy) != FieldStatus.FIELD_3STAR &&
                    PlayerField.Get(PlayerMonster.IndexEnemy) != FieldStatus.FIELD_2STAR &&
                    PlayerField.Get(PlayerMonster.IndexEnemy) != FieldStatus.FIELD_1STAR)
                {
                    PlayerField.Add(PlayerMonster.IndexEnemy, FieldStatus.FIELD_FAILED);
                }
                break;

            case 1:
                if (PlayerField.Get(PlayerMonster.IndexEnemy) != FieldStatus.FIELD_3STAR &&
                    PlayerField.Get(PlayerMonster.IndexEnemy) != FieldStatus.FIELD_2STAR)
                {
                    PlayerField.Add(PlayerMonster.IndexEnemy, FieldStatus.FIELD_1STAR);
                }
                break;

            case 2:
                if (PlayerField.Get(PlayerMonster.IndexEnemy) != FieldStatus.FIELD_3STAR)
                {
                    PlayerField.Add(PlayerMonster.IndexEnemy, FieldStatus.FIELD_2STAR);
                }
                break;

            case 3:
                PlayerField.Add(PlayerMonster.IndexEnemy, FieldStatus.FIELD_3STAR);
                break;
            }

            messageBox.SetActive(true);
        }

        GameObject title = messageBox.transform.FindChild("TextHelper").gameObject;

        if (playerHealth > 0)
        {
            title.GetComponent <TextMesh>().text  = "Victory";
            title.GetComponent <TextMesh>().color = new Color(255, 226, 0);
        }
        else
        {
            title.GetComponent <TextMesh>().text  = "Defeated";
            title.GetComponent <TextMesh>().color = new Color(233, 0, 0);
        }
    }