private void Awake()
    {
        if (Instance == null)
        {
            Instance = this;

            //Initialize all variable values////////////////////////

            //Dash ability
            dashCount    = 2;
            dashTemp     = dashCount;
            dashCooldown = 0;

            //Rapid Fire Ability
            rapidFireCount    = 3;
            rapidFireTemp     = rapidFireCount;
            rapidFireCooldown = 0;

            DontDestroyOnLoad(gameObject);
        }
        else
        {
            Destroy(gameObject);
        }
    }
Beispiel #2
0
    // Start is called before the first frame update
    void Start()
    {
        parentScript = GetComponent <PlayerScript>();

        abilityManager = GameObject.Find("VariableManager");

        if (abilityManager)
        {
            _VariableManager = abilityManager.GetComponent <_VariableManager>();
        }
        else
        {
            Debug.Log("Ability Manager Not Found");
        }
    }
Beispiel #3
0
    private void Awake()
    {
        if (Instance == null)
        {
            Instance = this;

            //Initialize all variable values////////////////////////

            //Dash ability
            dashCount = 0;

            DontDestroyOnLoad(gameObject);
        }
        else
        {
            Destroy(gameObject);
        }
    }
    // Start is called before the first frame update
    void Start()
    {
        parentScript = GetComponent <PlayerScript>();

        abilityManager = GameObject.Find("VariableManager");

        if (abilityManager)
        {
            _VariableManager = abilityManager.GetComponent <_VariableManager>();
        }

        //Dash Icon
        dashIcon = GameObject.Find("DashIcon");
        maskDash = dashIcon.GetComponent <MaskScript>();
        dashText = GameObject.Find("DashText").GetComponent <Text>();

        //Rapid Fire Icon
        rapidFire     = false;
        rapidFireIcon = GameObject.Find("RapidFireIcon");
        maskRapidFire = rapidFireIcon.GetComponent <MaskScript>();
        rapidFireText = GameObject.Find("RapidFireText").GetComponent <Text>();
    }
    // Update is called once per frame
    void Update()
    {
        if (!abilityManager)
        {
            abilityManager = GameObject.Find("VariableManager");

            if (abilityManager)
            {
                _VariableManager = abilityManager.GetComponent <_VariableManager>();
                Debug.Log("Ability Manager Found");
            }
        }
        else
        {
            //Dash Ability/////////////////////////////////////////////////////////////////////
            dashText.text = _VariableManager.dashTemp.ToString();

            //Mask
            maskDash.xVal = _VariableManager.dashCooldown * 70;

            if (maskDash.xVal > 70 && _VariableManager.dashTemp < _VariableManager.dashCount)
            {
                maskDash.xVal = 70;
                _VariableManager.dashTemp++;

                if (_VariableManager.dashTemp < _VariableManager.dashCount)
                {
                    _VariableManager.dashCooldown = 0;
                }
                else
                {
                    _VariableManager.dashCooldown = 1;
                }
            }

            if (parentScript.dash)
            {
                tempDash++;
                parentScript.moveSpeed = ((newSpeed - initialSpeed) * (1 - (tempDash / dashTime))) + initialSpeed;

                Instantiate(dashEffect, transform.position + new Vector3(0, -0.2f, 0), Quaternion.identity);

                if (tempDash >= dashTime)
                {
                    tempDash                = 0;
                    parentScript.dash       = false;
                    parentScript.moveSpeed  = initialSpeed;
                    parentScript.invincible = false;
                    parentScript.movement.x = Input.GetAxisRaw("Horizontal"); //Input for x movement
                    parentScript.movement.y = Input.GetAxisRaw("Vertical");   //Input for y movement
                }

                //Dash Queue
                if (Input.GetKeyDown("space"))
                {
                    earlyQueue = true;
                }
            }

            xMov = parentScript.movement.x;
            yMov = parentScript.movement.y;

            //Dash Mechanism
            if (((Input.GetKeyDown("space") || dashQueued) && !parentScript.dash) && _VariableManager.dashTemp > 0 && (xMov != 0 || yMov != 0))
            {
                _VariableManager.dashTemp--;
                _VariableManager.dashCooldown = 0;

                dashQueued = false;

                //Get player's current velocity
                initialSpeed = parentScript.moveSpeed;

                //Stop player
                parentScript.dash = true;

                //Set player velocity
                parentScript.movement.x = xMov;
                parentScript.movement.y = yMov;
                parentScript.moveSpeed *= 6;
                newSpeed = parentScript.moveSpeed;
                parentScript.invincible = true;
            }

            if (earlyQueue)
            {
                earlyQueue = false;
                dashQueued = true;
            }

            //Rapid Fire Ability/////////////////////////////////////////////////////////////////////
            rapidFireText.text = _VariableManager.rapidFireTemp.ToString();

            //Mask
            maskRapidFire.xVal = _VariableManager.rapidFireCooldown * 70;

            if (maskRapidFire.xVal > 70 && _VariableManager.rapidFireTemp < _VariableManager.rapidFireCount)
            {
                maskRapidFire.xVal = 70;
                _VariableManager.rapidFireTemp++;

                if (_VariableManager.rapidFireTemp < _VariableManager.rapidFireCount)
                {
                    _VariableManager.rapidFireCooldown = 0;
                }
                else
                {
                    _VariableManager.rapidFireCooldown = 1;
                }
            }

            if (rapidFire)
            {
                GunScript weapon = parentScript.weapon.GetComponent <GunScript>();

                tempRapidFire++;

                if (tempRapidFire >= rapidFireTime)
                {
                    tempRapidFire = 0;
                    rapidFire     = false;

                    //Reset Fire Rate

                    weapon.automaticDelay   = weapon.initialDelay;
                    weapon.automaticAssault = weapon.initialAutomaticAssault;
                }
                else
                {
                    weapon.automaticDelay   = weapon.initialDelay / 2;
                    weapon.automaticAssault = true;
                }
            }

            xMov = parentScript.movement.x;
            yMov = parentScript.movement.y;

            //Dash Mechanism
            if ((Input.GetKeyDown("q") && !rapidFire) && _VariableManager.rapidFireTemp > 0)
            {
                Debug.Log("Rapid Fire Activated!");

                _VariableManager.rapidFireTemp--;
                _VariableManager.rapidFireCooldown = 0;

                //Start Rapid Fire
                rapidFire = true;
            }
        }
    }
Beispiel #6
0
    // Update is called once per frame
    void Update()
    {
        if (!abilityManager)
        {
            abilityManager = GameObject.Find("VariableManager");

            if (abilityManager)
            {
                _VariableManager = abilityManager.GetComponent <_VariableManager>();
                Debug.Log("Ability Manager Found");
            }
        }
        else
        {
            if (_VariableManager.dashCooldown < _VariableManager.dashCount)
            {
                _VariableManager.dashCooldown++;
            }

            if (parentScript.dash)
            {
                tempDash++;
                parentScript.moveSpeed = ((newSpeed - initialSpeed) * (1 - (tempDash / dashTime))) + initialSpeed;

                Instantiate(dashEffect, transform.position + new Vector3(0, -0.2f, 0), Quaternion.identity);

                if (tempDash >= dashTime)
                {
                    tempDash                = 0;
                    parentScript.dash       = false;
                    parentScript.moveSpeed  = initialSpeed;
                    parentScript.invincible = false;
                    parentScript.movement.x = Input.GetAxisRaw("Horizontal"); //Input for x movement
                    parentScript.movement.y = Input.GetAxisRaw("Vertical");   //Input for y movement
                }

                //Dash Queue
                if (Input.GetKeyDown("space"))
                {
                    earlyQueue = true;
                }
            }

            //Dash Mechanism
            if ((Input.GetKeyDown("space") || dashQueued) && !parentScript.dash)
            {
                dashQueued = false;

                //Get player's current velocity
                float xMov = parentScript.movement.x;
                float yMov = parentScript.movement.y;

                initialSpeed = parentScript.moveSpeed;

                //Stop player
                if (xMov != 0 || yMov != 0)
                {
                    parentScript.dash = true;

                    //Set player velocity
                    parentScript.movement.x = xMov;
                    parentScript.movement.y = yMov;
                    parentScript.moveSpeed *= 6;
                    newSpeed = parentScript.moveSpeed;
                    parentScript.invincible = true;
                }
            }

            if (earlyQueue)
            {
                earlyQueue = false;
                dashQueued = true;
            }
        }
    }