示例#1
0
    public void NextLevel()
    {
        if (WeaponCanUseCount[WeaponTurn] != 0)
        {
            if (UnitNumber > 3)
            {
                SetEnemy(untTest, wepTest);

                LoadManger.StartLoading(2);
            }
            else
            {
                WeaponCanUseCount[WeaponTurn] -= 1;
                UnitsCanUseCout[UnitTurn]     -= 1;

                UnitBehevior UnitVar = Instantiate(UnitThis, transform);
                UnitVar.transform.position = Vector3.one * 1000;
                WeaponBehevior WeaponVar = Instantiate(WeaponThis, UnitVar.transform);
                WeaponVar.name = WeaponVar.data.name.Remove(0, 2) + " : " + Random.Range(0, 1001);
                WeaponVar.transform.localPosition = Vector3.zero + Vector3.up * 0.091f;
                WeaponVar.transform.localScale    = Vector3.one;
                WeaponVar.transform.eulerAngles   = Vector3.zero;
                UnitVar.Weapon           = WeaponVar;
                UnitConfirmd[UnitNumber] = UnitVar.gameObject;
                UnitNumber = UnitNumber + 1;
                GetComponent <AudioSource> ().Play();
                UnitVar.Enemy = false;
                Refresh();
            }
        }
    }
示例#2
0
    public void OpenMenu()
    {
        UnitsCanUse = G_UnitsCanUse;

        WeaponCanUse      = G_WeaponCanUse;
        WeaponCanUseCount = new List <int> ();
        for (int i = 0; i < WeaponCanUse.Length; i++)
        {
            WeaponCanUseCount.Add(Save.GetCoutInventory(WeaponCanUse[i].data.name, 1));
        }
        UnitsCanUse     = G_UnitsCanUse;
        UnitsCanUseCout = new List <int> ();
        for (int i = 0; i < UnitsCanUse.Length; i++)
        {
            UnitsCanUseCout.Add(Save.GetCoutInventory(UnitsCanUse[i].data.name, 2));
        }

        GameObject.DontDestroyOnLoad(this.gameObject);
        UnitThis = Instantiate(UnitsCanUse[UnitTurn], transform);
        UnitThis.transform.position = Vector3.one * 1000;

        WeaponThis = Instantiate(WeaponCanUse[WeaponTurn], transform);
        WeaponThis.transform.position = Vector3.one * 1000;
        Refresh();

        MissInit();
    }
示例#3
0
    public void OpenMenu(List <UnitData> _unitList, List <WeaponData> _weaponList)
    {
        transform.GetChild(0).gameObject.SetActive(true);

        UnitsCanUse       = new UnitBehevior[_unitList.Count];
        WeaponCanUse      = new WeaponBehevior[_weaponList.Count];
        WeaponCanUseCount = new List <int> ();

        for (int i = 0; i < _unitList.Count; i++)
        {
            WeaponCanUse[i]      = Instantiate(_emptyPrefabOfWeapon, Vector3.one * 1000, Quaternion.identity, transform);
            WeaponCanUse[i].data = _weaponList[i];
            WeaponCanUse[i].ChekDataMetod();
            WeaponCanUseCount.Add(99);
        }

        for (int i = 0; i < _unitList.Count; i++)
        {
            UnitsCanUse[i]      = Instantiate(_emptyPrefabOfUnit, Vector3.one * 1000, Quaternion.identity, transform);
            UnitsCanUse[i].data = _unitList[i];
            UnitsCanUse[i].ChekDataMetod();
        }

        DontDestroyOnLoad(gameObject);
        UnitThis   = Instantiate(UnitsCanUse[UnitTurn], transform);
        WeaponThis = Instantiate(WeaponCanUse[WeaponTurn], transform);

        Refresh();
    }
示例#4
0
    void LoadDataFromRes()
    {
        AllUnitsCanUse = new UnitBehevior[Resources.LoadAll <UnitData> ("UnitData").Length];

        int i = 0;

        foreach (UnitData n in Resources.LoadAll <UnitData> ("UnitData"))
        {
            AllUnitsCanUse[i]      = Instantiate(_emptyPrefabOfUnit, Vector3.one * 1000, Quaternion.identity, transform);
            AllUnitsCanUse[i].data = n;
            AllUnitsCanUse[i].ChekDataMetod();
            AllUnitsCanUse[i].name = AllUnitsCanUse[i].data.name.Remove(0, 2);
            i += 1;
        }

        AllWeaponCanUse = new WeaponBehevior[Resources.LoadAll <WeaponData> ("WeaponData").Length];

        i = 0;
        foreach (WeaponData n in Resources.LoadAll <WeaponData> ("WeaponData"))
        {
            AllWeaponCanUse[i]      = Instantiate(_emptyPrefabOfWeapon, Vector3.one * 1000, Quaternion.identity, transform);
            AllWeaponCanUse[i].data = n;
            AllWeaponCanUse[i].ChekDataMetod();
            AllWeaponCanUse[i].name = AllWeaponCanUse[i].data.name.Remove(0, 2);
            i += 1;
        }
    }
示例#5
0
    public void ShowRadiousAttack(int _DistanceOfAttack)
    {
        Vector3        UnitPosition = Manager.CorrectUnit.transform.position;
        WeaponBehevior UnitWeapon   = Manager.CorrectUnit.Weapon;

        CleatGrid();
        foreach (Vector2 n in MoveMentList)
        {
            GridOfArena[(int)n.x, (int)n.y].FireZone = false;
        }

        #region Walking type , create normales grid
        int x;
        int y;
        switch ((int)UnitWeapon.fireTypeThis)
        {
        case 0:
            NodeCoordinat(Manager.CorrectUnit.transform.position, out x, out y);
            for (var d = 0; d < 4; d++)
            {
                for (var i = 1; i <= _DistanceOfAttack; i++)
                {
                    var nodes = GridOfArena[x + i * MPAer(d, true), y + i * MPAer(d, false)];

                    if (nodes._Bloc != NodeA.TypeOfNode.Wall)
                    {
                        GridOfArena[nodes.x1, nodes.y1].FireZone = true;
                        MoveMentList.Add(new Vector2(nodes.x1, nodes.y1));
                        if (nodes.UnitOnNode != null && i > 1)
                        {
                            break;
                        }
                    }
                    else
                    {
                        break;
                    }
                }
            }
            break;

        case 1:
            break;
        }
        #endregion
        CreateNodeShow(Color.red);
    }
示例#6
0
    void GetWeapon()
    {
        WeaponThis = Instantiate(WeaponCanUse[WeaponTurn], transform);
        WeaponThis.transform.position = Vector3.one * 1000;

        WeaponText.text    = WeaponCanUse[WeaponTurn].name;
        WeaponImage.sprite = WeaponThis.data.ImageOFGun;
        AllText[4].text    = "Skill for this weapon:" + UnitThis.Skills[WeaponThis.TypeWeapon];
        AllText[5].text    = "Ammo:" + WeaponThis.MaxLoad;
        AllText[6].text    = "Damage:" + WeaponThis.Damage;
        AllText[7].text    = "Optimal Distance:" + WeaponThis.NormalDistance.ToString() + "\n" +
                             "Max Distance:" + WeaponThis.MaxDistance;
        AllText[8].text = "Weapon Cost:" + WeaponThis.WhatACost() + "\n" +
                          "кол-во:" + WeaponCanUseCount[WeaponTurn];
        AllText[12].text     = "weapon fire:" + WeaponThis.fireTypeThis;
        AllText[10].text     = "Unit and Weapon Cost:" + (UnitThis.WhatACost() + WeaponThis.WhatACost());
        WeaponRareType.color = GetRareColor((int)WeaponThis.data.rareType);
    }
示例#7
0
    public void SetEnemy(List <UnitData> unitlist, List <WeaponData> weaponlist)
    {
        for (int i = 0; i < unitlist.Count; i++)
        {
            UnitBehevior UnitVar = Instantiate(UnitThis, transform);
            UnitVar.transform.position = Vector3.one * 1000;
            WeaponBehevior WeaponVar = Instantiate(WeaponThis, UnitVar.transform);
            WeaponVar.name = WeaponVar.data.name.Remove(0, 2) + " : " + Random.Range(0, 1001);
            WeaponVar.transform.localPosition = Vector3.zero + Vector3.up * 0.091f;
            WeaponVar.transform.localScale    = Vector3.one;
            WeaponVar.transform.eulerAngles   = Vector3.zero;
            UnitVar.Weapon = WeaponVar;

            UnitVar.data = unitlist[i];
            UnitVar.ChekDataMetod();

            WeaponVar.data = weaponlist[i];
            WeaponVar.ChekDataMetod();

            UnitVar.Enemy            = true;
            UnitConfirmd[UnitNumber] = UnitVar.gameObject;
            UnitNumber = UnitNumber + 1;
        }
    }