コード例 #1
0
    public void Balance(List <Vector3> map, bool IgnoreBalanceIsZero = false)
    {
        var Balance = Level1_DB.UFOList.Count - map.Count;        //多(少)幾台

        //extra
        if (Balance > 0)
        {
            UFO.DestroyUFO(Balance);             //Destroy幾台
        }

        //lack
        if (Balance < 0)
        {
            UFO.InstantiateUFOs(Mathf.Abs(Balance));              //實例化UFO
        }

        //重設場上所有UFO座標
        if (!DB.start || !IgnoreBalanceIsZero)
        {
            for (int i = 0; i < map.Count; i++)
            {
                Level1_DB.UFOList [i].moveTo(1f, (Vector3)map [i], true, 0.1f);
            }
        }
    }
コード例 #2
0
    public override IEnumerator LevelManagement(params object[] args)
    {
        var map = (List <Vector3>)args [0];

        CT1.DisplaySliderBar();                          //更新難度條

        var Balance = map.Count;                         //多(少)幾台

        List <UFO> Group = UFO.InstantiateUFOs(Balance); //實例化UFO

        //重設場上所有UFO座標
        for (int i = 0; i < Group.Count; i++)
        {
            Group [i].moveTo(0.7f, map [i], true, 0.1f);
        }

        yield break;
    }
コード例 #3
0
    ///關卡設定
    public override IEnumerator LevelManagement(params object[] args)
    {
        //旋轉模式
        var mode = (int)args [0];

        //旋轉方向(順或逆)
        var dir = (int)args [1];

        //排列地圖
        var maps = (List <Vector3>)args [2];

        //更新難度條
        CT1.DisplaySliderBar();

        //創造旋轉群組
        Level1_RotationFix RotateGroup = CT1.CreateGroup();

        if (mode == 0)
        {
            RotateGroup.direction = dir;
        }

        //建置UFO位置
        UFO.UFO_group = RotateGroup.transform;

        var Balance = maps.Count;                 //多(少)幾台

        var Group = UFO.InstantiateUFOs(Balance); //實例化UFO

        //重設場上所有UFO座標
        for (int i = 0; i < Group.Count; i++)
        {
            Group [i].moveTo(0.7f, maps [i], true, 0.1f);
        }

        yield break;
    }