public LaserMovement(Laser owner, Vector2 targetPosition, float speed) { mPosition = owner.Position; mOwner = owner; mTargetPosition = targetPosition; mSpeed = speed; }
protected override void FireLaser() { if (mLaser != null && mLaser.Alive) { mTargetContainer.ProcessReceivedDamage(((IMinionContainerAttacker)mOwner).AttackDamagePlanet); return; } if (mTargetContainer is IMinionContainerAttacker && mOwner is IMinionContainer) { GameObjectManager.GetInstance().AutoAttackIMinionContainer( (IMinionContainerAttacker)mTargetContainer, (IMinionContainer)mOwner); } InflictDamage inflictDamageDelegate = delegate {}; Vector2 initialPosition = mOwner.Position; // DeathStar Laser Location of the beginning stuff mLaser = GameObjectManager.GetInstance().FireLaser(initialPosition, mTarget.Position, inflictDamageDelegate, LaserType.DeathStarBeam); }
public Laser CreateLaser(Vector2 start, Vector2 end, InflictDamage inflictDamageDeligate, LaserType type) { var laser = new Laser(start, end, inflictDamageDeligate, type); return laser; }