コード例 #1
0
 private void Start()
 {
     ja            = GetComponent <JumpAbility>();
     rb            = GetComponent <Rigidbody>();
     pc            = GameObject.FindGameObjectWithTag("Player").GetComponent <PlayerController>();
     startRotation = transform.rotation;
 }
コード例 #2
0
        public void Move(List <Rectangle> platforms)
        {
            PossibilityMove.RecalculatePossibilitys(this, platforms);
            var newX = GoAbility.RecalculateX(this, PossibilityMove);
            var newY = JumpAbility.RecalculateY(this, PossibilityMove);

            Location = new Rectangle(new Point(newX, newY), Location.Size);
        }
コード例 #3
0
ファイル: CreateAsset.cs プロジェクト: DebugDrawRay/sunmyth
    public static JumpAbility CreateJumpAbility()
    {
        JumpAbility asset = ScriptableObject.CreateInstance <JumpAbility>();

        AssetDatabase.CreateAsset(asset, GetSelectedPathOrFallback() + "/NewJumpAbility.asset");
        AssetDatabase.SaveAssets();
        return(asset);
    }
コード例 #4
0
 // Use this for initialization
 void Start()
 {
     health = maxHealth;
     pc     = GameObject.FindGameObjectWithTag("Player").GetComponent <PlayerController>();
     pcrb   = pc.GetComponent <Rigidbody>();
     ja     = GetComponent <JumpAbility>();
     rb     = GetComponent <Rigidbody>();
 }
コード例 #5
0
ファイル: PowerupAbility.cs プロジェクト: 380Wang/WangRunner
    void Awake()
    {
        List<JumpAbility> purchasedJumps = new List<JumpAbility>();
        purchasedJumps.Add(JumpAbility.Jump);
        purchasedJumps.Add(JumpAbility.DoubleJump);

        List<ActionAbility> purchasedActions = new List<ActionAbility>();
        purchasedActions.Add(ActionAbility.Slide);

        purchasedActions.Add(ActionAbility.Attack);

        string[] jumpAbilities =
        {
            "Glider",
            "AirStabilizer",
            "DiveKick",
            "Jetpack",
        };

        string[] actionAbilities =
        {
            "GrapplingHook",
            "Boost",
            "Uppercut",
        };

        for (int i = 0; i < jumpAbilities.Length; i++)
        {
            if(PlayerPrefs.GetInt(jumpAbilities[i]) != 0)
            {
                purchasedJumps.Add((JumpAbility)Enum.Parse(typeof(JumpAbility), jumpAbilities[i]));
            }
        }

        for (int i = 0; i < actionAbilities.Length; i++)
        {
            if (PlayerPrefs.GetInt(actionAbilities[i]) != 0)
            {
                purchasedActions.Add((ActionAbility)Enum.Parse(typeof(ActionAbility), actionAbilities[i]));
            }
        }

        chosenAbility = (Ability)UnityEngine.Random.Range((int)Ability.Action, (int)Ability.Jump + 1);
        if (chosenAbility == Ability.Jump)
        {
            int randomIndex = UnityEngine.Random.Range(0, purchasedJumps.Count);
            _jumpAbility = purchasedJumps[randomIndex];
        }
        else
        {
            int randomIndex = UnityEngine.Random.Range(0, purchasedActions.Count);
            _actionAbility = purchasedActions[randomIndex];
        }
    }
コード例 #6
0
    protected override void Start()
    {
        base.Start();

        gameObject.tag = Defines.c_tagPlayer;

        m_jumpAbility        = new JumpAbility(this, 2);
        m_climbWallAbility   = new ClimbWallAbility(this);
        m_grabLedgeAbility   = new GrabLedgeAbility(this);
        m_dashAbility        = new DashAbility(this, 15, 0.4f, 1f);
        m_climbLadderAbility = new ClimbLadderAbility(this);
    }
コード例 #7
0
 public void ChangeMoveType(MoveType newMove, List <Rectangle> platforms)
 {
     if (newMove == MoveType.Right || newMove == MoveType.Left)
     {
         CurrentTypeMovement = newMove;
     }
     if (newMove == MoveType.Up)
     {
         JumpAbility.Jump();
     }
     if (newMove == MoveType.Stand)
     {
         CurrentTypeMovement = MoveType.Stand;
     }
 }
コード例 #8
0
    // Start is called before the first frame update
    void Start()
    {
        if (this.gameObject.GetComponent <PhotonView>().IsMine)
        {
            chargeMeter = GameObject.FindGameObjectWithTag("ChargeMeter").GetComponent <AbilityChargeMeter>();
            chargeMeter.InitizalizeMeter(this);
        }

        jumpAbility     = GetComponent <JumpAbility>();
        teleportAbility = GetComponent <TeleportAbility>();

        carRigidbody = this.GetComponent <Rigidbody>();

        networkCharacter = GetComponent <NetworkCharacter>();
    }
コード例 #9
0
 protected override void Start()
 {
     base.Start();
     ja = GetComponent <JumpAbility>();
 }
コード例 #10
0
 // Use this for initialization
 void Start()
 {
     rb = GetComponent <Rigidbody>();
     ja = GetComponent <JumpAbility>();
 }
コード例 #11
0
 void UpdatePowerup(Collider2D powerup)
 {
     PowerupAbility obtainedPowerup = powerup.GetComponent<PowerupAbility>();
     if (obtainedPowerup.abilityType == Ability.Jump)
     {
         CurrentJump = obtainedPowerup.jumpAbility;
     }
     else
     {
         CurrentAction = obtainedPowerup.actionAbility;
     }
     Destroy(powerup.gameObject);
 }
コード例 #12
0
        protected override void AddAbilities()
        {
            base.AddAbilities();

            CharacterAudioManager audioManager = character.GetComponent <CharacterAudioManager>();

            AudioClip hopHorizontalClip = AssetDatabase.LoadAssetAtPath <AudioClip>("Assets/Dias Games/Climbing System/Audio/male_hop_horizontal.wav");
            AudioClip hopUpClip         = AssetDatabase.LoadAssetAtPath <AudioClip>("Assets/Dias Games/Climbing System/Audio/male_hop_up.wav");
            AudioClip jumpClip          = AssetDatabase.LoadAssetAtPath <AudioClip>("Assets/Dias Games/Third Person System/Audio/male_jump.wav");

            FreeLocomotion m_FreeLocomotion = character.GetComponent <FreeLocomotion>();
            Strafe         m_Strafe         = character.GetComponent <Strafe>();
            JumpAbility    m_Jump           = character.GetComponent <JumpAbility>();
            FallAbility    m_Fall           = character.GetComponent <FallAbility>();
            CrouchAbility  m_Crouch         = character.GetComponent <CrouchAbility>();

            LayerMask m_FootLayers = (1 << 0) | (1 << 14) | (1 << 16) | (1 << 17) | (1 << 18) | (1 << 19) | (1 << 20) | (1 << 25) | (1 << 26);

            // Vault ability
            ClimbingSystem.VaultAbility m_Vault = character.GetComponent <ClimbingSystem.VaultAbility>();
            if (m_Vault == null)
            {
                m_Vault = Undo.AddComponent <ClimbingSystem.VaultAbility>(character);

                if (m_Vault.OnEnterAbilityEvent == null)
                {
                    m_Vault.OnEnterAbilityEvent = new UnityEvent();
                }

                UnityEventTools.AddObjectPersistentListener(m_Vault.OnEnterAbilityEvent, audioManager.PlayVoiceSound, hopHorizontalClip);
            }

            m_Vault.ClimbingMask = (1 << 21);
            ////

            // Step Up ability Setup
            ClimbingSystem.StepUpAbility m_StepUp = character.GetComponent <ClimbingSystem.StepUpAbility>();
            if (m_StepUp == null)
            {
                m_StepUp = Undo.AddComponent <ClimbingSystem.StepUpAbility>(character);
            }

            m_StepUp.ClimbingMask = (1 << 16);
            ////

            // Half Climb ability Setup
            ClimbingSystem.LowerClimbAbility m_LowerClimb = character.GetComponent <ClimbingSystem.LowerClimbAbility>();
            if (m_LowerClimb == null)
            {
                m_LowerClimb = Undo.AddComponent <ClimbingSystem.LowerClimbAbility>(character);

                if (m_LowerClimb.OnEnterAbilityEvent == null)
                {
                    m_LowerClimb.OnEnterAbilityEvent = new UnityEvent();
                }

                UnityEventTools.AddObjectPersistentListener(m_LowerClimb.OnEnterAbilityEvent, audioManager.PlayVoiceSound, hopUpClip);
            }

            m_LowerClimb.ClimbingMask = (1 << 17);
            ////

            // Climbing ability setup
            ClimbingSystem.ClimbingAbility m_Climbing = character.GetComponent <ClimbingSystem.ClimbingAbility>();
            if (m_Climbing == null)
            {
                m_Climbing = Undo.AddComponent <ClimbingSystem.ClimbingAbility>(character);
            }

            SerializedObject climb = new SerializedObject(m_Climbing);

            climb.FindProperty("m_ClimbableMask").intValue = (1 << 18) | (1 << 19);
            climb.FindProperty("m_CharacterOffsetFromLedge").vector3Value = new Vector3(0, CharacterHeight - 0.4f, 0.3f);
            climb.FindProperty("m_CharacterOffsetOnHang").vector3Value    = new Vector3(0, CharacterHeight - 0.45f, 0.3f);
            climb.ApplyModifiedProperties();
            ////
            ///
            // Climb Jump ability setup
            ClimbingSystem.ClimbJump m_ClimbJump = character.GetComponent <ClimbingSystem.ClimbJump>();
            if (m_ClimbJump == null)
            {
                m_ClimbJump = Undo.AddComponent <ClimbingSystem.ClimbJump>(character);

                if (m_ClimbJump.OnEnterAbilityEvent == null)
                {
                    m_ClimbJump.OnEnterAbilityEvent = new UnityEvent();
                }

                UnityEventTools.AddObjectPersistentListener(m_ClimbJump.OnEnterAbilityEvent, audioManager.PlayVoiceSound, jumpClip);
            }

            ////
            ///
            ClimbingSystem.DropToClimbAbility m_DropToClimb = character.GetComponent <ClimbingSystem.DropToClimbAbility>();
            if (m_DropToClimb == null)
            {
                m_DropToClimb = Undo.AddComponent <ClimbingSystem.DropToClimbAbility>(character);
            }

            m_DropToClimb.DroppableLayer = (1 << 19) | (1 << 20);

            ClimbingSystem.LadderAbility m_Ladder = character.GetComponent <ClimbingSystem.LadderAbility>();
            if (m_Ladder == null)
            {
                m_Ladder = Undo.AddComponent <ClimbingSystem.LadderAbility>(character);
            }

            WallRun m_WallRun = character.GetComponent <WallRun>();

            if (m_WallRun == null)
            {
                m_WallRun = Undo.AddComponent <WallRun>(character);
            }

            WallClimb m_WallClimb = character.GetComponent <WallClimb>();

            if (m_WallClimb == null)
            {
                m_WallClimb = Undo.AddComponent <WallClimb>(character);
            }

            // -------------------------- SET IGNORE ABILITIES ---------------------------------- //

            // Climb ladder
            AddIgnoreAbility(m_Ladder, m_FreeLocomotion);
            AddIgnoreAbility(m_Ladder, m_Strafe);
            AddIgnoreAbility(m_Ladder, m_Fall);
            AddIgnoreAbility(m_Ladder, m_Jump);
            AddIgnoreAbility(m_Ladder, m_ClimbJump);

            // Step up
            AddIgnoreAbility(m_StepUp, m_FreeLocomotion);
            AddIgnoreAbility(m_StepUp, m_Strafe);

            // Lower climb
            AddIgnoreAbility(m_LowerClimb, m_FreeLocomotion);
            AddIgnoreAbility(m_LowerClimb, m_Strafe);
            AddIgnoreAbility(m_LowerClimb, m_Fall);
            AddIgnoreAbility(m_LowerClimb, m_ClimbJump);
            AddIgnoreAbility(m_LowerClimb, m_Jump);

            // Climbing
            AddIgnoreAbility(m_Climbing, m_Fall);
            AddIgnoreAbility(m_Climbing, m_Jump);
            AddIgnoreAbility(m_Climbing, m_ClimbJump);

            // Drop to climb
            AddIgnoreAbility(m_DropToClimb, m_FreeLocomotion);
            AddIgnoreAbility(m_DropToClimb, m_Strafe);
            AddIgnoreAbility(m_DropToClimb, m_Crouch);

            // Vault
            AddIgnoreAbility(m_Vault, m_FreeLocomotion);
            AddIgnoreAbility(m_Vault, m_Strafe);
            AddIgnoreAbility(m_Vault, m_Jump);
            AddIgnoreAbility(m_Vault, m_Fall);
            AddIgnoreAbility(m_Vault, m_Crouch);

            // Climb Jump
            AddIgnoreAbility(m_ClimbJump, m_FreeLocomotion);
            AddIgnoreAbility(m_ClimbJump, m_Strafe);
            AddIgnoreAbility(m_ClimbJump, m_Jump);
            AddIgnoreAbility(m_ClimbJump, m_Climbing);
            AddIgnoreAbility(m_ClimbJump, m_Ladder);
            AddIgnoreAbility(m_ClimbJump, m_WallClimb);

            // Wall Run
            AddIgnoreAbility(m_WallRun, m_Jump);
            AddIgnoreAbility(m_WallRun, m_ClimbJump);

            // Wall Climb
            AddIgnoreAbility(m_WallClimb, m_ClimbJump);
            AddIgnoreAbility(m_WallClimb, m_WallRun);
            AddIgnoreAbility(m_WallClimb, m_Jump);
            AddIgnoreAbility(m_WallClimb, m_Fall);
            AddIgnoreAbility(m_WallClimb, m_DropToClimb);

            // -------------------------------------------------------------------------------- //
        }