// Token: 0x060012E8 RID: 4840 RVA: 0x0020F6F4 File Offset: 0x0020D8F4 public void Recv_MSG_RESP_FOOTBALL_ASOLO_RANK(MessagePacket MP) { if (MP.ReadByte(-1) == 0) { byte b = MP.ReadByte(-1); byte b2 = MP.ReadByte(-1); if ((b & 1) > 0) { this.ClearBoard(18); this.MyRank[18] = 0; } for (int i = 0; i < (int)b2; i++) { BoardUnit boardUnit = new BoardUnit(); MP.ReadStringPlus(13, boardUnit.Name, -1); boardUnit.Value = MP.ReadULong(-1); boardUnit.AlliaceTag.Append(DataManager.Instance.RoleAlliance.Tag); this.Boards[18].Add(boardUnit); } if (b >= 2) { LeaderBoardManager.Instance.BoardUpdateTime[18] = ActivityManager.Instance.ServerEventTime + 43200L; this.Boards[18].Sort(new Comparison <BoardUnit>(LeaderBoardManager.BoardUnitSortByValue)); for (int j = 0; j < this.Boards[18].Count; j++) { if (DataManager.CompareStr(this.Boards[18][j].Name, DataManager.Instance.RoleAttr.Name) == 0) { this.MyRank[18] = (ushort)(j + 1); } } GUIManager.Instance.UpdateUI(EGUIWindow.UI_FootBallBoard, 3, 18); } } }
private BoardUnit GetBoardUnit() { ILog log = MockIlog(); DtService36 db = new DtService36(@"Data Source=shg-l80005754\SQLEXPRESS;Initial Catalog=BMS36;Persist Security Info=True;User ID=sa;Password=cml@shg629;Pooling=False"); FetchPlans fetchplans = FetchPlans.Inst(""); fetchplans.FetchPlansList(db); Dictionary <string, string> ports = new Dictionary <string, string>(); ports["OvenPort"] = "COM1"; ports["Floor1"] = "COM1"; ports["Floor2"] = "COM2"; ports["Floor3"] = "COM3"; ports["Floor4"] = "COM4"; ports["Floor5"] = "COM5"; ports["Floor6"] = "COM6"; ports["Floor7"] = "COM7"; ports["Floor8"] = "COM8"; ports["Floor9"] = "COM9"; ports["Floor10"] = "COM10"; BoardFactory factroy = new BoardFactory(log, fetchplans, ports); SystemParams param = new SystemParams(); BoardUnit unit = new BoardUnit(log, db, param); return(unit); }
public void Test_SubScribeBoard() { string boardName = "L10-1"; BoardManager manager = GetBoardManager(); manager.SubscribeBoard(boardName, "TEST_TYPE"); BoardUnit uinit = manager.GetBoardUnit(boardName); Assert.AreEqual(uinit.GetBoardInfo().BoardName, boardName); }
public void Test_UnsubScribeBoard() { string boardName = "L10-2"; BoardManager manager = GetBoardManager(); manager.SubscribeBoard(boardName, "TEST_TYPE"); manager.UnsubscribeBoard(boardName); BoardUnit uinit = manager.GetBoardUnit(boardName); Assert.AreEqual(uinit, null); }
/// <summary> /// Removes the unit occupying this hexagon /// </summary> public void RemoveUnit(BoardUnit u) { if (OccupiedUnit == u) { OccupiedUnit = null; } else { Debug.LogError("Trying to remove a unit from " + name + " that doesn't exist"); } }
/// <summary> /// Starts highlighting and using a template for an ability /// </summary> public void StartHighlighting(BoardUnit u, AbilityDescription a) { CurrentTargets.Clear(); template = templates [(int)a.Template].GetComponentInChildren <Template> (); TemplateInUse = true; TemplateTargetType = a.TemplateType; CurrentUnit = u; template.Enable(); template.SetScale(a.TemplateSize, a.castRange); CurrentTargets = template.CurrentHighlight; }
// Token: 0x060012ED RID: 4845 RVA: 0x0020FB38 File Offset: 0x0020DD38 private static int BoardUnitSortByValue(BoardUnit x, BoardUnit y) { if (x.Value > y.Value) { return(-1); } if (x.Value < y.Value) { return(1); } return(0); }
public void Test_AddSeatToBoard() { string boardName = "L9-1"; BoardManager manager = GetBoardManager(); manager.SubscribeBoard(boardName, "TEST_TYPE"); manager.AddSeatToBoard(boardName, 1, "001"); manager.AddSeatToBoard(boardName, 2, "002"); BoardUnit uinit = manager.GetBoardUnit(boardName); Assert.AreEqual(uinit.GetBoardInfo().units.Count, 2); manager.UnsubscribeBoard(boardName); }
void Start() { spawnMode = true; StartCoroutine(SelectMode()); #if UNITY_EDITOR Hex enemyHex = LayoutManager.hexPoints[4, 4].GetComponent <Hex>(); Instantiate(dummyBot, enemyHex.attachPoint.position, enemyHex.attachPoint.rotation); enemyHex.attachedObject = dummyBot; BoardUnit dummyScript = dummyBot.GetComponent <BoardUnit>(); dummyScript.attachedHex = enemyHex; dummyScript.dummy = true; #endif }
IEnumerator SpawnMode(int unitIndex) { //when in spawnmode spawnMode = true; while (spawnMode) { RaycastHit hit; Ray ray = cam.ScreenPointToRay(Input.mousePosition); if (Physics.Raycast(ray, out hit)) { //Get the Hex script of the object hit raycast GameObject currentObj = hit.transform.gameObject; currentHex = currentObj.GetComponent <Hex>(); //Only highlight spawnable blue hexes to spawn if (currentHex.blue && currentHex.spawnable && currentHex.attachedObject == null) { currentHex.highlighted = true; //Spawn unit when mouse is clicked if (Input.GetMouseButtonDown(0)) { GameObject newUnit = Instantiate(units[unitIndex], currentHex.attachPoint.position, currentHex.attachPoint.rotation); currentHex.attachedObject = newUnit; BoardUnit unitFunctions = newUnit.GetComponent <BoardUnit>(); unitFunctions.attachedHex = currentHex; spawnMode = false; StartCoroutine(SelectMode()); selectMode = true; yield return(null); } } } //Cancel Spawnmode if (Input.GetKeyDown(KeyCode.Escape)) { spawnMode = false; StartCoroutine(SelectMode()); selectMode = true; yield return(null); } yield return(null); } }
public void Test_GetBoardUnit() { string boardName1 = "L10-3"; BoardManager manager = GetBoardManager(); manager.SubscribeBoard(boardName1, "TEST_TYPE"); string boardName2 = "L10-4"; manager.SubscribeBoard(boardName2, "TEST_TYPE"); BoardUnit uinit = manager.GetBoardUnit(boardName1); Assert.AreEqual(uinit.GetBoardInfo().BoardName, boardName1); uinit = manager.GetBoardUnit(boardName2); Assert.AreEqual(uinit.GetBoardInfo().BoardName, boardName2); manager.UnsubscribeBoard(boardName1); manager.UnsubscribeBoard(boardName2); }
public void KillUnit(BoardUnit unit) { if (unit is PlayerControlledBoardUnit) { CurrentParty.Remove(unit as PlayerControlledBoardUnit); if (CurrentParty.Count == 0) { GameManager.instance.FinishCombat(false); } } else if (unit is NonPlayerControlledBoardUnit) { CurrentEnemies.Remove(unit as NonPlayerControlledBoardUnit); if (CurrentEnemies.Count == 0) //End of combat { GameManager.instance.FinishCombat(true); } } }
/// <summary> /// Finishes using the template for the ability, returns what units the ability found /// </summary> public List <Hexagon> FinishAbility() { if (TemplateInUse || HexTargetting) { List <Hexagon> units = new List <Hexagon> (); foreach (Hexagon h in CurrentTargets) { units.Add(h); } TemplateInUse = false; HexTargetting = false; TemplateTargetType = Target.NULL; CurrentUnit = null; template.Disable(); template = null; return(units); } return(new List <Hexagon> ()); }
// Token: 0x060012E5 RID: 4837 RVA: 0x0020F124 File Offset: 0x0020D324 public void Recv_MSG_RESP_AlliHunt_RANKDATA(MessagePacket MP) { byte b = MP.ReadByte(-1); if (b != 0) { return; } byte b2 = MP.ReadByte(-1); byte b3 = MP.ReadByte(-1); if (this.AlliHuntBoard == null) { this.AlliHuntBoard = new List <BoardUnit>(); } if ((b2 & 1) > 0) { this.AlliHuntBoard.Clear(); this.AlliHuntBoardUpdateTime = DataManager.Instance.ServerTime + 180L; this.MobiGroupAllianceID = DataManager.Instance.RoleAlliance.Id; } for (int i = 0; i < (int)b3; i++) { BoardUnit boardUnit = new BoardUnit(); MP.ReadStringPlus(13, boardUnit.Name, -1); boardUnit.Value = MP.ReadULong(-1); this.AlliHuntBoard.Add(boardUnit); } if (b2 >= 2) { this.AlliHuntBoard.Sort(new Comparison <BoardUnit>(LeaderBoardManager.BoardUnitSortByValue)); for (int j = 0; j < this.AlliHuntBoard.Count; j++) { if (DataManager.CompareStr(this.AlliHuntBoard[j].Name, DataManager.Instance.RoleAttr.Name) == 0) { this.AlliHuntRank = j + 1; } } GUIManager.Instance.UpdateUI(EGUIWindow.UI_AlliHuntBoard, 11, 0); } }
// Token: 0x060012D8 RID: 4824 RVA: 0x0020E064 File Offset: 0x0020C264 public void Recv_MSG_RESP_ACTIVITY_AEVENT_PERSONAL_RANK(MessagePacket MP) { if (MP.ReadByte(-1) == 0) { byte b = MP.ReadByte(-1); byte b2 = MP.ReadByte(-1); if ((b & 1) > 0) { this.ClearBoard(7); this.MyRank[7] = 0; } for (int i = 0; i < (int)b2; i++) { BoardUnit boardUnit = new BoardUnit(); MP.ReadStringPlus(13, boardUnit.Name, -1); boardUnit.Value = MP.ReadULong(-1); boardUnit.AlliaceTag.Append(DataManager.Instance.RoleAlliance.Tag); this.Boards[7].Add(boardUnit); } if (b >= 2) { LeaderBoardManager.Instance.BoardUpdateTime[7] = DataManager.Instance.ServerTime + 43200L; this.Boards[7].Sort(new Comparison <BoardUnit>(LeaderBoardManager.BoardUnitSortByValue)); for (int j = 0; j < this.Boards[7].Count; j++) { if (DataManager.CompareStr(this.Boards[7][j].Name, DataManager.Instance.RoleAttr.Name) == 0) { this.MyRank[7] = (ushort)(j + 1); } } GUIManager.Instance.UpdateUI(EGUIWindow.UI_LeaderBoard, 3, 7); GUIManager.Instance.UpdateUI(EGUIWindow.UI_KingdomVSLBoard, 3, 7); GUIManager.Instance.UpdateUI(EGUIWindow.UI_KVKLBoard, 3, 7); } } }
public IEnumerator CastSingleTargetAbility() { waiting = true; targets = null; List <AbilityModifier> mods = new List <AbilityModifier>(); if (GetComponent <BoardUnit>().isEnfeebled) { mods.Add(new AbilityModifier(AbilityModifier.Modifier.Damage, .5f)); } switch (AbilityInProgress.DisplayName) { case "SonicStrike": { targetHexagon.OccupiedUnit.ReceiveAbilityHit(AbilityInProgress, mods); mods.Add(new AbilityModifier(AbilityModifier.Modifier.Damage, .5f)); TemplateManager.instance.TemplateHit(this, TemplateManager.TargetTemplate.Cone, 3, GetComponent <BoardUnit>().CurrentlyOccupiedHexagon, targetHexagon); while (waiting) { yield return(null); } for (int i = 0; i < targets.Count; i++) { Hexagon h = targets [i]; if (HexagonHittable(h)) { h.OccupiedUnit.ReceiveAbilityHit(AbilityInProgress, mods); } } break; } case "StaticRush": { BoardUnit u = targetHexagon.OccupiedUnit; bool collision = false; List <Hexagon> path = BoardManager.instance.CanPushCharacter(GetComponent <BoardUnit>().CurrentlyOccupiedHexagon, targetHexagon, out collision); int i = 1; Hexagon curr = null; while (i < path.Count - 1) //Count-1 because the path leads ontop of another unit, so stop 1 short { curr = path[i]; if (!collision && i == path.Count - 2) //If there was no collision, push them forwards { path[path.Count - 2].OccupiedUnit.IssueMovement(path[path.Count - 1]); mods.Add(new AbilityModifier(AbilityModifier.Modifier.RemoveStunEffect, 1)); //If we are pushing them we dont stun } GetComponent <BoardUnit>().IssueMovement(curr); yield return(new WaitForSeconds(0.33f)); i++; } u.ReceiveAbilityHit(AbilityInProgress, mods); break; } default: { targetHexagon.OccupiedUnit.ReceiveAbilityHit(AbilityInProgress, mods); break; } } castingAbility = false; }
private void UnitSelectingEventHandler(BoardUnit unit) { OnCardSelected(unit); }
/// <summary> /// Adds a unit to this hexagon /// </summary> public void AddUnit(BoardUnit u) { OccupiedUnit = u; }
public virtual void OnCardSelected(BoardUnit creature) { }
// Token: 0x060012D6 RID: 4822 RVA: 0x0020D9C4 File Offset: 0x0020BBC4 public void Recv_MSG_RESP_BOARDCONTENT(MessagePacket MP) { byte b = MP.ReadByte(-1); byte b2 = MP.ReadByte(-1); ushort num = MP.ReadUShort(-1); long num2 = MP.ReadLong(-1); byte b3 = MP.ReadByte(-1); bool flag = false; if (b >= 19) { return; } if (b2 == 0) { flag = this.ClearBoard((int)b); this.BoardUpdateTime[(int)b] = num2; this.MyRank[(int)b] = num; if (GameConstants.IsBetween((int)b, 5, 7)) { this.BoardUpdateTime[(int)b] = DataManager.Instance.ServerTime + 43200L; } if (GameConstants.IsBetween((int)b, 12, 18)) { this.BoardUpdateTime[(int)b] = DataManager.Instance.ServerTime + 43200L; } } if (b2 > 0 && b2 != this.BoardRecived[(int)b] + 1) { return; } this.BoardRecived[(int)b] = b2; switch (b) { case 0: case 1: case 4: for (int i = 0; i < 20; i++) { BoardUnit boardUnit = new BoardUnit(); MP.ReadStringPlus(3, boardUnit.AlliaceTag, -1); MP.ReadStringPlus(13, boardUnit.Name, -1); boardUnit.Value = MP.ReadULong(-1); this.Boards[(int)b].Add(boardUnit); } break; case 2: case 3: for (int j = 0; j < 20; j++) { BoardUnitAlliance boardUnitAlliance = new BoardUnitAlliance(); MP.ReadStringPlus(3, boardUnitAlliance.AlliaceTag, -1); MP.ReadStringPlus(20, boardUnitAlliance.Name, -1); boardUnitAlliance.Value = MP.ReadULong(-1); boardUnitAlliance.AllianceID = MP.ReadUInt(-1); this.Boards[(int)b].Add(boardUnitAlliance); } break; case 5: case 12: for (int k = 0; k < 20; k++) { BoardUnitKingdom boardUnitKingdom = new BoardUnitKingdom(); boardUnitKingdom.KingdomID = MP.ReadUShort(-1); MP.ReadStringPlus(3, boardUnitKingdom.AlliaceTag, -1); MP.ReadStringPlus(13, boardUnitKingdom.Name, -1); boardUnitKingdom.KingKingdomID = MP.ReadUShort(-1); this.Boards[(int)b].Add(boardUnitKingdom); } break; case 6: case 13: for (int l = 0; l < 20; l++) { BoardUnitKingdomWarAlliance boardUnitKingdomWarAlliance = new BoardUnitKingdomWarAlliance(); boardUnitKingdomWarAlliance.KingdomID = MP.ReadUShort(-1); boardUnitKingdomWarAlliance.AllianceID = MP.ReadUInt(-1); MP.ReadStringPlus(3, boardUnitKingdomWarAlliance.AlliaceTag, -1); MP.ReadStringPlus(20, boardUnitKingdomWarAlliance.Name, -1); boardUnitKingdomWarAlliance.Value = MP.ReadULong(-1); this.Boards[(int)b].Add(boardUnitKingdomWarAlliance); } break; case 8: case 9: case 14: case 15: case 17: for (int m = 0; m < 20; m++) { WorldRankingBoardUnit worldRankingBoardUnit = new WorldRankingBoardUnit(); MP.ReadStringPlus(3, worldRankingBoardUnit.AlliaceTag, -1); MP.ReadStringPlus(13, worldRankingBoardUnit.Name, -1); worldRankingBoardUnit.Value = MP.ReadULong(-1); worldRankingBoardUnit.KingdomID = MP.ReadUShort(-1); this.Boards[(int)b].Add(worldRankingBoardUnit); } break; case 10: case 11: case 16: for (int n = 0; n < 20; n++) { WorldRankingBoardUnitAlliance worldRankingBoardUnitAlliance = new WorldRankingBoardUnitAlliance(); MP.ReadStringPlus(3, worldRankingBoardUnitAlliance.AlliaceTag, -1); MP.ReadStringPlus(20, worldRankingBoardUnitAlliance.Name, -1); worldRankingBoardUnitAlliance.Value = MP.ReadULong(-1); worldRankingBoardUnitAlliance.AllianceID = MP.ReadUInt(-1); worldRankingBoardUnitAlliance.KingdomID = MP.ReadUShort(-1); this.Boards[(int)b].Add(worldRankingBoardUnitAlliance); } break; } if (flag) { GUIManager.Instance.AddHUDMessage(DataManager.Instance.mStringTable.GetStringByID(8457u), 255, true); } if (b2 == 0) { GUIManager.Instance.UpdateUI(EGUIWindow.UI_LeaderBoard, 4, (int)b); GUIManager.Instance.UpdateUI(EGUIWindow.UI_KingdomVSLBoard, 4, (int)b); GUIManager.Instance.UpdateUI(EGUIWindow.UI_KVKLBoard, 4, (int)b); GUIManager.Instance.UpdateUI(EGUIWindow.UI_FootBallBoard, 4, (int)b); GUIManager.Instance.UpdateUI(EGUIWindow.UI_FootBallKVKBoard, 4, (int)b); } else { GUIManager.Instance.UpdateUI(EGUIWindow.UI_LeaderBoard, 3, (int)b); GUIManager.Instance.UpdateUI(EGUIWindow.UI_KingdomVSLBoard, 3, (int)b); GUIManager.Instance.UpdateUI(EGUIWindow.UI_KVKLBoard, 3, (int)b); GUIManager.Instance.UpdateUI(EGUIWindow.UI_FootBallBoard, 3, (int)b); GUIManager.Instance.UpdateUI(EGUIWindow.UI_FootBallKVKBoard, 3, (int)b); } }
IEnumerator SelectMode() { selectMode = true; //When select mode is active while (selectMode) { //Shoot Ray RaycastHit hit; Ray ray = cam.ScreenPointToRay(Input.mousePosition); //Get the hexes you can move to if (Physics.Raycast(ray, out hit)) { GameObject currentObj = hit.transform.gameObject; currentHex = currentObj.GetComponent <Hex>(); currentHex.highlighted = true; // If the clicked hex has a unit attached to it, select the unit if (Input.GetMouseButtonDown(0) && currentHex.attachedObject != null) { selectedUnit = currentHex.gameObject; Debug.Log(selectedUnit); SelectUnit(); } if (Input.GetMouseButtonDown(0) && selectedUnit != null) { // Selecting movable hexes if (currentHex.movable) { Hex newCurrentHex = selectedUnit.GetComponent <Hex>(); BoardUnit unit = newCurrentHex.attachedObject.GetComponent <BoardUnit>(); currentHex.attachedObject = unit.gameObject; unit.ChangeToMove(currentHex); DeselectUnit(); } // Selecting hexes with an enemy on it if (currentHex.attachedRed) { Hex newCurrentHex = selectedUnit.GetComponent <Hex>(); BoardUnit yourUnit = newCurrentHex.attachedObject.GetComponent <BoardUnit>(); BoardUnit enemyUnit = currentHex.attachedObject.GetComponent <BoardUnit>(); enemyUnit.currentHealth -= yourUnit.unitDamage; Debug.Log(enemyUnit.currentHealth); yourUnit.ChangeToAttack(); DeselectUnit(); } } /* if (Input.GetMouseButtonDown(0) && selectedUnit != null) * { * Hex newCurrentHex = selectedUnit.GetComponent<Hex>(); * BoardUnit unit = newCurrentHex.attachedObject.GetComponent<BoardUnit>(); * currentHex.attachedObject = unit.gameObject; * unit.ChangeToMove(currentHex); * DeselectUnit(); * } */ } //Deselection if (Input.GetKeyDown(KeyCode.Escape)) { DeselectUnit(); yield return(null); } yield return(null); } }
/// <summary> /// Starts the channeling. /// </summary> IEnumerator CastAbility(List <Hexagon> hits) { castingAbility = true; List <BoardUnit> unitsHit = new List <BoardUnit>(); yield return(new WaitForSeconds(1f)); List <AbilityModifier> mods = new List <AbilityModifier>(); if (GetComponent <BoardUnit>().isEnfeebled) { mods.Add(new AbilityModifier(AbilityModifier.Modifier.Damage, .5f)); } if (AbilityInProgress.AbilityTargetType == AbilityDescription.TargetType.CustomTemplate) { foreach (Hexagon h in hits) { if (AbilityInProgress.FriendlyFireEnabled) { if (h.OccupiedUnit is BoardUnit) { if (h.OccupiedUnit.AbilityActivator == this && !AbilityInProgress.SelfFireEnabled) { goto Skip; } BoardUnit u = h.OccupiedUnit; if (unitsHit.Contains(u)) { break; } else { unitsHit.Add(u); } if (AbilityInProgress.DisplayName == "FluxBlast") { u.KnockBack(AbilityInProgress.SourceHexagon, 2); } else if (AbilityInProgress.DisplayName == "StaticBomb") { u.PullIn(AbilityInProgress.SourceHexagon, 2); } else if (AbilityInProgress.DisplayName == "PulseForce") { u.KnockBack(GetComponent <BoardUnit>().CurrentlyOccupiedHexagon, 3); } u.ReceiveAbilityHit(AbilityInProgress, mods); Skip : {} } } else { if (h.OccupiedUnit is NonPlayerControlledBoardUnit) { h.OccupiedUnit.ReceiveAbilityHit(AbilityInProgress, mods); } } } castingAbility = false; } else if (AbilityInProgress.AbilityTargetType == AbilityDescription.TargetType.TargetHexagon) { if (AbilityInProgress.DisplayName == "ElectromagneticField") { if (targetHexagon.OccupiedUnit != null) { targetHexagon.OccupiedUnit.KnockBack(GetComponent <BoardUnit>().CurrentlyOccupiedHexagon, 1); } } targetHexagon.ReceiveAbilityHit(AbilityInProgress, mods); castingAbility = false; } else { StartCoroutine("CastSingleTargetAbility"); } }