示例#1
0
    protected override void SetElements(GameObject spawn, string prefab, int indexType, int dir)
    {
        JSONWeapon[] weapons = HandleJSON.GetAllWeapons();
        if (weapons != null)
        {
            if (dir == 0)
            {
                Last(weapons, indexType, prefab, spawn);
            }
            else if (dir == -1)
            {
                Prev(weapons, indexType, prefab, spawn);
            }
            else
            {
                Next(weapons, indexType, prefab, spawn);
            }

            //for (int i = 0; i < weapons.Length; i++)
            //{
            //    if (purchasedOnly && weapons[i].purchased == 0)
            //        continue;
            //    if (!purchasedOnly && weapons[i].purchased == 1)
            //        continue;
            //    if (indexType != -1 && weapons[i].slot != indexType)
            //        continue;

            //    UIWeapon w = Instantiate<UIWeapon>(Resources.Load<UIWeapon>("UI/" + prefab), spawn.transform);
            //    w.SetItem(weapons[i]);
            //}
        }
    }
示例#2
0
    public void Equip(string item_name, int slot)
    {
        Debug.Log(slot);
        if (slot == 0)
        {
            // visually unequip old item
            int childCount = weaponHolder.childCount;
            if (childCount > 0)
            {
                Destroy(weaponHolder.GetChild(0).gameObject);
            }

            // visually equip new item
            GameObject w = Instantiate(Resources.Load <GameObject>("Weapons/" + item_name), weaponHolder);
            w.transform.localPosition = Vector3.zero;
            w.transform.rotation      = Quaternion.Euler(Vector3.zero);
        }

        // write item as unequipped
        HandleJSON.WriteWeaponUnequipped(slot);

        // write item as equipped
        HandleJSON.WriteWeaponEquipped(item_name, 1);

        RemoveState(index);

        //reload
        SetState(index, indexType);
    }
示例#3
0
    private void Victory()
    {
        victory.SetActive(true);
        points_victory.text = "Points: " + coins;

        JSONLevel l = HandleJSON.GetLevels()[0];

        if (coins > l.player_score)
        {
            JSONPlayer player = HandleJSON.GetPlayer();
            player.coins += coins - l.player_score;
            HandleJSON.WriteJsonPlayer(player);
            l.player_score = coins;
            HandleJSON.WriteJsonLevel(l);
        }

        if (coins >= l.gold)
        {
            trophy.text = "Gold";
        }
        else if (coins >= l.silver)
        {
            trophy.text = "Silver";
        }
        else if (coins >= l.bronze)
        {
            trophy.text = "Bronze";
        }
        else
        {
            trophy.text = "";
        }
    }
示例#4
0
    public void LoadLevel()
    {
        JSONPlayer p = HandleJSON.GetPlayer();

        p.current_level = level;
        p.is_endless    = 0;
        HandleJSON.WriteJsonPlayer(p);
        SceneManager.LoadScene("Scene_Main");
    }
示例#5
0
    private void Start()
    {
        if (manageStates.Length > 0)
        {
            index = 0;
            SetState(index, -1);
        }

        jSONPlayer     = HandleJSON.GetPlayer();
        coinsText.text = "Coins: " + jSONPlayer.coins;
    }
示例#6
0
    private void Start()
    {
        List <UIBar_Autorefill> b = new List <UIBar_Autorefill>();

        JSONWeapon[] weapons = HandleJSON.GetAllEquippedWeapons();
        playerSpell = new PlayerSpell[weapons.Length - 1];
        bool equippedWeapon = false;

        for (int i = 0; i < weapons.Length; i++)
        {
            if (weapons[i].slot == 0)
            {
                //equip weapon
                Transform w = Instantiate(Resources.Load <Transform>("Weapons/" + weapons[i].item_name), weaponHolder);
                w.localPosition = Vector3.zero;
                w.localRotation = Quaternion.Euler(Vector3.zero);
                equippedWeapon  = true;
            }
            else
            {
                //equip spell
                int index = i;
                if (equippedWeapon)
                {
                    index--;
                }
                playerSpell[index] = Resources.Load <PlayerSpell>("Spells/" + weapons[i].item_name);
            }
        }

        for (int i = 0; i < playerSpell.Length; i++)
        {
            playerSpell[i].motion.Init();
            playerSpell[i].spell.Initialise(this.gameObject);
            UIBar_Autorefill bar = Instantiate(spellPrefab, spellIconContainer);
            bar.GetComponent <Image>().sprite = playerSpell[i].icon;
            bar.SetRefillSpeed(playerSpell[i].spell.timeBetweenUse);
            b.Add(bar);
        }

        autorefills = b.ToArray();

        plane  = new Plane(Vector3.up, 0);
        health = GameObject.FindObjectOfType <Health_Player>();
        health.Init();
        health.InitHealth(100);
        UnitManager.instance.AddHealthPlayer(health);
    }
示例#7
0
 public void OpenLevelSelect()
 {
     levelSelectPanel.SetActive(true);
     menu.SetActive(false);
     if (prefabSpawn.childCount == 0)
     {
         JSONLevel[] levels = HandleJSON.GetLevels();
         for (int i = 0; i < levels.Length; i++)
         {
             if (levels[i].player_score < levels[i].bronze)
             {
                 break;
             }
             LevelSelectUIItem p = Instantiate <LevelSelectUIItem>(prefab, prefabSpawn);
             p.SetItem(levels[i].level_name, levels[i].GetTrophy(), levels[i].player_score);
         }
     }
 }
示例#8
0
    public void Purchase(string item_name, int price)
    {
        if (jSONPlayer.coins >= price)
        {
            jSONPlayer.coins -= price;
            coinsText.text    = jSONPlayer.coins.ToString();

            //write item as purchased
            HandleJSON.WriteWeaponPurchased(item_name, 1);

            //write json player
            HandleJSON.WriteJsonPlayer(jSONPlayer);

            RemoveState(index);

            //reload
            SetState(index, indexType);
        }
    }
示例#9
0
 public void NextLevel()
 {
     if (endless)
     {
         progress++;
         Setup();
     }
     else
     {
         int length = HandleJSON.GetLevels().Length;
         if (progress < length - 1)
         {
             JSONPlayer p = HandleJSON.GetPlayer();
             p.current_level = progress;
             HandleJSON.WriteJsonPlayer(p);
             progress++;
             Setup();
         }
         else
         {
             SceneManager.LoadScene("Scene_Main_Menu");
         }
     }
 }
示例#10
0
    void Setup()
    {
        if (!endless)
        {
            progress = HandleJSON.GetPlayer().current_level;
            JSONLevel[] levels = HandleJSON.GetLevels();
            if (progress > levels.Length)
            {
                progress = levels.Length - 1;
            }
            JSONWave[] jws      = levels[progress].waves;
            Wave[]     fromJSON = new Wave[jws.Length];
            for (int i = 0; i < jws.Length; i++)
            {
                fromJSON[i] = new Wave(jws[i]);
            }

            WaveManager wM = GetComponentInChildren <WaveManager>();
            wM.SetWaves(fromJSON);
        }
        else
        {
            Wave[] w = new Wave[progress];
            for (int i = 0; i < w.Length; i++)
            {
                int[] units = new int[progress];
                for (int x = 0; x < units.Length; x++)
                {
                    units[x] = Random.Range(0, 3);
                }
                w[i] = new Wave(units, Random.Range(2, 8), (progress % 10 == 0) ? 1 : 0);
            }
            WaveManager wM = GetComponentInChildren <WaveManager>();
            wM.SetWaves(w);
        }
    }
示例#11
0
 private void Start()
 {
     endless = HandleJSON.GetPlayer().is_endless == 1;
     Setup();
 }