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(); } }
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(); }
public override void SetupController(TraitController controller) { base.SetupController(controller); _currentHealth = _startingHealth; _maximumHealth = _startingHealth; _updateHealthMsg.Current = _currentHealth; _updateHealthMsg.Maximum = _maximumHealth; SubscribeToMessages(); }
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); }
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); })); }
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(); }
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(); }
// Start is called before the first frame update void Awake() { TraitController = GetComponent <TraitController>(); Alive = true; }