public TeleportAroundTargetLogic(AroundTargetMode info, Character caster, Environment environment, Skill skill) { this.info = info; this.caster = caster; this.environment = environment; this.skill = skill; Entity entity = caster.GameObject().GetComponent <EntityReference>().Entity; movementComponent = entity.GetComponent <MovementComponent>(); StatsComponent statsComponent = entity.GetComponent <StatsComponent>(); invisibleStats = statsComponent.CharacterStats.FindStats(StatsType.Invisible); gameObjectComponent = (GameObjectComponent)entity.GetComponent <EntityGameObjectComponent>(); FrameAndSecondsConverter fasc = FrameAndSecondsConverter._30Fps; delay = fasc.FramesToSeconds(info.delay); prepareDelay = fasc.FramesToSeconds(info.prepareDelay); prepareEndDelay = delay + info.duration - fasc.FramesToSeconds(info.endPreceding); if (delay == 0) { skill.TriggerEventWithId(info.prepareEventId); Perform(); isPrepareEventDispatched = true; prepareDispatchCount++; } if (prepareDelay == 0 && prepareDispatchCount < info.count) { skill.TriggerEventWithId(info.prepareEventId); isPrepareEventDispatched = true; prepareDispatchCount++; } }
public Chaining(AroundTargetMode info, Character caster, Environment environment, Skill skill, Vector2 originalStartPositionOfLightning, Vector2 originalEndPositionOfLightning) { this.info = info; this.caster = caster; this.environment = environment; this.skill = skill; this.originalStartPositionOfLightning = originalStartPositionOfLightning; this.originalEndPositionOfLightning = originalEndPositionOfLightning; GameObject chainingPrefab = info.ShowChainingPrefab(); if (chainingPrefab != null) { lightningVfx = environment.InstantiateGameObject(chainingPrefab); lightningStart = lightningVfx.transform.Find("LightningStart"); lightningStart.position = originalStartPositionOfLightning; lightningEnd = lightningVfx.transform.Find("LightningEnd"); lightningEnd.position = originalEndPositionOfLightning; } isLightningExpand = info.cExpandDuration > 0; if (isLightningExpand && lightningEnd != null) { lightningEnd.position = originalStartPositionOfLightning; } }