private void AEShoot(RealmTime time, Item item, Position target, ActivateEffect eff) { var arcGap = item.ArcGap * Math.PI / 180; var startAngle = Math.Atan2(target.Y - Y, target.X - X) - (item.NumProjectiles - 1) / 2 * arcGap; var prjDesc = item.Projectiles[0]; //Assume only one var sPkts = new Packet[item.NumProjectiles]; for (var i = 0; i < item.NumProjectiles; i++) { var proj = CreateProjectile(prjDesc, item.ObjectType, (int)Stats.GetAttackDamage(prjDesc.MinDamage, prjDesc.MaxDamage, true), time.TotalElapsedMs, new Position() { X = X, Y = Y }, (float)(startAngle + arcGap * i)); Owner.EnterWorld(proj); sPkts[i] = new AllyShoot() { OwnerId = Id, Angle = proj.Angle, ContainerType = item.ObjectType, BulletId = proj.ProjectileId }; FameCounter.Shoot(proj); } BroadcastSync(sPkts, p => p != this && this.DistSqr(p) < RadiusSqr); }
// Use this for initialization void Start() { allyShoot = GetComponent <AllyShoot>(); targetManager = GameObject.FindObjectOfType <TargetManager>().GetComponent <TargetManager>(); }
// Use this for initialization void Start() { targetManager = GameObject.FindObjectOfType <TargetManager>().GetComponent <TargetManager>(); aicc = GetComponent <UnityStandardAssets.Characters.ThirdPerson.AICharacterControl>(); allyShoot = GetComponent <AllyShoot>(); }