Ejemplo n.º 1
0
        public AnimationMissile(ICoordinate from, ICoordinate to, MissileEffect effect)
        {
            From   = from;
            To     = to;
            Effect = effect;

            Missile = From;
            Tail    = Missile;

            ShowFinalFrame   = false;
            FinalFrameShowed = false;
        }
Ejemplo n.º 2
0
        public static bool Prefix(MissileEffect __instance)
        {
            bool isIndirect = (bool)typeof(MissileEffect).GetField("isIndirect", BindingFlags.Instance | BindingFlags.NonPublic).GetValue(__instance);

            CustomAmmoCategoriesLog.Log.LogWrite("MissileEffect.PlayProjectile " + __instance.weapon.UIName + " real isIndirect = " + isIndirect + "\n");
            if (CustomAmmoCategories.getWeaponAlwaysIndirectVisuals(__instance.weapon) == true)
            {
                CustomAmmoCategoriesLog.Log.LogWrite(" always indirect\n");
                typeof(MissileEffect).GetField("isIndirect", BindingFlags.Instance | BindingFlags.NonPublic).SetValue(__instance, (object)true);
            }
            return(true);
        }
        private void HitShip(BattleShip targetShip, Missile missile)
        {
            var assestprovider = new BattleshipAssestProvider(targetShip);
            IEnumerable <IGoalkeeper> goalkeepers = assestprovider.GetGoalkeepers();
            IGoalkeeper goalkeeper    = goalkeepers.FirstOrDefault();
            bool        hasGoalkeeper = goalkeeper != null;

            if (hasGoalkeeper && IsMissileCatched(goalkeeper))
            {
                missile.SetEffect(MissileEffect.HitAndCatched);
                return;
            }

            MissileEffect effect = targetShip.AcceptMissile(missile);

            missile.SetEffect(effect);
        }
Ejemplo n.º 4
0
 public void SetEffect(MissileEffect effect)
 {
     this.Effect = effect;
 }
Ejemplo n.º 5
0
 public Missile(ICoordinate target, BattleShip owner)
 {
     this.Target = target;
     this.Owner  = owner;
     this.Effect = MissileEffect.Unknown;
 }