Ejemplo n.º 1
0
        private static void WhaleKi(FishyMovementComponent whaleMovement)
        {
            var whaleComponent = whaleMovement.GetComponent <WhaleBrainComponent>();

            whaleMovement.ForwardVector = whaleComponent.SwimDirection;
            whaleMovement.Acceleration  = new Vector2(whaleMovement.ForwardVector.x * whaleComponent.Acceleration, 0);
        }
Ejemplo n.º 2
0
        private void TrashyMovement(FishyMovementComponent obj)
        {
            var brain = obj.GetComponent <TrashBrainComponent>();

            var horizontal = Mathf.Sin(UnityEngine.Time.realtimeSinceStartup * brain.Multiplier);

            obj.ForwardVector = brain.Direction;
            obj.Acceleration  = new Vector2(horizontal * obj.ForwardVector.x * obj.AccelerationFactor.x, obj.ForwardVector.y * obj.AccelerationFactor.y);
        }
Ejemplo n.º 3
0
        private void SimpleFishMovement(FishyMovementComponent obj)
        {
            var brain = obj.GetComponent <SimpleFishBrainComponent>();

            var vertical = Mathf.Sin(UnityEngine.Time.realtimeSinceStartup * brain.Multiplier);

            obj.ForwardVector = brain.Direction;
            obj.Acceleration  = new Vector2(obj.ForwardVector.x * obj.AccelerationFactor.x, vertical * obj.AccelerationFactor.y);
        }
Ejemplo n.º 4
0
        private void JellyFishMovement(FishyMovementComponent obj, JellyfishBrainComponent brain)
        {
            var state = brain.StateContext.CurrentState.Value;

            if (state is Swimming || state is SwimmingAway)
            {
                var vertical = Mathf.Sin(UnityEngine.Time.realtimeSinceStartup * brain.Multiplier);
                obj.ForwardVector = brain.Direction;
                obj.Acceleration  = new Vector2(obj.ForwardVector.x * obj.AccelerationFactor.x, vertical * obj.AccelerationFactor.y);
            }
            else
            {
                obj.ForwardVector = obj.Acceleration = Vector2.zero;
            }
        }
Ejemplo n.º 5
0
        private static void HandlePlayerInput(FishyMovementComponent component)
        {
            if (IoC.Game.GameStateContext.CurrentState.Value.GetType() != typeof(Running))
            {
                component.Acceleration = Vector2.zero;
                return;
            }

            float x = 0;
            float y = 0;

            if (KeyCode.D.IsPressed() || KeyCode.RightArrow.IsPressed())
            {
                component.ForwardVector = Vector2.right;
                x = component.ForwardVector.x * component.AccelerationFactor.x;
            }
            else if (KeyCode.A.IsPressed() || KeyCode.LeftArrow.IsPressed())
            {
                component.ForwardVector = Vector2.left;
                x = component.ForwardVector.x * component.AccelerationFactor.x;
            }

            if (KeyCode.W.IsPressed() || KeyCode.UpArrow.IsPressed())
            {
                y = Vector2.up.y * component.AccelerationFactor.y;
            }
            else if (KeyCode.S.IsPressed() || KeyCode.DownArrow.IsPressed())
            {
                y = Vector2.down.y * component.AccelerationFactor.y;
            }

            if (component.transform.position.y > 8 && y > 0)
            {
                y = -y;
            }

            component.Acceleration = new Vector2(x, y);
        }
Ejemplo n.º 6
0
 private void HandlePlayerDeadInput(FishyMovementComponent obj)
 {
     obj.Acceleration = new Vector2(0, 5);
 }