public void GetAllTrailsFromDatabase() { var data = new List <Trail> { new Trail { Name = "First" }, new Trail { Name = "Second" }, new Trail { Name = "Third" }, }.AsQueryable(); var mockSet = new Mock <DbSet <Trail> >(); mockSet.As <IQueryable <Trail> >().Setup(m => m.Provider).Returns(data.Provider); mockSet.As <IQueryable <Trail> >().Setup(m => m.Expression).Returns(data.Expression); mockSet.As <IQueryable <Trail> >().Setup(m => m.ElementType).Returns(data.ElementType); mockSet.As <IQueryable <Trail> >().Setup(m => m.GetEnumerator()).Returns(data.GetEnumerator()); var mockContext = new Mock <SkiResortContext>(); mockContext.Setup(c => c.Trails).Returns(mockSet.Object); var controller = new TrailController(mockContext.Object); var trails = controller.GetAll(); Assert.AreEqual(3, trails.Count); Assert.AreEqual("First", trails[0].Name); Assert.AreEqual("Second", trails[1].Name); Assert.AreEqual("Third", trails[2].Name); }
private BaseController ConfigureCursorTrail() { var cursorTrailController = new TrailController(); AddController(cursorTrailController); return(cursorTrailController); }
/********************************************************************************************************* * INITIALISATION **********************************************************************************************************/ void Awake() { rigidBody2D = GetComponent <Rigidbody2D>(); spriteController = GetComponent <SpriteController>(); cameraController = GetComponentInChildren <CameraController>(); trailController = GetComponentInChildren <TrailController>(); }
/// <summary> /// Funzione che gestisce l'evento di despawn del Trail /// </summary> /// <param name="_trail"></param> private void HandleOnTrailDespawn(TrailController _trail) { if (trails.Contains(_trail)) { _trail.OnAgentHit -= HandleOnAgentHit; _trail.OnTrailDespawn -= HandleOnTrailDespawn; trails.Remove(_trail); } }
/// <summary> /// Funzione che interrompe l'aggiornamento dell'ultimo Trail /// </summary> public void EndTrail() { if (currentTrail != null) { currentTrail.EndTrailUpdate(transform.position, trailDespawnDelayTime, trailDespawnTime); } currentTrail = null; }
/// <summary> /// Funzione che istanzia un nuovo Trail /// </summary> public void InstantiateNewTrail() { TrailController newTrail = Instantiate(trailControllerPrefab); newTrail.OnAgentHit += HandleOnAgentHit; newTrail.OnTrailDespawn += HandleOnTrailDespawn; newTrail.Setup(transform.position, bossCtrl.transform.rotation); trails.Add(newTrail); currentTrail = newTrail; }
private void Awake() { if (instance == null) { instance = this; } else { Destroy(gameObject); return; } tapArea = GetComponent <BoxCollider2D>(); trailController = GetComponent <TrailController>(); }
void Start() { if (trailController == null) { trailController = FindObjectOfType <TrailController>(); } slider = GetComponent <Slider>(); slider.interactable = false; // Subscribe to receive notifications when TrailPoint is achieved TrailController.CallOnTrailPointAchieved += TrailPointAchieved; // Setup slider max value based on the number of elements in trail list and update UI text slider.maxValue = trailController.TrailList.Count - 1; lastTrailPoint.text = slider.maxValue.ToString(); }
private void Start() { gameManager = GameManager.Instance; trailController = TrailController.Instance; foreach (var bird in birds) { bird.onBirdDestroyed += ChangeBird; bird.onBirdShot += AssignTrail; } foreach (var enemy in enemies) { enemy.onEnemyDestroyed += CheckGameEnd; } tapCollider.enabled = false; slingShooter.InitiateBird(birds[0]); shotBird = birds[0]; }
public void AddTrailToDatabase() { var data = new List <Trail>() { new Trail("a", "Beginner", "Green"), new Trail("b", "Beginner", "Green") }.AsQueryable(); var mockSet = new Mock <DbSet <Trail> >(); mockSet.As <IQueryable <Trail> >().Setup(m => m.Provider).Returns(data.Provider); mockSet.As <IQueryable <Trail> >().Setup(m => m.Expression).Returns(data.Expression); mockSet.As <IQueryable <Trail> >().Setup(m => m.ElementType).Returns(data.ElementType); mockSet.As <IQueryable <Trail> >().Setup(m => m.GetEnumerator()).Returns(data.GetEnumerator()); var mockContext = new Mock <SkiResortContext>(); mockContext.Setup(c => c.Trails).Returns(mockSet.Object); var service = new TrailController(mockContext.Object); data.ToList().ForEach(t => service.Add(t)); }
public DisplayTrail() { trailController = new TrailController(); liftController = new LiftController(); InputLifts(); }
public void PlayTrailEffect(RectTransform rect) { TrailController trail = Instantiate(trailEffect).GetComponent <TrailController>(); trail.Assign(rect); }
public static void DeconstructProjectile(Projectile bullet, bool vfx, bool deconstructProjectileComponents) { if (!string.IsNullOrEmpty(bullet.name)) { ETGModConsole.Log("<color=#ff0000ff> Name: </color>" + bullet.name); } else { ETGModConsole.Log("<color=#ff0000ff> Bullet has no name.</color>"); } ETGModConsole.Log("<color=#ff0000ff> BaseData:</color>"); if (bullet.baseData != null) { ETGModConsole.Log("<color=#ff0000ff> Damage: </color>" + bullet.baseData.damage); ETGModConsole.Log("<color=#ff0000ff> Speed: </color>" + bullet.baseData.speed); ETGModConsole.Log("<color=#ff0000ff> Range: </color>" + bullet.baseData.range); ETGModConsole.Log("<color=#ff0000ff> Knockback: </color>" + bullet.baseData.force); } else { ETGModConsole.Log("<color=#ff0000ff> BaseData is somehow null?</color>"); } ETGModConsole.Log("<color=#ff0000ff> Other Stats:</color>"); ETGModConsole.Log("<color=#ff0000ff> BossDMGMult: </color>" + bullet.BossDamageMultiplier); ETGModConsole.Log("<color=#ff0000ff> Damage Types: </color>" + bullet.damageTypes); if (deconstructProjectileComponents) { ETGModConsole.Log("<color=#ff0000ff> Components:</color>"); foreach (Component component in bullet.GetComponents <Component>()) { ETGModConsole.Log(" " + component.GetType().ToString()); } int childIterator = 0; foreach (var child in bullet.gameObject.transform) { ETGModConsole.Log($"<color=#ff0000ff> Found Child [{childIterator}]:</color>"); if ((child as Transform).gameObject) { GameObject childObj = (child as Transform).gameObject; ETGModConsole.Log($"<color=#ff0000ff> Child Name:</color> {childObj.name}"); foreach (Component component in childObj.GetComponents <Component>()) { ETGModConsole.Log(" " + component.GetType().ToString()); if (component.GetType().ToString().ToLower().Contains("trailcontroller")) { TrailController trail = component as TrailController; ETGModConsole.Log("<color=#ff0000ff> UsesStartAnim: </color>" + trail.usesStartAnimation); ETGModConsole.Log("<color=#ff0000ff> StartAnim: </color>" + trail.startAnimation); ETGModConsole.Log("<color=#ff0000ff> UsesAnim: </color>" + trail.usesAnimation); ETGModConsole.Log("<color=#ff0000ff> Anim: </color>" + trail.animation); ETGModConsole.Log("<color=#ff0000ff> UsesCascadeTimer: </color>" + trail.usesCascadeTimer); ETGModConsole.Log("<color=#ff0000ff> CascadeTimer: </color>" + trail.cascadeTimer); ETGModConsole.Log("<color=#ff0000ff> UsesSoftMaxLength: </color>" + trail.usesSoftMaxLength); ETGModConsole.Log("<color=#ff0000ff> SoftMaxLength: </color>" + trail.softMaxLength); ETGModConsole.Log("<color=#ff0000ff> UsesGlobalTimer: </color>" + trail.usesGlobalTimer); ETGModConsole.Log("<color=#ff0000ff> GlobalTimer: </color>" + trail.globalTimer); ETGModConsole.Log("<color=#ff0000ff> DestroyOnEmpty: </color>" + trail.destroyOnEmpty); ETGModConsole.Log("<color=#ff0000ff> GlobalTimer: </color>" + trail.globalTimer); ETGModConsole.Log("<color=#ff0000ff> UsesDispersalParticles: </color>" + trail.UsesDispersalParticles); ETGModConsole.Log("<color=#ff0000ff> DispersalDensity: </color>" + trail.DispersalDensity); ETGModConsole.Log("<color=#ff0000ff> DispersalMinCoherency: </color>" + trail.DispersalMinCoherency); ETGModConsole.Log("<color=#ff0000ff> DispersalMaxCoherency: </color>" + trail.DispersalMaxCoherency); if (trail.DispersalParticleSystemPrefab != null) { ETGModConsole.Log("<color=#ff0000ff> Dispersal Particle System: </color>" + trail.DispersalParticleSystemPrefab.name); foreach (Component component2 in trail.DispersalParticleSystemPrefab.GetComponentsInChildren <Component>()) { ETGModConsole.Log(" " + component2.GetType().ToString()); } } } } } childIterator++; } } }
/// <summary> /// Adds a tiled trail to the Projectile /// </summary> /// <param name="timeTillAnimStart">How long after spawning until the trail will begin to play it's animation, if it has one.</param> public static void AddTrailToProjectile(this Projectile target, string spritePath, Vector2 colliderDimensions, Vector2 colliderOffsets, List <string> animPaths = null, int animFPS = -1, List <string> startAnimPaths = null, int startAnimFPS = -1, float timeTillAnimStart = -1, float cascadeTimer = -1, float softMaxLength = -1, bool destroyOnEmpty = false) { try { GameObject newTrailObject = new GameObject(); newTrailObject.InstantiateAndFakeprefab(); newTrailObject.transform.parent = target.transform; float convertedColliderX = colliderDimensions.x / 16f; float convertedColliderY = colliderDimensions.y / 16f; float convertedOffsetX = colliderOffsets.x / 16f; float convertedOffsetY = colliderOffsets.y / 16f; int spriteID = SpriteBuilder.AddSpriteToCollection(spritePath, ETGMod.Databases.Items.ProjectileCollection); tk2dTiledSprite tiledSprite = newTrailObject.GetOrAddComponent <tk2dTiledSprite>(); tiledSprite.SetSprite(ETGMod.Databases.Items.ProjectileCollection, spriteID); tk2dSpriteDefinition def = tiledSprite.GetCurrentSpriteDef(); def.colliderVertices = new Vector3[] { new Vector3(convertedOffsetX, convertedOffsetY, 0f), new Vector3(convertedColliderX, convertedColliderY, 0f) }; def.ConstructOffsetsFromAnchor(tk2dBaseSprite.Anchor.MiddleLeft); tk2dSpriteAnimator animator = newTrailObject.GetOrAddComponent <tk2dSpriteAnimator>(); tk2dSpriteAnimation animation = newTrailObject.GetOrAddComponent <tk2dSpriteAnimation>(); animation.clips = new tk2dSpriteAnimationClip[0]; animator.Library = animation; TrailController trail = newTrailObject.AddComponent <TrailController>(); //---------------- Sets up the animation for the main part of the trail if (animPaths != null) { BeamToolbox.SetupBeamPart(animation, animPaths, "trail_mid", animFPS, null, null, def.colliderVertices); trail.animation = "trail_mid"; trail.usesAnimation = true; } else { trail.usesAnimation = false; } if (startAnimPaths != null) { BeamToolbox.SetupBeamPart(animation, startAnimPaths, "trail_start", startAnimFPS, null, null, def.colliderVertices); trail.startAnimation = "trail_start"; trail.usesStartAnimation = true; } else { trail.usesStartAnimation = false; } //Trail Variables if (softMaxLength > 0) { trail.usesSoftMaxLength = true; trail.softMaxLength = softMaxLength; } if (cascadeTimer > 0) { trail.usesCascadeTimer = true; trail.cascadeTimer = cascadeTimer; } if (timeTillAnimStart > 0) { trail.usesGlobalTimer = true; trail.globalTimer = timeTillAnimStart; } trail.destroyOnEmpty = destroyOnEmpty; } catch (Exception e) { ETGModConsole.Log(e.ToString()); } }