// Update is called once per frame void Update() { this.moveTranslation = new Vector3(this.directionOfTravel.x, this.directionOfTravel.y) * this.GetComponent <SpriteRenderer>().bounds.size.x; this.transform.position += new Vector3(this.moveTranslation.x, this.moveTranslation.y) * Time.deltaTime * fixedSpeed; if (directionOfTravel != Vector2.zero) // only updates previous direction of travle when player moves { previousDirectionOfTravel = directionOfTravel; // sets our previous Direction of travel equal to our latest non 0,0 direction of travel. } if (currentRollState == rollStates.ROLLING) // Kinda neat functionality, I just don't like how this looks, help me out Jeff? { Vector2 endMarker = this.transform.position + new Vector3(previousDirectionOfTravel.x, previousDirectionOfTravel.y); transform.position = Vector3.Lerp(this.transform.position, endMarker, .5f); rollTime -= Time.deltaTime; if (rollTime <= 0) { currentRollState = rollStates.ROLLCOOLDOWN; rollCoolDown = setRollCooldown; } } if (currentRollState == rollStates.ROLLCOOLDOWN) { rollCoolDown -= Time.deltaTime; if (rollCoolDown <= 0) { currentRollState = rollStates.CANROLL; } } primaryWeapon.transform.position = new Vector3(this.transform.position.x, this.transform.position.y, -1); }
public void Roll() { if (currentRollState == rollStates.CANROLL) { rollTime = setHowLongTheRollTakes; //0.05f; distanceOfRoll = .025f; // TESTING ONLY, these will be rid of in favor of a designer friendly inspector public variable. currentRollState = rollStates.ROLLING; } }
// Use this for initialization void Start() { primaryWeapon = Instantiate(primaryWeapon); primaryWeapon.GetComponent <SpriteRenderer>().enabled = false; backupCQC = Instantiate(backupCQC); backupCQC.GetComponent <SpriteRenderer>().enabled = false; // need to find a new home for these, maybe in the game manager somewhere. previousDirectionOfTravel = new Vector2(0, 1); currentRollState = rollStates.CANROLL; status = lifeState.OK; }