public override void FixedUpdate() { base.FixedUpdate(); if (shieldState == ShieldState.DReflect) { if (shieldTime >= this.shieldDecay) { shieldState = ShieldState.Standard; } } else if (shieldState == ShieldState.Standard) { if (!pressed) { shieldState = ShieldState.None; } } else if (shieldState == ShieldState.OmniReflect) { if (shieldTime >= this.shieldDecay) { shieldState = ShieldState.None; } } shieldTime += Time.fixedDeltaTime; }
void ShieldHandle() { if (shield <= maxShield && shield >= 0.667 * maxShield) { shieldSprite.GetComponent <SpriteRenderer>().sprite = GameAssets.i.shield3; state = ShieldState.power3; } else if (shield <= 0.667 * maxShield && shield >= 0.333 * maxShield) { shieldSprite.GetComponent <SpriteRenderer>().sprite = GameAssets.i.shield2; state = ShieldState.power2; } else if (shield <= 0.333 * maxShield && shield > 0) { shieldSprite.GetComponent <SpriteRenderer>().sprite = GameAssets.i.shield1; state = ShieldState.power1; } else { shield = 0; shieldSprite.GetComponent <SpriteRenderer>().sprite = null; state = ShieldState.disabled; } shieldSprite.transform.position = transform.position; if (Mathf.Abs(shield - finalShield) > 0.5f) { shield -= Time.deltaTime * (shield - finalShield) * 10f; } shieldBar.fillAmount = shield / maxShield; }
public void onHit(float damage) { if (ship.alive) { if (game.minigame.active) game.minigame.abort(); if (damage < shieldVal) { shieldVal -= damage; } else if (shieldVal == 0) { hpVal -= damage; } else { damage -= shieldVal; shieldVal = 0; hpVal -= damage; } shieldState = ShieldState.idle; shieldIdleTime = 3; if (hpVal <= 0) { ship.onDeath(); //reset(); } } }
public override void GetPose(EnemyHuman human, PlayerState pose) { Sheathed = true; pose.LeftArm = ArmState.Angular(5); pose.RightArm = ArmState.Angular(5); pose.Shield = ShieldState.KatanaSheath(MathHelper.ToRadians(-20)); }
void OnCollisionEnter(Collision collision) { if (collision.gameObject.tag == "bulletPlayer") { currentState = ShieldState.Dead; } }
private void Start() { GetBalaIndex(); GetRigidBody().drag = GetPlayerDeceleration(); life = 1; score = 0; SetCanShoot(true); damageable = true; matchController = FindObjectOfType <MatchController>(); //matchController.AddPlayer(this); spawnPoint = matchController.GetSpawnPoint(this); teamId = 5; movementSM = new StateMachine(); groundedState = new GroundedState(this, movementSM); shootingState = new ShootingState(this, movementSM); shieldState = new ShieldState(this, movementSM); deadState = new DeadState(this, movementSM); stunState = new StunState(this, movementSM); feederState = new FeederState(this, movementSM); movementSM.Initialize(shootingState); }
public override void GetPose(PlayerState basePose) { basePose.Body = !Human.InAir ? BodyState.Stand : BodyState.Walk(1); Katana.Sheathed = false; basePose.Shield = ShieldState.KatanaSheathEmpty(MathHelper.ToRadians(-20)); basePose.WeaponHold = WeaponHold.Left; switch (SlashAction) { default: case (SwingAction.StartSwing): basePose.LeftArm = ArmState.Angular(10); basePose.Weapon = Weapon.GetWeaponState(Human, MathHelper.ToRadians(-135.5f)); break; case (SwingAction.UpSwing): basePose.LeftArm = ArmState.Angular(13); basePose.Weapon = Weapon.GetWeaponState(Human, MathHelper.ToRadians(-45)); break; case (SwingAction.DownSwing): basePose.Body = BodyState.Crouch(1); basePose.LeftArm = ArmState.Angular(1); basePose.Weapon = Weapon.GetWeaponState(Human, MathHelper.ToRadians(22.5f)); break; case (SwingAction.FinishSwing): basePose.LeftArm = ArmState.Angular(ArmAngle); basePose.Weapon = Weapon.GetWeaponState(Human, MathHelper.ToRadians(Angle)); break; } }
void Update() { switch (this.state) { case ShieldState.ACTIVE: this.shieldHealthFloat += this.regenAmount * Time.deltaTime; if (this.shieldHealthFloat > this.type.Health) { this.shieldHealthFloat = this.type.Health; } this.color.a = this.shieldHealthFloat / this.type.Health; this.renderer.color = this.color; break; case ShieldState.REGENERATING: this.shieldHealthFloat += this.regenAmount * Time.deltaTime; if (this.shieldHealthFloat > this.type.Health) { this.shieldHealthFloat = this.type.Health; this.collider.enabled = true; this.renderer.enabled = true; this.state = ShieldState.ACTIVE; } break; } }
public void Disable() { this.collider.enabled = false; this.renderer.enabled = false; this.state = ShieldState.INACTIVE; this.gameObject.SetActive(false); }
public override void InitializeMoveStates() { // Initializes Free Move State, sets starting move state to player.freeMoveState, initializes Attack State freeMoveState = new KnightFreeMoveState(this); currentMovementState = freeMoveState; attackState = new AttackState(this); shieldState = new ShieldState(this); }
internal ShieldStateEvent InvokeEvent(ShieldStateEvent arg) { if (_api.ValidateEvent(arg)) { ShieldState?.Invoke(_api, arg); } return(arg); }
private void ApplyShieldState(ShieldState shieldState) { _tracker.Modify(shieldState.Timestamp, ship => { // If shield state was unknown before (i.e. null) we know it now ship.ShieldsUp = shieldState.ShieldsUp; }); }
public MoonShield(uint id, ContentManager content, Vector2 position) : base(id) { _spriteSheet = content.Load<Texture2D>(SPRITESHEET); _position = position; _state = ShieldState.s1; _timer = 0; this.Health = 700; }
//Performs Shield ability //NOTE: Also need to pass in bool if that's how I'm gonna handle animationss public void Shield(ref PlayerState playerState) { switch (shieldState) { case ShieldState.Setup: //Activate shield collider here playerFaceDirection = orientationSystem.DetermineDirectionFromVector(moveInfo.GetLastMove()); ActivateCorrespondingCollider(playerFaceDirection); //Debug.Log (playerFaceDirection); //Play animation animator.Play("Shield State"); shieldState = ShieldState.Shielding; break; case ShieldState.Shielding: //NOTE: if strafing, play strafe animation Strafe(); //If player is shielding, stay in this state; else, exit state if (isShielding()) { //Stay in this state } else { DeactivateCorrespondingCollider(playerFaceDirection); shieldState = ShieldState.Setup; playerState = PlayerState.Default; return; } //Check for Grab, Dodge, or (maybe) Jump inputs //Grab if (Input.GetButtonDown("AttackPS4")) { //shieldColliderUp.enabled = false; //Switch to grab state } else if (Input.GetButtonDown("SprintPS4")) { //Check if there's any movement if (playerMoving) { //Switch to DodgeRoll state DeactivateCorrespondingCollider(playerFaceDirection); shieldState = ShieldState.Setup; playerState = PlayerState.DodgeRolling; } } break; } } //Shield
public void ResetState(ref PlayerState playerState) { //Deactivate collider DeactivateCorrespondingCollider(playerFaceDirection); playerMoving = false; moveDirection = Vector2.zero; shieldState = ShieldState.Setup; playerState = PlayerState.Default; }
// Update is called once per frame void Update() { Vector3 fwd = transform.TransformDirection(Vector3.forward); Vector3 leftCast = transform.TransformDirection(Vector3.left); Vector3 rightCast = transform.TransformDirection(Vector3.right); ColorChange(); switch (currentState) { case ShieldState.MoveRandom: a = target - transform.position; if (transform.position == currentNode.transform.position) { RandomMove(); } if (playerTarget.GetComponent <PlayerScript> ().fired == true) { currentState = ShieldState.MoveToPlayer; Debug.Log(currentState); } if ((Physics.Raycast(leftFoward.transform.position, fwd, out hit, detectDistance) || Physics.Raycast(rightFoward.transform.position, fwd, out hit, detectDistance)) && hit.transform.CompareTag("Player")) { currentState = ShieldState.MoveToPlayer; Debug.Log(currentState); } transform.rotation = Quaternion.LookRotation(Vector3.RotateTowards(transform.forward, a, speed * Time.deltaTime, 0.0f)); transform.eulerAngles = new Vector3(0, transform.eulerAngles.y, 0); break; case ShieldState.MoveToPlayer: a = playerTarget.transform.position; if (transform.position == currentNode.transform.position) { TargetMove(); } transform.LookAt(playerTarget.transform.position); transform.eulerAngles = new Vector3(0, transform.eulerAngles.y, 0); break; case ShieldState.Dead: { speed = 0; dead = true; } break; default: break; } transform.position = Vector3.MoveTowards(transform.position, currentNode.transform.position, speed * Time.deltaTime); }
/// <summary> /// Hit by bullet (should only be triggered when active) /// </summary> /// <param name="sender">the bullet that hit this shield</param> /// <param name="e">the arguments describing the event</param> private void TakeHit(object sender, BulletHitEventArgs e) { if (e.HitCollider == this.collider && state == ShieldState.ACTIVE) { this.shieldHealthFloat -= e.ShotDamage; if (this.shieldHealthFloat <= 0f) { this.shieldHealthFloat = 0f; this.state = ShieldState.REGENERATING; this.collider.enabled = false; this.renderer.enabled = false; } } }
private IEnumerator ShieldRoutine(bool cast, Action callback) { shieldState = ShieldState.Transitioning; float elapsed = 0; while (elapsed < ShieldTime) { elapsed += Time.deltaTime; var pct = elapsed / ShieldTime; material.SetFloat("_PercentOn", Mathf.Clamp01(cast ? 1 - pct : pct)); yield return(null); } shieldState = cast ? ShieldState.Casted : ShieldState.Dropped; callback.Invoke(); }
public void Activate(ShieldType type) { this.type = type; if (this.type == ShieldTypes.None) { this.Disable(); } else { this.shieldHealthFloat = this.type.Health; this.regenAmount = this.type.Regen; this.state = ShieldState.ACTIVE; } }
public void ReleaseShield() { Vector3 rayOrigin = playerView.PlayerCameraHandler.PlayerCamera.ViewportToWorldPoint(new Vector3(0.5f, 0.5f, 0)); RaycastHit hit; Vector3 hitPoint = Vector3.zero; Debug.DrawRay(rayOrigin, playerView.PlayerCameraHandler.CameraTransform.forward, Color.red, 5); if (Physics.Raycast(rayOrigin, playerView.PlayerCameraHandler.CameraTransform.forward, out hit, Mathf.Infinity)) { hitPoint = hit.point; } shieldView.ShieldMovementHandler.ReleaseShield(hit.point); shieldEquippedState = ShieldState.Free; }
// Use this for initialization void Start() { shieldState = ShieldState.Setup; playerMoving = false; moveDirection = Vector2.zero; playerBody = GetComponent <Rigidbody2D> (); animator = GetComponent <Animator> (); orientationSystem = GetComponent <OrientationSystem> (); moveInfo = GetComponent <AbilityBasicMovement> (); shieldColliderUp = GameObject.Find("Shield Collider Up").GetComponent <PolygonCollider2D> (); shieldColliderDown = GameObject.Find("Shield Collider Down").GetComponent <PolygonCollider2D> (); shieldColliderRight = GameObject.Find("Shield Collider Right").GetComponent <PolygonCollider2D> (); shieldColliderLeft = GameObject.Find("Shield Collider Left").GetComponent <PolygonCollider2D> (); shieldColliderUp.enabled = false; shieldColliderDown.enabled = false; shieldColliderRight.enabled = false; shieldColliderLeft.enabled = false; }
public override void FixedUpdate() { base.FixedUpdate (); if (shieldState == ShieldState.DReflect) { if(shieldTime >= this.shieldDecay) { shieldState = ShieldState.Standard; } } else if(shieldState == ShieldState.Standard) { if(!pressed) { shieldState = ShieldState.None; } } else if(shieldState == ShieldState.OmniReflect) { if(shieldTime >= this.shieldDecay) { shieldState = ShieldState.None; } } shieldTime += Time.fixedDeltaTime; }
/** * Sets the shield's state * * t_State : the state that the shield will be set as */ private void SetState(ShieldState t_State) { m_State = t_State; m_InHand = false; m_Collider.enabled = true; switch (t_State) { // orphans the shield from player's hand case ShieldState.thrown: gameObject.transform.parent = null; break; // Sets position to fly back case ShieldState.recalled: m_ReturnTime = 0; m_RigidBody.isKinematic = true; m_PullPosition = transform.position; break; // Places shield at player's hand case ShieldState.equipped: m_InHand = true; gameObject.transform.parent = m_Hand; m_RigidBody.isKinematic = true; transform.localPosition = Vector3.zero; transform.localEulerAngles = Vector3.zero; m_Collider.enabled = false; break; case ShieldState.stuck: m_RigidBody.isKinematic = true; break; default: break; } }
public void SetState(ShieldState state) { _state = state; switch (_state) { case ShieldState.green: break; case ShieldState.yellow: _animator.SetTrigger("greenBlink"); break; case ShieldState.red: _animator.SetTrigger("yellowBlink"); break; case ShieldState.none: _animator.SetTrigger("redBlink"); _spriteRenderer.enabled = false; break; } }
protected override void doReleasedAction() { shieldState = ShieldState.OmniReflect; shieldTime = 0f; }
protected override void doInitialAction() { shieldState = ShieldState.DReflect; shieldTime = 0f; }
public ShieldAction(Transform transform) : base(KeyCode.Mouse1) { shieldState = ShieldState.None; this.playertransform = transform; }
public override void Update(float elapsedTime) { _position.Y -= ScrollingShooterGame.LevelManager.CurrentMap.Layers[ScrollingShooterGame.LevelManager.CurrentMap.PlayerLayer].ScrollOffset * elapsedTime; _timer += elapsedTime; if (_timer >= STATE_TIME) { _timer = 0; switch (_state) { case ShieldState.s1: _state = ShieldState.s2; break; case ShieldState.s2: _state = ShieldState.s3; break; case ShieldState.s3: _state = ShieldState.s1; break; default: throw new Exception("Unknown state."); } } }
public void reset() { shieldMax = 100; shieldVal = 100; hpVal = 100; hpMax = 100; shieldIdleTime = 0; shieldState = ShieldState.max; }
public override void Update(GameTime gameTime) { if (!Utilities.softPaused && !Utilities.paused) { if (shieldState == ShieldState.idle) { shieldIdleTime -= Utilities.deltaTime; if (shieldIdleTime < 0) { shieldIdleTime = 0; shieldState = ShieldState.recharging; } } if (shieldState == ShieldState.recharging) { shieldVal += Utilities.deltaTime * 40; if (shieldVal >= shieldMax) { shieldVal = shieldMax; shieldState = ShieldState.max; } } } }
void Update() { if (!playerIndexSet || !prevState.IsConnected) { for (int k = 0; k < 4; k++) { PlayerIndex testPlayerIndex = (PlayerIndex)k; GamePadState testState = GamePad.GetState(testPlayerIndex); if (testState.IsConnected) { Debug.Log(string.Format("GamePad found {0}", testPlayerIndex)); playerIndex = testPlayerIndex; playerIndexSet = true; Debug.Log("Player One Index is: " + playerIndex); } } } prevState = state; state = GamePad.GetState(playerIndex); playerIndex = PlayerIndex.One; if (playerIndex == PlayerIndex.One) { float moveHorizontal = state.ThumbSticks.Left.X * P1Speed * Time.deltaTime; float moveVertical = state.ThumbSticks.Left.Y * P1Speed * Time.deltaTime; this.transform.Translate(new Vector3(moveHorizontal, moveVertical, 0f)); if (p1power == 0) { dash = true; } if (p1power == 1) { shield = true; } if (p1power == 2) { Shoot = true; } if (dash == true) { switch (dashState) { case DashState.Ready: var isDashKeyDown = prevState.Buttons.RightShoulder == ButtonState.Released && state.Buttons.RightShoulder == ButtonState.Pressed; if (isDashKeyDown) { P1savedSpeed = P1Speed; P1Speed = P1Speed + 400; DashIcon.SetActive(false); DashIconCharging.SetActive(true); dashState = DashState.Dashing; } break; case DashState.Dashing: dashTimer += Time.deltaTime * 3; if (dashTimer >= maxDash) { dashTimer = maxDash; P1Speed = P1savedSpeed; dashState = DashState.Cooldown; } break; case DashState.Cooldown: dashTimer -= Time.deltaTime; if (dashTimer <= 0) { dashTimer = 0; DashIcon.SetActive(true); DashIconCharging.SetActive(false); dashState = DashState.Ready; } break; } } if (shield == true) { switch (shieldState) { case ShieldState.Ready: var P1ShieldKeyDown = prevState.Buttons.RightShoulder == ButtonState.Released && state.Buttons.RightShoulder == ButtonState.Pressed; if (P1ShieldKeyDown) { P1Shield.SetActive(true); ShieldIcon.SetActive(false); ShieldIconCharging.SetActive(true); shieldState = ShieldState.Shielding; } break; case ShieldState.Shielding: shieldTimer += Time.deltaTime * 3; if (shieldTimer >= maxShield) { shieldTimer = maxShield; P1Shield.SetActive(false); shieldState = ShieldState.Cooldown; } break; case ShieldState.Cooldown: shieldTimer -= Time.deltaTime; if (shieldTimer <= 0) { shieldTimer = 0; ShieldIcon.SetActive(true); ShieldIconCharging.SetActive(false); shieldState = ShieldState.Ready; } break; } } if (Shoot == true) { switch (shootState) { case ShootState.Ready: var P1CloneKeyDown = prevState.Buttons.RightShoulder == ButtonState.Released && state.Buttons.RightShoulder == ButtonState.Pressed; if (P1CloneKeyDown) { BigShotIcon.SetActive(false); BigShotIconCharging.SetActive(true); Audio.PlayOneShot(Fireball); //instantiate the first bullet GameObject bullet01 = (GameObject)Instantiate(PlayerBulletGO, transform.position, Quaternion.identity); //bullet01.transform.position = bulletPosition01.transform.position; //set the bullet initial postion bullet01.GetComponent <PlayerBullet> ().xspeed = 15.0f; shootState = ShootState.Shooting; } break; case ShootState.Shooting: shootTimer += Time.deltaTime * 3; if (shootTimer >= maxShoot) { shootTimer = maxShoot; shootState = ShootState.Cooldown; } break; case ShootState.Cooldown: shootTimer -= Time.deltaTime; if (shootTimer <= 0) { shootTimer = 0; BigShotIcon.SetActive(true); BigShotIconCharging.SetActive(false); shootState = ShootState.Ready; } break; } } } }
public PedigreeExporter(IBaseWindow baseWin, GDMIndividualRecord root) : base(baseWin, false) { fRoot = root; fTitle = LangMan.LS(LSID.LSID_ExpPedigree) + ": " + GKUtils.GetNameString(fRoot, true, false); fShieldState = baseWin.Context.ShieldState; }
public void putToEnd() { solarFighter.GetComponent <Player_PlayerFighterObject>().setShieldBools(false, solorShieldType); state = ShieldState.onEnd; }
private void Start() { rigidBody.drag = playerDeceleration; life = maxLife; score = 0; canShoot = true; canShield = true; damageable = true; stunSlider.maxValue = stunTime; lifeText.text = "Vida: " + life; scoreText.GetComponent <TMPro.TextMeshProUGUI>().text = score + " pts"; hudManager = GetComponent <HUDmanager>(); GetBalaIndex(); if (PhotonNetwork.IsConnected && PV.IsMine) { canvas.SetActive(true); mainCamera.enabled = true; playerInput.enabled = true; mobileCharacter.enabled = true; audioListener.enabled = true; sAlas.Play(); } if (PhotonNetwork.IsConnected && PhotonNetwork.IsMasterClient) { matchController = FindObjectOfType <MatchController>(); matchController.AddPlayer(this); teamId = FindObjectOfType <RoomManager>().FindTeamIdByPlayer(PV.Owner); if (teamId == -1) { teamId = 0; Debug.Log("No se ha encontrado el teamId, se le ha añadido al equipo 0"); } PV.RPC("GetSpawnpoint_RPC", RpcTarget.All, teamId); } else if (!PhotonNetwork.IsConnected) { canvas.SetActive(true); mainCamera.enabled = true; playerInput.enabled = true; mobileCharacter.enabled = true; RoomManagerOffline RMO = FindObjectOfType <RoomManagerOffline>(); if (RMO.gamemodeIndex == 3) { teamId = 0; } else { teamId = RMO.jugadoresInfo[GetComponentInChildren <PlayerInput>().playerIndex + 1][1]; } if (playerInput.playerIndex == 0) { audioListener.enabled = true; } matchController = FindObjectOfType <MatchController>(); matchController.AddPlayer(this); spawnPoint = matchController.GetSpawnPoint(this); GetComponent <Transform>().position = spawnPoint.transform.position; hudManager.setBackground(); } movementSM = new StateMachine(); groundedState = new GroundedState(this, movementSM); shootingState = new ShootingState(this, movementSM); shieldState = new ShieldState(this, movementSM); deadState = new DeadState(this, movementSM); stunState = new StunState(this, movementSM); feederState = new FeederState(this, movementSM); movementSM.Initialize(groundedState); }
public void SetShieldStateToHeld() { shieldEquippedState = ShieldState.Held; }