Exemple #1
0
 protected override void FixedUpdateMyBehavior()
 {
     m_MovementStatus    = m_PlayerReference.GetMovementStatus();
     m_MovementDirection = m_PlayerReference.GetDirection();
     m_NewPosition       = m_PlayerReference.GetNewPosition();
     MovingAnimation();
 }
Exemple #2
0
 bool CheckCanMove()
 {
     if (m_MovementStatus == MOVEMENT_STATUS.MovingAnimation)
     {
         m_MovementDirection = DIRECTION.None;
         return(false);
     }
     if (m_MovementStatus == MOVEMENT_STATUS.Timeout)
     {
         m_MovementDirection = DIRECTION.None;
         MissedBeat();
         return(false);
     }
     if (m_MovementStatus == MOVEMENT_STATUS.Standing)
     {
         m_MovementStatus = MOVEMENT_STATUS.MovingCombo;
         m_MovementBeat   = BeatMaster.instance.GetBeatNumber();
         return(true);
     }
     m_MovementBeat++;
     if (m_MovementBeat - BeatMaster.instance.GetBeatNumber() >= 1)
     {
         m_MovementDirection = DIRECTION.None;
         MissedBeat();
         return(false);
     }
     return(true);
 }
Exemple #3
0
    void Moving(Tile _nextTile)
    {
        if (CheckCanMove() == false)
        {
            return;
        }
        if (Attack() == true)
        {
            return;
        }
        if (_nextTile.Contains <Wall>() != null)
        {
            _nextTile.Contains <Wall>().GetComponent <Wall>().Dig(1);
            return;
        }
        if (_nextTile.Contains <Gold>() != null)
        {
            m_Inventory.PickGold(_nextTile.Contains <Gold>());
        }
        m_OldTile = m_CurrentTile;
        m_CurrentTile.RemoveFromTile(GetComponent <AboveTileObject>());
        m_CurrentTile = _nextTile;
        m_CurrentTile.AddToTile(GetComponent <AboveTileObject>());
        Vector3 new_position = m_CurrentTile.transform.position;

        m_NewPosition    = new Vector3(new_position.x, new_position.y, m_CurrentTile.GetLayerNumber());
        m_MovementStatus = MOVEMENT_STATUS.MovingAnimation;
        UpdatePlayerDirection();

        NotifySubscribers();
    }
Exemple #4
0
    void MissedBeat()
    {
        m_MovementStatus = MOVEMENT_STATUS.Timeout;
        m_TimeoutTime    = 0;

        //f**k... chestia asta e urata rau de tot;
        //pe viitor trebuie sa am pe cineva care se ocupa de UI
        //pe asta ofac aici asa rapid pt cv vizual; BAD PRACTICE
        Instantiate(m_MissedBeatPrefab);
    }
Exemple #5
0
 void HandleTimeout()
 {
     if (m_MovementStatus != MOVEMENT_STATUS.Timeout)
     {
         return;
     }
     m_TimeoutTime += Time.fixedDeltaTime;
     if (m_TimeoutTime >= 0.5f)
     {
         m_MovementStatus = MOVEMENT_STATUS.Standing;
     }
 }
Exemple #6
0
 public void SetMovementStatus(MOVEMENT_STATUS _status)
 {
     m_MovementStatus = _status;
 }