示例#1
0
    protected virtual void OnTriggerEnter2D(Collider2D collider)
    {
        // we check that the object colliding with the ladder is actually a corgi controller and a character
        ActCharacterNew actChar = collider.GetComponent <ActCharacterNew>();

        if (actChar == null || actChar.GetAbility(typeof(ActClimbing)) == null)
        {
            return;
        }
        ActClimbing actClimbing = actChar.GetAbility(typeof(ActClimbing)) as ActClimbing;

        actClimbing.LadderColliding = true;
        actClimbing.CurrentLadder   = this;
    }
示例#2
0
    /// <summary>
    /// Triggered when something exits the ladder
    /// </summary>
    /// <param name="collider">Something colliding with the ladder.</param>
    protected virtual void OnTriggerExit2D(Collider2D collider)
    {
        // we check that the object colliding with the ladder is actually a corgi controller and a character
        ActCharacterNew actChar = collider.GetComponent <ActCharacterNew>();

        if (actChar == null || actChar.GetAbility(typeof(ActClimbing)) == null)
        {
            return;
        }
        ActClimbing actClimbing = actChar.GetAbility(typeof(ActClimbing)) as ActClimbing;

        // when the character is not colliding with the ladder anymore, we reset its various ladder related states
        actClimbing.LadderColliding = false;
        actClimbing.CurrentLadder   = null;
    }
示例#3
0
 private void RegisterAbility()
 {
     {
         ActAbility ability = new ActMoveH();
         ability.Initialization(this);
         AbilityList.Add(typeof(ActMoveH), ability);
     }
     {
         ActAbility ability = new ActClimbing();
         ability.Initialization(this);
         AbilityList.Add(typeof(ActClimbing), ability);
     }
     {
         ActAbility ability = new ActJump();
         ability.Initialization(this);
         AbilityList.Add(typeof(ActJump), ability);
     }
     {
         ActAbility ability = new ActDash();
         ability.Initialization(this);
         AbilityList.Add(typeof(ActDash), ability);
     }
     {
         ActAbility ability = new ActCrouch();
         ability.Initialization(this);
         AbilityList.Add(typeof(ActCrouch), ability);
     }
     {
         ActAbility ability = new ActWallCling();
         ability.Initialization(this);
         AbilityList.Add(typeof(ActWallCling), ability);
     }
     {
         ActAbility ability = new ActWallJump();
         ability.Initialization(this);
         AbilityList.Add(typeof(ActWallJump), ability);
     }
     {
         ActAbility ability = new ActGrip();
         ability.Initialization(this);
         AbilityList.Add(typeof(ActGrip), ability);
     }
 }