public override int GetHashCode()
        {
            int hash = 1;

            if (combatMoveCase_ == CombatMoveOneofCase.PlayerAttack)
            {
                hash ^= PlayerAttack.GetHashCode();
            }
            if (combatMoveCase_ == CombatMoveOneofCase.PlayerDefend)
            {
                hash ^= PlayerDefend.GetHashCode();
            }
            if (combatMoveCase_ == CombatMoveOneofCase.PlayerAutoAdvance)
            {
                hash ^= PlayerAutoAdvance.GetHashCode();
            }
            if (EnemyActionTimeline.Length != 0)
            {
                hash ^= EnemyActionTimeline.GetHashCode();
            }
            if (PlayerSucceedTimeline.Length != 0)
            {
                hash ^= PlayerSucceedTimeline.GetHashCode();
            }
            if (PlayerFailedTimeline.Length != 0)
            {
                hash ^= PlayerFailedTimeline.GetHashCode();
            }
            hash ^= (int)combatMoveCase_;
            if (_unknownFields != null)
            {
                hash ^= _unknownFields.GetHashCode();
            }
            return(hash);
        }
Ejemplo n.º 2
0
        public void MergeFrom(CombatMoveType other)
        {
            if (other == null)
            {
                return;
            }
            switch (other.CombatMoveCase)
            {
            case CombatMoveOneofCase.PlayerAttack:
                if (PlayerAttack == null)
                {
                    PlayerAttack = new global::WUProtos.Data.Combat.CombatPlayerAttack();
                }
                PlayerAttack.MergeFrom(other.PlayerAttack);
                break;

            case CombatMoveOneofCase.PlayerDefend:
                if (PlayerDefend == null)
                {
                    PlayerDefend = new global::WUProtos.Data.Combat.CombatPlayerDefend();
                }
                PlayerDefend.MergeFrom(other.PlayerDefend);
                break;

            case CombatMoveOneofCase.PlayerAutoAdvance:
                if (PlayerAutoAdvance == null)
                {
                    PlayerAutoAdvance = new global::WUProtos.Data.Combat.CombatPlayerAutoAdvance();
                }
                PlayerAutoAdvance.MergeFrom(other.PlayerAutoAdvance);
                break;
            }

            _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
        }
Ejemplo n.º 3
0
    void onPlayerDefend(PlayerDefend e)
    {
        Vector2 actualSize = StaminaBar.sizeDelta;

        actualSize.x         = e.Stamina * m_StaminaBarSize / 100;
        StaminaBar.sizeDelta = actualSize;
    }
Ejemplo n.º 4
0
    public void ResetComboValidated()
    {
        m_ComboValidated = false;
        _anim.SetBool("ComboValidated", false);
        m_Stamina -= Weapon.StaminaConsomation;
        PlayerDefend DefendEvent = new PlayerDefend(m_Stamina);

        Events.instance.Raise(DefendEvent);
    }
Ejemplo n.º 5
0
 // Start is called before the first frame update
 void Start()
 {
     myRigidBody    = GetComponent <Rigidbody2D>();
     myBodyCollider = GetComponent <CapsuleCollider2D>();
     myFeet         = GetComponent <BoxCollider2D>();
     if (canDefend)
     {
         defendScript = GetComponentInChildren <PlayerDefend>();
     }
 }
        public void MergeFrom(ClientCombatMoveType other)
        {
            if (other == null)
            {
                return;
            }
            if (other.EnemyActionTimeline.Length != 0)
            {
                EnemyActionTimeline = other.EnemyActionTimeline;
            }
            if (other.PlayerSucceedTimeline.Length != 0)
            {
                PlayerSucceedTimeline = other.PlayerSucceedTimeline;
            }
            if (other.PlayerFailedTimeline.Length != 0)
            {
                PlayerFailedTimeline = other.PlayerFailedTimeline;
            }
            switch (other.CombatMoveCase)
            {
            case CombatMoveOneofCase.PlayerAttack:
                if (PlayerAttack == null)
                {
                    PlayerAttack = new global::WUProtos.Data.Client.ClientCombatPlayerAttack();
                }
                PlayerAttack.MergeFrom(other.PlayerAttack);
                break;

            case CombatMoveOneofCase.PlayerDefend:
                if (PlayerDefend == null)
                {
                    PlayerDefend = new global::WUProtos.Data.Client.ClientCombatPlayerDefend();
                }
                PlayerDefend.MergeFrom(other.PlayerDefend);
                break;

            case CombatMoveOneofCase.PlayerAutoAdvance:
                if (PlayerAutoAdvance == null)
                {
                    PlayerAutoAdvance = new global::WUProtos.Data.Client.ClientCombatPlayerAutoAdvance();
                }
                PlayerAutoAdvance.MergeFrom(other.PlayerAutoAdvance);
                break;
            }

            _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
        }
Ejemplo n.º 7
0
 void Start()
 {
     inputManager = GameObject.Find("GameManager").GetComponent <InputManager>();
     inputManager.Start();
     ground = LayerMask.NameToLayer("ground");
     Debug.Log(LayerMask.LayerToName(ground));
     PlayerState.Instance.Init();
     PlayerState.Instance.playerActionsFreezed = false;
     PlayerState.Instance.stingDmgCheckPoint   = transform.position;
     curtainAnimator  = GameObject.Find("curtain").GetComponent <Animator>();
     animator         = GetComponent <Animator>();
     rigidBody        = GetComponent <Rigidbody2D>();
     coldDownTimes[0] = 0; //dash
     coldDownTimes[1] = 0; //bullet
     coldDownTimes[2] = 0; //slash
     coldDownTimes[3] = 0; //defend
     playerDefend     = defendObject.GetComponent <PlayerDefend>();
     playerSlash      = slashObject.GetComponent <PlayerSlash>();
 }
Ejemplo n.º 8
0
        public override int GetHashCode()
        {
            int hash = 1;

            if (combatMoveCase_ == CombatMoveOneofCase.PlayerAttack)
            {
                hash ^= PlayerAttack.GetHashCode();
            }
            if (combatMoveCase_ == CombatMoveOneofCase.PlayerDefend)
            {
                hash ^= PlayerDefend.GetHashCode();
            }
            if (combatMoveCase_ == CombatMoveOneofCase.PlayerAutoAdvance)
            {
                hash ^= PlayerAutoAdvance.GetHashCode();
            }
            hash ^= (int)combatMoveCase_;
            if (_unknownFields != null)
            {
                hash ^= _unknownFields.GetHashCode();
            }
            return(hash);
        }
Ejemplo n.º 9
0
    void Update()
    {
        //Gestion du idle
        _idleTimer += Time.deltaTime;

        if (m_RigidBody2D.velocity.x != 0 || m_RigidBody2D.velocity.y != 0 || m_BeingHit || m_BeingGroggy || m_Attacking)
        {
            SetIdle(false);
        }

        if (_idleTimer >= 2)
        {
            SetIdle(true);
        }

        //Gestion du backdash
        if ((BSBackDash.CurrentState == ButtonScript.ButtonState.Down || Input.GetButtonDown("BackDash")) && !m_BeingGroggy && !m_BeingHit && !UsingMagic && !m_Attacking && !m_Bumped && !m_BackDashing && !m_Defending && m_BottomTouched)
        {
            _anim.SetTrigger(_BackDashHash);
        }

        //Gestion des inputs de mouvements
        _move = 0.0f;
        bool stopWalk = _anim.GetBool(_StopWalkHash);

        //Input Mobile + Keyboard
        if ((BSMoveLeft.CurrentState == ButtonScript.ButtonState.Down || Input.GetKey(KeyCode.LeftArrow)) &&
            !m_BeingGroggy && !m_BeingHit && !UsingMagic && !m_Attacking && !m_Bumped && !m_BackDashing)
        {
            _move = -1.0f;
        }
        else if ((BSMoveRight.CurrentState == ButtonScript.ButtonState.Down || Input.GetKey(KeyCode.RightArrow)) &&
                 !m_BeingGroggy && !m_BeingHit && !UsingMagic && !m_Attacking && !m_Bumped && !m_BackDashing)
        {
            _move = 1.0f;
        }



        if (_move > 0.1 && m_FacingRight)
        {
            Flip();
        }
        else if (_move < -0.1 && !m_FacingRight)
        {
            Flip();
        }


        if (m_AttackLongDashing)
        {
            return;
        }

        //Animation part
        _anim.SetFloat("velocityX", Mathf.Abs(m_RigidBody2D.velocity.x));
        _anim.SetFloat("velocityY", m_RigidBody2D.velocity.y);
        if (Mathf.Abs(_move) >= 0.1)
        {
            _anim.SetBool(_runHash, true);
        }
        else
        {
            _anim.SetBool(_runHash, false);
        }

        if (m_BottomTouched && !_anim.GetBool("jump"))
        {
            _anim.SetBool("grounded", true);
        }
        else
        {
            _anim.SetBool("grounded", false);
        }

        // Gestion du jump
        bool isJumpDown = false;
        bool isJumpUp   = false;

        isJumpDown = Input.GetButtonDown("Jump") || (BSJump.CurrentState == ButtonScript.ButtonState.Down && !_wasJumpDown);
        isJumpUp   = Input.GetButtonUp("Jump") || (BSJump.CurrentState == ButtonScript.ButtonState.Up && !_wasJumpUp);



        if (isJumpDown && !m_BeingGroggy && !m_BeingHit && !m_Attacking)
        {
            _capJump     = false;
            _wasJumpDown = true;
            _wasJumpUp   = false;
            if (!_firstJump && m_BottomTouched)
            {
                _firstJump    = true;
                _firstJumpEnd = false;

                Vector3 newScale = transform.localScale;
                newScale.x = -newScale.x;
                endJumpDust.transform.localScale = newScale;
                Vector3 newPos = transform.position;
                newPos.y -= 10;
                newPos.x += -10 * newScale.x;
                begingJumpDust.transform.position = newPos;
                begingJumpDust.SetActive(true);
                //m_RigidBody2D.velocity = new Vector2 (m_RigidBody2D.velocity.x, JumpSpeed);

                StartCoroutine(Jump(JumpSpeed));
            }
            else if (_firstJumpEnd && !_secondJump && _isDoubleJumpCollected)
            {
                _secondJump    = true;
                _secondJumpEnd = false;
                // second jump
                //m_RigidBody2D.velocity = new Vector2 (m_RigidBody2D.velocity.x, JumpSpeed);
                StartCoroutine(Jump(JumpSpeed));
            }
            else if (HasJetPack && _secondJumpEnd && _isJetPackCollected)
            {
                _thirdJump = true;
            }
        }
        else if (isJumpUp)
        {
            _wasJumpDown   = false;
            _wasJumpUp     = true;
            _firstJump     = false;
            _firstJumpEnd  = true;
            _secondJumpEnd = true;
            _capJump       = true;
            _thirdJump     = false;

            if (m_RigidBody2D.velocity.y > MinJumpSpeed)
            {
                m_RigidBody2D.velocity = new Vector2(m_RigidBody2D.velocity.x, MinJumpSpeed);
            }
            //StartCoroutine (Jump (MinJumpSpeed));
        }

        //Gestion de la défense
        bool isDefendDown = Input.GetButton("Defend") || (BSDefend.CurrentState == ButtonScript.ButtonState.Down);
        bool isDefendUp   = Input.GetButtonUp("Defend") || (BSDefend.CurrentState == ButtonScript.ButtonState.Up);

        if (isDefendDown && m_Stamina > 0 && !m_BeingGroggy && !m_BeingHit && !m_Attacking && _isCounterCollected)
        {
            m_Defending = true;
            _anim.SetBool("Defend", true);
        }

        if (isDefendUp && _isCounterCollected)
        {
            m_Defending = false;
            _anim.SetBool("Defend", false);
            m_CounterTimer   = 0;
            _isInCounterTime = false;
        }

        if (m_Defending)
        {
            if (m_Stamina < m_StaminaMin)
            {
                m_Stamina = 0;
                return;
            }
            m_Stamina -= StaminaConsommation * Time.deltaTime;
            PlayerDefend DefendEvent = new PlayerDefend(m_Stamina);
            Events.instance.Raise(DefendEvent);
        }
        else if (m_Stamina < m_StaminaMax)
        {
            m_Stamina += StaminaRegeneration * Time.deltaTime;
            if (m_Stamina > m_StaminaMax)
            {
                m_Stamina = m_StaminaMax;
            }
            PlayerDefend DefendEvent = new PlayerDefend(m_Stamina);
            Events.instance.Raise(DefendEvent);
        }

        //Gestion du contre
        bool isCounterWasUp = Input.GetButtonDown("Defend");

        if (isCounterWasUp && _isCounterCollected)
        {
            _isInCounterTime = true;
        }

        if (_isInCounterTime)
        {
            //Time.timeScale = 0.1f;
            m_CounterTimer += 1 * Time.deltaTime;
            if (m_CounterTimer > CounterDelay)
            {
                m_CounterTimer   = 0;
                _isInCounterTime = false;
            }
        }

        //Gestion de l'attaque
        if (BSAttack.CurrentState != ButtonScript.ButtonState.Down && Input.GetAxis("Attack") != 1)
        {
            _attackWasUp = true;
            if (m_AttackLongCasted)
            {
                _anim.SetBool(_attackLongReleasedHash, true);
                Invoke("ResetAttackLongCasted", 0.2f);
            }
            else
            {
                m_AttackLongCasting = false;
                _anim.SetBool(_attackLongHash, false);
                _anim.SetBool(_attackLongCastedHash, false);
                _anim.SetBool(_attackLongReleasedHash, false);
            }
        }
        else if (_attackWasUp && m_AttackCount < 3 && m_Stamina - Weapon.StaminaConsomation > m_StaminaMin && (m_AttackCount == 0 || m_ComboPossibility == true) && !m_Defending && !m_BeingHit)
        {
            Debug.Log("Attack !");
            SetIdle(false);
            _attackWasUp = false;
            ++m_AttackCount;
            _attackHoldTime = 0.0f;


            if (m_AttackCount == 1)
            {
                Debug.Log("Attack Count 1");
                _anim.SetBool("Attack", true);
                m_Attacking = true;
                m_Stamina  -= Weapon.StaminaConsomation;
                PlayerDefend DefendEvent = new PlayerDefend(m_Stamina);
                Events.instance.Raise(DefendEvent);
            }
            else if (m_AttackCount == 2)
            {
                Debug.Log("Attack Count 2");

                m_ComboValidated   = true;
                m_ComboPossibility = false;

                _anim.SetBool("ComboValidated", true);
            }
            else if (m_AttackCount == 3 && CurrentWeapon == WeaponType.Sword)
            {
                Debug.Log("Attack Count 3");
                m_ComboValidated   = true;
                m_ComboPossibility = false;

                _anim.SetBool("ComboValidated", true);
            }
        }
        else if (!m_Defending && !m_BeingHit)
        {
            _attackHoldTime += Time.deltaTime;
            if (_attackHoldTime > AttackLongCastStartAfterTime && _isChargedAttackCollected)
            {
                m_AttackLongCasting = true;
                m_AttackCount       = 0;

                _anim.SetBool(_attackLongHash, true);
                _anim.SetBool("Attack", false);
                if (_attackHoldTime > AttackLongCastDuration)
                {
                    m_AttackLongCasted = true;
                    _anim.SetBool(_attackLongCastedHash, true);
                }
            }
        }

        //Gestion de la magie
        bool isMagicDown = Input.GetButton("Magic") || (BSMagic.CurrentState == ButtonScript.ButtonState.Down);
        bool isMagicUp   = Input.GetButtonUp("Magic") || (BSMagic.CurrentState == ButtonScript.ButtonState.Up);

        if (isMagicDown && !m_BeingGroggy && !m_BeingHit && !m_Attacking && !UsingMagic)
        {
            UsingMagic = true;
            CurrentSpell.launchSort();
        }

        //Gestion du switch d'arme
        if (BSWeaponSword.CurrentState == ButtonScript.ButtonState.Down)
        {
            SwitchWeaponTo(WeaponType.Stick);
        }
        else if (BSWeaponStick.CurrentState == ButtonScript.ButtonState.Down)
        {
            SwitchWeaponTo(WeaponType.Sword);
        }
    }