コード例 #1
0
ファイル: NurtureNeglect.cs プロジェクト: ModernMAK/BoEG
        public override void Initialize(Actor data)
        {
            base.Initialize(data);
            Modules.Abilitiable.TryGetAbility(out _blackRose);

            _nurtureAura = TriggerUtility.GetOrCreateTrigger <SphereCollider>(data, "Nurture Aura");
            _nurtureAura.Collider.radius = _nurtureRange;
            _nurtureAura.Trigger.Enter  += Nurture_Enter;
            _nurtureAura.Trigger.Exit   += Nurture_Exit;

            _neglectAura = TriggerUtility.GetOrCreateTrigger <SphereCollider>(data, "Neglect Aura");
            _neglectAura.Collider.radius = _neglectRange;
            _neglectAura.Trigger.Enter  += Neglect_Enter;
            _neglectAura.Trigger.Exit   += Neglect_Exit;

            _neglectAura.Collider.enabled = false;
            _nurtureAura.Collider.enabled = true;

            _nurtureTargets = new List <IHealable>();
            _neglectTargets = new List <IHealable>();

            _rrTeamChecker = TeamableChecker.AllyOnly(Modules.Teamable);
            _brTeamChecker = TeamableChecker.NonAllyOnly(Modules.Teamable);
            CheckBuilder   = new AbilityPredicateBuilder(data)
            {
                AllowSelf = false
            };
            View = new SimpleAbilityView()
            {
                Icon     = _rrIcon,
                Cooldown = CheckBuilder.Cooldown,
                StatCost = CheckBuilder.MagicCost,
            };
            CheckBuilder.RebuildChecks();
        }
コード例 #2
0
ファイル: PlayerController.cs プロジェクト: cthoens/Archie
    // Use this for initialization
    void Awake()
    {
        anim             = GetComponent <Animator>();
        antiClimbTrigger = GetComponentInChildren <TriggerHelper>();

        // We need to convert the angle for the deadzone from degrees to radians.
        deadZone *= Mathf.Deg2Rad;
    }
コード例 #3
0
    private void OnTriggerEnter(Collider other)
    {
        if (!TriggerHelper.SatisfiesCondition(other))
        {
            return;
        }

        DoActivateTrigger();
    }
コード例 #4
0
    void OnCollisionEnter(Collision collision)
    {
        if (!TriggerHelper.SatisfiesCondition(collision.collider))
        {
            return;
        }

        Animator.Play("fallingback");
    }
コード例 #5
0
 public AttackTargetTrigger(Actor actor, TriggerHelper <T> helper, ITeamable teamable = default)
 {
     _targets = new List <Actor>();
     Trigger  = helper;
     Actor    = actor;
     Teamable = teamable;
     if (Teamable != null)
     {
         Teamable.TeamChanged += OnMyTeamChanged;
     }
     Trigger.Trigger.Enter += TriggerOnEnter;
     Trigger.Trigger.Exit  += TriggerOnExit;
 }
コード例 #6
0
ファイル: MagicalBacklash.cs プロジェクト: ModernMAK/BoEG
 public override void Initialize(Actor data)
 {
     base.Initialize(data);
     _sphereCollider = TriggerUtility.CreateTrigger <SphereCollider>(Self, "MagicalBacklash Trigger");
     _sphereCollider.Trigger.Enter += OnActorEnter;
     _sphereCollider.Trigger.Exit  += OnActorExit;
     _targetBuffer = new List <IAbilitiable>();
     Checker       = new AbilityPredicateBuilder(data)
     {
         AllowSelf = false,
         Teamable  = TeamableChecker.NonAllyOnly(Modules.Teamable)
     };
     View = new SimpleAbilityView()
     {
         Icon = _icon
     };
     Register(data);
     if (data.TryGetModule <IKillable>(out var killable))
     {
         killable.Died += SelfDied;
     }
 }
コード例 #7
0
ファイル: AIEvent.cs プロジェクト: blockspacer/MMXLegacy
 public AIEvent(Boolean p_autoReset)
 {
     m_trigger   = new TriggerHelper();
     m_autoReset = p_autoReset;
 }