// Token: 0x060022F3 RID: 8947 RVA: 0x0040C3F8 File Offset: 0x0040A5F8 public override void Update(Soldier sam, ArmyGroup parent, float deltaTime) { if ((parent.OnceFlag & 1u) != 0u) { sam.PlayAnim(ESheetMeshAnim.attack, SAWrapMode.Default, false, false, false); } }
// Token: 0x060022CD RID: 8909 RVA: 0x0040B248 File Offset: 0x00409448 public static Soldier ReallocTarget(Soldier self, ArmyGroup targetAry) { if (self.Target != null) { return(self.Target); } if (self.IsHeroSoldier && targetAry.heroSoldier != null) { return(targetAry.heroSoldier); } if (targetAry.bNpcMode) { return(targetAry.heroSoldier); } int rowCount = self.Parent.RowCount; int num = (int)self.Index / rowCount; int num2 = rowCount * (num + 1) - (int)(self.Index + 1); int num3 = rowCount * num + num2; num3 = ((num3 < targetAry.CurrentSoldierCount) ? num3 : UnityEngine.Random.Range(0, targetAry.CurrentSoldierCount)); num3 = Mathf.Max(num3, 0); Soldier soldier = targetAry.soldiers[num3]; if (soldier.CurFSM == EStateName.DIE) { soldier = targetAry.soldiers[0]; } return(soldier); }
// Token: 0x0600230B RID: 8971 RVA: 0x0040CFA0 File Offset: 0x0040B1A0 public override void Update(Soldier sam, ArmyGroup parent, float deltaTime) { if (sam.Flag != 0) { sam.Timer -= deltaTime; if (sam.Timer > 0f) { return; } sam.Flag = 0; sam.Timer = 0f; sam.SampleAnimation(ESheetMeshAnim.victory, 0.36f); } Vector3 center = sam.SpreadPos + FSMUnit.JUMP_FROM_WALL_CENTER_OFFSET; sam.transform.position = GameConstants.QuadraticBezierCurves(sam.SpreadPos, center, sam.LastTargetPos, 1.25f, sam.Timer); sam.Timer += deltaTime; if (sam.Timer >= 0.8f) { sam.EnableShadow = true; sam.SpreadPos = Vector3.zero; if (FSMManager.Instance.bIsBattleOver && DataManager.Instance.War_LordCapture != 0) { sam.FSMController = FSMManager.Instance.getState(EStateName.GO_CAPTIVING); } else { sam.FSMController = FSMManager.Instance.getState(EStateName.IDLE_FASTRUN); } } }
// Token: 0x060022FF RID: 8959 RVA: 0x0040CAF4 File Offset: 0x0040ACF4 public override void Update(Soldier sam, ArmyGroup parent, float deltaTime) { if (sam.DyingValue > -0.1f) { sam.DyingValue += deltaTime; } if (sam.DyingValue >= 20f) { sam.DyingValue = -10f; } else if (sam.DyingValue < 0f) { Transform transform = sam.transform; Vector3 position = transform.position; position.y -= 1f * deltaTime; transform.position = position; if (position.y <= -2f) { parent.SoldierCount--; parent.soldiers[parent.SoldierCount].transform.gameObject.SetActive(false); if (parent.SoldierCount <= 0) { parent.BeforeDeadDisable(); } } } }
public void RecruitUnit() { foreach (GameObject province in provinces) { if (province.transform.position.x == mainCamera.position.x && province.transform.position.y == mainCamera.position.y) { Province selectedProvince = province.GetComponent <Province>(); if (isLeader) { ArmyGroup[] temp = new ArmyGroup[armies.Length + 1]; armies.CopyTo(temp, 0); temp[armies.Length].leader = leader; armies = temp; provinceController.money -= leader.costMoney; provinceResources -= leader.costResources; } else { Unit[] units = armies[armies.Length - 1].units; Unit[] temp = new Unit[units.Length + 1]; units.CopyTo(temp, 0); temp[units.Length] = unit; armies[armies.Length - 1].units = temp; provinceController.money -= unit.costMoney; provinceResources -= unit.costResources; } } } }
// Token: 0x060022D2 RID: 8914 RVA: 0x0040B49C File Offset: 0x0040969C public override void Update(Soldier sam, ArmyGroup parent, float deltaTime) { if (sam.ActionMode == EActionMode.Personal) { Transform transform = sam.transform; Vector3 transformPoint = parent.getTransformPoint((int)sam.Index); Vector3 vector = transformPoint - transform.position; if (vector != Vector3.zero) { Quaternion to = Quaternion.LookRotation(vector); transform.rotation = Quaternion.Slerp(transform.rotation, to, 5f * deltaTime); } FSMUnit.MoveSoldier(sam, transformPoint, parent.MoveSpeed * 1.3f * deltaTime); if (GameConstants.DistanceSquare(transform.position, transformPoint) <= 0.0001f) { sam.ActionMode = EActionMode.Team; sam.PlayAnim(ESheetMeshAnim.idle, SAWrapMode.Loop, true, false, false); sam.NotifyingParent(0); } } else if (sam.transform.rotation != parent.groupRoot.rotation) { sam.transform.rotation = Quaternion.Slerp(sam.transform.rotation, parent.groupRoot.rotation, 5f * deltaTime); } }
// Token: 0x060022F6 RID: 8950 RVA: 0x0040C444 File Offset: 0x0040A644 public override void Update(Soldier sam, ArmyGroup parent, float deltaTime) { Transform transform = sam.transform; Vector3 vector = sam.SpreadPos - transform.position; if (vector != Vector3.zero) { Quaternion quaternion = Quaternion.LookRotation(vector); if (transform.rotation != quaternion) { transform.rotation = Quaternion.Slerp(transform.rotation, quaternion, 5f * deltaTime); } } FSMUnit.MoveSoldier(sam, sam.SpreadPos, parent.MoveSpeed * 1.3f * deltaTime); if (GameConstants.DistanceSquare(transform.position, sam.SpreadPos) <= 0.0001f) { sam.SpreadPos = Vector3.zero; sam.SpreadMode = ESpreadMode.NotSpread; if (sam.Parent.Target.GroupKind == EGroupKind.CastleGate) { sam.FSMController = FSMManager.Instance.getState(EStateName.RANGE_FIGHT_WALL); } else { sam.FSMController = FSMManager.Instance.getState(EStateName.RANGE_FIGHT); } } }
// Token: 0x060022E7 RID: 8935 RVA: 0x0040BF48 File Offset: 0x0040A148 public override void Update(Soldier sam, ArmyGroup parent, float deltaTime) { if (parent.Target != null && parent.Target.GroupKind == EGroupKind.CastleGate) { return; } if (sam.Target == null) { sam.FSMController = FSMManager.Instance.getState(EStateName.LOSETARGET); } if (sam.fightTimer > 0f) { sam.fightTimer -= deltaTime; if (sam.fightTimer <= 0f) { sam.PlayAnim(ESheetMeshAnim.attack, SAWrapMode.Default, true, false, false); sam.fightTimer = ((!sam.IsHeroSoldier) ? 1.5f : 3f); } } Transform transform = sam.Target.transform; Transform transform2 = sam.transform; if (parent.Target.CurHP <= 0) { sam.FSMController = FSMManager.Instance.getState(EStateName.IDLE); } else if (sam.Target.CurFSM == EStateName.DIE) { sam.ResetTarget(false); sam.FSMController = FSMManager.Instance.getState(EStateName.TRYFIGHT); } else if (GameConstants.DistanceSquare(sam.LastTargetPos, transform.position) <= 0.0001f) { FSMUnit.CheckDirectionToTarget(sam, deltaTime); if (sam.CurAnim == ESheetMeshAnim.attack && sam.LastAnimTime() < 0.1f && sam.CurAnimTime() >= 0.1f) { ushort num = 1; if (parent.GroupKind == EGroupKind.Catapults) { num = 2006; } if (parent.GroupKind == EGroupKind.Archer && parent.Tier == 4) { num = 2005; } sam.Target.ParticleFlag = ((num <= sam.Target.ParticleFlag) ? sam.Target.ParticleFlag : num); } } else { float num2 = sam.AttackRadius + sam.Target.Radius; if (GameConstants.DistanceSquare(transform2.position, transform.position) > num2 * num2) { sam.FSMController = FSMManager.Instance.getState(EStateName.TRYFIGHT); } } }
// Token: 0x060022FC RID: 8956 RVA: 0x0040CA80 File Offset: 0x0040AC80 public override void Update(Soldier sam, ArmyGroup parent, float deltaTime) { if (!sam.IsLord) { Lord lord = sam as Lord; if (lord != null && !lord.getAnimComponent().IsPlaying("die")) { sam.FSMController = FSMManager.Instance.getState(EStateName.LORD_DIE); } } }
// Token: 0x0600239E RID: 9118 RVA: 0x00412C9C File Offset: 0x00410E9C public override void Attack(ArmyGroup target, bool bForceRetarget = false, byte param = 0) { if (param == 5 && this.suprsBehavior != null) { this.suprsBehavior.setState(ETrapState.START); } if (param == 6 && this.woodBehavior != null) { this.woodBehavior.setState(ETrapState.START); } }
// Token: 0x06002317 RID: 8983 RVA: 0x0040D554 File Offset: 0x0040B754 public override void Update(Soldier sam, ArmyGroup parent, float deltaTime) { if (sam.Flag == 0) { sam.Timer -= deltaTime; if (sam.Timer <= 0f) { sam.PlayAnim(ESheetMeshAnim.victory, SAWrapMode.Loop, true, false, false); sam.Flag = 1; } } }
// Token: 0x06002305 RID: 8965 RVA: 0x0040CD08 File Offset: 0x0040AF08 public override void Update(Soldier sam, ArmyGroup parent, float deltaTime) { if (sam.SpreadPos != Vector3.zero) { Transform transform = sam.transform; Quaternion quaternion = Quaternion.LookRotation(sam.SpreadPos); if (transform.rotation != quaternion) { transform.rotation = Quaternion.Slerp(transform.rotation, quaternion, 5f * deltaTime); } } }
// Token: 0x06002308 RID: 8968 RVA: 0x0040CDB4 File Offset: 0x0040AFB4 public override void Update(Soldier sam, ArmyGroup parent, float deltaTime) { if (sam.Flag == 0) { sam.Timer -= deltaTime; if (sam.Timer > 0f) { return; } sam.Flag = 1; sam.PlayAnim(ESheetMeshAnim.moving, SAWrapMode.Loop, false, false, false); } Vector3 vector = Vector3.zero; Transform transform = sam.transform; if (sam.Flag == 1) { vector = FSMUnit.WALL_BACK; } else { if (sam.Flag != 2) { sam.Flag = 0; if (FSMManager.Instance.bIsBattleOver && DataManager.Instance.War_LordCapture != 0) { sam.FSMController = FSMManager.Instance.getState(EStateName.GO_CAPTIVING); } else { sam.FSMController = FSMManager.Instance.getState(EStateName.IDLE_FASTRUN); } return; } vector = FSMUnit.WALL_FRONT; } Vector3 vector2 = vector - transform.position; if (vector2 != Vector3.zero) { Quaternion quaternion = Quaternion.LookRotation(vector2); if (transform.rotation != quaternion) { transform.rotation = Quaternion.Slerp(transform.rotation, quaternion, 5f * deltaTime); } } FSMUnit.MoveSoldier(sam, vector, parent.MoveSpeed * deltaTime * 2.5f); if (GameConstants.DistanceSquare(transform.position, vector) <= 0.0001f) { sam.Flag += 1; } }
// Token: 0x060022AF RID: 8879 RVA: 0x0040A154 File Offset: 0x00408354 public void PlaySkill(ushort skillID, ArmyGroup target) { this.Target = target; this.m_State = ArmyGroup.EGROUPSTATE.FIGHT; if (this.heroSoldier != null) { Lord lord = (Lord)this.heroSoldier; lord.PlaySkillAnim(skillID); this.particleMgr.Spawn(2009, lord.GetHitPointTrans(), Vector3.zero, 1f, true, true); AudioManager.Instance.PlaySFX(40039, 0f, PitchKind.NoPitch, lord.modelTrans, null); this.bInsideSkill = true; } }
// Token: 0x0600239D RID: 9117 RVA: 0x00412BE0 File Offset: 0x00410DE0 public override void FireRange(ArmyGroup targetGroup, FlyingObjectManager mgr, FOKind kind, float ms, ushort skillID, byte param = 0) { if (this.Target.GroupKind != EGroupKind.CastleGate && param > 0 && param <= 4) { int currentSoldierCount = this.Target.CurrentSoldierCount; for (int i = 0; i < 5; i++) { Vector3 begin = this.towerFirePoint[(int)(param - 1)] + this.towerFireOffset[i]; int num = (i < currentSoldierCount) ? i : (currentSoldierCount - 1); mgr.addFlyingObject(kind, begin, this.Target.soldiers[num].transform, ms, new Vector3(0f, 1f, 0f), null, ChaseType.Straight, null); } } }
// Token: 0x06002320 RID: 8992 RVA: 0x0040D8DC File Offset: 0x0040BADC public override void Update(Soldier sam, ArmyGroup parent, float deltaTime) { Vector3 center = (sam.LastTargetPos + sam.SpreadPos) * 0.5f; center.y = 10f; sam.transform.position = GameConstants.QuadraticBezierCurves(sam.LastTargetPos, center, sam.SpreadPos, 2f, sam.Timer); sam.Timer += deltaTime; if (sam.Timer >= 0.5f) { sam.Flag = 0; EStateName name = ArmyGroup.m_FSMMap[sam.Parent.State]; sam.FSMController = FSMManager.Instance.getState(name); } }
// Token: 0x060022F9 RID: 8953 RVA: 0x0040C830 File Offset: 0x0040AA30 public override void Update(Soldier sam, ArmyGroup parent, float deltaTime) { if (sam.Index == 255) { Transform transform = sam.transform; Vector3 vector = sam.SpreadPos - transform.position; if (vector != Vector3.zero) { transform.rotation = Quaternion.LookRotation(vector); } FSMUnit.MoveSoldier(sam, sam.SpreadPos, sam.DyingValue * deltaTime); if (sam.DieState == 1 && (sam.SpreadPos == Vector3.zero || GameConstants.DistanceSquare(transform.position, sam.SpreadPos) <= 0.0001f)) { sam.FSMController = FSMManager.Instance.getState(EStateName.DIE); } } else if (sam.Flag != 0) { float fightTimer = sam.fightTimer; float inverseLength = 1f / fightTimer; Vector3 center = (sam.SpreadPos + sam.LastTargetPos) * 0.5f; center.y = sam.DyingValue; sam.transform.position = GameConstants.QuadraticBezierCurves(sam.LastTargetPos, center, sam.SpreadPos, inverseLength, sam.Timer); sam.Timer += deltaTime; if (sam.Timer >= fightTimer) { sam.transform.position = sam.SpreadPos; sam.SpreadPos = Vector3.zero; sam.FSMController = FSMManager.Instance.getState(EStateName.DIE); sam.PlayAnim(ESheetMeshAnim.die, SAWrapMode.Once, true, false, false); sam.Flag = 0; } } else { Transform transform2 = sam.transform; Vector3 vector2 = sam.SpreadPos - transform2.position; if (vector2 != Vector3.zero) { transform2.rotation = Quaternion.LookRotation(vector2); FSMUnit.MoveSoldier(sam, sam.SpreadPos, sam.DyingValue * deltaTime); } if (sam.DieState == 1 && (sam.SpreadPos == Vector3.zero || GameConstants.DistanceSquare(transform2.position, sam.SpreadPos) <= 0.0001f)) { sam.FSMController = FSMManager.Instance.getState(EStateName.DIE); } } }
// Token: 0x0600239F RID: 9119 RVA: 0x00412CE8 File Offset: 0x00410EE8 public void cacheTrapHitPos(byte trapKind, ArmyGroup ag) { TrapBehavior trapBehavior = (trapKind != 0) ? this.woodBehavior : this.suprsBehavior; if (trapBehavior != null) { int currentSoldierCount = ag.CurrentSoldierCount; Vector3 vector = Vector3.zero; for (int i = 0; i < currentSoldierCount; i++) { vector += ag.soldiers[i].transform.position; } vector /= (float)currentSoldierCount; trapBehavior.targetPosCache.Add(vector); } }
// Token: 0x060022AE RID: 8878 RVA: 0x00409F94 File Offset: 0x00408194 public virtual void Attack(ArmyGroup target, bool bForceRetarget = false, byte param = 0) { if (this.Target != target) { bForceRetarget = true; } if (this.lastState == ArmyGroup.EGROUPSTATE.FIGHT && !bForceRetarget && param == 0) { this.OnceFlag |= 1u; if (this.Target == null) { this.Target = target; } return; } this.OnceFlag |= 1u; this.Target = target; this.m_State = ((param == 0) ? ArmyGroup.EGROUPSTATE.FIGHT : ArmyGroup.EGROUPSTATE.FIGHT_IMMEDIATE); if (target.GroupKind == EGroupKind.Infantry || target.GroupKind == EGroupKind.Cavalry) { this.CenterWithTarget = this.groupRoot.position + (target.groupRoot.position - this.groupRoot.position) / 2f; } else if (target.GroupKind == EGroupKind.CastleGate) { float x = 52f - this.soldiers[0].AttackRadius; Vector3 a = new Vector3(x, 0f, this.groupRoot.position.z); this.CenterWithTarget = this.groupRoot.position + (a - this.groupRoot.position) / 2f; } else { this.CenterWithTarget = target.groupRoot.position; } if (bForceRetarget) { this.lastState = ArmyGroup.EGROUPSTATE.IDLE; for (int i = 0; i < this.CurrentSoldierCount; i++) { this.soldiers[i].ActionMode = EActionMode.Personal; this.soldiers[i].ResetTarget(true); } if (this.heroSoldier != null) { this.heroSoldier.ActionMode = EActionMode.Personal; this.heroSoldier.ResetTarget(false); } } }
// Token: 0x060022F0 RID: 8944 RVA: 0x0040C2E8 File Offset: 0x0040A4E8 public override void Update(Soldier sam, ArmyGroup parent, float deltaTime) { if (!FSMUnit.CheckTargetActiving(sam)) { sam.Target = FSMUnit.ReallocTarget(sam, parent.Target); } FSMUnit.CheckDirectionToTarget(sam, deltaTime); if ((parent.OnceFlag & 1u) != 0u) { if (sam.Target.CurFSM == EStateName.DYING || sam.Target.CurFSM == EStateName.DIE) { sam.Target = null; sam.Target = FSMUnit.ReallocTarget(sam, parent.Target); } sam.PlayAnim(ESheetMeshAnim.attack, SAWrapMode.Default, false, false, false); } }
// Token: 0x060022EA RID: 8938 RVA: 0x0040C1D8 File Offset: 0x0040A3D8 public override void Update(Soldier sam, ArmyGroup parent, float deltaTime) { if (sam.fightTimer > 0f) { sam.fightTimer -= deltaTime; if (sam.fightTimer <= 0f) { sam.PlayAnim(ESheetMeshAnim.attack, SAWrapMode.Default, true, false, false); sam.fightTimer = 1.5f; } } if (sam.CurAnim == ESheetMeshAnim.attack && sam.LastAnimTime() < 0.1f && sam.CurAnimTime() >= 0.1f) { Vector3 position = new Vector3(51f, 2f, sam.transform.position.z); parent.particleManager.Spawn(2001, null, position, 1f, true, false); } }
// Token: 0x0600231A RID: 8986 RVA: 0x0040D5FC File Offset: 0x0040B7FC public override void Update(Soldier sam, ArmyGroup parent, float deltaTime) { Transform transform = sam.transform; Vector3 vector = sam.SpreadPos - transform.position; if (vector != Vector3.zero) { Quaternion quaternion = Quaternion.LookRotation(vector); if (quaternion != transform.rotation) { transform.rotation = Quaternion.Slerp(transform.rotation, quaternion, 5f * deltaTime); } } float num = (parent != null) ? parent.MoveSpeed : 4.5f; FSMUnit.MoveSoldier(sam, sam.SpreadPos, num * 2.5f * deltaTime * 1.5f); }
// Token: 0x0600231D RID: 8989 RVA: 0x0040D734 File Offset: 0x0040B934 public override void Update(Soldier sam, ArmyGroup parent, float deltaTime) { if (sam.Flag == 1) { return; } if (sam.Flag == 2) { Transform transform = sam.transform; Vector3 vector = Camera.main.transform.position - transform.position; vector.y = 0f; if (vector != Vector3.zero) { Quaternion quaternion = Quaternion.LookRotation(vector); if (quaternion != transform.rotation) { transform.rotation = Quaternion.Slerp(transform.rotation, quaternion, 5f * deltaTime); } else { sam.Flag = 1; } } } else { Transform transform2 = sam.transform; Vector3 vector2 = sam.SpreadPos - transform2.position; if (vector2 != Vector3.zero) { Quaternion quaternion2 = Quaternion.LookRotation(vector2); if (quaternion2 != transform2.rotation) { transform2.rotation = Quaternion.Slerp(transform2.rotation, quaternion2, 5f * deltaTime); } } float num = (parent != null) ? parent.MoveSpeed : 4.5f; FSMUnit.MoveSoldier(sam, sam.SpreadPos, num * 2.5f * deltaTime * 1.5f); if (GameConstants.DistanceSquare(transform2.position, sam.SpreadPos) <= 0.0001f) { sam.Flag = 2; sam.PlayAnim(ESheetMeshAnim.victory, SAWrapMode.Loop, true, false, false); } } }
// Token: 0x060022E4 RID: 8932 RVA: 0x0040BDD4 File Offset: 0x00409FD4 public override void Update(Soldier sam, ArmyGroup parent, float deltaTime) { if (sam.Target == null || sam.Target.FSMController == null || sam.Target.CurFSM == EStateName.DIE || sam.Target.CurFSM == EStateName.DYING) { sam.FSMController = FSMManager.Instance.getState(EStateName.LOSETARGET); } Transform transform = sam.Target.transform; Transform transform2 = sam.transform; FSMUnit.CheckDirectionToTarget(sam, deltaTime); FSMUnit.MoveSoldier(sam, transform.position, parent.MoveSpeed * 1.3f * deltaTime); float num = sam.AttackRadius + sam.Target.Radius; if (GameConstants.DistanceSquare(transform2.position, transform.position) < num * num) { sam.FSMController = FSMManager.Instance.getState(EStateName.MELEE_FIGHT); } }
// Token: 0x060022DB RID: 8923 RVA: 0x0040B780 File Offset: 0x00409980 public override void Update(Soldier sam, ArmyGroup parent, float deltaTime) { if (sam.Flag != 0) { sam.Timer -= deltaTime; if (sam.Timer > 0f) { return; } sam.Flag = 0; sam.PlayAnim(ESheetMeshAnim.moving, SAWrapMode.Loop, false, false, false); } Vector3 transformPoint = parent.getTransformPoint((int)sam.Index); Transform transform = sam.transform; if (sam.ActionMode == EActionMode.Team) { transform.position = transformPoint; if (transform.rotation != parent.m_Direction) { transform.rotation = Quaternion.Slerp(transform.rotation, parent.m_Direction, 5f * deltaTime); } } else { Vector3 vector = transformPoint - transform.position; if (vector != Vector3.zero) { Quaternion quaternion = Quaternion.LookRotation(vector); if (transform.rotation != quaternion) { transform.rotation = Quaternion.Slerp(transform.rotation, quaternion, 5f * deltaTime); } } FSMUnit.MoveSoldier(sam, transformPoint, parent.MoveSpeed * deltaTime); if (GameConstants.DistanceSquare(transform.position, transformPoint) <= 0.0001f) { sam.ActionMode = EActionMode.Team; } } }
// Token: 0x06002311 RID: 8977 RVA: 0x0040D2A4 File Offset: 0x0040B4A4 public override void Update(Soldier sam, ArmyGroup parent, float deltaTime) { if (sam.CaptiveFlag == 0) { return; } if (sam.CaptiveFlag == 1) { Transform transform = sam.transform; Vector3 vector = sam.CaptivePos - transform.position; if (vector != Vector3.zero) { Quaternion to = Quaternion.LookRotation(vector); transform.rotation = Quaternion.Slerp(transform.rotation, to, 5f * deltaTime); } FSMUnit.MoveSoldier(sam, sam.CaptivePos, parent.MoveSpeed * 2.5f * deltaTime); if (GameConstants.DistanceSquare(transform.position, sam.CaptivePos) <= 0.0001f) { sam.CaptiveFlag = 2; sam.PlayAnim(ESheetMeshAnim.victory, SAWrapMode.Loop, true, false, false); FSMManager.Instance.CaptivingCount++; sam.CaptivePos = sam.Parent.SoldierTarget.transform.position - transform.position; } } else if (sam.CaptiveFlag == 2) { Transform transform2 = sam.transform; if (sam.CaptivePos != Vector3.zero) { Quaternion quaternion = Quaternion.LookRotation(sam.CaptivePos); if (quaternion != transform2.rotation) { transform2.rotation = Quaternion.Slerp(transform2.rotation, quaternion, 5f * deltaTime); } else { sam.CaptiveFlag = 0; } } } }
// Token: 0x06002302 RID: 8962 RVA: 0x0040CBF0 File Offset: 0x0040ADF0 public override void Update(Soldier sam, ArmyGroup parent, float deltaTime) { if (sam.DyingValue > -0.1f) { sam.DyingValue += deltaTime; } if (sam.DyingValue >= 20f) { sam.DyingValue = -10f; } else if (sam.DyingValue < 0f) { Transform transform = sam.transform; Vector3 position = transform.position; position.y -= 1f * deltaTime; transform.position = position; if (position.y <= -2f) { parent.heroSoldier.gameObject.SetActive(false); } } }
// Token: 0x06002323 RID: 8995 RVA: 0x0040D9BC File Offset: 0x0040BBBC public override void Update(Soldier sam, ArmyGroup parent, float deltaTime) { if (sam.Timer > 0f) { sam.Timer -= deltaTime; if (sam.Timer <= 0f) { sam.PlayAnim(ESheetMeshAnim.victory, SAWrapMode.Default, true, false, false); } } else { Animation animComponent = sam.getAnimComponent(); if (animComponent != null) { float time = animComponent["victory"].time; if (time <= 0f) { sam.Timer = (float)UnityEngine.Random.Range(2, 6); } } } }
// Token: 0x060022B5 RID: 8885 RVA: 0x0040A7AC File Offset: 0x004089AC public void Move(ArmyGroup target) { this.Target = target; if (this.Target != null) { Vector3 position; if (target.GroupKind == EGroupKind.CastleGate) { position = new Vector3(52f, 0f, this.groupRoot.position.z); } else { position = this.Target.groupRoot.position; } this.targetPosition = position; Quaternion quaternion = Quaternion.LookRotation(this.targetPosition - this.groupRoot.position); if (this.m_Direction != quaternion) { this.m_Direction = quaternion; } this.groupRoot.rotation = this.m_Direction; for (int i = 0; i < this.SoldierCount; i++) { if (this.soldiers[i].CurFSM != EStateName.DYING) { this.soldiers[i].ActionMode = EActionMode.Personal; this.soldiers[i].ResetTarget(true); } } if (this.heroSoldier != null) { this.heroSoldier.ActionMode = EActionMode.Personal; this.heroSoldier.ResetTarget(false); } this.m_State = ArmyGroup.EGROUPSTATE.MOVING; } }
// Token: 0x0600230E RID: 8974 RVA: 0x0040D184 File Offset: 0x0040B384 public override void Update(Soldier sam, ArmyGroup parent, float deltaTime) { }