Ejemplo n.º 1
0
    public void FAttemptFire(PC_Cont rPC, Vector3 vShotPoint)
    {
        if (mState == STATE.COOLING_DOWN)
        {
            return;
        }
        if (Time.time - mData.mGunD.mLastFireTmStmp > mData.mGunD._fireInterval)
        {
            mData.mGunD.mLastFireTmStmp = Time.time;

            PJ_EN_Plasmoid rPlasmoid = Instantiate(PF_Plasmoid, vShotPoint, transform.rotation);
            Vector3        vDir      = rPC.transform.position - vShotPoint;
            vDir = Vector3.Normalize(vDir);
            rPlasmoid.cRigid.velocity = vDir * rPlasmoid.mProjD._spd;

            mData.mPlasmaD.mHeat += mData.mPlasmaD._heatPerShot;
        }
    }
Ejemplo n.º 2
0
    void RUN_FiringState()
    {
        if (Time.time - mGunD.mLastFireTmStmp > mGunD._fireInterval)
        {
            mGunD.mLastFireTmStmp = Time.time;

            PJ_EN_Plasmoid rPlasmoid = Instantiate(PF_Plasmoid, transform.position, transform.rotation);
            rPlasmoid.GetComponent <PJ_Base>().FShootAt(rPC.transform.position, transform.position, gameObject);

            mPlasmaD.mHeat += mPlasmaD._heatPerShot;
        }

        if (mPlasmaD.mHeat >= 100f)
        {
            mState = STATE.COOLING_DOWN;
            mPlasmaD.mOverheatTmStmp = Time.time;
            Debug.Log("Weapon Overheated, cooling down");
        }
    }