}//GoToTarget public void UseLadder(ref Vector2 deltaMovement, float dir) { LadderClimber climber = AICtrl.LadderClimberCmp; if(climber == null) return; if(!climber.IsOnLadder) return; climber.OnClimb(1, !climber.IsClimbing); deltaMovement.x = 0f; deltaMovement.y = AICtrl.MvmntCmp.Velocity.y; }//UserLadder
void OnTriggerStay2D(Collider2D col) { // We need to figure out if we want to go up or down (or nowhere) LadderClimber climber = col.GetComponentInParent <LadderClimber>(); if (climber == null) { // Probably someone that shouldn't be climbing ladders Debug.LogWarning(col.gameObject.name + ": We can't climb ladders."); return; } climber.TryClimbLadder(Top.transform, Bottom.transform); }
}//GoToTarget public virtual void UseLadder(ref Vector3 deltaMovement, float dir) { LadderClimber climber = AICtrl.LadderClimberCmp; if (climber == null) return; if (!climber.IsOnLadder) return; //deltaMovement.x = 0f; //deltaMovement.y = climber.Speed * dir; climber.OnClimb(dir, !climber.IsClimbing); deltaMovement = AICtrl.MvmntCmp.Velocity; //deltaMovement.y = AICtrl.MvmntCmp.Velocity.y; }//UserLadder
}//Start public override void OnTriggerEnter2D(Collider2D collision) { base.OnTriggerEnter2D(collision); if(!HasEntered) return; LadderClimber climber = null; if (this.climbersCash.ContainsKey(collision)) climber = this.climbersCash[collision]; else { climber = collision.GetComponent<LadderClimber>(); this.climbersCash.Add(collision, climber); } if(climber != null) climber.SetLadder(this); }//OnTriggerEnter2D
public void Start() { _actor = GetComponent <Player>(); _ladderClimber = GetComponent <LadderClimber>(); _statusEffectCtrl = GetComponentInChildren <ActorStatusController>(); if (_statusEffectCtrl == null) { _statusEffectCtrl = GetComponent <ActorStatusController>(); } _actor.EOnGroundStateChange += GroundStateChanged; if (_ladderClimber != null) { _ladderClimber.EOnLadderUnset += JumpedOffLadder; _ladderClimber.EOnLadderUsed += OnLadderUsed; } }//Start
public void Start() { //Not set manually? Therefore either in parent or in self. if (ControlledBy == null) { ControlledBy = GetComponentInParent <AActor2D>(); if (ControlledBy == null) { ControlledBy = GetComponent <AActor2D>(); } } ColliderCmp = GetComponentInChildren <Collider2D>(); LadderClimberCmp = GetComponentInParent <LadderClimber>(); DamagableCmp = ControlledBy.DamagableCmp; DamagableCmp.EOnDamageTaken += OnDamageTaken; DamagableCmp.EOnCritHit += OnDamageTaken; StateMachineAnimator.Rebind(); }//Start
/* ---------------------- ----------------------- ---------------------- */ public override void Start () { base.Start(); //if(Instance == null) Instance = this; //else Destroy(this.gameObject); //_gravity = GetComponent<Gravity>(); //_collisionDetection = GetComponent<CollisionDetection>(); //MvmntCmp = GetComponent<MovementControls>(); //_dropthrough = GetComponent<PlatformDropthrough>(); _charAnimator = GetComponent<CharacterAnimator>(); _ladderClimber = GetComponent<LadderClimber>(); _inputMngr = GetComponent<InputManager>(); bIsCanMove = true; this.groundedTimeout = 0f; this.origSortingLayerName = SpriteRendererCmp.sortingLayerName; this.origSortingOrder = SpriteRendererCmp.sortingOrder; this.Abilities.Actor = this; this.EOnLanded += this.Abilities.JumpCmp.Reset; }//Start