public void attack(StarLord starLord) { GameObject scene = this.objs[0] as GameObject; GameObject caller = this.objs[1] as GameObject; GameObject targetObj = this.objs[2] as GameObject; starLord.skillAnimaEventCallback -= attack; if(targetObj == null) { return; } Character target = targetObj.GetComponent<Character>(); if(target.getIsDead()) { return; } Vector3 vc3 = targetObj.transform.position + new Vector3(0,70,0); // if(target.model.transform.localScale.x > 0) // { // vc3 += new Vector3(50,0,0); // } // else // { // vc3 -= new Vector3(50,0,0); //// damageEft.transform.localPosition = // } Vector3 createPt; if(starLord.model.transform.localScale.x > 0) { // print("right"); createPt = starLord.transform.position + new Vector3(100, 113, 0); } else { // print("left"); createPt = starLord.transform.position + new Vector3(-100, 113,0); } createPt = new Vector3(createPt.x, createPt.y, 0); shootBullet(createPt, vc3); }
public void attack(StarLord starLord) { GameObject scene = this.objs[0] as GameObject; GameObject caller = this.objs[1] as GameObject; GameObject targetObj = this.objs[2] as GameObject; starLord.skillAnimaEventCallback -= attack; Vector3 createPt; if(starLord.model.transform.localScale.x > 0) { // print("right"); createPt = starLord.transform.position + new Vector3(100, 113, 0); } else { // print("left"); createPt = starLord.transform.position + new Vector3(-100, 113,0); } createPt = new Vector3(createPt.x, createPt.y, 0); ArrayList enemyList = new ArrayList(EnemyMgr.enemyHash.Values); Vector3 vc3 = Vector3.one; foreach(Enemy enemy in enemyList) { if(enemy.isDead) { continue; } vc3 = enemy.transform.position + new Vector3(0,70,0); shootBullet(createPt, vc3, enemy.gameObject); } starLord.skillAnimaEventCallback += showSmokeEft; }
public override IEnumerator Cast(ArrayList objs) { GameObject caller = objs[1] as GameObject; GameObject target = objs[2] as GameObject; fireBulletTarget = target; Hero heroDoc = caller.GetComponent<Hero>(); starlord = caller.GetComponent<StarLord>(); if (heroDoc.model.transform.position.x > target.transform.position.x) { heroDoc.model.transform.localScale = new Vector3 (-heroDoc.scaleSize.x, heroDoc.scaleSize.y, 1); } else { heroDoc.model.transform.localScale = new Vector3 (heroDoc.scaleSize.x, heroDoc.scaleSize.y, 1); } heroDoc.castSkill("SkillA"); yield return new WaitForSeconds(.80f); MusicManager.playEffectMusic("SFX_StarLord_Fire_Blast_1a"); // yield return new WaitForSeconds(.01f); // MusicManager.playEffectMusic("SFX_StarLord_Fire_Blast_1a"); yield return new WaitForSeconds(.3f); SkillDef skillDef = SkillLib.instance.getSkillDefBySkillID("STARLORD1"); Hashtable tempNumber = skillDef.activeEffectTable; float tempAtkPer = ((Effect)tempNumber["atk_PHY"]).num; fireBlastDamage = target.GetComponent<Character>().getSkillDamageValue(heroDoc.realAtk, tempAtkPer); time = (int)skillDef.skillDurationTime; createBullets(objs); createSmoke(objs); }
public void showSmokeEft(StarLord starLord) { starLord.skillAnimaEventCallback -= showSmokeEft; if(smokeEftPrb == null) { smokeEftPrb = Resources.Load("eft/StarLord/SkillEft_STARLORD15A_Smoke") as GameObject; } GameObject smokeEft1 = Instantiate(smokeEftPrb) as GameObject; GameObject smokeEft2 = Instantiate(smokeEftPrb) as GameObject; if(starLord.model.transform.localScale.x > 0) { smokeEft1.transform.position = starLord.transform.position + new Vector3(50, 131, 0); smokeEft2.transform.position = starLord.transform.position + new Vector3(0, 131, 0); } else { smokeEft1.transform.localScale = new Vector3(-1, 1, 0); smokeEft2.transform.localScale = new Vector3(-1, 1, 0); smokeEft1.transform.position = starLord.transform.position + new Vector3(-50, 131, 0); smokeEft2.transform.position = starLord.transform.position + new Vector3(0, 131, 0); } }