// Use this for initialization void Awake() { count = 0; if (gameObject.name == "Hero1") { characterID = 0; player = GetComponent<Player> (); } else if (gameObject.name == "Hero2"){ characterID = 1; player = GetComponent<Player> (); } else if (GetComponent<MiniCopterBlock> ()) { characterID = 2; miniCopterBlock = GetComponent<MiniCopterBlock> (); } else if (gameObject.GetComponent<TankBlock> ()) { characterID = 3; tankBlock = GetComponent<TankBlock> (); } else if (GetComponent<JumpBlock> ()) { characterID = 4; jumpBlock = GetComponent<JumpBlock> (); } else if (GetComponent<TelekineticBlock> ()) { characterID = 5; telekineticBlock = GetComponent<TelekineticBlock> (); } else if (GetComponent<SuperTelekineticBlock> ()) { characterID = 6; superTelekineticBlock = GetComponent<SuperTelekineticBlock> (); } else if (GetComponent<DestructablePlatform>()){ characterID = 7; destructablePlatform = GetComponent<DestructablePlatform>(); } else if (GetComponent<TurretBlock>()){ characterID = 8; turretBlock = GetComponent<TurretBlock> (); } else if (GetComponent<SuperTurretBlock>()){ characterID = 9; superTurretBlock = GetComponent<SuperTurretBlock> (); } else if (GetComponent<PistonButton>()){ characterID = 10; pistonButton = GetComponent<PistonButton> (); } else{ characterID = 100; } }
public IEnumerator LaunchOverIt() { StartCoroutine (CatalogWeapons ()); StartCoroutine (StopChargeNoise ()); StartCoroutine (chargeDisplay.StopCharger()); if (blockInSlot){ if (chargeDisplay.charger!=0 & !waiting){ //TRIGGER RELEASE BUNDLE// (see below) waiting = true; launchCount++; StartCoroutine (ReleaseNoise ()); StartCoroutine (KickBack ()); StartCoroutine (InitialPassThrough()); if (c1){ StartCoroutine (cameraFollowPlayer1.Shake()); } else{ StartCoroutine (cameraBattleArena.Shake()); } //things that happen to ALL fired weapons blockInSlot.rigidbody2D.WakeUp(); if (blockTypes[0]!=7 && blockTypes[0]!=8 && blockTypes[0]!=13){ //telekineticblocks should float blockInSlot.rigidbody2D.gravityScale = 1f; } if (blockTypes[0]!=11 && blockTypes[0]!=12){ //turretblocks should stay small //blockInSlot.transform.localScale = Vector3.one * 3f; } charger = chargeDisplay.charger; blockInSlot.rigidbody2D.velocity = Vector2.zero; yield return new WaitForEndOfFrame(); blockInSlot.rigidbody2D.AddForce(fDir * (baselineFire + fireSpeed * charger)); blockInSlot.collider2D.isTrigger = false; occupied = false; wasOccupied = false; //Special things that those special blocks do if (blockInSlot.GetComponent<WeaponBlockScript> ()) { weaponBlockScript = blockInSlot.GetComponent<WeaponBlockScript> (); StartCoroutine(weaponBlockScript.Project()); } switch (blockTypes[0]){ case 2: Explode explode = blockInSlot.GetComponent<Explode>(); StartCoroutine(explode.BlowMe()); break; case 3: Freeze freezeScript = blockInSlot.GetComponent<Freeze>(); freezeScript.nowProjectile = true; break; case 4: NeutralSuper neutralSuper = blockInSlot.GetComponent<NeutralSuper>(); StartCoroutine(neutralSuper.BreakUp()); break; case 5: ExplodeSuper explodeSuper = blockInSlot.GetComponent<ExplodeSuper>(); StartCoroutine(explodeSuper.GetIntimate()); break; case 6: // super freeze SuperFreezeBlock freezeSuper = blockInSlot.GetComponent<SuperFreezeBlock>(); freezeSuper.wepDSID = wepDSID; break; case 7: //telekinetic block telekineticBlockScript = blockInSlot.GetComponent<TelekineticBlock>(); occupied = true; wasOccupied = true; telekineticBlockScript.weaponDetectorScript = this; telekineticBlockScript.heroSpot = arm; telekineticBlockScript.player = player; telekineticBlockScript.wepDSID = wepDSID; telekineticBlockScript.GetComponent<WeaponBlockScript>().wepDSID = wepDSID; StartCoroutine (TeleBlockCheck()); StartCoroutine (telekineticBlockScript.Orbit()); StartCoroutine (telekineticBlockScript.StartingOff()); break; case 8: //super telekinetic block superTelekineticBlockScript = blockInSlot.GetComponent<SuperTelekineticBlock>(); superTelekineticBlockScript.weaponDetectorScript = this; superTelekineticBlockScript.character = character; superTelekineticBlockScript.wepDSID = wepDSID; superTelekineticBlockScript.GetComponent<WeaponBlockScript> ().wepDSID = wepDSID; GameObject expo = Instantiate ( Resources.Load("Prefabs/Effects/Telesplosion"),hPos,Quaternion.identity) as GameObject; expo.transform.localScale = Vector3.one; StartCoroutine (superTelekineticBlockScript.Welcome()); break; case -1: MiniCopterBlock miniCopterBlock = blockInSlot.GetComponent<MiniCopterBlock>(); StartCoroutine(miniCopterBlock.BeFree()); break; case 11: //turret block //blockInSlot.transform.localScale = Vector3.one; break; case 12: //super turret block //blockInSlot.transform.localScale = Vector3.one; break; case 13: TeleportalBlock teleB = blockInSlot.GetComponent<TeleportalBlock>(); StartCoroutine(teleB.Phase1()); break; case 15: ShockBlock shockb = blockInSlot.GetComponent<ShockBlock>(); StartCoroutine(shockb.FlipTheSwitch()); break; } StartCoroutine(CatalogWeapons()); yield return new WaitForSeconds(0.01f); waiting = false; //StartCoroutine (ToggleWeapons()); yield return null; } } }
// Use this for initialization void Awake() { count = 0; if (gameObject.name == "Hero1") { characterID = 0; player = GetComponent <Player> (); } else if (gameObject.name == "Hero2") { characterID = 1; player = GetComponent <Player> (); } else if (GetComponent <MiniCopterBlock> ()) { characterID = 2; miniCopterBlock = GetComponent <MiniCopterBlock> (); } else if (gameObject.GetComponent <TankBlock> ()) { characterID = 3; tankBlock = GetComponent <TankBlock> (); } else if (GetComponent <JumpBlock> ()) { characterID = 4; jumpBlock = GetComponent <JumpBlock> (); } else if (GetComponent <TelekineticBlock> ()) { characterID = 5; telekineticBlock = GetComponent <TelekineticBlock> (); } else if (GetComponent <SuperTelekineticBlock> ()) { characterID = 6; superTelekineticBlock = GetComponent <SuperTelekineticBlock> (); } else if (GetComponent <DestructablePlatform>()) { characterID = 7; destructablePlatform = GetComponent <DestructablePlatform>(); } else if (GetComponent <TurretBlock>()) { characterID = 8; turretBlock = GetComponent <TurretBlock> (); } else if (GetComponent <SuperTurretBlock>()) { characterID = 9; superTurretBlock = GetComponent <SuperTurretBlock> (); } else if (GetComponent <PistonButton>()) { characterID = 10; pistonButton = GetComponent <PistonButton> (); } else { characterID = 100; } }
public IEnumerator LaunchOverIt() { StartCoroutine(CatalogWeapons()); StartCoroutine(StopChargeNoise()); StartCoroutine(chargeDisplay.StopCharger()); if (blockInSlot) { if (chargeDisplay.charger != 0 & !waiting) { //TRIGGER RELEASE BUNDLE// (see below) waiting = true; launchCount++; StartCoroutine(ReleaseNoise()); StartCoroutine(KickBack()); StartCoroutine(InitialPassThrough()); if (c1) { StartCoroutine(cameraFollowPlayer1.Shake()); } else { StartCoroutine(cameraBattleArena.Shake()); } //things that happen to ALL fired weapons blockInSlot.rigidbody2D.WakeUp(); if (blockTypes[0] != 7 && blockTypes[0] != 8 && blockTypes[0] != 13) //telekineticblocks should float { blockInSlot.rigidbody2D.gravityScale = 1f; } if (blockTypes[0] != 11 && blockTypes[0] != 12) //turretblocks should stay small //blockInSlot.transform.localScale = Vector3.one * 3f; { } charger = chargeDisplay.charger; blockInSlot.rigidbody2D.velocity = Vector2.zero; yield return(new WaitForEndOfFrame()); blockInSlot.rigidbody2D.AddForce(fDir * (baselineFire + fireSpeed * charger)); blockInSlot.collider2D.isTrigger = false; occupied = false; wasOccupied = false; //Special things that those special blocks do if (blockInSlot.GetComponent <WeaponBlockScript> ()) { weaponBlockScript = blockInSlot.GetComponent <WeaponBlockScript> (); StartCoroutine(weaponBlockScript.Project()); } switch (blockTypes[0]) { case 2: Explode explode = blockInSlot.GetComponent <Explode>(); StartCoroutine(explode.BlowMe()); break; case 3: Freeze freezeScript = blockInSlot.GetComponent <Freeze>(); freezeScript.nowProjectile = true; break; case 4: NeutralSuper neutralSuper = blockInSlot.GetComponent <NeutralSuper>(); StartCoroutine(neutralSuper.BreakUp()); break; case 5: ExplodeSuper explodeSuper = blockInSlot.GetComponent <ExplodeSuper>(); StartCoroutine(explodeSuper.GetIntimate()); break; case 6: // super freeze SuperFreezeBlock freezeSuper = blockInSlot.GetComponent <SuperFreezeBlock>(); freezeSuper.wepDSID = wepDSID; break; case 7: //telekinetic block telekineticBlockScript = blockInSlot.GetComponent <TelekineticBlock>(); occupied = true; wasOccupied = true; telekineticBlockScript.weaponDetectorScript = this; telekineticBlockScript.heroSpot = arm; telekineticBlockScript.player = player; telekineticBlockScript.wepDSID = wepDSID; telekineticBlockScript.GetComponent <WeaponBlockScript>().wepDSID = wepDSID; StartCoroutine(TeleBlockCheck()); StartCoroutine(telekineticBlockScript.Orbit()); StartCoroutine(telekineticBlockScript.StartingOff()); break; case 8: //super telekinetic block superTelekineticBlockScript = blockInSlot.GetComponent <SuperTelekineticBlock>(); superTelekineticBlockScript.weaponDetectorScript = this; superTelekineticBlockScript.character = character; superTelekineticBlockScript.wepDSID = wepDSID; superTelekineticBlockScript.GetComponent <WeaponBlockScript> ().wepDSID = wepDSID; GameObject expo = Instantiate(Resources.Load("Prefabs/Effects/Telesplosion"), hPos, Quaternion.identity) as GameObject; expo.transform.localScale = Vector3.one; StartCoroutine(superTelekineticBlockScript.Welcome()); break; case -1: MiniCopterBlock miniCopterBlock = blockInSlot.GetComponent <MiniCopterBlock>(); StartCoroutine(miniCopterBlock.BeFree()); break; case 11: //turret block //blockInSlot.transform.localScale = Vector3.one; break; case 12: //super turret block //blockInSlot.transform.localScale = Vector3.one; break; case 13: TeleportalBlock teleB = blockInSlot.GetComponent <TeleportalBlock>(); StartCoroutine(teleB.Phase1()); break; case 15: ShockBlock shockb = blockInSlot.GetComponent <ShockBlock>(); StartCoroutine(shockb.FlipTheSwitch()); break; } StartCoroutine(CatalogWeapons()); yield return(new WaitForSeconds(0.01f)); waiting = false; //StartCoroutine (ToggleWeapons()); yield return(null); } } }