private void RemoveEffect(EffectAction ea) { for (int i = 0; i < ea.tiles.Count; i++) { ea.tiles[i].tilehelper.Undo(); } }
public override void LoadFromStream(BinaryReader stream, FileVersion version) { base.LoadFromStream(stream, version); Action = (EffectAction)(StreamUtils.ReadByte(stream)); Duration = StreamUtils.ReadInt(stream); Magnitude = StreamUtils.ReadInt(stream); }
public Effect(GameSpace space, object owner, EffectID eID, object source, EffectAction actionKind, int duration, int magnitude) : base(space, owner) { CLSID = (int)eID; Action = actionKind; Duration = duration; Magnitude = magnitude; Source = source; }
public ConsumableItem(string _name, string _description, ItemType _itemType, int _value, bool _usedInCombat, EffectAction _effectAction, int _strenght) { name = _name; describtion = _description; itemType = _itemType; Value = _value; UseInCombat = _usedInCombat; strenght = _strenght; effectAction = _effectAction; }
public void ProjectileEffect() { Vector3 from = new Vector3(3, 2, 0); Vector3 to = new Vector3(-2, 3, 4); float duration = 1.0f; EffectAction effectAction = EffectAction.CreateProjectileEffect(projectilePrefab, from, to, duration); actionManager.RunAction(effectAction); }
public void ParseEffect(Character client) { var datas = Args.Split('|'); foreach (var effect in datas) { var infos = effect.Split(';'); EffectAction.ParseEffect(client, int.Parse(infos[0]), infos[1]); } }
private void ApplyEffect(EffectAction action, string name) { AddRestorationPoint(); lock (mCurrentBuffer.Value) { action(mCurrentBuffer.Value); } Redraw(); }
/// <summary> /// Receive Effect event raise request and dispatch it through the internal Queue. /// </summary> private void ProcessEffect(EffectAction ef) { if (disposedValue) { return; } _effectsQueue.Enqueue(ef); _effectsTimer.Start(); Application.DoEvents(); }
public void ApplyEffects(Character character) { try { foreach (var effect in Effects.Split('|')) { var infos = effect.Split(';'); EffectAction.ParseEffect(character, int.Parse(infos[0]), infos[1]); } } catch { } }
public void RemoveEffect(A_Effect effect, Tile tile) { int index = activeEffects.FindIndex(x => (x.effect == effect && x.tile == tile)); if (index != -1) { EffectAction ea = activeEffects[index]; RemoveEffect(ea); activeEffects.RemoveAt(index); Refresh(); } }
public MasterSweeper.Job RegisterJob(EffectAction.Action action, TimeSpan oneSweepDuration, int? iterations) { var job = new MasterSweeper.Job(action, oneSweepDuration, this.intervalMs, iterations); lock (lockTicks) { lock (lockJobs) { jobs.Add(job); } } return job; }
public CreateTokens( DynParam <int> count, CardTemplate token, EffectAction <Card> afterTokenComesToPlay = null, DynParam <Player> tokenController = null, EffectAction <CardTemplate> tokenParameters = null) { _afterTokenComesToPlay = afterTokenComesToPlay ?? delegate { }; _tokenController = tokenController; _setTokenParameters = tokenParameters ?? delegate { }; _count = count; _tokenFactories.Add(token); RegisterDynamicParameters(count, tokenController); }
public SearchLibraryPutToZone(Zone zone, EffectAction <Card> afterPutToZone = null, int maxCount = 1, int minCount = 0, CardSelector validator = null, string text = null, bool revealCards = true, DynParam <Player> player = null, CardOrder rankingAlgorithm = null) { _validator = validator ?? delegate { return(true); }; _player = player ?? new DynParam <Player>((e, g) => e.Controller, EvaluateAt.OnResolve); _text = text ?? "Search your library for a card."; _zone = zone; _afterPutToZone = afterPutToZone ?? delegate { }; _revealCards = revealCards; _rankingAlgorithm = rankingAlgorithm ?? ((c, ctx) => - c.Score); _maxCount = maxCount; _minCount = minCount; RegisterDynamicParameters(_player); }
public AnimeAction CreateHitDamageAction(Model targetModel, GameObject hitEffect = null) { ParallelAction hitDamagePack = new ParallelAction(); hitDamagePack.name = "HitDamage"; ModelHitAction hitAction = new ModelHitAction(); hitAction.name = "enemyHit"; hitAction.actor = targetModel; hitDamagePack.AddAction(hitAction); GameTextAction damageAction = new GameTextAction(); damageAction.textPrefab = damageTextPrefab; damageAction.text = 1000.ToString(); damageAction.spawnPostion = targetModel.transform.position + new Vector3(0, 2, -2); hitDamagePack.AddAction(damageAction); if (hitEffect == null) { return(hitDamagePack); } // EffectAction effectAction = EffectAction.CreatePointEffect(hitEffect, targetModel.GetPosition()); effectAction.onHitAction = hitDamagePack; return(effectAction); // SimpleAnimationAction effectAction = new SimpleAnimationAction(); // effectAction.clip = hitEffect; // effectAction.spawnPosition = targetModel.transform.position + new Vector3(0, 1, -2); // hitDamagePack.AddAction(effectAction); // } // return hitDamagePack; }
public void EffectCloud() { ParallelAction parallel = new ParallelAction(); int effectCount = 30; for (int i = 0; i < effectCount; i++) { float x = Random.Range(-4f, 4f); float y = Random.Range(-2f, 2f); Vector3 spawnPos = new Vector3(x, y, -5); EffectAction effectAction = EffectAction.CreatePointEffect(effectPrefab, spawnPos, null, 3); parallel.AddAction(effectAction); } actionManager.RunAction(parallel); }
public AnimeAction CreateProjectileAction(Model actor, Model target, GameObject projectile, GameObject hitEffect) { // Sequence: Projectile Movement, Hit Effect, ModelHit HitValue SequenceAction sequence = new SequenceAction(); Vector3 launchPos = actor.GetLaunchPosition(); Vector3 targetCenterPos = (Vector3)target.GetCenterPosition() + new Vector3(0, 0, -5); Vector3 targetPos = (Vector3)target.GetOriginPosition() + new Vector3(0, 0, -5); float duration = 0.5f; // Projectile Move EffectAction projectileAction = EffectAction.CreateProjectileEffect( projectile, launchPos, targetCenterPos, duration); sequence.AddAction(projectileAction); // Hit Effect ParallelAction damagePack = new ParallelAction(); sequence.AddAction(damagePack); EffectAction effectAction = EffectAction.CreatePointEffect(hitEffect, targetPos); damagePack.AddAction(effectAction); ModelHitAction hitAction = new ModelHitAction(); hitAction.name = "enemyHit"; hitAction.actor = target; damagePack.AddAction(hitAction); int damage = Random.Range(500, 10000); GameTextAction damageAction = GameTextAction.Create( damageTextPrefab, damage.ToString(), target.transform.position + new Vector3(0, 2, -2)); damagePack.AddAction(damageAction); return(sequence); }
private void ConsumeEffectQueue() { if (disposedValue) { return; } if (_effectsQueue.Count > 0) { EffectAction ef = _effectsQueue.Dequeue(); ef.Fire(); // during this event SM can be eventually disposed from outside!!!!! if (disposedValue) { return; } } if (_effectsQueue.Count > 0) { _effectsTimer.Start(); } }
public AnimeAction CreateHitDamageAction(Model targetModel, GameObject hitEffect = null) { ParallelAction hitDamagePack = new ParallelAction(); hitDamagePack.name = "HitDamage"; ModelHitAction hitAction = new ModelHitAction(); hitAction.name = "enemyHit"; hitAction.actor = targetModel; hitDamagePack.AddAction(hitAction); GameTextAction damageAction = new GameTextAction(); damageAction.textPrefab = damageTextPrefab; damageAction.text = 1000.ToString(); damageAction.spawnPostion = targetModel.transform.position + new Vector3(0, 2, -2); hitDamagePack.AddAction(damageAction); if (hitEffect == null) { return(hitDamagePack); } // // Effect effect = hitEffect.GetComponent <Effect>(); PositionType posType = effect == null ? PositionType.Ground : effect.positionType; EffectAction effectAction = EffectAction.CreatePointEffect(hitEffect, targetModel.GetPositionByType(posType)); effectAction.onHitAction = hitDamagePack; return(effectAction); }
public Job Reset(EffectAction.Action action, TimeSpan oneSweepDuration, int? iterations) { lock (lockObject) { this.action = action; this.step = (double)SweeperTables.DataPoints / (1000 / (double)intervalMs) / oneSweepDuration.TotalSeconds; this.iterationCounter = iterations; } return this; }
protected void AddAction <T>(EffectAction onAdded, EffectAction onUpdate, EffectAction onRemoved) { actions.Add((typeof(T), onAdded, onUpdate, onRemoved)); }
public Sweeper RegisterJob(EffectAction.Action job) { lock (lockJobs) { jobs.Add(job); } return this; }
public bool CanCombine(EffectAction action) { return(false); }
public void ParticleEffect() { EffectAction effectAction = EffectAction.CreatePointEffect(particlePrefab, Vector3.zero); actionManager.RunAction(effectAction); }
public void Start() { action = GetComponent <EffectAction> (); }
public Job ChangeAction(EffectAction.Action action) { lock (lockObject) { this.action = action; } return this; }
public CreateTokens(params CardTemplate[] tokens) { _tokenFactories.AddRange(tokens); _afterTokenComesToPlay = delegate { }; _count = 1; }
public bool CanCombine(EffectAction action) { return(action is MakeRestImpossibleEffectAction); }
public MapEffect(GameSpace space, object owner, EffectID eID, object source, EffectAction actionKind, int duration, int magnitude) : base(space, owner, eID, source, actionKind, duration, magnitude) { Ext = null; }
public static void InvokeEffect(EffectID effectID, LocatedEntity creature, object source, InvokeMode invokeMode, EffectAction action, EffectExt ext) { if (effectID == EffectID.eid_None) { return; } try { if (creature != null) { GameEvent @event = new GameEvent(GameSpace.Instance, null); @event.CLSID = (int)effectID; @event.SetPos(creature.PosX, creature.PosY); GlobalVars.nwrWin.DoEvent(EventID.event_EffectSound, null, null, @event); @event.Dispose(); } ItemState state; if (source != null && source is Item) { state = ((Item)source).State; } else { state = ItemState.is_Normal; } bool valid = (ext == null || ext.Valid); if (valid) { IEffectProc proc = EffectsData.dbEffectProcs[(int)effectID].Proc; if (proc != null) { proc.Invoke(effectID, (NWCreature)creature, source, state, invokeMode, ext); } } } catch (Exception ex) { //EffectsData.dbEffects[(int)effectID] string msg = "Effect.invokeEffect(): " + effectID.ToString(); if (creature != null) { msg = msg + "/" + ((NWCreature)creature).Entry.Sign; } if (source != null && source is Item) { msg = msg + "/" + ((Item)source).Entry.Sign; } msg = msg + ", " + ex.Message; Logger.Write(msg); } }
public ViewModelActionStatusEffect(EffectAction effectAction) : base(effectAction.ProtoStatusEffect) { this.effectAction = effectAction; }
public void AddAction(EffectAction action, ITarget target) { action.Initialize(target); _actionQueue.Enqueue(action); }
internal Job(EffectAction.Action action, TimeSpan oneSweepDuration, int intervalMs, int? iterations) { this.action = action; this.intervalMs = intervalMs; this.iterationCounter = iterations; this.offset1 = 0; this.offset2 = SweeperTables.DataPoints / 4; this.offset3 = SweeperTables.DataPoints / 2; this.iterationsComplete = new ManualResetEvent(false); SetDuration(oneSweepDuration); }