Example #1
0
        public override void SetupController(TraitController controller)
        {
            base.SetupController(controller);
            var hitboxFilter = HitboxController.GenerateHitboxFilter(_hitbox, _collisionLayer);

            _controller.gameObject.SendMessageWithFilterTo(new HitboxCheckMessage {
                DoAfter = hitboxController =>
                {
                    _hitboxController = hitboxController;
                }
            }, _controller.transform.parent.gameObject, hitboxFilter);
            if (!_hitboxController)
            {
                _hitboxController = Instantiate(_hitbox.Controller, _controller.transform.parent);
                _hitboxController.Setup(_hitbox, _collisionLayer);
            }
            _register = _applyToTargetOnEnter.Length > 0 || _applyToTargetOnExit.Length > 0 || _applyToSelfOnEnter.Length > 0 || _applyToSelfOnExit.Length > 0;
            if (_register)
            {
                _traitCheckMsg.TraitsToCheck = _requiredTraits;
                _controller.gameObject.SendMessageTo(new RegisterCollisionMessage {
                    Object = _controller.gameObject
                }, _hitboxController.gameObject);
                SubscribeToMessages();
            }
        }
Example #2
0
 public override void SetupController(TraitController controller)
 {
     base.SetupController(controller);
     _animationController = Instantiate(FactoryController.UNIT_ANIMATION_CONTROLLER, _controller.transform.parent);
     _animationController.Animator.runtimeAnimatorController = _runtimeController;
     _animationController.SpriteRenderer.color = _color;
     SubscribeToMessages();
 }
Example #3
0
 public override void SetupController(TraitController controller)
 {
     base.SetupController(controller);
     _currentHealth           = _startingHealth;
     _maximumHealth           = _startingHealth;
     _updateHealthMsg.Current = _currentHealth;
     _updateHealthMsg.Maximum = _maximumHealth;
     SubscribeToMessages();
 }
Example #4
0
 public override void SetupController(TraitController controller)
 {
     base.SetupController(controller);
     _controller.gameObject.SendMessageTo(new TakeDamageMessage {
         Damage = _damage
     }, _controller.transform.parent.gameObject);
     _controller.gameObject.SendMessageTo(new RemoveTraitFromUnitByControllerMessage {
         Controller = _controller
     }, _controller.transform.parent.gameObject);
 }
Example #5
0
 public override void SetupController(TraitController controller)
 {
     base.SetupController(controller);
     _rigidBody = _controller.transform.parent.gameObject.GetComponent <Rigidbody2D>();
     SubscribeToMessages();
     _controller.StartCoroutine(StaticMethods.WaitForFrames(1, () =>
     {
         _controller.transform.parent.gameObject.SendMessageTo(RequestPositionMessage.INSTANCE,
                                                               _controller.transform.parent.gameObject);
     }));
 }
Example #6
0
        public override void SetupController(TraitController controller)
        {
            base.SetupController(controller);
            var hitboxFilter = HitboxController.GenerateHitboxFilter(_hitbox, CollisionLayerFactory.AGGRO);

            _controller.gameObject.SendMessageWithFilterTo(new HitboxCheckMessage {
                DoAfter = hitboxController =>
                {
                    _hitboxController = hitboxController;
                }
            }, _controller.transform.parent.gameObject, hitboxFilter);
            if (!_hitboxController)
            {
                _hitboxController = Instantiate(_hitbox.Controller, _controller.transform.parent);
                _hitboxController.Setup(_hitbox, CollisionLayerFactory.AGGRO);
            }
            _controller.gameObject.SendMessageTo(new RegisterCollisionMessage {
                Object = _controller.gameObject
            }, _hitboxController.gameObject);
            SubscribeToMessages();
        }
Example #7
0
 public override void SetupController(TraitController controller)
 {
     base.SetupController(controller);
     SubscribeToMessages();
 }
 public override void SetupController(TraitController controller)
 {
     base.SetupController(controller);
     _rigidBody = _controller.transform.parent.gameObject.GetComponent <Rigidbody2D>();
     SubscribeToMessages();
 }
 public override void SetupController(TraitController controller)
 {
     base.SetupController(controller);
     _updateUnitStateMsg.State = _state;
     SubscribeToMessages();
 }
Example #10
0
 // Start is called before the first frame update
 void Awake()
 {
     TraitController = GetComponent <TraitController>();
     Alive           = true;
 }