public void readyToCast(NinJaController entity){ int idx = entityControllers.IndexOf (entity); if (idx == -1) { return; } generalButtons [idx].isEnabled = true; }
public void attachTo(NinJaController entity, GameController ctrl) { parentController = entity; gameCtrl = ctrl; entity.addBuff (this); Begin (); }
public override void setParentController(NinJaController p, GameController gCtrl) { parentController = p; gameCtrl = gCtrl; GameObject m1 = Instantiate (Resources.Load ("prefab/testMagic")) as GameObject; GameObject m2 = Instantiate (Resources.Load ("prefab/testMagic")) as GameObject; GameObject m3 = Instantiate (Resources.Load ("prefab/testMagic")) as GameObject; GameObject m4 = Instantiate (Resources.Load ("prefab/testMagic")) as GameObject; m1.transform.parent = transform; m2.transform.parent = transform; m3.transform.parent = transform; m4.transform.parent = transform; //Debug.Log() MagicController mc1 = m1.GetComponent<MagicController> () as MagicController; MagicController mc2 = m2.GetComponent<MagicController> () as MagicController; MagicController mc3 = m3.GetComponent<MagicController> () as MagicController; MagicController mc4 = m4.GetComponent<MagicController> () as MagicController; subMagics.Add (mc1); subMagics.Add (mc2); subMagics.Add (mc3); subMagics.Add (mc4); mc1.gameObject.SetActive (false); mc2.gameObject.SetActive (false); mc3.gameObject.SetActive (false); mc4.gameObject.SetActive (false); foreach (MagicController mc in subMagics) { mc.setParentController(p,gCtrl); } }
public void attackEnemyControllerRange(NinJaController from, NinJaController to) { GameObject dart = Instantiate (Resources.Load ("prefab/darts")) as GameObject; dart.transform.position = from.transform.Find ("rangeAttackPoint").transform.position; rangeBullet rb = dart.GetComponent<rangeBullet> (); rb.target = to; rb.owner = from; //to.takeDamageFromEnemy (from); }
public NinJaController getTargetEnemyForEntity(NinJaController me){ NinJaController ret = null; float minDis = 9999; List<NinJaController> enemySide; if (me.side == Side.leftSide) { enemySide = rightEntities; } else { enemySide = leftEntities; } foreach (NinJaController temp in enemySide) { if(temp.side == me.side){ continue; } float currentDis = Vector3.Distance(me.transform.position, temp.transform.position); if(currentDis<minDis){ minDis = currentDis; ret = temp; } } return ret; }
public void entityDead(NinJaController entity){ Debug.Log("dead"); int a = leftEntities.IndexOf (entity); if (a != -1) { leftEntities.RemoveAt(a); } int b = rightEntities.IndexOf (entity); if (b != -1) { rightEntities.RemoveAt(b); } entity.renderer.sortingOrder = -99; }
public void attackEnemyController(NinJaController from, NinJaController to) { to.takeDamageFromEnemy (from); }
public void finishCast(NinJaController entity){ //nothing need to do now }
public void readyToCast(NinJaController entity){ uiCtrl.readyToCast (entity); }
protected virtual void onFindHandler(){ if (tryCastMagic ()) { //ctrl.pauseForSeconds (1.0f); //state = State.Cast; return; } if (!targetEnemy||targetEnemy.isDead) { targetEnemy = ctrl.getTargetEnemyForEntity (this); } if (targetEnemy == null) { Debug.Log("victory"); onIdle(); //ctrl.pauseAllEntityAndMagic(); return; } float distance = Vector2.Distance (targetEnemy.transform.position, transform.position); Vector2 nextPos = Vector2.Lerp (transform.position, targetEnemy.transform.position, velocity*Time.deltaTime / distance); rigidbody2D.MovePosition (nextPos); //Debug.Log (nextPos); if (nextPos.x > transform.position.x&&!isFacingRight) { flipFacing(); } else if(nextPos.x < transform.position.x&&isFacingRight){ flipFacing(); } onMove (); }
void OnCollisionStay2D(Collision2D coll){ if (coll.gameObject.tag != "entity") { //Debug.Log("magic col"); return; } if (state == State.Wild) {//wild state cannot attack return; } NinJaController colliderContoller = coll.gameObject.GetComponent(typeof(NinJaController)) as NinJaController; if (isEnemy (colliderContoller)) { targetEnemy = colliderContoller; state = State.Fight; } }
public void setBetray(bool b) { if (b) { if(side==GameController.Side.leftSide){ side = GameController.Side.rightSide; //int idx = ctrl.leftEntities.IndexOf(this); ctrl.leftEntities.Remove(this); ctrl.rightEntities.Add(this); }else{ side = GameController.Side.leftSide; ctrl.rightEntities.Remove(this); ctrl.leftEntities.Add(this); } targetEnemy = null; }else{ if(side==GameController.Side.leftSide){ side = GameController.Side.rightSide; //int idx = ctrl.leftEntities.IndexOf(this); ctrl.leftEntities.Remove(this); ctrl.rightEntities.Add(this); }else{ side = GameController.Side.leftSide; ctrl.rightEntities.Remove(this); ctrl.leftEntities.Add(this); } targetEnemy = null; } }
protected void onFight(){ animator.SetBool ("setAttack", true); attackTarget = targetEnemy; isFighting = true; //trigger passive here foreach (PassiveSkill skl in passiveSkillList) { if(skl.phase == PassiveSkill.Phase.Attack) { skl.activeSkill(attackTarget); } } }
protected virtual void attackCallBackFunc(){ animator.SetBool ("setAttack", false); isFighting = false; ctrl.attackEnemyController (this, attackTarget); targetEnemy = null; attackTarget = null; if (state == State.Fight) { state = State.Find; } }
public void takeDamageFromEnemy(NinJaController other){ float dechealth = other.attack; dechealth *= physicalHurtMultiplier; health = (int)(health - dechealth); //=-------------------------------- //trigger passive skill foreach (PassiveSkill skl in passiveSkillList) { if(skl.phase == PassiveSkill.Phase.Defend) { skl.activeSkill(other); } } //-------------------------------- updateHealthBar (); if (health <= 0) { state = State.Dead; //========================== //trigger passive skill foreach (PassiveSkill skl in passiveSkillList) { if(skl.phase == PassiveSkill.Phase.Dead) { skl.activeSkill(null); } } //=========================== } }
public virtual void setParentController(NinJaController p, GameController gCtrl) { //Debug.Log("there"); parentController = p; gameCtrl = gCtrl; }
public void dettachBuffFromEntityController(Buff buff, NinJaController entity) { buffDeleteList.Add (buff); }
public void attachBuffToEntityController(Buff buff, NinJaController entity) { buff.attachTo (entity, this); }
protected bool isEnemy(NinJaController other) { //Debug.Log (other.gameObject.tag); if (side == other.side) { return false; } return true; }