Example #1
0
            }//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
Example #2
0
    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);
    }
Example #3
0
            }//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
Example #4
0
        }//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
Example #5
0
        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
Example #6
0
        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
Example #7
0
    /* ---------------------- ----------------------- ---------------------- */


    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