public void Start()
 {
     upgradeCost = 400;
     description = "The generator produces power which can be used to power up ship components and weapons.";
     upgradeDescription = "Upgrading the power generator will provide additional power and power profiles that can be switched while in combat.";
     componentName = "Advanced Power Plant";
     controller = GetComponent<Controller>();
     if (controller == null)
         controller = PlayerController.PC;
     owner = controller.owner;
 }
Exemple #2
0
 private void Start()
 {
     collider = GetComponent<Collider2D>();
     controller = transform.parent.GetComponent<Controller>();
     controller.hullRef = this;
     owner = controller.owner;
     hullClass = controller.hullClass;
     initialize();
     _hull = maxHull;
     sprite = GetComponent<SpriteRenderer>();
     if (owner == Controller.Owner.Enemy)
     {
         setUpBehaviorController();
         sprite.color = controller.hullColor;
     }
     else
         sprite.color = GameManager.Instance.shipColor;
     lowestHullValue = maxHull;
 }
        protected override void Fire()
        {
            if (targetTracker == null)
            {
                targetTracker = Target;
            }
            if(targetTracker != Target && Target != null)
            {
                resetBeam();
                targetTracker = Target;
            }
            if (hasDuration) 
            {
                if (!canFire)
                {
                    return;
                }
            }
            if (firing == true)
                return;
            if(owner == Controller.Owner.Player)
                tController = Target.transform.parent.GetComponent<Controller>();
            if (owner == Controller.Owner.Enemy)
                tController = PlayerController.PC;
            firing = true;
            beam.enabled = true;
            end.position = start.position;
            beam.SetPosition(1, end.position);
            animatingDuration = false;
            HOTween.To(end, .1f, new TweenParms().Prop("position", Target.transform.position).UpdateType(UpdateType.Update).Ease(EaseType.EaseInSine).OnComplete(hittingEnemy).OnUpdate(animateBeam));

        }
Exemple #4
0
 public override void initialize(Controller.Owner o)
 {
     if (initialized)
         return;
     owner = o;
     engineType = controller.getEngine();
     switch (engineType)
     {
         case Controller.EngineType.playerEngine1:
             speed = 1.75f;
             boostDuration = 2;
             boostCooldown = 10;
             canBoost = false;
             typeRating = 1;
             componentclass = componentName +" I";
             break;
         case Controller.EngineType.playerEngine2:
             speed = 2.25f;
             boostDuration = 3;
             boostCooldown = 7;
             canBoost = false;
             typeRating = 2;
             componentclass = componentName +" II";
             upgradeCost = upgradeCost * 2;//Compensate for starting as a duster
             break;
         case Controller.EngineType.playerEngine3:
             speed = 2.75f;
             boostDuration = 4;
             boostCooldown = 5;
             canBoost = false;
             typeRating = 3;
             componentclass = componentName +" III";
             break;
         case Controller.EngineType.enemyEngine1:
             speed = 2;
             boostDuration = 2;   
             boostCooldown = 20;
             canBoost = false;
             typeRating = 1;
             componentclass = componentName +" I";
             break;
         case Controller.EngineType.enemyEngine2:
             speed = 2.5f;
             boostDuration = 3;
             boostCooldown = 15;
             canBoost = false;
             typeRating = 2;           
             componentclass = componentName +" II";
             break;
         case Controller.EngineType.enemyEngine3:
             speed = 3;
             boostDuration = 4;
             boostCooldown = 10;
             canBoost = false;
             typeRating = 3;
             componentclass = componentName +" III";
             break;
         case Controller.EngineType.boss1:
             speed = 3;
             boostDuration = 4;
             boostCooldown = 10;
             canBoost = false;
             typeRating = 3;
             componentclass = componentName +" III";
             break;
         case Controller.EngineType.boss2:
             speed = 3.25f;
             boostDuration = 4;
             boostCooldown = 10;
             canBoost = false;
             typeRating = 3;
             componentclass = componentName + " III";
             break;
     }
     setPowerMod();
     addToController();
     initialized = true;
 }
Exemple #5
0
        public override void initialize(Controller.Owner o)
        {
            if (initialized)
                return;
            owner = o;
            shieldType = controller.getShield();
            switch (shieldType)
            {
                case Controller.ShieldType.playerShield1:
                    typeRating = 1;
                    maxShield = 200;
                    regenRate = 10;
                    regenDelay = 10;
                    componentclass = componentName +" I";
                    break;
                case Controller.ShieldType.playerShield2:
                    typeRating = 2;
                    maxShield = 400;
                    regenRate = 20;
                    regenDelay = 9;
                    componentclass = componentName +" II";
                    break;
                case Controller.ShieldType.playerShield3:
                    typeRating = 3;
                    maxShield = 600;
                    regenRate = 30;
                    regenDelay = 8;
                    componentclass = componentName +" III";
                    break;
                case Controller.ShieldType.enemyShield1:
                    typeRating = 1;
                    maxShield = 30;
                    regenRate = 5;
                    regenDelay = 10;
                    componentclass = componentName +" I";
                    break;
                case Controller.ShieldType.enemyShield2:
                    typeRating = 2;
                    maxShield = 50;
                    regenRate = 10;
                    regenDelay = 9;
                    componentclass = componentName +" II";
                    break;
                case Controller.ShieldType.enemyShield3:
                    typeRating = 3;
                    maxShield = 75;
                    regenRate = 15;
                    regenDelay = 8;
                    componentclass = componentName +" III";
                    break;
                case Controller.ShieldType.boss1:
                    typeRating = 3;
                    maxShield = 200;
                    regenRate = 30;
                    regenDelay = 5;
                    componentclass = componentclass = componentName + " III";
                    break;
                case Controller.ShieldType.boss2:
                    typeRating = 3;
                    maxShield = 300;
                    regenRate = 50;
                    regenDelay = 5;
                    componentclass = componentclass = componentName + " III";
                    break;

            }
            shields = maxShield;
            setPowerMod();
            addToController();
        }
 public override void initialize(Controller.Owner o)
 {
     if (initialized)
         return;
     owner = o;
     pdsType = controller.getPDS();
     switch (pdsType)
     {
         case Controller.PDSType.playerPDSType1:
             damage = 1;
             range = 20;
             typeRating = 1;
             componentclass = componentName +" I";
             break;
         case Controller.PDSType.playerPDSType2:
             damage = 1.5f;
             range = 25;
             typeRating = 2;
             componentclass = componentName +" II";
             break;
         case Controller.PDSType.playerPDSType3:
             damage = 2;
             range = 30;
             typeRating = 3;
             componentclass = componentName +" III";
             break;
         case Controller.PDSType.enemyPDSType1:
             damage = 1;
             range = 17;
             typeRating = 1;
             componentclass = componentName +" I";
             break;
         case Controller.PDSType.enemyPDSType2:
             damage = 1.5f;
             range = 22;
             typeRating = 2;
             componentclass = componentName +" II";
             break;
         case Controller.PDSType.enemyPDSType3:
             damage = 2;
             range = 27;
             typeRating = 3;
             componentclass = componentName +" III";
             break;
         case Controller.PDSType.boss1:
             damage = 1.5f;
             range = 27;
             typeRating = 3;
             componentclass = componentName + " III";
             break;
         case Controller.PDSType.boss2:
             damage = 2;
             range = 27;
             typeRating = 3;
             componentclass = componentName + " III";
             break;
     }
     addToController();
     foreach (PDSTurret pds in pdsturrets)
     {
         pds.setReference(controller);
     }
     setTargetLayer();
     setPowerMod();
     initialized = true;
 }
        public void initialize()
        {
            if (controller == null)
                controller = PlayerController.PC;
            powerGeneratorType = controller.getPowerGenerator();

            switch (powerGeneratorType)
            {
                case Controller.PowerGeneratorType.playerPGType1:
                    maxAvailablePower = 12 + controller.PowerBonus;
                    availablePower = maxAvailablePower - powerInUse;
                    if (availablePower > maxAvailablePower)
                        availablePower = maxAvailablePower;
                    componentclass = componentName + " I";
                    powerProfiles = 1;
                    break;
                case Controller.PowerGeneratorType.playerPGType2:
                    maxAvailablePower = 15 + controller.PowerBonus;
                    availablePower = maxAvailablePower - powerInUse;
                    if (availablePower > maxAvailablePower)
                        availablePower = maxAvailablePower;
                    componentclass = componentName + " II";
                    powerProfiles = 2;
                    break;
                case Controller.PowerGeneratorType.playerPGType3:
                    maxAvailablePower = 18 + controller.PowerBonus;
                    availablePower = maxAvailablePower - powerInUse;
                    if (availablePower > maxAvailablePower)
                        availablePower = maxAvailablePower;
                    componentclass = componentName + " III";
                    powerProfiles = 3;
                    break;
                case Controller.PowerGeneratorType.enemyPGType1:
                    maxAvailablePower = 9 + controller.PowerBonus;
                    availablePower = maxAvailablePower - powerInUse;
                    if (availablePower > maxAvailablePower)
                        availablePower = maxAvailablePower;
                    componentclass = componentName + " I";
                    break;
                case Controller.PowerGeneratorType.enemyPGType2:
                    maxAvailablePower = 12 + controller.PowerBonus;
                    availablePower = maxAvailablePower - powerInUse;
                    if (availablePower > maxAvailablePower)
                        availablePower = maxAvailablePower;
                    componentclass = componentName + " II";
                    break;
                case Controller.PowerGeneratorType.enemyPGType3:
                    maxAvailablePower = 15 + controller.PowerBonus;
                    availablePower = maxAvailablePower - powerInUse;
                    if (availablePower > maxAvailablePower)
                        availablePower = maxAvailablePower;
                    componentclass = componentName + " II";
                    break;
                case Controller.PowerGeneratorType.boss1:
                    maxAvailablePower = 25 + controller.PowerBonus;
                    availablePower = maxAvailablePower - powerInUse;
                    if (availablePower > maxAvailablePower)
                        availablePower = maxAvailablePower;
                    componentclass = componentName + " II";
                    break;
                case Controller.PowerGeneratorType.boss2:
                    maxAvailablePower = 30 + controller.PowerBonus;
                    availablePower = maxAvailablePower - powerInUse;
                    if (availablePower > maxAvailablePower)
                        availablePower = maxAvailablePower;
                    componentclass = componentName + " II";
                    break;

            }
            if(owner == Controller.Owner.Player)//initialize power bar if player
                PowerManagementPanel.pmp.initialize();
        }