Ejemplo n.º 1
0
    public void StartNextAction()
    {
        if (actions.Count > 0)
        {
            SpacecraftAction action = actions[0];
            if (action is SpacecraftBoost)
            {
                SpacecraftBoost boost = (SpacecraftBoost)action;
                if (boost.direction == SpacecraftAction.Direction.None)
                {
                    return;
                }
                controller.Boost(boost.direction, boost.boostForce, boost.duration);
                actions.RemoveAt(0);
            }
            else if (action is SpacecraftRotation)
            {
                SpacecraftRotation rotation = (SpacecraftRotation)action;
                if (rotation.direction == SpacecraftAction.Direction.None)
                {
                    return;
                }
                controller.Rotate(rotation.direction, rotation.angularSpeed, rotation.duration);
                actions.RemoveAt(0);
            }
            if (action is SpacecraftWeaponAction)
            {
                Transform weapon = null;
                SpacecraftWeaponAction weaponAction = (SpacecraftWeaponAction)action;
                switch (weaponAction.type)
                {
                case SpacecraftWeaponAction.WeaponType.GravityMine:
                    controller.FireGravityMine();
                    actions.RemoveAt(0);
                    break;

                case SpacecraftWeaponAction.WeaponType.Laser:
                    controller.FireLaser();
                    actions.RemoveAt(0);
                    break;

                case SpacecraftWeaponAction.WeaponType.Rocket:
                    controller.FireMissile();
                    actions.RemoveAt(0);
                    break;

                default:
                    weapon = null;
                    break;
                }
            }
        }
    }
Ejemplo n.º 2
0
 private void Gameloop()
 {
     foreach (Spacecraft spacecraft in spacecrafts)
     {
         ActionStack cards = spacecraft.player.actionSelection;
         for (int i = 0; i < cards.actionList.Count; i++)
         {
             SpacecraftAction action = CardParser.ParseCard(cards.getActionCard(i));
             spacecraft.AddAction(action);
         }
     }
 }
Ejemplo n.º 3
0
 public void AddAction(SpacecraftAction action)
 {
     actions.Add(action);
 }