/** * @param initHealth * @param initShield * @param initEnergy * @param rechargeType * @param weaponType * @param ammoType */ public bool InitEnemy(int initLifes, float initHealth, float initShield, float initEnergy, CoreSystems.Energy.eRechargeTypes rechargeType, WeaponSystems.eWeaponTypes weaponType, Weapon.eAmmoTypes ammoType, bool autoShoting) { bool ret = true; ret = nesCoreSys.Init(initLifes, initHealth, initShield, initEnergy, rechargeType) && ret; ret = nesWeapSys.Init(weaponType, ammoType, autoShoting) && ret; return(ret); }
//================================================================================================== /** * @param initHealth * @param initShield * @param initEnergy * @param rechargeType * @param weaponType * @param ammoType */ public bool InitShip(int initLifes, float initHealth, float initShield, float initEnergy, CoreSystems.Energy.eRechargeTypes rechargeType, WeaponSystems.eWeaponTypes weaponType, Weapon.eAmmoTypes ammoType) { bool ret = true; ret = nesCoreSys.Init(initLifes, initHealth, initShield, initEnergy, rechargeType) && ret; ret = nesWeapSys.Init(weaponType, ammoType, false) && ret; ret = SetMoveStyle(false) && ret; nesCoreSys.collisionDamageRate = 1000.0f; return(ret); }
//================================================================================================== /** * @param enType * @param enWave * */ public bool InitEnemy(eScoreObjectTypes enType, int enWave) { bool initialized = true; switch (enType) { case eScoreObjectTypes.EnemyUWingBasic: { float tmpMove = (enWave / 5) * 0.05f; float tmpHeal = 40.0f; float tmpEner = 100.0f; CoreSystems.Energy.eRechargeTypes tmpERec = CoreSystems.Energy.eRechargeTypes.NoRecharge; WeaponSystems.eWeaponTypes tmpWeap = WeaponSystems.eWeaponTypes.NoWeapon; Weapon.eAmmoTypes tmpAmmo = Weapon.eAmmoTypes.NoShoting; bool tmpAuto = false; if (enWave >= 10) { tmpHeal = 60.0f; tmpERec = CoreSystems.Energy.eRechargeTypes.VerySlow; tmpWeap = WeaponSystems.eWeaponTypes.ForwardBasic; tmpAmmo = Weapon.eAmmoTypes.Toy; tmpAuto = true; } if (enWave >= 25) { tmpHeal = 80.0f; tmpERec = CoreSystems.Energy.eRechargeTypes.Slow; tmpAmmo = Weapon.eAmmoTypes.Basic; } // init lifes, health, shield, energy and weapons initialized = InitEnemy(1, tmpHeal, 0.0f, tmpEner, tmpERec, tmpWeap, tmpAmmo, tmpAuto); // init engines initialized = nesEngiSys.Init((2.0f + tmpMove), (1.0f + tmpMove), 0.0f, false) && initialized; } break; case eScoreObjectTypes.EnemyUWingMedium: { float tmpMove = (enWave / 5) * 0.1f; float tmpHeal = 60.0f; float tmpEner = 100.0f; CoreSystems.Energy.eRechargeTypes tmpERec = CoreSystems.Energy.eRechargeTypes.VerySlow; WeaponSystems.eWeaponTypes tmpWeap = WeaponSystems.eWeaponTypes.ForwardBasic; Weapon.eAmmoTypes tmpAmmo = Weapon.eAmmoTypes.Toy; bool tmpAuto = true; if (enWave >= 5) { tmpAmmo = Weapon.eAmmoTypes.Basic; } if (enWave >= 10) { tmpHeal = 80.0f; tmpERec = CoreSystems.Energy.eRechargeTypes.Slow; tmpWeap = WeaponSystems.eWeaponTypes.ForwardBetter; tmpAmmo = Weapon.eAmmoTypes.Toy; } if (enWave >= 20) { tmpAmmo = Weapon.eAmmoTypes.Basic; } if (enWave >= 30) { tmpHeal = 100.0f; tmpERec = CoreSystems.Energy.eRechargeTypes.Medium; tmpWeap = WeaponSystems.eWeaponTypes.ForwardAdvanced; tmpAmmo = Weapon.eAmmoTypes.Toy; } if (enWave >= 50) { tmpAmmo = Weapon.eAmmoTypes.Basic; } // init lifes, health, shield, energy and weapons initialized = InitEnemy(1, tmpHeal, 0.0f, tmpEner, tmpERec, tmpWeap, tmpAmmo, tmpAuto); // init engines initialized = nesEngiSys.Init((3.0f + tmpMove), (2.0f + tmpMove), 0.0f, false) && initialized; } break; default: Debug.LogWarning("ENEMY SETT >> Unknown enemy type"); initialized = false; break; } if (initialized) { scoreType = enType; } nesCoreSys.collisionDamageRate = 1000.0f; return(initialized); }