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); } }
// 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"); } }
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; } } }
// 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; } } }