void SpreadLightning() { for (int i = 0; i < 4; i++) { MapPos n = new MapPos(-1, -1, -1); if (objectTag == 'b') { n = b.GetNextPos(nowPos, d[i]); } else if (objectTag == 'g') { n = g.GetNextPos(nowPos, d[i]); } GameObject nObj = goMap[n.floor, n.x, n.z]; if (nObj != null && nObj.tag.Contains("Lightning")) { LightningController l = nObj.GetComponent <LightningController>(); //オブジェクトが光っているとき,周りに光っていないオブジェクトがあったら光らせる if (!l.lightning) { StartCoroutine(l.GradLightning(l.currentColor, l.lightColor, true)); } } } }
void Start() { pc = GetComponentInParent <PlayerCombat>(); pm = GetComponentInParent <PlayerMovement>(); anim = GetComponentInParent <Animator>(); lc = lightningPrefab.GetComponent <LightningController>(); }
void OnTriggerStay(Collider collider) { LightningController lightningContoller = collider.GetComponentInParent <LightningController>(); if (lightningContoller) { Lightninged(); } }
void CreateMap() { int goalNum = 0; for (int floor = 0; floor < 2; floor++) { for (int dz = 0; dz < mapSizeZ; dz++) { for (int dx = 0; dx < mapSizeX; dx++) { MapPos mapPos = new MapPos(floor, dx, dz); Vector3 Pos = MapposToUnipos(mapPos); switch (map[floor, dx, dz]) { case 0: goMap[floor, dx, dz] = null; break; case 1: goMap[floor, dx, dz] = Instantiate(baseBlock, Pos, Quaternion.identity); break; case 2: goMap[floor, dx, dz] = Instantiate(movableBlock, Pos, Quaternion.identity); BlockController b2 = goMap[floor, dx, dz].GetComponent <BlockController>(); LightningController l1 = goMap[floor, dx, dz].GetComponent <LightningController>(); l1.lightning = false; b2.nowPos = mapPos; break; case 3: goMap[floor, dx, dz] = Instantiate(movableBlock, Pos, Quaternion.identity); BlockController b3 = goMap[floor, dx, dz].GetComponent <BlockController>(); LightningController l2 = goMap[floor, dx, dz].GetComponent <LightningController>(); b3.nowPos = mapPos; l2.lightning = true; break; case 4: goMap[floor, dx, dz] = Instantiate(iceBlock, Pos, Quaternion.identity); break; case 99: goMap[floor, dx, dz] = Instantiate(goal, Pos, Quaternion.identity); GoalBlockController g = goMap[floor, dx, dz].GetComponent <GoalBlockController>(); LightningController l3 = goMap[floor, dx, dz].GetComponent <LightningController>(); l3.lightning = false; g.nowPos = mapPos; g.goalNumber = goalNum++; break; } } } } goalFlag = new bool[goalNum]; }
private void Awake() { if (lightningControllerInstance != null && lightningControllerInstance != this) { if (gameObject != null) { Destroy(gameObject); } return; } lightningControllerInstance = this; }
private void AttackLightning(Killable unit) { if (unit == null) { return; } AttackAnimation(); LightningController.Attack(attackPosition, unit, -1 - 15f, 0.3f); unit.Damage(randomedDamage, type); }
void Awake() { // set shader values blinkerMaterial1.SetFloat("_alive", 0f); blinkerMaterial2.SetFloat("_alive", 0f); // set components flashController = GetComponent <LightningController>(); // disables railings railing1.SetActive(false); railing2.SetActive(false); railing3.SetActive(false); }
private void OnTriggerEnter2D(Collider2D collision) { DropletController dropletController = collision.GetComponent <DropletController>(); if (dropletController != null) { SuckUpDroplet(dropletController); } BirdController birdController = collision.GetComponent <BirdController>(); if (birdController != null) { if (isAcid) { birdController.AcidDeath(); } else { EnemyHit(); } } UFOController ufoController = collision.GetComponent <UFOController>(); if (ufoController != null) { if (isAcid) { ufoController.AcidDeath(); } else { EnemyHit(); } } LightningController lightningController = collision.GetComponent <LightningController>(); if (lightningController != null) { EnemyHit(); } AcidDropletController acidDropletController = collision.GetComponent <AcidDropletController>(); if (acidDropletController != null) { SuckUpAcidDroplet(acidDropletController); } }
public override void Start() { base.Start(); mDetector = UnityGestureIO.LoadDetector("data/ForceDetector.gd"); mDetector.MinThreshold = .83f; mDetector.GestureDetected += OnGestureDetected; SetReceiver(mDetector); mLifter = GetComponent <Lifter>(); mLightningController = GetComponent <LightningController>(); mGlimpse = GetComponentInChildren <GlimpseController>(); mGlimpse.gameObject.SetActive(false); }
public override void CastSpell(GestureController controller) { //Find the enemy faction closest to where the player was pointing. float closestDist = float.MaxValue; Faction closestF = null; Vector3 fingerPos = controller.FingerTrackers[1].MyTransform.position, palmPos = controller.PalmTracker.MyTransform.position, terrPos = CastApproximateRayOnTerrain(fingerPos, (fingerPos - palmPos).normalized); Vector2 terrPosHorz = terrPos.Horz(); foreach (Faction f in Faction.AllFactions[Factions.Enemies]) { float tempDist = terrPosHorz.DistanceSqr(f.AveragePos); if (tempDist < closestDist) { closestDist = tempDist; closestF = f; } } if (closestF == null) return; //Create a lightning object there. lightningObject = GameObject.Instantiate(Consts.Lightning.Prefab).GetComponent<LightningController>(); lightningObject.EnemyFaction = closestF; //Start looping lighting audio. controller.AudioSrc.clip = Consts.Lightning.AudioLoop; controller.AudioSrc.volume = 1.0f; controller.AudioSrc.loop = true; controller.AudioSrc.Play(); //Update discovery image. if (!Consts.UsedLightningYet) { Consts.UsedLightningYet = true; Consts.CreateDiscoveryImage(Consts.DiscoveryImage_Lightning); } contr = controller; }
private void Update() { player = GameObject.FindGameObjectWithTag("Player"); target = GameObject.FindGameObjectWithTag("Target"); if (player) { movement = player.GetComponent <movement>(); gun = player.GetComponent <Gun>(); targetController = target.GetComponent <TargetController>(); gameOverController = background.GetComponent <GameOverController>(); bullitController = bullit.GetComponent <Bullit>(); rocketController = rocket.GetComponent <RocketController>(); lightningController = lightning.GetComponent <LightningController>(); boltController = lightningBolt.GetComponent <BoltController>(); //print(movement); if (movement) { movement.externalController = externalController; } if (gun) { gun.externalController = externalController; } targetController.externalController = externalController; targetController.singlePlayer = singlePlayer; gameOverController.singlePlayer = singlePlayer; bullitController.singlePlayer = singlePlayer; rocketController.singlePlayer = singlePlayer; boltController.singlePlayer = singlePlayer; lightningController.singlePlayer = singlePlayer; //player2.SetActive(!singlePlayer); if (singlePlayer) { enemy.SetActive(singlePlayer); } } }
private void Update() { player = GameObject.FindGameObjectWithTag("Player"); target = GameObject.FindGameObjectWithTag("Target1"); if (player) { gameOverController = background.GetComponent <GameOverController>(); bullitController = bullit.GetComponent <Bullit>(); rocketController = rocket.GetComponent <RocketController>(); lightningController = lightning.GetComponent <LightningController>(); boltController = lightningBolt.GetComponent <BoltController>(); //print(movement); //if (movement) //{ // movement.externalController = externalController; //} //if (gun) //{ // gun.externalController = externalController; //} //targetController.externalController = externalController; //targetController.singlePlayer = singlePlayer; gameOverController.singlePlayer = singlePlayer; //bullitController.singlePlayer = singlePlayer; //rocketController.singlePlayer = singlePlayer; boltController.singlePlayer = singlePlayer; lightningController.singlePlayer = singlePlayer; //player2.SetActive(!singlePlayer); //if (singlePlayer) //{ // enemy.SetActive(singlePlayer); //} } }
public void TestCheckPayment() { // Arrange var context = new Mock <HttpContextBase>(); var identity = new GenericIdentity("test"); identity.AddClaim(new Claim("http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier", "f752739e-8d58-4bf5-a140-fc225cc5ebdb")); //test user var principal = new GenericPrincipal(identity, new[] { "user" }); context.Setup(s => s.User).Returns(principal); ILightningPayments lightningPayments = new LightningPayments(); LightningController controller = new LightningController(lightningPayments); controller.ControllerContext = new ControllerContext(context.Object, new RouteData(), controller); // Act JsonResult result = controller.CheckPayment("badinvoice").Result as JsonResult; // Assert Assert.IsNotNull(result); }
void Start() { Screen.sleepTimeout = SleepTimeout.NeverSleep; #if UNITY_IPHONE platform = Platform.Phone; #endif #if UNITY_ANDROID platform = Platform.Phone; #endif #if UNITY_STANDALONE_OSX platform = Platform.PC; #endif #if UNITY_STANDALONE_WIN platform = Platform.PC; #endif #if UNITY_EDITOR platform = Platform.PC; #endif instance = this; updatables = new Dictionary <string, Actions.VoidFloat> (); fixedUpdatables = new Dictionary <string, Actions.VoidFloat> (); clickListeners = new Dictionary <string, Actions.VoidVector2> (); clickListenerTypes = new Dictionary <string, string> (); updatablesToRemove = new List <string> (); fixedUpdatablesToRemove = new List <string> (); clickListenersToRemove = new List <string> (); new ScenePassageController(); new GamePullController(); new LanguageController(); new Settings(); new TranslationsController(); new MenusController(); new ResourcesController(); new AdsController(); new IAPController(); new LightningController(); new GUIController(); new SlideController(1920 / 100f * Settings.FhdToHD, 1080 / 100f * Settings.FhdToHD, SlideController.Mode.SlideAndZoom, 3); CameraController.ResizeCamera(Mathf.Min(CameraController.GetWidthInMeters(1080 / 50f * Settings.FhdToHD), 1920 / 50f * Settings.FhdToHD)); for (int i = 0; i < 100; i++) { LightningController.CreateBolt(); } AddFixedUpdatable("LightningControllerFixedUpdate", LightningController.Update); ScenePassageController.instance.LoadScene <MainMenuController> (); Timer(2, () => { AdsController.instance.ShowBanner(); }); }
// Use this for initialization void Start() { l = gameObject.GetComponent <LightningController>(); }
void Awake() { Instance = this; }
void OnTriggerEnter2D(Collider2D other) { eM = other.GetComponent<EnemyMovement>(); i = 0; //Fireball->Enemy if (other.name == "Gizmo") { other.GetComponent<EnemyHealthManager> ().takeDamage (abilityDamage); Instantiate(hit).transform.position = transform.position; } if (other.tag == "Destructable Platform") { other.GetComponent<PlatformHealthManager> ().takeDamage (abilityDamage); } if (other.tag == "Boss") { if (sasuke != null) { sasuke.takeDamage(abilityDamage); } else { return; } } if (other.tag == "MysteryBox") { other.GetComponent<MysteryBoxHealthManager> ().takeDamage (abilityDamage); } if (other.tag == "Enemy" && !eM.shocked) { other.GetComponent<EnemyHealthManager> ().takeDamage (abilityDamage); Instantiate(hit).transform.position = transform.position; eM.shocked = true; eM.shockTimer = 1; enemies = new List<GameObject>(GameObject.FindGameObjectsWithTag("Enemy")); eM = enemies[0].GetComponent<EnemyMovement>(); closest = enemies[0]; while(eM.shocked){ i++; closest = enemies[i]; eM = enemies[i].GetComponent<EnemyMovement>(); } for (; i < enemies.Count; i++) { if(Vector3.Distance(enemies[i].transform.position, transform.position) < Vector3.Distance(closest.transform.position, transform.position)){ eM = enemies[i].GetComponent<EnemyMovement>(); if(enemies[i] != other && !eM.shocked){ closest = enemies[i]; } else{ Debug.Log("Is The Same"); } } } distance = closest.transform.position - transform.position; if(distance.magnitude < maxDistanceToTarget){ newLight = Instantiate(gameObject); lc = newLight.GetComponent<LightningController>(); lc.isInitial = false; rb2D = newLight.GetComponent<Rigidbody2D>(); rb2D.velocity = distance.normalized * abilitySpeed; } Destroy(gameObject); } }
void Update() { //Wall Climbing Update if(Input.GetAxis("WallRun") != 0 || Input.GetButton("WallRunKeyboard")){ playerWantsToWallClimb = true; } else{ playerWantsToWallClimb = false; } if (!playerWantsToWallClimb && wallClimbing) { FromClimbingToAfterClimb(); } if (wallClimbing) { wallClimbingTimer += Time.deltaTime; switch(currentCharacter) { case 1: rb2D.velocity = new Vector2(0,itachiWallClimbSpeed); if(wallClimbingTimer > 0.5f){ FromClimbingToAfterClimb(); } break; case 2: rb2D.velocity = new Vector2(0,1); if(wallClimbingTimer > 0.2f){ FromClimbingToAfterClimb(); } break; case 3: rb2D.velocity = new Vector2(0,1); if(wallClimbingTimer > 0.2f){ FromClimbingToAfterClimb(); } break; } } else if (afterClimbEffing) { Debug.Log("frames after climbing"); afterClimbEffTimer += Time.deltaTime; switch(currentCharacter) { case 1: if(afterClimbEffTimer > 0.3f){ FromAfterClimbToNormal(); } break; case 2: if(afterClimbEffTimer > 0.8f){ FromAfterClimbToNormal(); } break; case 3: if(afterClimbEffTimer > 0.5f){ FromAfterClimbToNormal(); } break; } } if (currentCharacter == 3) { groundWallC[2].offset = new Vector2 (-0.05f,0.24f); } else{ groundWallC[2].offset = new Vector2 (-0.05f,-0.028f); } if (isBackFlipping) { bfHitCD -= Time.deltaTime; } if (Application.loadedLevel == 9) { sasukeHP = FindObjectOfType<BossHealthManager> (); } //BETTER EMERGENCY FAILSAFE if (spinDashAnimTimer <= 0 && !FindObjectOfType<ChatBoxController>() && !wallClimbing && !afterClimbEffing) { isSpinDashing = false; disableInput = false; } //EMERGENCY FAILSAFE //if (disableInput) //{ // idleTimer += Time.deltaTime; // if (idleTimer > 3) // { // if(Application.loadedLevel != 9) // { // disableInput = false; // } // } //} //else { // idleTimer = 0; //} if (stunned) { stunTimer -= Time.deltaTime; if (stunTimer <= 0) { stunTimer = 0.5f; stunned = false; } } else if (!healthManager.isPlayerDead && !PauseMenuController.isGamePaused && !disableInput) { //Left Right Movement float hAxis = Input.GetAxis("Horizontal"); //float yAxis = Input.GetAxis("Vertical"); if (hAxis != 0.0f) { if (disableInput) { return; //Do Nothing } else { rb2D.velocity = new Vector2(moveSpeed * hAxis, rb2D.velocity.y); } } if (levelUpAnimTimer > 0.0f) { levelUpAnimTimer -= Time.deltaTime; } if (levelUpAnimTimer < 0.0f && playedOnce && releaseControl == false) { if (currentCharacter == 1) { currentCharacter = 2; anim.runtimeAnimatorController = Resources.Load("Animations/Cyborg") as RuntimeAnimatorController; } else if (currentCharacter == 2) { currentCharacter = 1; anim.runtimeAnimatorController = Resources.Load("Animations/Itachi") as RuntimeAnimatorController; } releaseControl = true; } //Flip Sprites Vertically if (hAxis > 0.0f && !isOnWall) { transform.localScale = new Vector3(1.0f, 1.0f, 1.0f); } else if (hAxis < 0.0f && !isOnWall) { transform.localScale = new Vector3(-1.0f, 1.0f, 1.0f); } //Jumping if (Input.GetButtonDown("Jump") && isGrounded) { jumpsRemaining = numOfJumps - 1; playerJump.Play(); rb2D.velocity = new Vector2(rb2D.velocity.x, jumpHeight); } else if (Input.GetButtonDown("Jump")) { if (jumpsRemaining > 0) { playerJump.Play(); rb2D.velocity = new Vector2(rb2D.velocity.x, jumpHeight); jumpsRemaining--; } } //Straight Selection if(Input.GetButtonDown("Char1") && currentCharacter != 1) { springTimer = 0; chaosEmeraldTimer= 0; backFlipAnimTimer = 0; spinDashTimer = 0; spinDashAnimTimer = 0; backFlipTimer = 0; quakeTimer = 0; chargeTimer = 0; chaosEmeraldsAnimTimer = 0; spRender.color = Color.white; circleCollider.radius = 0.2f; circleCollider.offset = new Vector2(0.0f, -0.83f); currentCharacter = 1; boxColliders[1].offset = new Vector2(0.0f, 0); boxColliders[0].offset = new Vector2(0.0f, 0.05127716f); circleCollider.offset = new Vector2(0.0f, -0.83f); transform.position = new Vector3(transform.position.x, transform.position.y + 0.26992f, transform.position.z); anim.runtimeAnimatorController = Resources.Load("Animations/Itachi") as RuntimeAnimatorController; } if (Input.GetButtonDown("Char2") && currentCharacter != 2) { springTimer = 0; chaosEmeraldTimer= 0; backFlipAnimTimer = 0; spinDashTimer = 0; spinDashAnimTimer = 0; backFlipTimer = 0; quakeTimer = 0; chargeTimer = 0; spRender.color = Color.white; circleCollider.radius = 0.2f; chaosEmeraldsAnimTimer = 0; circleCollider.offset = new Vector2(0.0f, -0.83f); currentCharacter = 2; boxColliders[1].offset = new Vector2(0.0f, 0); boxColliders[0].offset = new Vector2(0.0f, 0.05127716f); circleCollider.offset = new Vector2(0.0f, -0.83f); anim.runtimeAnimatorController = Resources.Load("Animations/Cyborg") as RuntimeAnimatorController; } if (Input.GetButtonDown("Char3") && currentCharacter != 3) { springTimer = 0; chaosEmeraldTimer= 0; backFlipAnimTimer = 0; spinDashTimer = 0; spinDashAnimTimer = 0; backFlipTimer = 0; quakeTimer = 0; chargeTimer = 0; spRender.color = Color.white; circleCollider.radius = 0.2f; chaosEmeraldsAnimTimer = 0; circleCollider.offset = new Vector2(0.0f, -0.83f); currentCharacter = 3; boxColliders[0].offset = new Vector2(0.0f, 0.61127716f / 2); circleCollider.offset = new Vector2(0.0f, -0.56f); boxColliders[1].offset = new Vector2(0.0f, 0.56f / 2); anim.runtimeAnimatorController = Resources.Load("Animations/Sonic") as RuntimeAnimatorController; } //Rotate Characters //Forward if (Input.GetButtonDown("CharSwitchForward")) { switch (currentCharacter) { case 1: { springTimer = 0; chaosEmeraldTimer= 0; backFlipAnimTimer = 0; spinDashTimer = 0; spinDashAnimTimer = 0; backFlipTimer = 0; quakeTimer = 0; chargeTimer = 0; spRender.color = Color.white; circleCollider.radius = 0.2f; chaosEmeraldsAnimTimer = 0; circleCollider.offset = new Vector2(0.0f, -0.83f); currentCharacter = 2; //boxColliders[0].size = new Vector2(boxColliders[0].size.x, 1.86f); boxColliders[1].offset = new Vector2(0.0f, 0); boxColliders[0].offset = new Vector2(0.0f, 0.05127716f); circleCollider.offset = new Vector2(0.0f, -0.83f); anim.runtimeAnimatorController = Resources.Load("Animations/Cyborg") as RuntimeAnimatorController; break; } case 2: { springTimer = 0; chaosEmeraldTimer= 0; backFlipAnimTimer = 0; spinDashTimer = 0; spinDashAnimTimer = 0; backFlipTimer = 0; quakeTimer = 0; chargeTimer = 0; spRender.color = Color.white; circleCollider.radius = 0.2f; chaosEmeraldsAnimTimer = 0; circleCollider.offset = new Vector2(0.0f, -0.83f); currentCharacter = 3; boxColliders[0].offset = new Vector2(0.0f, 0.61127716f/2); circleCollider.offset = new Vector2(0.0f, -0.56f); boxColliders[1].offset = new Vector2(0.0f, 0.56f/2); anim.runtimeAnimatorController = Resources.Load("Animations/Sonic") as RuntimeAnimatorController; break; } case 3: { springTimer = 0; chaosEmeraldTimer= 0; backFlipAnimTimer = 0; spinDashTimer = 0; spinDashAnimTimer = 0; backFlipTimer = 0; quakeTimer = 0; chargeTimer = 0; spRender.color = Color.white; circleCollider.radius = 0.2f; chaosEmeraldsAnimTimer = 0; circleCollider.offset = new Vector2(0.0f, -0.83f); currentCharacter = 1; //boxColliders[0].size = new Vector2(boxColliders[0].size.x, 1.86f); boxColliders[1].offset = new Vector2(0.0f, 0); boxColliders[0].offset = new Vector2(0.0f, 0.05127716f); circleCollider.offset = new Vector2(0.0f, -0.83f); transform.position = new Vector3(transform.position.x, transform.position.y + 0.26992f, transform.position.z); anim.runtimeAnimatorController = Resources.Load("Animations/Itachi") as RuntimeAnimatorController; break; } default: { Debug.Log("Character not assigned"); break; } } } //Backwards if (Input.GetButtonDown("CharSwitchBackward")) { switch (currentCharacter) { case 1: { springTimer = 0; chaosEmeraldTimer= 0; backFlipAnimTimer = 0; spinDashTimer = 0; spinDashAnimTimer = 0; backFlipTimer = 0; quakeTimer = 0; chargeTimer = 0; spRender.color = Color.white; circleCollider.radius = 0.2f; chaosEmeraldsAnimTimer = 0; circleCollider.offset = new Vector2(0.0f, -0.83f); currentCharacter = 3; boxColliders[0].offset = new Vector2(0.0f, 0.61127716f/2); circleCollider.offset = new Vector2(0.0f, -0.56f); boxColliders[1].offset = new Vector2(0.0f, 0.56f/2); anim.runtimeAnimatorController = Resources.Load("Animations/Sonic") as RuntimeAnimatorController; break; } case 2: { springTimer = 0; chaosEmeraldTimer= 0; backFlipAnimTimer = 0; spinDashTimer = 0; spinDashAnimTimer = 0; backFlipTimer = 0; quakeTimer = 0; chargeTimer = 0; spRender.color = Color.white; circleCollider.radius = 0.2f; chaosEmeraldsAnimTimer = 0; circleCollider.offset = new Vector2(0.0f, -0.83f); currentCharacter = 1; //boxColliders[0].size = new Vector2(boxColliders[0].size.x, 1.86f); boxColliders[1].offset = new Vector2(0.0f, 0); boxColliders[0].offset = new Vector2(0.0f, 0.05127716f); circleCollider.offset = new Vector2(0.0f, -0.83f); anim.runtimeAnimatorController = Resources.Load("Animations/Itachi") as RuntimeAnimatorController; break; } case 3: { springTimer = 0; chaosEmeraldTimer= 0; backFlipAnimTimer = 0; spinDashTimer = 0; spinDashAnimTimer = 0; backFlipTimer = 0; quakeTimer = 0; chargeTimer = 0; spRender.color = Color.white; circleCollider.radius = 0.2f; chaosEmeraldsAnimTimer = 0; circleCollider.offset = new Vector2(0.0f, -0.83f); currentCharacter = 2; boxColliders[1].offset = new Vector2(0.0f, 0); //boxColliders[0].size = new Vector2(boxColliders[0].size.x, 1.86f); boxColliders[0].offset = new Vector2(0.0f, 0.05127716f); circleCollider.offset = new Vector2(0.0f, -0.83f); transform.position = new Vector3(transform.position.x, transform.position.y + 0.26992f, transform.position.z); anim.runtimeAnimatorController = Resources.Load("Animations/Cyborg") as RuntimeAnimatorController; break; } /* * * * * * * * * * */ default: { Debug.Log("Character not assigned"); break; } } } ////Character Ability Input ////Itachi ////Q - FireBall Ability with CoolDown if (Input.GetButtonDown("Fire1") && (currentCharacter == 1)) { if (canCastFireBall) { Instantiate(fireBall, fireBallPoint.position, fireBallPoint.rotation); canCastFireBall = false; fireBallTimer = fireBallCoolDown; } } ////W - Dark Storm Ability with CoolDown if ((Input.GetButtonDown("Fire2")) && (currentCharacter == 1)) { if (canCastDarkStorm) { Instantiate(darkStorm, darkStormPoint.position, darkStormPoint.rotation); canCastDarkStorm = false; darkStormTimer = darkStormCoolDown; } } ////E - Tsukuyomi Guard Ability with CoolDown if ((Input.GetButtonDown("Fire3")) && (currentCharacter == 1)) { if (canCastTsukuyomi) { privTsu = Instantiate(daTsuku); canCastTsukuyomi = false; tsukuyomiTimer = tsukuyomiCoolDown; } } ////R - Blink Ability with CoolDown //Downward if ((Input.GetAxis("Fire4") != 0 || Input.GetKeyDown(KeyCode.R)) && (Input.GetAxis("Vertical") < 0) && (currentCharacter == 1)) { if (canCastBlink) { if (!Physics2D.Linecast(playerCenterPoint.position, downBlinkPoint.position, blinkDetectionLayer)) { StartCoroutine("makeBlinkParticle"); blinkSFX.Play(); blinkAnimTimer = 0.3f; rb2D.transform.position = new Vector3(downBlinkPoint.transform.position.x, downBlinkPoint.transform.position.y, rb2D.transform.position.z); canCastBlink = false; blinkTimer = blinkCoolDown; } else { Debug.Log("Cannot blink through the ground, just platforms!"); } } } //Upward else if ((Input.GetAxis("Fire4") != 0 || Input.GetKeyDown(KeyCode.R)) && (Input.GetAxis("Vertical") > 0) && (currentCharacter == 1)) { if (canCastBlink) { if (!Physics2D.Linecast(playerCenterPoint.position, upBlinkPoint.position, blinkDetectionLayer)) { StartCoroutine("makeBlinkParticle"); blinkSFX.Play(); blinkAnimTimer = 0.3f; rb2D.transform.position = new Vector3(upBlinkPoint.transform.position.x, upBlinkPoint.transform.position.y, rb2D.transform.position.z); canCastBlink = false; blinkTimer = blinkCoolDown; } else { Debug.Log("Cannot blink through cielings, just platforms!"); } } } //Horizontal else if ((Input.GetAxis("Fire4") != 0 || Input.GetKeyDown(KeyCode.R)) && (currentCharacter == 1)) { if (canCastBlink) { if (!Physics2D.Linecast(playerCenterPoint.position, blinkPoint.position, blinkDetectionLayer)) { StartCoroutine("makeBlinkParticle"); blinkSFX.Play(); blinkAnimTimer = 0.3f; rb2D.transform.position = new Vector3(blinkPoint.transform.position.x, blinkPoint.transform.position.y, rb2D.transform.position.z); canCastBlink = false; blinkTimer = blinkCoolDown; } else { Debug.Log("Cannot blink into ground."); } } } //Reset Blink Animation if ((Input.GetAxis("Fire4") == 0 && (currentCharacter == 1))) { //isBlinking = false; } //////Cyborg ////Q - Blast Ability with Ability CoolDown if (Input.GetButtonDown("Fire1") && (currentCharacter == 2)) { if (canCastBlast) { blastAnimTimer = 0.45f; anim.Play("cyborg_Missle"); Instantiate(blast, blastPoint.position, blastPoint.rotation); canCastBlast = false; blastTimer = blastCooldown; } } ////R - Charge Ability with CoolDown if (isCharging) { if (transform.localScale.x > 0) rb2D.velocity = new Vector2(chargeRunningSpeed, rb2D.velocity.y); else rb2D.velocity = new Vector2(-chargeRunningSpeed, rb2D.velocity.y); actualCharge.transform.localScale = transform.localScale * chargeSize; actualCharge.transform.position = transform.position; } //Quake Ability with CoolDown if (!canCastQuake && quakeTimer >= 0.0f) { quakeTimer -= Time.deltaTime; } if (quakeTimer <= 0.0f) { canCastQuake = true; } if (isQuaking) { rb2D.velocity = new Vector2(0.0f, rb2D.velocity.y); if (isGrounded || hasTouchedEnemy) { actualQuake = Instantiate(theQuake); actualQuake.transform.position = transform.position; actualQuake.transform.localScale = new Vector3(quakeSize, quakeSize, 1.0f); isQuaking = false; rb2D.gravityScale = defaultGravityScale; } } //// Charge if ((Input.GetAxis("Fire4") != 0 || Input.GetKeyDown(KeyCode.R)) && (currentCharacter == 2)) { if (canCastCharge) { rb2D.gravityScale = 1.0f; actualCharge = Instantiate(charge); actualCharge.transform.position = transform.position; actualCharge.transform.localScale = new Vector3(chargeSize * transform.localScale.x, chargeSize, 1.0f); isCharging = true; canCastCharge = false; chargeTimer = chargeCoolDown; } } if ((Input.GetAxis("Fire4") == 0 || Input.GetKeyDown(KeyCode.R)) && (currentCharacter == 2)) { rb2D.gravityScale = defaultGravityScale; } //// Quake if ((Input.GetButtonDown("Fire2")) && (currentCharacter == 2)) { if (canCastQuake) { rb2D.velocity = new Vector2(0.0f, 0.0f); isQuaking = true; rb2D.gravityScale = 10; canCastQuake = false; quakeTimer = quakeCoolDown; } } //// Lightning if ((Input.GetButtonDown("Fire3")) && (currentCharacter == 2)) { if (canCastLightning) { actualLightning = Instantiate(theLightning); lC = actualLightning.GetComponent<LightningController>(); lC.isInitial = true; actualLightning.transform.position = transform.position; canCastLightning = false; lightningTimer = lightningCoolDown; } } ////Sonic ////Q - BackFlip Ability with Ability CoolDown if (Input.GetButtonDown("Fire1") && (currentCharacter == 3)) { if (canCastBackFlip) { bfHitCD = 0; circleCollider.offset = new Vector2(0.0f, -0.84f); backFlipSFX.Play(); backFlipAnimTimer = 0.8f; isBackFlipping = true; //anim.Play("sonic_Backflip"); //Instantiate(blast, blastPoint.position, blastPoint.rotation); canCastBackFlip = false; backFlipTimer = backFlipCoolDown; } } ////W - Chaos Emerald Activate Ability with Ability CoolDown if (Input.GetButtonDown("Fire2") && (currentCharacter == 3)) { if (canCastChaosEmeralds) { circleCollider.radius = 0.4f; chaosSFX.Play(); chaosEmeraldsAnimTimer = 3; isGoingSuper = true; canCastChaosEmeralds = false; chaosEmeraldTimer = chaosEmeraldCoolDown; } } ////E - SpringActivate Ability with Ability CoolDown if (Input.GetButtonDown("Fire3") && (currentCharacter == 3)) { if (canCastSpring) { springSFX.Play(); rb2D.velocity = new Vector2(0,springSpeed); spRender.color = Color.yellow; isSpringing = true; canCastSpring = false; springTimer = springCoolDown; } } ////R - SpinDash Ability with CoolDown if ((Input.GetAxis("Fire4") != 0 || Input.GetKeyDown(KeyCode.R)) && (currentCharacter == 3)) { if (canCastSpinDash) { //circleCollider.radius = 0.4f; boxColliders[1].enabled = false; spinDashSFX.Play(); spinDashAnimTimer = 1.9f; isSpinDashing = true; disableInput = true; canCastSpinDash = false; spinDashTimer = spinDashCoolDown; } } ////Ability Timers //Itachi if (!canCastFireBall && fireBallTimer >= 0.0f) { fireBallTimer -= Time.deltaTime; } if (fireBallTimer <= 0.0f) { canCastFireBall = true; } if (!canCastDarkStorm && darkStormTimer >= 0.0f) { darkStormTimer -= Time.deltaTime; } if (darkStormTimer <= 0.0f) { canCastDarkStorm = true; } if(privTsu){ privTsu.transform.position = transform.position; } if (!canCastTsukuyomi && tsukuyomiTimer >= 0.0f) { tsukuyomiTimer -= Time.deltaTime; } if (tsukuyomiTimer <= 0.0f) { canCastTsukuyomi = true; tsukuyomiTimer = tsukuyomiCoolDown; } if (!canCastBlink && blinkTimer >= 0.0f) { blinkTimer -= Time.deltaTime; } if (blinkTimer <= 0.0f) { isBlinking = false; canCastBlink = true; } //Cyborg if (!canCastBlast && blastTimer >= 0.0f) { blastTimer -= Time.deltaTime; } if (blastTimer <= 0.0f) { canCastBlast = true; } if (!canCastCharge && chargeTimer >= 0.0f) { chargeTimer -= Time.deltaTime; } if (chargeTimer <= 0.0f) { canCastCharge = true; } if (chargeTimer < chargeCoolDown - chargingDuration) { isCharging = false; DestroyObject(actualCharge); } if (!canCastLightning && lightningTimer >= 0.0f) { lightningTimer -= Time.deltaTime; } if (lightningTimer <= 0.0f) { canCastLightning = true; } //Sonic if(currentCharacter == 3){ if (!canCastBackFlip && backFlipTimer >= 0.0f) { backFlipTimer -= Time.deltaTime; } if (backFlipTimer <= 0.0f) { { // boxColliders[0].offset = new Vector2(0.0f, 0.45f); // boxColliders[0].size = new Vector2(boxColliders[0].size.x, 1.45f); circleCollider.offset = new Vector2(0.0f, -0.56f); } canCastBackFlip = true; } if (!canCastChaosEmeralds && chaosEmeraldTimer >= 0.0f) { chaosEmeraldTimer -= Time.deltaTime; } if (chaosEmeraldTimer <= 0.0f) { circleCollider.radius = 0.2f; canCastChaosEmeralds = true; } if (!canCastSpring && springTimer >= 0.0f) { springTimer -= Time.deltaTime; } if (springTimer <= 0.0f) { canCastSpring = true; } if(rb2D.velocity.y < 0){ isSpringing = false; spRender.color = Color.white; } if (!canCastSpinDash && spinDashTimer >= 0.0f) { spinDashTimer -= Time.deltaTime; } if (spinDashTimer <= 0.0f) { isSpinDashing = false; disableInput = false; canCastSpinDash = true; } } } //End Disable Input Zone //N - Skip Level (Debugging) if (Input.GetKeyDown(KeyCode.N)) { warpKey.isPickedUp = true; transform.position = warpPortal.transform.position; } if(Application.loadedLevel == 9) { if ((Input.GetAxis("Execute") != 0 || Input.GetKeyDown(KeyCode.X))) { currentCharacter = 1; sasuke.GetComponent<BoxCollider2D>().enabled = true; //sasuke.GetComponent<CircleCollider2D>().radius = 0.5f; if (canExecuteSasuke && !isExecutingSasuke) { currentCharacter = 1; boxColliders[0].offset = new Vector2(0.0f, 0.05f); circleCollider.offset = new Vector2(0.0f, -0.83f); anim.runtimeAnimatorController = Resources.Load("Animations/Itachi") as RuntimeAnimatorController; anim.SetBool("isExecuting", true); Vector3 newExecutePosition = sasuke.transform.position; if (transform.localScale.x == 1) { newExecutePosition += new Vector3(-3.26f, 0.0f, 0.0f); } else if (transform.localScale.x == -1) { newExecutePosition += new Vector3(3.26f, 0.0f, 0.0f); } transform.position = newExecutePosition; sasuke.GetComponent<SpriteRenderer>().sortingOrder = -1; sasuke.GetComponent<SpriteRenderer>().sprite = sasukePain; anim.Play("itachi_Execute"); sasuke.sasukeExecuteSFX.Play(); executeSasukeAnimTimer = 3.2f; canExecuteSasuke = false; isExecutingSasuke = true; sasuke.GetComponent<BoxCollider2D>().enabled = false; //sasuke.GetComponent<CircleCollider2D>().enabled = false; //sasuke.GetComponent<EnemyAnimation>().enabled = false; } } if (canExecuteSasuke == false && isExecutingSasuke == false) { executeSasukeAnimTimer = 3.2f; } if (executeSasukeAnimTimer >= 0.0f && isExecutingSasuke) { executeSasukeAnimTimer -= Time.deltaTime; } if (executeSasukeTimer >= 0.0f && sasuke.GetComponent<SpriteRenderer>().sprite == sasukeDead) { executeSasukeTimer -= Time.deltaTime; } if (executeSasukeAnimTimer <= 0.0f) { anim.SetBool("isExecuting", false); isExecutingSasuke = false; sasuke.GetComponent<SpriteRenderer>().sprite = sasukeDead; sasuke.GetComponent<Rigidbody2D>().gravityScale = 0.0f; //sasuke.GetComponent<CircleCollider2D>().enabled = true; if (!once) { executeSasukeTimer = 2.0f; //anim.Play("itachi_VictoryPost"); once = true; } disableInput = false; } if (executeSasukeTimer <= 0.0f && !sasukeBossFightOver) { sasukeBossFightOver = true; Vector3 formattedWarpPortalPos = sasuke.transform.position; formattedWarpPortalPos += new Vector3(0.0f, 1.5f, 0.0f); warpPortal.transform.position = formattedWarpPortalPos; Vector3 formattedWarpKeyPos = warpPortal.transform.position; formattedWarpKeyPos += new Vector3(-1.0f, 0.0f, 0.0f); warpKey.transform.position = formattedWarpKeyPos; sasuke.gameObject.SetActive(false); } } //WARNING: FIX THIS SPAGHETTI, Interdependent code module: EnemyHealthManager.cs! if(Application.loadedLevel == 12) { if (gizmoBossFightOver) { Debug.Log("Not here"); gizmoBossFightOver = false; Vector3 formattedWarpPortalPos = gizmo.transform.position; formattedWarpPortalPos += new Vector3(0.0f, 1.5f, 0.0f); warpPortal.transform.position = formattedWarpPortalPos; Vector3 formattedWarpKeyPos = warpPortal.transform.position; formattedWarpKeyPos += new Vector3(-1.0f, 0.0f, 0.0f); warpKey.transform.position = formattedWarpKeyPos; Destroy(gizmo); } } ////Update Animator Values if (currentCharacter == 1) { anim.SetBool("wallClimbing", wallClimbing); anim.SetFloat("Speed", Mathf.Abs(rb2D.velocity.x)); anim.SetBool("isGrounded", isGrounded); anim.SetBool("isBlinking", isBlinking); anim.SetBool("isOnWall", isOnWall); if (blinkAnimTimer >= 0.0f) { isBlinking = true; anim.SetBool("isBlinking", isBlinking); blinkAnimTimer -= Time.deltaTime; } if (blinkAnimTimer <= 0.0f) { isBlinking = false; anim.SetBool("isBlinking", isBlinking); } } else if (currentCharacter == 2) { anim.SetFloat("Speed", Mathf.Abs(rb2D.velocity.x)); anim.SetBool("isGrounded", isGrounded); if (blastAnimTimer >= 0.0f) { anim.SetBool("castMissle", true); blastAnimTimer -= Time.deltaTime; } if (blastAnimTimer <= 0.0f) { anim.SetBool("castMissle", false); } } else if (currentCharacter == 3) { anim.SetFloat("Speed", Mathf.Abs(rb2D.velocity.x)); anim.SetBool("isGrounded", isGrounded); if (backFlipAnimTimer >= 0.0f) { isBackFlipping = true; anim.SetBool("isBackflipping", isBackFlipping); backFlipAnimTimer -= Time.deltaTime; } if (backFlipAnimTimer <= 0.0f) { isBackFlipping = false; anim.SetBool("isBackflipping", isBackFlipping); } if (chaosEmeraldsAnimTimer >= 0.0f) { chaosEmeraldsAnimTimer -= Time.deltaTime; anim.SetBool("isGoingSuper", true); } if (chaosEmeraldsAnimTimer <= 0.0f) { //Debug.Log("HIIIIIIII"); boxColliders[1].offset = new Vector2(0.0f, 0.56f/2); circleCollider.radius = 0.2f; isGoingSuper = false; anim.SetBool("isGoingSuper", false); } if (spinDashAnimTimer >= 0.0f) { spinDashAnimTimer -= Time.deltaTime; anim.SetBool("isSpinDashing", true); } if (spinDashAnimTimer <= 0.0f) { anim.SetBool("isSpinDashing", false); boxColliders[1].enabled = true; isSpinDashing = false; if(Application.loadedLevel != 9 && isSpinDashing) { Debug.Log("5"); disableInput = false; } else { if(FindObjectOfType<ChatBoxController>() != null) { //disableInput = true; } } anim.SetBool("isSpinDashing", false); } } }
void OnEnable() { targetScript = target as LightningController; }
void Update() { elapsed += Time.deltaTime; //If enemies died, destroy all lightning after this one. if (EnemyFaction.Minions.Count <= enemyIndex) { DestroyAllFromHere(); } //Otherwise, see if this lightning is done being applied. else if (elapsed > Consts.DisappearTime) { Destroy(gameObject); } //Otherwise, see if it's time to create the next lightning in the chain. else if (nextEnemyLightning == null && EnemyFaction.Minions.Count > enemyIndex + 1) { timeTillNext -= Time.deltaTime; if (timeTillNext <= 0.0f) { nextEnemyLightning = Instantiate(Consts.Prefab).GetComponent<LightningController>(); nextEnemyLightning.EnemyFaction = EnemyFaction; nextEnemyLightning.enemyIndex = enemyIndex; } } }