Esempio n. 1
0
 public static Barrier ConsBarrier(
     ActorData caster,
     StandardBarrierData data,
     Vector3 targetPos,
     Vector3 facingDir,
     SequenceSource seqSource,
     List <GameObject> prefabOverride = null)
 {
     Log.Info($"Spawning barrier by {caster.DisplayName}: max duration {data.m_maxDuration}, max hits {data.m_maxHits}, end on caster death {data.m_endOnCasterDeath}");
     return(new Barrier(
                ArtemisServerResolutionManager.Get().NextBarrierGuid,
                "",
                targetPos,
                facingDir,
                data.m_width,
                data.m_bidirectional,
                data.m_blocksVision,
                data.m_blocksAbilities,
                data.m_blocksMovement,
                data.m_blocksPositionTargeting,
                data.m_considerAsCover,
                data.m_maxDuration,
                caster,
                prefabOverride ?? data.m_barrierSequencePrefabs,
                true,
                data.m_onEnemyMovedThrough,
                data.m_onAllyMovedThrough,
                data.m_maxHits,
                data.m_endOnCasterDeath,
                seqSource,
                caster.GetTeam()));
 }
Esempio n. 2
0
        protected override void MakeBarriers(SequenceSource seqSource)
        {
            StandardBarrierData data    = Ability.ModdedBarrierData();
            BarrierPayload      payload = new BarrierPayload();

            payload.OnEnemyHit = delegate(Barrier barrier)
            {
                payload.RemoveAtTurnEnd = true;
            };
            payload.GetTechPointsForCaster = barrier => Ability.GetBaseTechPointInteractions();
            foreach (Vector3 facingDir in new List <Vector3>()
            {
                new Vector3(0, 0, 1), new Vector3(1, 0, 0)
            })
            {
                var barrier = Utils.ConsBarrier(m_caster, data, m_targetPos, facingDir, seqSource, Ability.ModdedBarrierSequencePrefab());
                Barriers.Add(barrier);
                ArtemisServerBarrierManager.Get().SetBarrierPayload(barrier, payload);
            }
        }