Esempio n. 1
0
        void UpdateStates()
        {
            states.vertical   = vertical;
            states.horizontal = horizontal;

//			Vector3 v = vertical * camManager.transform.forward;  -changed to fix lock on movement speed bug for targets above or below player
            Vector3 v = vertical * new Vector3(camManager.transform.forward.x, 0, camManager.transform.forward.z).normalized;
            Vector3 h = horizontal * camManager.transform.right;

            states.moveDir = (v + h).normalized;
            float m = Mathf.Abs(horizontal) + Mathf.Abs(vertical);

            states.moveAmount = Mathf.Clamp01(m);

            if (x_input)
            {
                b_input = false;
            }

            if (b_input && b_timer > 0.5f)
            {
                states.isRunning = states.moveAmount > 0;
                if (states.isRunning)
                {
                    states.lockOn     = false;
                    camManager.lockOn = false;
                }
            }

            if (!b_input && b_timer > 0 && b_timer < 0.5f)
            {
                states.rollInput = true;
            }

            states.itemInput = x_input;
            states.rb        = rb_input;
            states.rt        = rt_input;
            states.lb        = lb_input;
            states.lt        = lt_input;

            if (y_input)
            {
                states.isTwoHanded = !states.isTwoHanded;
                states.HandleTwoHanded();
            }

            if (rightAxis_down)
            {
                states.lockOn = !states.lockOn;
                if (states.lockOnTarget == null)
                {
                    states.lockOn = false;
                }
                camManager.lockOnTarget = states.lockOnTarget;
                //states.lockOnTransform = camManager.lockOnTransform;
                camManager.lockOn = states.lockOn;
            }
        }
Esempio n. 2
0
        void UpdateStates()
        {
            states.horizontal = horizontal;
            states.vertical   = vertical;

            Vector3 v = vertical * camManager.transform.forward;
            Vector3 h = horizontal * camManager.transform.right;

            states.moveDir = (v + h).normalized;
            float m = Mathf.Abs(horizontal) + Mathf.Abs(vertical);

            states.moveAmount = Mathf.Clamp01(m);

            if (leftAxis_down)
            {
                states.run = (states.moveAmount > 0);
            }
            else
            {
                states.run = false;
            }
            //states.rollInput = b_input;
            if (b_input && b_timer > 0.5f)
            {
                states.run = (states.moveAmount > 0);
            }
            if (!b_input && b_timer > 0 && b_timer < 0.5f)
            {
                states.rollInput = true;
            }


            states.rt = rt_input;
            states.lt = lt_input;
            states.rb = rb_input;
            states.lb = lb_input;

            if (y_input)
            {
                states.isTwoHanded = !states.isTwoHanded;
                states.HandleTwoHanded();
            }

            if (rightAxis_down)
            {
                states.lockOn = !states.lockOn;
                if (states.lockOnTarget == null)
                {
                    states.lockOn = false;
                }
                camManager.lockOnTarget = states.lockOnTarget;
                states.lockOnTransform  = camManager.lockOnTransform;
                camManager.lockOn       = states.lockOn;
            }
            //states.FixedTick (delta);
        }
Esempio n. 3
0
        public void UpdateStates()
        {
            states.horizontal = horizontal;
            states.vertical   = vertical;

            Vector3 v = states.vertical * cameraManager.transform.forward;
            Vector3 h = states.horizontal * cameraManager.transform.right;

            states.moveDir = (v + h).normalized;
            float m = Mathf.Abs(horizontal) + Mathf.Abs(vertical);

            states.moveAmount = Mathf.Clamp01(m);

            states.rollInput = b_input;
            if (b_input)
            {
                //states.run = (states.moveAmount > 0);
            }
            else
            {
                //states.run = false;
            }

            states.rb = rb_input;
            states.rt = rt_input;
            states.lb = lb_input;
            states.lt = lt_input;


            if (y_input)
            {
                states.isTwoHanded = !states.isTwoHanded;
                states.HandleTwoHanded();
            }

            if (rightAxis_Down)
            {
                Debug.Log("1");
                states.lockOn = !states.lockOn;

                if (states.lockOnTarget == null)
                {
                    states.lockOn = false;
                }

                cameraManager.lockOnTarget = states.lockOnTarget.transform;
                cameraManager.lockon       = states.lockOn;
            }
        }
Esempio n. 4
0
        void UpdateStates()
        {
            stateManager.vertical   = vertical;
            stateManager.horizontal = horizontal;

            Vector3 moveVertical   = stateManager.vertical * cameraManager.transform.forward;
            Vector3 moveHorizontal = stateManager.horizontal * cameraManager.transform.right;

            stateManager.moveDirection = (moveVertical + moveHorizontal).normalized;

            float move = Mathf.Abs(vertical) + Mathf.Abs(horizontal);

            stateManager.moveAmount = Mathf.Clamp01(move);

            if (useItemInput)
            {
                runInput = false;
            }

            if (runInput && runTimer > 0.5f)
            {
                stateManager.run = (stateManager.moveAmount > 0);
            }

            if (!runInput && runTimer > 0 && runTimer < 0.5f)
            {
                stateManager.roll = true;
            }

            stateManager.useItem = useItemInput;
            stateManager.attack1 = attack1Input;
            stateManager.attack2 = attack2Input;
            stateManager.action1 = qInput;
            stateManager.action2 = aInput;

            if (twoHandedInput)
            {
                stateManager.isTwoHanded = !stateManager.isTwoHanded;
                stateManager.HandleTwoHanded();
            }

            if (stateManager.lockOnTarget != null)
            {
                if (stateManager.lockOnTarget.enemyStates.isDead)
                {
                    stateManager.lockOn          = false;
                    stateManager.lockOnTarget    = null;
                    stateManager.lockOnTransform = null;
                    cameraManager.lockOn         = false;
                    cameraManager.lockOnTarget   = null;
                }
            }

            if (lockOnInput)
            {
                stateManager.lockOn = !stateManager.lockOn;

                if (stateManager.lockOnTarget == null)
                {
                    stateManager.lockOn = false;
                }

                cameraManager.lockOnTarget   = stateManager.lockOnTarget;
                stateManager.lockOnTransform = cameraManager.lockOnTransform;
                cameraManager.lockOn         = stateManager.lockOn;
            }
        }
Esempio n. 5
0
        // passing values to StateManager variables and functions.
        void UpdateStates()
        {
            states.vertical   = vertical;
            states.horizontal = horizontal;

            states.itemInput = x_input;
            states.rt        = rt_input;
            states.lt        = lt_input;
            states.rb        = rb_input;
            states.lb        = lb_input;


            // moveDir
            Vector3 v = states.vertical * camManager.transform.forward;
            Vector3 h = states.horizontal * camManager.transform.right;

            states.moveDir = (v + h).normalized;

            // moveAmount
            float m = Mathf.Abs(states.horizontal) + Mathf.Abs(states.vertical);

            states.moveAmount = Mathf.Clamp01(m);

            // B_input:
            if (b_input && b_timer > 0.5f)              // run when holding down.
            {
                states.run = (states.moveAmount > 0) && states.characterStats._stamina > 0;
            }

            /* roll when tap the button b_input, thus b_input must equal false at the following FixedFrame because b_input == false when not the button for it is released.
             * and the timer at that following FixedFrame still equals to the last calculated value before being set back to 0 in the next FixedFrame after this one. */
            if (b_input == false && b_timer > 0 && b_timer < 0.5f)
            {
                states.rollInput = true;
            }

            if (y_input)
            {
                if (states.pickManager.itemCandidate && states.pickManager.interactionCandidate)
                {
                    preferItem = !preferItem;
                }
                else
                {
                    states.isTwoHanded = !states.isTwoHanded;
                    states.HandleTwoHanded();
                }
            }

            if (states.lockOnTarget != null)
            {
                if (states.lockOnTarget.eStates.isDead)
                {
                    states.lockOn           = false;
                    states.lockOnTarget     = null;
                    states.lockOnTransform  = null;
                    camManager.lockOn       = false;
                    camManager.lockOnTarget = null;
                }
            }
            else
            {
                states.lockOn           = false;
                states.lockOnTarget     = null;
                states.lockOnTransform  = null;
                camManager.lockOn       = false;
                camManager.lockOnTarget = null;
            }


            if (rightAxis_down)
            {
                states.lockOn       = !states.lockOn;
                states.lockOnTarget = EnemyManager.singleton.GetEnemy(transform.position);
                if (states.lockOnTarget == null)
                {
                    states.lockOn = false;
                }

                camManager.lockOnTarget = states.lockOnTarget;
                // when there's no multiple targets, lockOnTransform will be the target's transform position. (6)
                states.lockOnTransform     = states.lockOnTarget.GetTarget();
                camManager.lockOnTransform = states.lockOnTransform;
                // same state in two different managers should be the same
                camManager.lockOn = states.lockOn;
            }


            if (x_input)
            {
                b_input = false;
            }

            HandleQuickSlotChanges();
        }
Esempio n. 6
0
        void UpdateStates()
        {
            states.horizontal = horizontal;
            states.vertical   = vertical;

            Vector3 v = vertical * camManager.transform.forward;
            Vector3 h = horizontal * camManager.transform.right;

            states.moveDir = (v + h).normalized;
            float m = Mathf.Abs(horizontal) + Mathf.Abs(vertical);

            states.moveAmount = Mathf.Clamp01(m);

            if (x_input)
            {
                b_input = false;
            }

            if (b_input && b_timer > .5f)
            {
                states.run = (states.moveAmount > 0);
            }

            if (!b_input && b_timer > 0 && b_timer < .5f)
            {
                states.rollInput = true;
            }

            states.itemInput = x_input;
            states.rb        = rb_input;
            states.rt        = rt_input;
            states.lb        = lb_input;
            states.lt        = lt_input;

            if (y_input)
            {
                states.isTwoHanded = !states.isTwoHanded;
                states.HandleTwoHanded();
            }

            if (states.lockOnTarget != null)
            {
                if (states.lockOnTarget.enStates.isDead)
                {
                    states.lockOn           = false;
                    states.lockOnTarget     = null;
                    states.lockOnTransform  = null;
                    camManager.lockOn       = false;
                    camManager.lockOnTarget = null;
                }
            }
            else
            {
                states.lockOn           = false;
                states.lockOnTarget     = null;
                states.lockOnTransform  = null;
                camManager.lockOn       = false;
                camManager.lockOnTarget = null;
            }

            if (rightAxis_down)
            {
                states.lockOn = !states.lockOn;

                states.lockOnTarget = EnemyManager.singleton.GetEnemy(transform.position);
                if (states.lockOnTarget == null)
                {
                    states.lockOn = false;
                }

                camManager.lockOnTarget    = states.lockOnTarget;
                states.lockOnTransform     = states.lockOnTarget.GetTarget();
                camManager.lockOnTransform = states.lockOnTransform;
                camManager.lockOn          = states.lockOn;
            }
        }
Esempio n. 7
0
        void updateStates()
        {
            states.vertical   = vertical;
            states.horizontal = horizontal;

            Vector3 v = states.vertical * camManager.transform.forward;
            Vector3 h = states.horizontal * camManager.transform.right;

            states.moveDir = (v + h).normalized;
            float m = Mathf.Abs(horizontal) + Mathf.Abs(vertical);

            states.moveAmount = Mathf.Clamp01(m);

            if (cuadrado)
            {
                circulo = false;
            }

            if (L3)
            {
                states.running = (states.moveAmount > 0);
                if (states.running)
                {
                    states.lockOn     = false;
                    camManager.lockon = false;
                }
            }
            else
            {
                states.running = false;
            }
            states.L1       = L1;
            states.L2       = L2_b;
            states.R1       = R1;
            states.R2       = R2_b;
            states.cuadrado = cuadrado;
            states.circulo  = circulo;

            if (triangulo)
            {
                states.isTwoHanded = !states.isTwoHanded;
                states.HandleTwoHanded();
            }

            if (states.lockonTarget != null)
            {
                if (states.lockonTarget.eStates.isDead)
                {
                    states.lockOn          = false;
                    states.lockonTarget    = null;
                    states.lockonTransform = null;
                    camManager.lockon      = false;
                }
            }

            if (R3)
            {
                states.lockOn = !states.lockOn;
                if (states.lockonTarget == null)
                {
                    states.lockOn = false;
                }
                camManager.lockonTarget = states.lockonTarget;
                states.lockonTransform  = camManager.lockonTransform;
                camManager.lockon       = states.lockOn;
            }
        }