public void Show(FightEffectType fightEffectType, string addNumber) { if (CreatIconPoint.childCount > 0) { CreatIconPoint.ClearChild(); } GetNumberLabel.SetText(addNumber); switch (fightEffectType) { case FightEffectType.BATTLE_ADDMONEY: UI.CreatObjectToNGUI.InstantiateObj(IconPrefabManager.Instance.getIcon("BattleGet_GameMoney"), CreatIconPoint); break; case FightEffectType.BATTLE_EFFECT_SHILIAN_EXPSHOW: UI.CreatObjectToNGUI.InstantiateObj(IconPrefabManager.Instance.getIcon("BattleGet_Exp"), CreatIconPoint); break; case FightEffectType.BATTLE_EFFECT_SHILIAN_XIUWEI: UI.CreatObjectToNGUI.InstantiateObj(IconPrefabManager.Instance.getIcon("BattleGet_Practice"), CreatIconPoint); break; case FightEffectType.BATTLE_EFFECT_EXPSHOW: UI.CreatObjectToNGUI.InstantiateObj(IconPrefabManager.Instance.getIcon("BattleGet_Exp"), CreatIconPoint); break; case FightEffectType.TOWN_EFFECT_ZHANLI: UI.CreatObjectToNGUI.InstantiateObj(IconPrefabManager.Instance.getIcon("TownGet_ZhanLi"), CreatIconPoint); break; default: break; } }
/// <summary> /// ¸ù¾ÝÉ˺¦ÀàÐÍ»ñÈ¡ÌØÊâµÄÕ½¶·×´Ì¬ /// </summary> /// <param name="effect"></param> /// <returns></returns> public static FightEffectType GetFightEffectTypeByDamageEffect(Damage.EDamageEffect effect) { FightEffectType result = FightEffectType.none; switch (effect) { case Damage.EDamageEffect.DE_BLOCK: result = FightEffectType.Parry; break; case Damage.EDamageEffect.DE_CRITIC: result = FightEffectType.CriticEnemyDamage; break; case Damage.EDamageEffect.DE_DODGE: result = FightEffectType.Dodge; break; case Damage.EDamageEffect.DE_HP_STEAL: result = FightEffectType.AddHp; break; case Damage.EDamageEffect.DE_EN_STEAL: result = FightEffectType.AddMp; break; case Damage.EDamageEffect.DE_RE_HURT: result = FightEffectType.BounceDamage; break; case Damage.EDamageEffect.DE_HURT_RELIEF: result = FightEffectType.DamageDrain; break; case Damage.EDamageEffect.DE_EN_SHIELD: //result = FightEffectType.Parry;(ÔÝʱ²»´¦Àí) break; case Damage.EDamageEffect.DE_SUPER: result = FightEffectType.Invincible; break; case Damage.EDamageEffect.DE_KILL: result = FightEffectType.OneHitKill; break; case Damage.EDamageEffect.DE_ABSOLUTE_DOGE: // ¾ø¶ÔÉÁ±Ü result = FightEffectType.AbsoluteDoge; break; case Damage.EDamageEffect.DB_FOLLOW_ATTACK: // ×·ÃüÒ»»÷ result = FightEffectType.FollowAttack; break; default: break; } return(result); }
public static void SettleResultForTime(EntityModel entityModel, string content, FightEffectType fightEffectType) { PopUpInfoList.Enqueue(new PopUpInfo() { entityModel = entityModel, content = content, fightEffectType = fightEffectType }); TweenFloat.Begin(1, 0, 1, null, PopUpForTime); }
public void playEffect(FightEffectType type, int value) { damageEffect = type == FightEffectType.DAMAGE; switch (type) { case FightEffectType.HEAL: effectRender.sprite = healSprite; effectTxt.color = green; effectTxt.text = "Здоровье +" + value; break; case FightEffectType.REGENERATION: effectRender.sprite = regenerateSprite; effectTxt.color = green; effectTxt.text = "Регенерация"; break; case FightEffectType.ARMORED: effectRender.sprite = armorSprite; effectTxt.color = blue; effectTxt.text = "Защита +" + value; break; case FightEffectType.SPEED: effectRender.sprite = speedSprite; effectTxt.color = blue; effectTxt.text = "Ускорение"; break; case FightEffectType.BLIND: effectRender.sprite = blindSprite; effectTxt.color = red; effectTxt.text = "Ослепление"; break; case FightEffectType.DAMAGE: effectRender.sprite = damageSprite; effectTxt.color = red; effectTxt.text = "-" + value; break; case FightEffectType.PARALIZED: effectRender.sprite = paralizeSprite; effectTxt.color = red; effectTxt.text = "Паралич"; break; case FightEffectType.POISON: effectRender.sprite = poisonSprite; effectTxt.color = red; effectTxt.text = "Отравление"; break; default: Debug.Log("Unknown effect type: " + type); break; } effectSetup(); }
public static int GetLayoutLevel(FightEffectType type) { if (m_db_layout == null) { m_db_layout = DBManager.Instance.GetDB <DBFightEfffectLayout>(); } int result = 0; var item = m_db_layout.GetOneItem(type.ToString()); if (item != null) { result = item.Level; } return(result); }
//public GameObject OneNumberPopUpObj; //public GameObject TowNumberPopUpObj; //public GameObject ThreeNumberPopUpObj; //public GameObject FourNumberPopUPObj; //public GameObject FiveNumberPopUpObj; //public UILabel OneNumberLabel; //public UILabel[] TowNumberLabel; //public UILabel[] ThreeNumberLabel; //public UILabel[] FourNumberLabel; //public UILabel[] FiveNumberLabel; //public UIFont NorMalFont; //public UIFont CritFont; //Vector3 NorMalFontScale = new Vector3(1,1,1); //Vector3 CritFontScale = new Vector3(2,2,2); public void Show(FightEffectType fightEffectType, string showNumber, bool isHero) { int prefabIndex = Random.Range(0, PopUpObjPrefab.Length); UILabel textLabel = UI.CreatObjectToNGUI.InstantiateObj(PopUpObjPrefab[prefabIndex], transform).GetComponentInChildren <UILabel>(); textLabel.text = showNumber; if (isHero) { textLabel.color = new Color(1f, 0.184f, 0.184f); } else { textLabel.color = Color.white; } StartCoroutine(DestroyObjForTime(1)); }
/// <summary> /// 弹出结算信息 PopupObjManager挂在在BattleUI场景中 /// </summary> /// <param name="hostPosition"></param> /// <param name="content"></param> /// <param name="fightEffectType"></param> public static void SettleResult(Vector3 hostPosition, string content, FightEffectType fightEffectType, bool isHero) { Vector3 uiPos = GetPopupPos(hostPosition, PopupObjManager.Instance.UICamera); //TraceUtil.Log("GetPopUPTitle:"+fightEffectType); switch (fightEffectType) { case FightEffectType.BATTLE_EFFECT_CRIT: GetPopupWidget(content, uiPos, PopupObjManager.Instance.PopUpCritObj, hostPosition, fightEffectType); break; case FightEffectType.BATTLE_EFFECT_HIT: GetPopupWidget(content, uiPos, PopupObjManager.Instance.PopUpHpObj, hostPosition, fightEffectType, isHero); //GetPopupWidget(content, uiPos, PopupObjManager.Instance.PopupObj, hostPosition, fightEffectType); break; case FightEffectType.BATTLE_ADDHP: GetPopupWidget(content, uiPos, PopupObjManager.Instance.AddHPPopupObj, hostPosition, fightEffectType); break; case FightEffectType.BATTLE_ADDMONEY: case FightEffectType.BATTLE_EFFECT_SHILIAN_EXPSHOW: case FightEffectType.BATTLE_EFFECT_SHILIAN_XIUWEI: case FightEffectType.BATTLE_EFFECT_EXPSHOW: GetPopupWidget(content, uiPos, PopupObjManager.Instance.PopUpIconObj, hostPosition, fightEffectType); break; case FightEffectType.BATTLE_ADDMP: GetPopupWidget(content, uiPos, PopupObjManager.Instance.AddMPPopupObj, hostPosition, fightEffectType); break; case FightEffectType.BATTLE_EFFECT_DODGE: //case FightEffectType.BATTLE_EFFECT_HIT: case FightEffectType.BATTLE_EFFECT_HP: GetPopupWidget(content, uiPos, PopupObjManager.Instance.NormalPopupObj, hostPosition, fightEffectType); break; case FightEffectType.TOWN_EFFECT_ZHANLI: GetPopupWidget(content, uiPos, PopupObjManager.Instance.PopUpIconObj, hostPosition, fightEffectType); break; } }
public static void SetEffectValue(FightEffectType effectType, Text valueLabel, long value = 0, bool show_percent = false, string push_str = "") { bool must_be_damage = false; if (effectType == FightEffectType.BounceDamage) { must_be_damage = true; if (value > 0) { value = -value; } } string value_string; if (show_percent) { if (value > 0) { value_string = string.Format("+{0}%", value); } else { value_string = string.Format("{0}%", value); } } else { if (value > 0) { value_string = string.Format("+{0}", value); } else { value_string = string.Format("{0}", value); } } switch (effectType) { //ÓÐÊý×Ö£¬²»°üº¬¡°ÎÄ×Ö¡± case FightEffectType.EnemyDamage: //¼¼ÄÜÉ˺¦ case FightEffectType.OurDamage: //×ÔÉíÉ˺¦ case FightEffectType.BounceDamage: //É˺¦·´µ¯ case FightEffectType.AddHp: //¼ÓѪ case FightEffectType.AddMp: //»ØÀ¶ case FightEffectType.AddSp: //SP»ñµÃ if (valueLabel != null) { valueLabel.text = value_string; } break; case FightEffectType.Attendant_damage: //ħÆÍÉ˺¦ if (valueLabel != null) { valueLabel.text = xc.TextHelper.GetConstText("CODE_TEXT_LOCALIZATION_25") + value_string; // Ó¡ÓÃÀ´±íʾ½ÅӡͼƬ } break; //ÓС°ÎÄ×Ö¡±£¨²»ÐèÒªÐ޸ģ©£¬ÓÐÊý×Ö case FightEffectType.CriticEnemyDamage: //±©»÷É˺¦ case FightEffectType.CriticAttendantDamage: //ħÆͱ©»÷É˺¦ case FightEffectType.Accelerate: //Òƶ¯¼ÓËÙ case FightEffectType.AddExp: //¾Ñé»ñµÃ case FightEffectType.AttackSp: //¹¥ËÙ case FightEffectType.FollowAttack: // ×·ÃüÒ»»÷ if (valueLabel != null) { valueLabel.text = value_string; } break; //Ö»ÓС°ÎÄ×Ö¡±£¬²»°üº¬ÈκÎÊý×Ö case FightEffectType.Dodge: //ÉÁ±Ü case FightEffectType.AbsoluteDoge: // ¾ø¶ÔÉÁ±Ü case FightEffectType.Parry: //¸ñµ² case FightEffectType.Invincible: //Î޵Рcase FightEffectType.Immune: //ÃâÒß case FightEffectType.OneHitKill: //նɱ case FightEffectType.DamageDrain: //É˺¦ÎüÊÕ break; default: Debug.LogError(string.Format("undefined FightEffectType {0}", effectType.ToString())); break; } if (push_str != null && push_str != "" && valueLabel != null) { valueLabel.text = valueLabel.text + push_str; } }
public void playEffect (FightEffectType type, int value) { if (type == FightEffectType.DAMAGE) { damageEffect = true; effectRender.sprite = damageSprite; effectTxt.color = red; effectTxt.text = "-" + value; } effectSetup(); }
public void useSupply(SupplySlot slot) { if (slot.item != null) { SupplyData data = (SupplyData)slot.item.itemData; if (fightProcessor.canUseSupply(data.type)) { bool toPlayer = data.type != SupplyType.GRENADE_FLASH && data.type != SupplyType.GRENADE_PARALIZE; StatusEffect statusEffect = getStatusEffectByType(data.type.toStatusEffectType(), toPlayer); FightEffectType fightEffectType = data.type.toFightEffectType(); if (data.type.isMedkit()) { fightEffectPlayer.playEffect(fightEffectType, Player.heal(data.value)); } else if (data.type.isGrenade()) { fightEffectPlayer.playEffectOnEnemy(fightEffectType, 0); statusEffect.addStatus(data.value, data.duration); } else if (data.type.isInjection()) { fightEffectPlayer.playEffect(fightEffectType, data.value); statusEffect.addStatus(data.value, data.duration); } else { Debug.Log("Unknown status effect type"); } Vector3 effectPos = toPlayer? playerStatusStartPosition: enemyStatusStartPosition; int activeEffects = -1; //вычитаем добавляемый эффект effList = toPlayer? playerStatusEffects: enemyStatusEffects; for (int i = 0; i < effList.Count; i++) { if (effList[i].isFired) { activeEffects++; } } if (toPlayer) { effectPos.x += activeEffects * playerStatusStep; } else { effectPos.y += activeEffects * enemyStatusStep; } statusEffect.transform.localPosition = effectPos; fightProcessor.skipMove(); FightProcessor.FIGHT_ANIM_PLAYER_DONE = false; slot.takeItem().destroy(); } } }
/* * Вместо медкита и армора - эффект от разных зелий */ // public void playMedkitEffect (MedkitElementType type, int value) { // switch(type) { // case MedkitElementType.SMALL: effectRender.sprite = medkitSmallSprite; break; // case MedkitElementType.MEDIUM: effectRender.sprite = medkitMediumSprite; break; // case MedkitElementType.LARGE: effectRender.sprite = medkitLargeSprite; break; // case MedkitElementType.SUPERIOR: effectRender.sprite = medkitSuperiorSprite; break; // } // effectTxt.color = green; // effectTxt.text = "+" + value; // effectSetup(); // } // // public void playArmorEffect (ArmorElementType type, int value) { // switch (type) { // case ArmorElementType.LIGHT: effectRender.sprite = armorLightSprite; break; // case ArmorElementType.MODERATE: effectRender.sprite = armorModerateSprite; break; // case ArmorElementType.HEAVY: effectRender.sprite = armorHeavySprite; break; // case ArmorElementType.ULTRA: effectRender.sprite = armorUltraSprite; break; // } // // effectTxt.color = blue; // effectTxt.text = "+" + value; // effectSetup(); // } public void playEffectOnEnemy(FightEffectType type, int value) { playEffect(type, value); }
private static GameObject GetPopupWidget(string content, Vector3 position, GameObject popupLabelPrefab, Vector3 hostPosition, FightEffectType fightEffectType, bool isHero) { var m_popupWidget = GameObjectPool.Instance.AcquireLocal(popupLabelPrefab, position, Quaternion.identity); var scale = m_popupWidget.transform.localScale; m_popupWidget.transform.parent = PopupObjManager.Instance.UICamera.transform; //TraceUtil.Log("popUp:" + fightEffectType+","+content); m_popupWidget.transform.localScale = scale; switch (fightEffectType) { case FightEffectType.BATTLE_EFFECT_HIT: case FightEffectType.BATTLE_EFFECT_CRIT: m_popupWidget.GetComponent <CritPopUpObj>().Show(fightEffectType, content, isHero); //TraceUtil.Log("PopUPHP:" + content); break; case FightEffectType.BATTLE_ADDMONEY: case FightEffectType.BATTLE_EFFECT_SHILIAN_EXPSHOW: case FightEffectType.BATTLE_EFFECT_SHILIAN_XIUWEI: case FightEffectType.BATTLE_EFFECT_EXPSHOW: m_popupWidget.GetComponent <PopupIconObj>().Show(fightEffectType, content); var popBahaviour_icon = m_popupWidget.GetComponent <PopupFinish>(); if (popBahaviour_icon != null) { popBahaviour_icon.FightEffectType = fightEffectType; popBahaviour_icon.HostPosition = hostPosition; } break; case FightEffectType.TOWN_EFFECT_ZHANLI: m_popupWidget.GetComponent <PopupIconObj>().Show(fightEffectType, content); var popBahaviour_icon2 = m_popupWidget.GetComponent <PopupFinish>(); if (popBahaviour_icon2 != null) { popBahaviour_icon2.FightEffectType = fightEffectType; popBahaviour_icon2.HostPosition = hostPosition; } break; default: var uilabel = m_popupWidget.GetComponent <UILabel>(); uilabel.text = content; var popBahaviour = m_popupWidget.GetComponent <PopupFinish>(); if (popBahaviour != null) { popBahaviour.FightEffectType = fightEffectType; popBahaviour.HostPosition = hostPosition; } break; } return(m_popupWidget); }
private static GameObject GetPopupWidget(string content, Vector3 position, GameObject popupLabelPrefab, Vector3 hostPosition, FightEffectType fightEffectType) { return(GetPopupWidget(content, position, popupLabelPrefab, hostPosition, fightEffectType, false)); }