private void SetUVPosition(int nNumberCount, int nDamage, bool bDodge, NkBattleDamage.eDAMAGEMODE eMode) { if (bDodge) { return; } char[] array = nDamage.ToString().ToCharArray(); for (int i = 0; i < nNumberCount; i++) { int num = int.Parse(array[i].ToString()); string strName = string.Format("number{0}", (i + 1).ToString()); Transform child = NkUtil.GetChild(this.m_goFxFont.transform, strName); if (child != null) { GameObject gameObject = child.gameObject; if (gameObject) { Rect rect = new Rect(NkBattleDamage.m_rtDamage[(int)eMode]); rect.x += rect.width * (float)num; Vector2[] uv = new Vector2[] { new Vector2(rect.x, rect.y), new Vector2(rect.x + rect.width, rect.y - rect.height), new Vector2(rect.x, rect.y - rect.height), new Vector2(rect.x + rect.width, rect.y) }; MeshFilter component = gameObject.GetComponent <MeshFilter>(); if (component != null) { component.mesh.uv = uv; } } } } }
public void Set(NkBattleChar pkTarget, int nDamage, bool bCritical, int nAngerlyPoint, int nInfoNum) { this.m_eDamageMode = NkBattleDamage.eDAMAGEMODE.eDAMAGEMODE_NORMAL; this.m_TargetChar = pkTarget; this.m_nBattleCharID = pkTarget.GetID(); this.m_bDodge = false; this.m_bSetData = true; int num = 0; if (this.m_goDamageRoot == null) { this.m_goDamageRoot = (UnityEngine.Object.Instantiate(Battle.BATTLE.DamageEffect) as GameObject); this.m_goDamageRoot.SetActive(true); this.m_goDamageRoot.transform.parent = NkBattleDamage.goDamageParent.transform; } else { this.m_goDamageRoot.SetActive(true); } if (this.m_goFxFont == null) { this.m_goFxFont = NkUtil.GetChild(this.m_goDamageRoot.transform, "fx_font").gameObject; } if (this.m_goCritical == null) { this.m_goCritical = NkUtil.GetChild(this.m_goDamageRoot.transform, "fx_critical").gameObject; } if (this.m_goCritical != null) { this.m_goCritical.SetActive(false); } if (this.m_goDamageNumber == null) { this.m_goDamageNumber = NkUtil.GetChild(this.m_goDamageRoot.transform, "damagenumber").gameObject; } if (nDamage == 0 && nAngerlyPoint == 0) { this.m_bDodge = true; } else { if (nDamage < 0) { nDamage *= -1; this.m_eDamageMode = NkBattleDamage.eDAMAGEMODE.eDAMAGEMODE_NORMAL; } else if (nAngerlyPoint > 0) { nDamage = nAngerlyPoint; this.m_eDamageMode = NkBattleDamage.eDAMAGEMODE.eDAMAGEMODE_ANGERLYPOINT; } else { this.m_eDamageMode = NkBattleDamage.eDAMAGEMODE.eDAMAGEMODE_HEAL; } char[] array = nDamage.ToString().ToCharArray(); num = array.Length; if (num > NkBattleDamage.nMaxCount) { num = NkBattleDamage.nMaxCount; } switch (nInfoNum) { case 1: this.m_eInfoMode = NkBattleDamage.eINFOMODE.eINFOMODE_SLEEP; this.m_eDamageMode = NkBattleDamage.eDAMAGEMODE.eDAMAGEMODE_STUN; break; case 2: this.m_eInfoMode = NkBattleDamage.eINFOMODE.eINFOMODE_SILENCE; this.m_eDamageMode = NkBattleDamage.eDAMAGEMODE.eDAMAGEMODE_STUN; break; case 3: this.m_eInfoMode = NkBattleDamage.eINFOMODE.eINFOMODE_STUN; this.m_eDamageMode = NkBattleDamage.eDAMAGEMODE.eDAMAGEMODE_STUN; break; case 4: this.m_eInfoMode = NkBattleDamage.eINFOMODE.eINFOMODE_BLIND; this.m_eDamageMode = NkBattleDamage.eDAMAGEMODE.eDAMAGEMODE_STUN; break; default: this.m_eInfoMode = NkBattleDamage.eINFOMODE.eINFOMODE_EMPTY; break; } if (bCritical) { this.m_eDamageMode = NkBattleDamage.eDAMAGEMODE.eDAMAGEMODE_CRITICAL; Battle.BATTLE.BattleCamera.CameraAnimationPlay("vibration01"); } this.SetUVPosition(num, nDamage, this.m_bDodge, this.m_eDamageMode); } this.fStartTime = Time.time; this.UpdatePosition(); this.PlayAnimation(num, this.m_bDodge); }