void Start()
 {
     rb               = GetComponent <Rigidbody2D>();
     dashTime         = dashStartTime;
     playerMoveScript = gameObject.GetComponent <PlayerMovement>();
     playerJumpScript = gameObject.GetComponent <DoubleJump>();
     dashCount        = extraDash;
 }
Exemple #2
0
 public override void StateStart()
 {
     doubleJump              = GetComponent <DoubleJump>();
     jumpByDirection         = false;
     velocity                = Mathf.Sqrt(2 * player.G * jumpH);//v = √2gh
     player.audioSource.clip = jump;
     player.audioSource.Play();
 }
Exemple #3
0
 void Start()
 {
     audioManager          = GameObject.Find("AudioManager").GetComponent <AudioManager>();
     playerMoveScript      = gameObject.GetComponent <PlayerMovement>();
     playerJumpScript      = gameObject.GetComponent <DoubleJump>();
     player                = GetComponent <Animator>();
     monsterDeathAnimation = monsterDeath.GetComponent <Animator>();
     monsterDeath.SetActive(false);
 }
Exemple #4
0
    void Start()
    {
        dashAbility       = GetComponent <Dash>();
        playerController  = GetComponent <PlayerController>();
        doubleJumpAbility = GetComponent <DoubleJump>();

        dashAbility.enabled      = false;
        playerController.enabled = true;
    }
Exemple #5
0
 public States(Player player)
 {
     this.player = player;
     falling     = new Falling(player);
     walking     = new Walking(player);
     dead        = new Dead(player);
     wallgrab    = new WallGrab(player);
     jump        = new Jump(player);
     doublejump  = new DoubleJump(player);
 }
Exemple #6
0
        public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer)
        {
            var o = JObject.Load(reader);

            var id     = GetStringTokenValue(o, "id");
            var x      = GetIntTokenValue(o, "x") ?? 0;
            var y      = GetIntTokenValue(o, "y") ?? 0;
            var width  = GetIntTokenValue(o, "width") ?? 0;
            var height = GetIntTokenValue(o, "height") ?? 0;
            var rect   = new Rectangle(x, y, width, height);


            Entity entity;

            switch (id)
            {
            case "key":
                entity = new Key(rect);
                break;

            case "double_jump":
                entity = new DoubleJump(rect);
                break;

            case "door":
                entity = new Door(rect);
                break;

            case "button":
                entity = new Button(rect);
                ((Button)entity).WallMounted = GetBoolTokenValue(o, "wallMounted", false);
                ((Button)entity).AttatchFace = (Face)GetIntTokenValue(o, "Face", 0);
                break;

            case "exit_door":
                entity = new ExitDoor(rect);
                break;

            case "note":
                entity = new Note(rect);
                ((Note)entity).Messages = GetStringListTokenValue(o, "Messages");
                break;

            default:
                entity = new Entity(rect);
                break;
            }

            entity.Gravity = GetBoolTokenValue(o, "gravity", true);

            return(entity);
        }
 void Start()
 {
     _anim = GetComponent <Animator>();
     _anim.runtimeAnimatorController = Resources.Load <RuntimeAnimatorController>("AnimationController/PlayerAnimator"); //Load controller at runtime https://answers.unity.com/questions/1243273/runtimeanimatorcontroller-not-loading-from-script.html
     _anim.runtimeAnimatorController = animatorController;                                                               //Load controller at runtime https://answers.unity.com/questions/1243273/runtimeanimatorcontroller-not-loading-from-script.html
     playerAction     = GetComponent <PlayerAction>();
     playerControl    = GetComponent <PlayerControl>();
     playerJump       = GetComponent <PlayerJump>();
     doubleJump       = GetComponent <DoubleJump>();
     playerStats      = GetComponent <PlayerStats>();
     playerMovementV2 = GetComponent <PlayerMovementV2>();
     rigidbody        = GetComponent <Rigidbody>();
 }
Exemple #8
0
 private void Start()
 {
     controller = GetComponent<CharacterController>();
     anim = GetComponent<Animator>();
     //slow = GetComponent<SlowDown>();
     DImage.SetActive(false);
     moving = false;
     running = false;
     idel = true;
     moveChecker = false;
     GameObject Player = GameObject.FindGameObjectWithTag("Player");
     DJ = Player.GetComponent<DoubleJump>();
     //DimageChecker = false;
 }
    void Start()
    {
        _anim = GetComponent <Animator>();
        _anim.runtimeAnimatorController = runtimeAnimatorController; //Load controller at runtime https://answers.unity.com/questions/1243273/runtimeanimatorcontroller-not-loading-from-script.html
        playerAction   = GetComponent <PlayerAction>();
        playerControl  = GetComponent <PlayerControl>();
        playerJump     = GetComponent <PlayerJump>();
        doubleJump     = GetComponent <DoubleJump>();
        playerMovement = GetComponent <PlayerMovement>();
        playerStats    = GetComponent <PlayerStats>();
        clipInfo       = _anim.GetCurrentAnimatorClipInfo(0); // get name of current animation state   https://stackoverflow.com/questions/34846287/get-name-of-current-animation-state

        collider = katanaObject.GetComponent <BoxCollider>(); // to find a child game object by name   //https://docs.unity3d.com/ScriptReference/Transform.Find.html
    }
    /// <summary>
    /// Selects and configures the ability to the player according to the inputted key
    /// </summary>
    /// <param name="key">Chosen Ability/ies</param>
    /// <param name="controller">Player Control</param>
    public static void Fetch(PlayerAbilities key, PlayerMovement controller)
    {
        //don't configure anything if player does not have any abilities
        if (key == PlayerAbilities.None && abilities != PlayerAbilities.None)
        {
            return;
        }

        //clear the data if it's used again
        abilityDict.Clear();
        abilityCooldown.Clear();

        abilities = key;

        //small sets of if statement to choose the correct ability (multi-ability is supported)
        //key.HasFlag detects if it contains a certain ability
        if (key.HasFlag(PlayerAbilities.DoubleJump))
        {
            //ready the ability type w/ the corresponding class
            var tag = PlayerAbilities.DoubleJump;
            var obj = new DoubleJump();

            //configures the ability's UnityEvent
            var e = ConfigureEvent(obj);

            //add the UnityEvent and cooldown at the dictionary
            abilityDict.Add(tag, e);
            abilityCooldown.Add(tag, obj.cooldown);
        }
        if (key.HasFlag(PlayerAbilities.Dash))
        {
            var tag = PlayerAbilities.Dash;
            var obj = new Dash();
            var e   = ConfigureEvent(obj);
            abilityDict.Add(tag, e);
            abilityCooldown.Add(tag, obj.cooldown);
            controller.flipEvent += obj.OnFlip;
        }

        if (key.HasFlag(PlayerAbilities.LongJump))
        {
            passiveAbility         = new LongJump();
            controller.m_JumpForce = passiveAbility.ApplyPassiveAbility(
                controller.m_JumpForce);
        }
    }
Exemple #11
0
    void Start()
    {
        _anim = GetComponent <Animator>();
        // _anim.runtimeAnimatorController = Resources.Load<RuntimeAnimatorController>("AnimationController/PlayerAnimator"); //Load controller at runtime https://answers.unity.com/questions/1243273/runtimeanimatorcontroller-not-loading-from-script.html
        _anim.runtimeAnimatorController = animatorController; //Load controller at runtime https://answers.unity.com/questions/1243273/runtimeanimatorcontroller-not-loading-from-script.html
        playerAction   = GetComponent <PlayerAction>();
        playerControl  = GetComponent <PlayerControl>();
        playerJump     = GetComponent <PlayerJump>();
        doubleJump     = GetComponent <DoubleJump>();
        playerMovement = GetComponent <PlayerMovement>();
        playerStats    = GetComponent <PlayerStats>();
        //clipInfo = _anim.GetCurrentAnimatorClipInfo(0); // get name of current animation state   https://stackoverflow.com/questions/34846287/get-name-of-current-animation-state

        // collider = this.transform.Find("mixamorig:Hips/mixamorig:Spine/mixamorig:Spine1/mixamorig:Spine2/mixamorig:RightShoulder/mixamorig:RightArm/mixamorig:RightForeArm/mixamorig:RightHand/" +
        //      "katana").gameObject.GetComponent<BoxCollider>(); // to find a child game object by name   //https://docs.unity3d.com/ScriptReference/Transform.Find.html

        //collider = this.transform.Find("metarig/spine/spine.007/spine.001/spine.002/spine.003/shoulder.R/upper_arm.R/forearm.R/hand.R/" +
        //"katana").gameObject.GetComponent<BoxCollider>(); // to find a child game object by name   //https://docs.unity3d.com/ScriptReference/Transform.Find.html
    }
Exemple #12
0
        public static void Evaluate(string pUpName)
        {
            switch (pUpName)
            {
            case "DoubleJumpPowerup":
                var doubleJump = new DoubleJump();
                ActivePowerups.Add(doubleJump);
                break;

            case "MidairPowerup":
                var midair = new MidairDirectionPowerup();
                ActivePowerups.Add(midair);
                break;

            default:
                Debug.Log("Invalid powerup name");
                break;
            }
        }
Exemple #13
0
    public static JumpBehavior CreateJumpBehavior(JumpType type, MonoBehaviour root)
    {
        JumpBehavior toReturn = null;

        switch (type)
        {
        case JumpType.Null:
            toReturn = new NullJump();
            break;

        case JumpType.Single:
            toReturn = new SingleJump(root.GetComponent <CharacterController>())
            {
                StartFallSpeed   = DEFAULT_START_FALL_SPEED,
                TerminalVelocity = DEFAULT_TERMINAL_VELOCITY,
                Gravity          = DEFAULT_GRAVITY,
                JumpForce        = DEFAULT_JUMP_FORCE
            };
            break;

        case JumpType.Double:
            toReturn = new DoubleJump(root.GetComponent <CharacterController>())
            {
                StartFallSpeed   = DEFAULT_START_FALL_SPEED,
                TerminalVelocity = DEFAULT_TERMINAL_VELOCITY,
                Gravity          = DEFAULT_GRAVITY,
                JumpForce        = DEFAULT_JUMP_FORCE
            };
            break;

        default:
            //Only thrown if a new jump type is added and there is no corresponding case.
            throw new NotImplementedException();
            break;
        }
        return(null);
    }
    public static JumpState CreateJumpState(JumpType type)
    {
        JumpState toReturn = null;

        switch (type)
        {
        case JumpType.Null:
            toReturn = new NullJump();
            break;

        case JumpType.Single:
            toReturn = new SingleJump(DEFAULT_TIME_HOLD)
            {
                StartFallSpeed   = DEFAULT_START_FALL_SPEED,
                TerminalVelocity = DEFAULT_TERMINAL_VELOCITY,
                Gravity          = DEFAULT_GRAVITY,
                JumpHeight       = DEFAULT_JUMP_FORCE
            };
            break;

        case JumpType.Double:
            toReturn = new DoubleJump()
            {
                StartFallSpeed   = DEFAULT_START_FALL_SPEED,
                TerminalVelocity = DEFAULT_TERMINAL_VELOCITY,
                Gravity          = DEFAULT_GRAVITY,
                JumpHeight       = DEFAULT_JUMP_FORCE
            };
            break;

        default:
            //Only thrown if a new jump type is added and there is no corresponding case.
            throw new NotImplementedException();
            break;
        }
        return(toReturn);
    }
Exemple #15
0
 public override void StateStart()
 {
     doubleJump = GetComponent <DoubleJump>();
     velocity   = 0;
 }
 // Use this for initialization
 void Start()
 {
     _character  = GetComponentInParent <Character>();
     _doubleJump = GetComponentInParent <DoubleJump>();
 }
Exemple #17
0
        public Level(string levelName, string previousLevel, string checkpointLevel)
        {
            Bitmap bmp = new Bitmap(string.Format("Levels/{0}.bmp", levelName));

            for (int x = 0, nX = bmp.Width; x < nX; x++)
            {
                for (int y = 0, nY = bmp.Height; y < nY; y++)
                {
                    var color = bmp.GetPixel(x, y);

                    switch (color.Name)
                    {
                    case "ffffffff":
                        // no object
                        break;

                    case "ff000000":
                        var block = new Block(x * 10, y * 10);

                        _bodies.Add(block);
                        break;

                    case "ff00ff00":
                        var checkpoint = new Checkpoint(x * 10, y * 10, levelName == checkpointLevel);

                        _bodies.Add(checkpoint);

                        if (previousLevel == null)
                        {
                            AddPlayer(x, y, 1);
                            Player.ResetPlayer();
                        }
                        break;

                    case "ffff0000":
                        var spikes = new Spikes(x * 10, (y * 10) + 1);

                        _bodies.Add(spikes);
                        break;

                    case "ff00a0c0":
                        var jumper = new Jumper(x * 10, y * 10);

                        jumper.Target = Player;

                        _bodies.Add(jumper);
                        break;

                    case "ff0000ff":
                        var enemy = new Spider(x * 10, y * 10);

                        enemy.Target = Player;

                        _bodies.Add(enemy);
                        break;

                    case "ffa6caf0":
                        var something = new Charger(x * 10, y * 10);

                        something.Target = Player;

                        _bodies.Add(something);
                        break;

                    case "ff000040":
                        var stomper = new Stomper((x * 10) - 20, (y * 10) - 11);

                        stomper.Target = Player;

                        var stomperGift = new DoorKey(0, 0);
                        stomperGift.LockID         = 4;
                        stomperGift.Mass           = 5;
                        stomperGift.IsStatic       = false;
                        stomperGift.Drag           = 0.01;
                        stomperGift.CollisionGroup = 8055;

                        stomper.Gift = stomperGift;

                        _boss = stomper;
                        _bodies.Add(stomper);
                        break;

                    case "ffffff00":
                        var star = new Star(x * 10, y * 10);

                        _bodies.Add(star);
                        break;

                    case "ffff00ff":
                        var rightDoor = new RightDoor(x * 10, (y * 10) - 6, levelName, Direction.Left);

                        if (previousLevel == (rightDoor as Door).Level)
                        {
                            AddPlayer(x + (int)((rightDoor as Door).Start), y, -1);
                        }

                        if (levelName == "0-4")
                        {
                            rightDoor.IsLocked = true;
                            rightDoor.LockID   = 3;
                            rightDoor.SetTexture();
                        }

                        _bodies.Add(rightDoor);
                        break;

                    case "ff800080":
                        var leftDoor = new LeftDoor(x * 10, (y * 10) - 6, levelName, Direction.Right);

                        if (previousLevel == (leftDoor as Door).Level)
                        {
                            AddPlayer(x + (int)((leftDoor as Door).Start), y, 1);
                        }

                        if (levelName == "0-0")
                        {
                            leftDoor.IsLocked = true;
                            leftDoor.LockID   = 4;
                            leftDoor.IsExit   = true;
                            leftDoor.SetTexture();
                        }

                        if (levelName == "2-2")
                        {
                            leftDoor.IsLocked = true;
                            leftDoor.LockID   = 2;
                            leftDoor.SetTexture();
                        }

                        _bodies.Add(leftDoor);
                        break;

                    case "ff8000c0":
                        var downDoor = new DownDoor(x * 10, (y * 10) - 6, levelName, Direction.Left);

                        if (previousLevel == (downDoor as Door).Level)
                        {
                            AddPlayer(x + (int)((downDoor as Door).Start), y, -1);
                        }

                        if (levelName == "2-2")
                        {
                            downDoor.IsLocked = true;
                            downDoor.LockID   = 1;
                            downDoor.SetTexture();
                        }

                        if (levelName == "3-2")
                        {
                            downDoor.IsLocked = true;
                            downDoor.LockID   = 4;
                            downDoor.SetTexture();
                        }

                        _bodies.Add(downDoor);
                        break;

                    case "ffe00080":
                        var upDoor = new UpDoor(x * 10, (y * 10) - 6, levelName, Direction.Right);

                        if (previousLevel == (upDoor as Door).Level)
                        {
                            AddPlayer(x + (int)((upDoor as Door).Start), y, 1);
                        }

                        if (levelName == "4-2")
                        {
                            upDoor.IsLocked = true;
                            upDoor.LockID   = 4;
                            upDoor.SetTexture();
                        }

                        _bodies.Add(upDoor);
                        break;

                    case "ffa0a000":
                        var key = new DoorKey(x * 10, y * 10);

                        switch (levelName)
                        {
                        case "1-1":
                            key.LockID = 2;
                            break;

                        case "2-0":
                            key.LockID = 1;
                            break;

                        case "1-3":
                            key.LockID = 3;
                            break;
                        }

                        _bodies.Add(key);
                        break;

                    case "ffe0c000":
                        if (_player != null && _player.Inventory.HasFlag(InventoryItem.DoubleJump))
                        {
                            break;
                        }

                        var doubleJump = new DoubleJump(x * 10, y * 10);

                        _bodies.Add(doubleJump);
                        break;

                    case "ffc0a000":
                        if (_player != null && _player.Inventory.HasFlag(InventoryItem.Run))
                        {
                            break;
                        }

                        var run = new Run(x * 10, y * 10);

                        _bodies.Add(run);
                        break;

                    case "ffc0e000":
                        if (_player != null && _player.Inventory.HasFlag(InventoryItem.Weapon))
                        {
                            break;
                        }

                        var basicWeapon = new BasicWeapon(x * 10, y * 10);

                        _bodies.Add(basicWeapon);
                        break;

                    case "ffa0c000":
                        if (_player != null && _player.Inventory.HasFlag(InventoryItem.WeaponPower))
                        {
                            break;
                        }

                        var strongWeapon = new StrongWeapon(x * 10, y * 10);

                        _bodies.Add(strongWeapon);
                        break;

                    case "ffe0e040":
                        if (_player != null && _player.Inventory.HasFlag(InventoryItem.WeaponSpeed))
                        {
                            break;
                        }

                        var fastWeapon = new FastWeapon(x * 10, y * 10);

                        _bodies.Add(fastWeapon);
                        break;

                    case "ff608000":
                        if (_player != null && _player.Inventory.HasFlag(InventoryItem.WeaponLength))
                        {
                            break;
                        }

                        var longWeapon = new LongWeapon(x * 10, y * 10);

                        _bodies.Add(longWeapon);
                        break;

                    case "ffc0c0c0":
                        var botBoundry = new BotBoundry(x * 10, y * 10);

                        _bodies.Add(botBoundry);
                        break;

                    case "ff808080":
                        var breakable = new Breakable(x * 10, y * 10);

                        _bodies.Add(breakable);
                        break;

                    case "ffa0a0a4":
                        var bossBoundry = new BossBoundry(x * 10, y * 10);

                        _bodies.Add(bossBoundry);
                        break;

                    default:
                        break;
                    }
                }
            }

            _bodies = _bodies.OrderBy(b => b.DrawOrder).ToList();
        }
Exemple #18
0
 public override void StateStart()
 {
     doubleJump = GetComponent <DoubleJump>();
     velocity   = Mathf.Sqrt(2 * player.G * jumpH);//v = √2gh
     player.animator.Play("Jump", -1, 0);
 }