// Token: 0x0600A51B RID: 42267 RVA: 0x002E7640 File Offset: 0x002E5840 private void DropDraggingActionOrderButton(Vector3 pos) { if (!BJLuaObjHelper.IsSkipLuaHotfix && this.TryInitHotFix("") && this.m_DropDraggingActionOrderButtonVector3_hotfix != null) { this.m_DropDraggingActionOrderButtonVector3_hotfix.call(new object[] { this, pos }); return; } BJLuaObjHelper.IsSkipLuaHotfix = false; if (this.m_draggingActionOrderButton == null) { return; } foreach (ArenaActionOrderButton arenaActionOrderButton in this.m_actionOrderButtons) { if (arenaActionOrderButton.GetHero() != null && arenaActionOrderButton.gameObject.activeSelf) { RectTransform rect = arenaActionOrderButton.transform as RectTransform; if (RectTransformUtility.RectangleContainsScreenPoint(rect, pos, this.m_camera)) { BattleHero hero = arenaActionOrderButton.GetHero(); arenaActionOrderButton.SetHero(this.m_draggingActionOrderButton.GetHero()); this.m_actionOrderButtons[this.m_draggingActionOrderButtonIndex].SetHero(hero); AudioUtility.PlaySound(SoundTableId.SoundTableId_DropHero); break; } } } this.DestroyDragginActionOrderButton(); }
void OnRemoveHeroFromTeamList(BattleHero hero) { //if (hero.team == BattleUnit.Team.Red) // Debug.Log("Remove " + hero.heroData.baseData.id); //if (owner.heroData.baseData.id.Contains("Shaman") && hero.team == BattleUnit.Team.Red) // Debug.Log("Remove hero from team list. " + hero.heroData.baseData.id + ", " + owner.battleGroup.redTeamList.Count + ", " + owner.battleGroup.originalMember.Count); foreach (SkillBase skill in hero.passiveSkillList) { //Debug.Log("add passive to red " + skill.skillData.id + " - " + hero.heroData.heroID); if (skill.skillData.targetFilter == SkillBase.TargetFilter.FriendlyAll) { for (int i = 0; i < buffList.Count; i++) { Buff buff = buffList[i]; if (buff.owner != hero || buff.baseData.id != skill.skillData.buffID) { continue; } DetachBuff(buff); } } } }
public async Task <IActionResult> PutBattleHero([FromRoute] int id, [FromBody] BattleHero battleHero) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (id != battleHero.battleId) { return(BadRequest()); } _context.Entry(battleHero).State = EntityState.Modified; try { await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!BattleHeroExists(id)) { return(NotFound()); } else { throw; } } return(NoContent()); }
// Token: 0x06006F9F RID: 28575 RVA: 0x001F38C4 File Offset: 0x001F1AC4 public List <BattleHero> GetBusinessCardHeroes() { if (!BJLuaObjHelper.IsSkipLuaHotfix && this.TryInitHotFix("") && this.m_GetBusinessCardHeroes_hotfix != null) { return((List <BattleHero>) this.m_GetBusinessCardHeroes_hotfix.call(new object[] { this })); } BJLuaObjHelper.IsSkipLuaHotfix = false; List <BattleHero> list = new List <BattleHero>(); if (this.m_friendDS.BusinessCardSetInfo != null) { List <BusinessCardHeroSet> heroes = this.m_friendDS.BusinessCardSetInfo.Heroes; foreach (BusinessCardHeroSet businessCardHeroSet in heroes) { Hero hero = this.m_hero.FindHero(businessCardHeroSet.HeroId); BattleHero battleHero = BattleHero.HeroToBattleHero(hero); foreach (ulong num in hero.EquipmentIds) { if (num != 0UL) { EquipmentBagItem equipmentBagItem = this.m_bag.FindBagItemByInstanceId(num) as EquipmentBagItem; battleHero.Equipments.Add(equipmentBagItem.ToBattleHeroEquipment()); } } list.Add(battleHero); } } return(list); }
public async Task <IActionResult> PostBattleHero([FromBody] BattleHero battleHero) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } _context.battleHeroes.Add(battleHero); try { await _context.SaveChangesAsync(); } catch (DbUpdateException) { if (BattleHeroExists(battleHero.battleId)) { return(new StatusCodeResult(StatusCodes.Status409Conflict)); } else { throw; } } return(CreatedAtAction("GetBattleHero", new { id = battleHero.battleId }, battleHero)); }
// Token: 0x0600997C RID: 39292 RVA: 0x002BD258 File Offset: 0x002BB458 public void SetHero(BattleHero hero) { if (!BJLuaObjHelper.IsSkipLuaHotfix && this.TryInitHotFix("") && this.m_SetHeroBattleHero_hotfix != null) { this.m_SetHeroBattleHero_hotfix.call(new object[] { this, hero }); return; } BJLuaObjHelper.IsSkipLuaHotfix = false; this.m_hero = hero; if (hero == null) { return; } ConfigDataCharImageInfo charImageInfo = hero.HeroInfo.GetCharImageInfo(hero.StarLevel); if (charImageInfo != null) { this.m_heroIconImage.sprite = AssetUtility.Instance.GetSprite(charImageInfo.RoundHeadImage); } ConfigDataArmyInfo armyInfo = hero.GetActiveJob().JobConnectionInfo.m_jobInfo.m_armyInfo; this.m_armyIconImage.sprite = AssetUtility.Instance.GetSprite(armyInfo.Icon); }
void OnDrawGizmosSelected() { if (!showDebug) { return; } if (gameObject != UnityEditor.Selection.activeGameObject) { return; } if (!battleGroup) { return; } GUIStyle style = new GUIStyle(); BattleHero enemy = nearestEnemy; Color color = Color.white; style.normal.textColor = color; UnityEditor.Handles.color = color; UnityEditor.Handles.Label(enemy.transform.position, enemy.GetDistanceFrom(this).ToString(), style); }
void OnAddHero(BattleHero hero) { for (int i = 0; i < artifactList.Count; i++) { hero.buffController.AttachBuff(hero, artifactList[i].baseData.buffID); } }
public BattleSaveDataStage(BattleGroup battleGroup) { id = battleGroup.battleType.ToString(); dungeonID = battleGroup.dungeonID; stage = battleGroup.stage; //List<string> list = new List<string>(); for (int i = 0; i < battleGroup.originalMember.Count; i++) { BattleHero hero = battleGroup.originalMember[i]; Dictionary <string, string> saveForm = new Dictionary <string, string>(); saveForm.Add("invenID", hero.heroData.id); saveForm.Add("level", hero.heroData.level.ToString()); saveForm.Add("exp", hero.heroData.exp.ToString()); //누적 경험치 float time = Time.unscaledTime - hero.heroData.battleStartTime; //Debug.Log("저장 : " + hero.heroData.heroName + " 숙련도 시작 시간: " + hero.heroData.battleStartTime + ", 숙려 시간 : " + time); hero.heroData.proficiencyTime = time; battleHeroList.Add(saveForm); } battleTime = battleGroup.battleTime.ToString(); totalExp = battleGroup.battleLevelUpController.totalExp.ToString(); }
void DamageDoneOnHero(BattleHero hero, int damage) { AttackEffect attackEffect = m_AttackEffecPool.GetItem(); attackEffect.transform.position = hero.transform.position; attackEffect.RegulateSize(hero.GetComponent <RectTransform>()); attackEffect.gameObject.SetActive(true); StringBuilder builder = new StringBuilder(AttributeChange.HEALTH_DECREASE_TEXT); builder.Replace("{DECREASE}", damage.ToString()); AttributeChange attributeChange = AttribueChangeEffectPool.GetItem(); attributeChange.PrepareForActivation(hero.transform, false, builder.ToString()); attributeChange.gameObject.SetActive(true); if (!hero.IsEnemy) { CurrentFightSettings.selectedAllyHeroIndex = FindHeroIndex(m_PlayerHeroes, hero); } EventMessenger.NotifyEvent(SaveEvents.SAVE_GAME_STATE); bool isDead = hero.TakeDamage(damage); }
/// <summary> 회군으로 인해 전투 멈춤 </summary> public void StopBattle() { if (onStopBattle != null) { onStopBattle(this); } battlePhase = BattlePhase.Ready; if (battleProcessCoroutine != null) { StopCoroutine(battleProcessCoroutine); battleProcessCoroutine = null; } //아군 데이타 레벨 1로 초기화. for (int i = 0; i < redTeamList.Count; i++) { BattleHero hero = redTeamList[i]; hero.HeroReset(); hero.transform.position = spawnPointsRedTeam[0].transform.position; } // 스폰되었던 보스와 몬스터 제거 ClearBossAndMonster(); Battle.SaveStageInfo(this); }
override public void CheckCastCondition() { base.CheckCastCondition(); if (!skeletonAnimation) { return; } //canExecute = true; //Idle상태 무시 스킬 아니면 아이들 상태 체크한다. if (!skillData.ignoreIdle && owner is BattleHero) { BattleHero battleHero = owner as BattleHero; if (battleHero && battleHero.skeletonAnimation) { //걷거나 대기 동작 중이 아니면 Idle 아님 if (battleHero.skeletonAnimation.AnimationName != battleHero.idleAnimation && battleHero.skeletonAnimation.AnimationName != battleHero.runAnimation) { canCastSkill = false; return; } } } }
public ShortBattleParticipantViewModel(BattleHero hero) { Damage = hero.DamageDealt; Avatar = new ImageViewModel(hero.Citizen.Entity.ImgUrl); CitizenName = hero.Citizen.Entity.Name; CitizenID = hero.Citizen.ID; }
// Token: 0x0600A517 RID: 42263 RVA: 0x002E7320 File Offset: 0x002E5520 private ArenaActionOrderButton CreateActionOrderButton(BattleHero hero, Transform parent) { if (!BJLuaObjHelper.IsSkipLuaHotfix && this.TryInitHotFix("") && this.m_CreateActionOrderButtonBattleHeroTransform_hotfix != null) { return((ArenaActionOrderButton)this.m_CreateActionOrderButtonBattleHeroTransform_hotfix.call(new object[] { this, hero, parent })); } BJLuaObjHelper.IsSkipLuaHotfix = false; GameObject go = UnityEngine.Object.Instantiate <GameObject>(this.m_actionOrderButtonPrefab, parent, false); ArenaActionOrderButton arenaActionOrderButton = GameObjectUtility.AddControllerToGameObject <ArenaActionOrderButton>(go); if (hero != null) { arenaActionOrderButton.SetHero(hero); } arenaActionOrderButton.EventOnClick += this.ActionOrderButton_OnClick; arenaActionOrderButton.EventOnBeginDrag += this.ActionOrderButton_OnBeginDrag; arenaActionOrderButton.EventOnEndDrag += this.ActionOrderButton_OnEndDrag; arenaActionOrderButton.EventOnDrag += this.ActionOrderButton_OnDrag; arenaActionOrderButton.EventOnDrop += this.ActionOrderButton_OnDrop; return(arenaActionOrderButton); }
void OnAddHeroToTeamList(BattleHero hero) { return; //패시브 스킬 적용 ExcutePassiveSkill(); }
void OnEndBattle() { for (int i = 0; i < BattlePvP.Instance.redTeamList.Count; i++) { BattleHero hero = BattlePvP.Instance.redTeamList[i]; hero.onChangedCumulativeDamage -= OnChangedCumulativeDamage; } winAnim.gameObject.SetActive(BattlePvP.Instance.isWin); lossAnim.gameObject.SetActive(BattlePvP.Instance.isWin == false); iconRankUp.SetActive(BattlePvPManager.userPvPRank > BattlePvPManager.userPvPResultRank); iconScoreUp.SetActive(BattlePvPManager.userPvPResultScore > BattlePvPManager.userPvPScore); iconRankDown.SetActive(BattlePvPManager.userPvPRank < BattlePvPManager.userPvPResultRank); iconScoreDown.SetActive(BattlePvPManager.userPvPResultScore < BattlePvPManager.userPvPScore); int diffRank = BattlePvPManager.userPvPRank - BattlePvPManager.userPvPResultRank; string rankTaxt = diffRank == 0 ? "순위변동 없음" : diffRank.ToString(); textDiffRank.text = rankTaxt; textDiffScore.text = (BattlePvPManager.userPvPResultScore - BattlePvPManager.userPvPScore).ToString(); textRank.text = BattlePvPManager.userPvPResultRank.ToString(); textScore.text = BattlePvPManager.userPvPResultScore.ToString(); StartCoroutine(EndBattleCoroutine()); }
void OnEndBattle() { for (int i = 0; i < BattleDayDoungen.Instance.redTeamList.Count; i++) { BattleHero hero = BattleDayDoungen.Instance.redTeamList[i]; hero.onChangedCumulativeDamage -= OnChangedCumulativeDamage; } //for (int i = 0; i < heroSlotPool.Count; i++) //{ // heroSlotPool[i].gameObject.SetActive(false); //} winAnim.gameObject.SetActive(BattleDayDoungen.Instance.isWin); lossAnim.gameObject.SetActive(BattleDayDoungen.Instance.isWin == false); iconRankUp.SetActive(BattlePvPManager.userPvPRank > BattlePvPManager.userPvPResultRank); iconScoreUp.SetActive(BattlePvPManager.userPvPResultScore > BattlePvPManager.userPvPScore); iconRankDown.SetActive(BattlePvPManager.userPvPRank < BattlePvPManager.userPvPResultRank); iconScoreDown.SetActive(BattlePvPManager.userPvPResultScore < BattlePvPManager.userPvPScore); int diffRank = BattlePvPManager.userPvPRank - BattlePvPManager.userPvPResultRank; string rankTaxt = diffRank == 0 ? "순위변동 없음" : diffRank.ToString(); textDiffRank.text = rankTaxt; textDiffScore.text = (BattlePvPManager.userPvPResultScore - BattlePvPManager.userPvPScore).ToString(); textRank.text = BattlePvPManager.userPvPResultRank.ToString(); textScore.text = BattlePvPManager.userPvPResultScore.ToString(); resultPanel.SetActive(true); }
public override BattleHero CollectTarget(SkillBase skill) { this.skill = skill; ////이전 대상이 살아있는데, 검색 주기 전이면 새로 검색 안 함 //if (lastTarget && !skill.skillData.canCastToDeadUnit && lastTarget.isDie) //{ //} //else //{ // if (Time.time < lastCollectTargetTime + refreshInterval) // return lastTarget; //} base.CollectTarget(skill); if (!owner.battleGroup) { return(null); } if (owner.team == BattleUnit.Team.none || enemyList == null || enemyList.Count == 0) { return(null); } airEnemy = null; for (int i = 0; i < enemyList.Count; i++) { BattleHero enemy = enemyList[i]; if (enemy == owner as BattleHero) { continue; } if (!skill.skillData.canCastToDeadUnit && enemy.isDie && enemy == owner) { continue; } if (enemy.airborne || owner.heroData.baseData.type == HeroData.HeroBattleType.Air) { if (!enemy.isDie) { if (airEnemy == null) { airEnemy = enemy; } } } } lastTarget = airEnemy; lastCollectTargetTime = Time.time; return(lastTarget); }
// BattleStateReady 상태에서 클릭으로 스테이터스 볼 때 사용 public void BattleStateReadyOnlyProfile(BattleHero heroCont) { ActiveProfile(true); ActiveTargetBtn(false); ActiveSpriteProfile(false); ActiveSelActionType(false, false); mStatus.InitStatus(heroCont); }
void OnRemoveHero(BattleHero hero) { double d = 200d * System.Math.Pow(1.2d, hero.heroData.level - 1) - 200d; totalExp += d; hero.heroData.level = 1; hero.heroData.exp = 0; }
/// <summary> 순차적으로 영웅 스폰. phase = Battle 이 된 직후 실행 </summary> protected IEnumerator SpawnHero(BattleUnit.Team team = BattleUnit.Team.Red, List <BattleHero> list = null) { List <BattleHero> unitList = list; if (unitList == null) { unitList = battleTeamList[(int)team].actorList; } if (unitList == null || unitList.Count == 0) { yield break; } //스폰될애들 리스트. 순서 무작위로 출현하기 위함 List <BattleHero> spawnedHeroList = new List <BattleHero>(); BattleHero temp = null; while (spawnedHeroList.Count != unitList.Count) { temp = unitList[UnityEngine.Random.Range(0, unitList.Count)]; if (!spawnedHeroList.Find(x => x == temp)) { spawnedHeroList.Add(temp); } yield return(null); } //하나씩 출현 for (int i = 0; i < spawnedHeroList.Count; i++) { //죽은 캐릭터는 스폰하지 않음 if (spawnedHeroList[i].isDie) { continue; } spawnedHeroList[i].gameObject.SetActive(true); spawnedHeroList[i].ReGen(); if (i > 0) { float dist = spawnedHeroList[i].team == BattleUnit.Team.Red ? -5f : 5f; float x = spawnedHeroList[i - 1].transform.position.x + dist; spawnedHeroList[i].transform.position = new Vector3(x, spawnedHeroList[i].transform.position.y, spawnedHeroList[i].transform.position.z); OrderController oc = spawnedHeroList[i].GetComponent <OrderController>(); if (oc) { oc.UpdateScale(); } } } }
public void SetReadyStateProfileUI(BattleHero heroCont) { var bp = GetProfile(heroCont.HeroNo); if (bp != null) { bp.BattleStateReadyOnlyProfile(heroCont); } }
// additional sprites defined by child classes of HeroSprites #endregion #region Methods // Initializes this instance of HeroSprites // used by BattleHero.LoadObj in BattleManager // also used by HeroMovement public void SetObj(GameObject heroObj, BattleHero hero = null) { this.hero = hero; heroObject = heroObj; heroSprite = heroObj.GetComponent <Sprite>(); heroSpriteRenderer = heroObj.GetComponent <SpriteRenderer>(); spriteTimer = heroObj.AddComponent <EventTimer>(); spriteTimer.AddListener_Finished(ReturnToIdleSprite); }
// 실제 전투 행동 public void ExcuteAction(EHeroBattleAction heroAction, Vector3 vPos, BattleHero targetHero, bool isWinner) { this.BattleTargetHero = targetHero; int sortingOrder = isWinner ? Define.BATTLE_WINNER_SORTINGORDER : Define.BATTLE_LOSER_SORTINGORDER; SetSortingOrder(sortingOrder); SetPosition(vPos); SetScale(new Vector3(Define.ACTION_START_SCALE, Define.ACTION_START_SCALE, Define.ACTION_START_SCALE)); ChangeState(heroAction); }
//몬스터 사망하면 경험치 증가 void OnDieMonster(BattleUnit monster) { //유물에 의한 보정. (적 처치시 경험치 증가) float increaseRate = 0f; Artifact artifactExp = battleGroup.artifactController.artifactList.Find(x => x.baseData.type == "IncreaseExp"); if (artifactExp != null) { float a = 0f; float.TryParse(artifactExp.baseData.formula, out a); increaseRate = a * artifactExp.stack * 0.01f; //formula가 10 이렇게 되어 있음. (10%를 의미) } float increaseByPlace = 0f; for (int i = 0; i < TerritoryManager.Instance.myPlaceList.Count; i++) { PlaceData placeData = TerritoryManager.Instance.myPlaceList[i]; if (placeData.placeBaseData.type == "Battle_IncreaseExpRatio") { float a = 0f; float.TryParse(placeData.placeBaseData.formula, out a); increaseByPlace += a * placeData.placeLevel * 0.01f; } } double exp = monster.power * 5 * (1 + increaseRate) * (1 + increaseByPlace); if (monster is BattleHero) { BattleHero m = monster as BattleHero; if (m.isBoss) { //보스는 8분할 해서 줌. (경험치 구슬 8개 떨굼) exp = m.power * 5f * 0.125f; for (int i = 0; i < 8; i++) { SpawnLootObject(monster, exp); } } else { SpawnLootObject(monster, exp); } } if (showDebug) { Debug.Log("[" + battleGroup.battleType + "] " + monster.name + ". level: " + monster.heroData.level + " - die. exp : " + exp); } //totalExp += exp; }
void OnHeroDied(BattleHero hero) { if (hero.IsEnemy) { --m_AliveEnemyHeroCount; } else { --m_AlivePlayerHeroCount; } }
public int GetIndexOfBattleHero(BattleHero hero) { int result = FindHeroIndex(m_PlayerHeroes, hero); if (result != -1) { return(result); } return(FindHeroIndex(m_EnemyHeroes, hero)); }
void CheckAndUpdateFlip() { BattleHero h = owner as BattleHero; if (h) { float x = h.flipX ? -1f : 1f; transform.localPosition = new Vector2(originalPos.x * x, transform.localPosition.y); } }
public BattleHero GetBattleHeroOnIndex(int index) { BattleHero result = FindBattleHeroOnIndex(m_PlayerHeroes, index); if (result != null) { return(result); } return(FindBattleHeroOnIndex(m_EnemyHeroes, index)); }
int FindHeroIndex(BattleHero[] heroes, BattleHero hero) { for (int i = 0; i < heroes.Length; ++i) { if (heroes[i] == hero) { return(i); } } return(-1); }