コード例 #1
0
ファイル: SenpouController.cs プロジェクト: zeimoter/zeimoter
    // Update is called once per frame
    void Update()
    {
        if(senpouTyp == "DownEnemy"){
            if(!runflg){
                senpouEach -= Time.deltaTime;
                if(senpouEach <= 0){
                    //%
                    float percent = Random.value;
                    percent = percent * 100;

                    //if(0 <= senpouRatio){ //for test
                     if(percent <= senpouRatio){

                        //Do Senpou
                        DownEnemy dn = new DownEnemy();

                        if(senpouId == 1){
                            effectObj = dn.doSenpou1(gameObject, senpouId, senpouName, senpouStatus, senpouLv);
                        }
                        runflg = true;
                    }
                    //Initialization
                    senpouEach = senpouEachInit;
                }
            }else{
                //Count Down
                senpouTerm -= Time.deltaTime;
                if(senpouTerm <= 0){
                    //Destroy
                    Destroy(effectObj);

                    //Flag Change
                    runflg = false;
                    senpouTerm = senpouTermInit;
                }
            }
        //mijissou
        }else if(senpouTyp == "DownPlayer"){

        }else if(senpouTyp == "UpEnemy"){

        }else if(senpouTyp == "UpPlayer"){

        }
    }
コード例 #2
0
    // Update is called once per frame
    void Update()
    {
        if (!runflg)
        {
            senpouEach -= Time.deltaTime;
            if (senpouEach <= 0)
            {
                //%
                float percent = Random.value;
                percent = percent * 100;

                if (percent <= senpouRatio)
                {
                    //Do Senpou
                    if (senpouTyp == "DownEnemy")
                    {
                        DownEnemy dn = new DownEnemy();
                        makeSenpouMessage(int.Parse(name));

                        effectObj = dn.doSenpou(gameObject, senpouId, senpouName, senpouStatus, senpouLv);
                    }
                    else if (senpouTyp == "UpPlayer")
                    {
                        UpPlayer up = new UpPlayer();
                        makeSenpouMessage(int.Parse(name));

                        effectObj = up.doSenpou(gameObject, senpouId, senpouStatus, initCoolTime, initDisTarget);
                        if (8 <= senpouId && senpouId <= 13)
                        {
                            needStatusRecoveryFlg = true;
                        }
                    }
                    else if (senpouTyp == "Create")
                    {
                        CreateSenpou cs       = new CreateSenpou();
                        bool         existFlg = false;
                        foreach (Transform obj in gameObject.transform)
                        {
                            if (obj.GetComponent <Heisyu>())
                            {
                                if (obj.GetComponent <Heisyu>().heisyu == "saku")
                                {
                                    existFlg = true;
                                }
                            }
                        }
                        if (!existFlg)
                        {
                            makeSenpouMessage(int.Parse(name));
                            float hp        = 0;
                            bool  playerFlg = false;
                            if (GetComponent <PlayerHP>())
                            {
                                hp        = GetComponent <PlayerHP>().initLife;
                                playerFlg = true;
                            }
                            else if (GetComponent <EnemyHP>())
                            {
                                hp = GetComponent <EnemyHP>().initLife;
                            }
                            float calculatedHp = (hp * senpouStatus / 100);

                            effectObj = cs.doSenpou(gameObject, senpouId, calculatedHp, playerFlg);
                        }
                    }

                    runflg = true;
                }
                //Initialization
                senpouEach = senpouEachInit;
            }
        }
        else
        {
            //Count Down
            senpouTerm -= Time.deltaTime;
            if (senpouTerm <= 0)
            {
                //Recovery Status
                if (needStatusRecoveryFlg)
                {
                    if (GetComponent <Heisyu> ().heisyu == "YM" || GetComponent <Heisyu> ().heisyu == "TP")
                    {
                        GetComponent <AttackLong> ().coolTime = initCoolTime;
                        if (GetComponent <UnitMover> ())
                        {
                            GetComponent <UnitMover> ().DisTarget = initDisTarget;
                        }
                        else
                        {
                            GetComponent <HomingLong> ().DisTarget = initDisTarget;
                        }
                    }
                }

                //Destroy
                if (senpouTyp != "Create")
                {
                    Destroy(effectObj);
                }

                //Flag Change
                runflg     = false;
                senpouTerm = senpouTermInit;
            }
        }
    }