private void HandleFacingDirec()
    {
        facingPlane.SetNormalAndPosition(playerModel.right, transform.position);

        //SET THE FACING DIRECTION SETTING
        if (motor.curMoveSpeedType == Motor.moveSpeedType.walking) {

            if (facingPlane.GetSide(transform.position + motor.deliveredDirec)) {
                curFacingDirec = facingDirection.right;
            }
            else {
                curFacingDirec = facingDirection.left;
            }
        }

        //FLIP THE CHARACTER MODEL IF THE NOT ALREADY FACINT THE CORRECT DIRECTION
        //RIGHT
        if (curFacingDirec == facingDirection.right && playerModel.localScale.x > 0.0f) {
            playerModel.localScale = new Vector3(playerModel.localScale.x * -1.0f,
                                                 playerModel.localScale.y,
                                                 playerModel.localScale.z);
        }
        //LEFT
        else if (curFacingDirec == facingDirection.left && playerModel.localScale.x < 0.0f) {
            playerModel.localScale = new Vector3(playerModel.localScale.x * -1.0f,
                                                 playerModel.localScale.y,
                                                 playerModel.localScale.z);
        }
    }
Beispiel #2
0
    // Update is called once per frame
    void Update()
    {
        if ((transform.position.x >= 10.0f) || (transform.position.x <= -10.0f))
        {
            transform.localScale = new Vector2(transform.localScale.x * -1, transform.localScale.y);
        }

        switch (m_facing)
        {
        case facingDirection.F_LEFT:
        {
            transform.position = new Vector3(transform.position.x - 0.5f * Time.deltaTime, transform.position.y, transform.position.z);

            if (transform.position.x <= -10.0f)
            {
                m_facing = facingDirection.F_RIGHT;
            }
        }
        break;

        case facingDirection.F_RIGHT:
        {
            transform.position = new Vector3(transform.position.x + 0.5f * Time.deltaTime, transform.position.y, transform.position.z);

            if (transform.position.x >= 10.0f)
            {
                m_facing = facingDirection.F_LEFT;
            }
        }
        break;
        }
    }
Beispiel #3
0
 public void setRoom(serviceTypes setRoom, facingDirection curFaceDirection)
 {
     //print("setRoom roomType: " + roomType);
     roomType             = setRoom;
     currentFaceDirection = curFaceDirection;
     GetComponent <ServiceQueue>().initServices(setRoom);
     //do space check for available paths
 }
Beispiel #4
0
    // Start is called before the first frame update
    void Awake()
    {
        roomType             = serviceTypes.hallway;
        currentFaceDirection = facingDirection.forward;

        possiblePaths = new Transform[4];
        for (int i = 0; i < 4; i++)
        {
            possiblePaths[i] = GameObject.Find("EmptyTransform").transform;
        }
    }
Beispiel #5
0
 // Use this for initialization
 void Start()
 {
     if (transform.position.x > 0)
     {
         m_facing = facingDirection.F_LEFT;
     }
     else
     {
         m_facing = facingDirection.F_RIGHT;
     }
 }
    private void Run()
    {
        float horizontalControlThrow = Input.GetAxis("Horizontal");     //value is between -1 to +1
        float verticalControlThrow   = Input.GetAxis("Vertical");       //value is between -1 to +1

        if (horizontalControlThrow != 0)
        {
            Vector2 playerVelocity = new Vector2(horizontalControlThrow * _runSpeed, 0);             //velocity is measured in units per second
            _playerRigidbody.velocity = playerVelocity;

            if (horizontalControlThrow > 0)
            {
                playerDirection = facingDirection.right;
            }
            else
            {
                playerDirection = facingDirection.left;
            }
        }
        else if (verticalControlThrow != 0)
        {
            Vector2 playerVelocity = new Vector2(0, verticalControlThrow * _runSpeed);             //velocity is measured in units per second
            _playerRigidbody.velocity = playerVelocity;

            if (verticalControlThrow > 0)
            {
                playerDirection = facingDirection.up;
            }
            else
            {
                playerDirection = facingDirection.down;
                //_playerAnimator.SetBool
            }
        }
        else
        {
            _playerRigidbody.velocity = Vector2.zero;
        }



        //Set Animation State
        //bool playerHasHorizontalSpeed = Mathf.Abs(_playerRigidbody.velocity.x) > Mathf.Epsilon;
        //_playerAnimator.SetBool("Running", playerHasHorizontalSpeed);
        //_playerAnimatorGlow.SetBool("Running", playerHasHorizontalSpeed);
    }
    private void SetDirection(facingDirection direction)
    {
        Vector2 vector2Direction = Vector2.zero;

        if (direction == facingDirection.Null)
        {
            Vector2 temp = PlayerAttributes.instance.movementModel.GetFacingDirection();

            if (temp.x == 1)
            {
                direction = facingDirection.Left;
            }
            else if (temp.x == -1)
            {
                direction = facingDirection.Right;
            }
            else if (temp.y == -1)
            {
                direction = facingDirection.Up;
            }
            else
            {
                direction = facingDirection.Down;
            }
        }

        if (direction == facingDirection.Up)
        {
            vector2Direction = Vector2.up;
        }
        else if (direction == facingDirection.Down)
        {
            vector2Direction = Vector2.down;
        }
        else if (direction == facingDirection.Left)
        {
            vector2Direction = Vector2.left;
        }
        else
        {
            vector2Direction = Vector2.right;
        }

        gameObject.GetComponent <CharacterAttributes>().SetDirection(vector2Direction);
    }
    private void SetDir(facingDirection direction)
    {
        switch (direction)
        {
        case facingDirection.left:
            myDir     = facingDirection.left;
            myCharRot = new Vector3(0, 90, 0);
            break;

        case facingDirection.forward:
            myDir     = facingDirection.forward;
            myCharRot = Vector3.zero;
            break;

        case facingDirection.right:
            myDir     = facingDirection.right;
            myCharRot = new Vector3(0, -90, 0);
            break;
        }
    }
Beispiel #9
0
        public override void OnEnter()
        {
            // If no display specified, do nothing
            if (display == displayType.NULL)
            {
                Continue();
                return;
            }
            // If no character specified, do nothing
            if (character == null)
            {
                Continue();
                return;
            }
            // If Swap and no replaced character specified, do nothing
            if (display == displayType.Swap && replacedCharacter == null)
            {
                Continue();
                return;
            }
            // Selected "use default Portrait Stage"
            if (portraitStage == null)                                   // Default portrait stage selected
            {
                portraitStage = GetFungusScript().defaultPortraitStage;; // Try to get game's default portrait stage
                if (portraitStage == null)                               // If no default specified, try to get any portrait stage in the scene
                {
                    portraitStage = GameObject.FindObjectOfType <PortraitStage>();
                }
            }
            // If portrait stage does not exist, do nothing
            if (portraitStage == null)
            {
                Continue();
                return;
            }

            if (character.state.portraitImage == null)
            {
                CreatePortraitObject(character, portraitStage);
            }
            // if no previous portrait, use default portrait
            if (character.state.portrait == null)
            {
                character.state.portrait = character.profileSprite;
            }
            // Selected "use previous portrait"
            if (portrait == null)
            {
                portrait = character.state.portrait;
            }
            // if no previous position, use default position
            if (character.state.position == null)
            {
                character.state.position = portraitStage.defaultPosition.rectTransform;
            }
            // Selected "use previous position"
            if (toPosition == null)
            {
                toPosition = character.state.position;
            }
            if (replacedCharacter != null)
            {
                // if no previous position, use default position
                if (replacedCharacter.state.position == null)
                {
                    replacedCharacter.state.position = portraitStage.defaultPosition.rectTransform;
                }
            }
            // If swapping, use replaced character's position
            if (display == displayType.Swap)
            {
                toPosition = replacedCharacter.state.position;
            }
            // Selected "use previous position"
            if (fromPosition == null)
            {
                fromPosition = character.state.position;
            }
            // if portrait not moving, use from position is same as to position
            if (!move)
            {
                fromPosition = toPosition;
            }
            if (display == displayType.Hide)
            {
                fromPosition = character.state.position;
            }
            // if no previous facing direction, use default facing direction
            if (character.state.facing == facingDirection.NULL)
            {
                character.state.facing = character.portraitsFace;
            }
            // Selected "use previous facing direction"
            if (facing == facingDirection.NULL)
            {
                facing = character.state.facing;
            }
            // Use default settings
            if (useDefaultSettings)
            {
                fadeDuration = portraitStage.fadeDuration;
                moveSpeed    = portraitStage.moveSpeed;
                shiftOffset  = portraitStage.shiftOffset;
            }
            switch (display)
            {
            case (displayType.Show):
                Show(character, fromPosition, toPosition);
                character.state.onScreen = true;
                portraitStage.charactersOnStage.Add(character);
                break;

            case (displayType.Hide):
                Hide(character, fromPosition, toPosition);
                character.state.onScreen = false;
                portraitStage.charactersOnStage.Remove(character);
                break;

            case (displayType.Swap):
                Show(character, fromPosition, toPosition);
                Hide(replacedCharacter, replacedCharacter.state.position, replacedCharacter.state.position);
                character.state.onScreen         = true;
                replacedCharacter.state.onScreen = false;
                portraitStage.charactersOnStage.Add(character);
                portraitStage.charactersOnStage.Remove(replacedCharacter);
                break;

            case (displayType.MoveToFront):
                MoveToFront(character);
                break;
            }

            if (display == displayType.Swap)
            {
                character.state.display         = displayType.Show;
                replacedCharacter.state.display = displayType.Hide;
            }
            else
            {
                character.state.display = display;
            }
            character.state.portrait = portrait;
            character.state.facing   = facing;
            character.state.position = toPosition;
            if (!waitUntilFinished)
            {
                Continue();
            }
        }