public void Initialize(ScrapBehaviour target, ScrapBehaviour attacker, float damage) { _target = target; _damage = damage; if (UsesTeamMaterial) { GetComponentInChildren <SpriteRenderer>().material = attacker.Faction.UnitMat; } else if (UsesTeamColor) { GetComponentInChildren <SpriteRenderer>().color = attacker.Faction.Color; } // Team color the trail renderer if there is one TrailRenderer trailRenderer = GetComponent <TrailRenderer>(); if (trailRenderer != null) { Gradient colorGradient = trailRenderer.colorGradient; colorGradient.SetKeys( new[] { new GradientColorKey(attacker.Faction.Color, 0.0f), new GradientColorKey(attacker.Faction.Color, 1.0f) }, colorGradient.alphaKeys ); trailRenderer.colorGradient = colorGradient; } OnInitialize(); }
public void Initialize(Camera camera, Player player, ScrapBehaviour scrapBehaviour) { _camera = camera; _player = player; _target = scrapBehaviour; }
public void Initialize(ScrapBehaviour target, ScrapBehaviour attacker, float damage) { _target = target; _attacker = attacker; _damage = damage; transform.SetParent(attacker.transform); StartCoroutine(SpawnProjectiles()); }
private void OnTriggerExit2D(Collider2D other) { ScrapBehaviour scrap = other.GetComponent <ScrapBehaviour>(); if (scrap != null) { _objectsInRange.Remove(scrap); if (OnObjectExit != null) { OnObjectExit(scrap); } } }
private void OnTriggerEnter2D(Collider2D other) { ScrapBehaviour scrap = other.GetComponent <ScrapBehaviour>(); if (scrap != null) { _objectsInRange.Add(scrap); if (OnObjectEnter != null) { OnObjectEnter(scrap); } } }
public ScrapBehaviour GetClosestMatch(Predicate <ScrapBehaviour> criteriaCheck) { ScrapBehaviour closestMatch = null; float curClosest = float.MaxValue; foreach (ScrapBehaviour scrapBehaviour in _objectsInRange) { if (!criteriaCheck(scrapBehaviour)) { continue; } float distance = Vector2.Distance(transform.position, scrapBehaviour.transform.position); if (distance < curClosest) { closestMatch = scrapBehaviour; curClosest = distance; } } return(closestMatch); }
private void OnDrawGizmos() { if (Player == null) { return; } ScrapBehaviour repair = Player.GetRepairTarget(); if (repair != null) { Gizmos.color = Color.green; Gizmos.DrawSphere(repair.transform.position, 0.2f); } ScrapBehaviour salvage = Player.GetSalvageTarget(); if (salvage != null) { Gizmos.color = Color.yellow; Gizmos.DrawSphere(salvage.transform.position, 0.18f); } }
protected override void Attack(ScrapBehaviour target) { IProjectile proj = GameObject.Instantiate(Projectile, barrel.transform.position, Quaternion.identity).GetComponent <IProjectile>(); proj.Initialize(target, Construct, Damage); }
public ScrapObjectDiedEvent(ScrapBehaviour scrapObject) { ScrapObject = scrapObject; }
protected override void Attack(ScrapBehaviour target) { target.TakeDamage(Damage); }
private bool ObjectAffectsCohesion(ScrapBehaviour behaviour) { return(behaviour != Owner && !Owner.Faction.IsEnemy(behaviour.Faction)); }
private bool ObjectAffectsSeparation(ScrapBehaviour behaviour) { return(!Owner.Faction.IsEnemy(behaviour.Faction)); }
public bool IsVisible(ScrapBehaviour obj) { return(_objectsInRange.Contains(obj)); }