void GetMoving() { if (ZoneMarced.Count == 0) { ZoneMarced = CorrectUnit.unit.MovmentArea(); foreach (var item in ZoneMarced) { SpriteRenderer localmarcer = PoolElement; localmarcer.transform.position = item.Position; localmarcer.color = Color.green; TrashNode.Add(localmarcer); } } Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition); RaycastHit hit; Vector3 PoitionToChek; if (Input.GetMouseButton(0) && Physics.Raycast(ray, out hit, 5000, Mask)) { PoitionToChek = hit.point; var node = GridABS.NodeFromWorldPoint(PoitionToChek); if (ZoneMarced.Contains(node) && node.UnitOnNode == null) { ClientReciverMK1.WriteMsg("/Move" + GetUnitId(CorrectUnit) + ":" + node.x + ":" + node.y); CorrectUnit.MoveToCord(node.x, node.y); EndTurn(); } } }
void GetBoom() { Instantiate(ImportVisualEffect((int)Granades[currentGranade].granade), _point, Quaternion.identity); for (int i = 0; i < vectorsOfGrande.Length; i++) { Vector2 n = vectorsOfGrande[i]; NetworkElement unitTarget = GridABS.NodeFromWorldPoint(new Vector3(n.x, 0, n.y)).UnitOnNode; if (unitTarget != null) { int PowerPerc = Granades[currentGranade].PowerPerc; int Range = Granades[currentGranade].Range; switch ((int)Granades[currentGranade].granade) { case 0: unitTarget.unit.GetDamage(PowerPerc); ClientReciverMK1.WriteMsg("/Damage" + ThisUnit.Manger.GetUnitId(unitTarget) + ":" + PowerPerc + ":" + 0 + ":" + 0); break; case 1: unitTarget.unit.GetDamage(0, PowerPerc, (int)BasicUnit.DamageType.Stan); ClientReciverMK1.WriteMsg("/Damage" + ThisUnit.Manger.GetUnitId(unitTarget) + ":" + 0 + ":" + PowerPerc + ":" + (int)BasicUnit.DamageType.Stan); break; case 2: unitTarget.unit.GetDamage(PowerPerc, Range, (int)BasicUnit.DamageType.Fire); ClientReciverMK1.WriteMsg("/Damage" + ThisUnit.Manger.GetUnitId(unitTarget) + ":" + PowerPerc + ":" + Range + ":" + (int)BasicUnit.DamageType.Fire); break; case 3: Vector3 poitionToChek = unitTarget.transform.position + (unitTarget.transform.position - _point).normalized * PowerPerc; var node = GridABS.NodeFromWorldPoint(poitionToChek); if (node.TypeBloc == NodeA.NodeType.Walkable && node.UnitOnNode == null) { ClientReciverMK1.WriteMsg("/Move" + ThisUnit.Manger.GetUnitId(unitTarget) + ":" + node.x + ":" + node.y); unitTarget.MoveToCord(node.x, node.y); } break; case 4: break; } } } Granades[currentGranade].count -= 1; currentGranade = -1; ThisUnit.Manger.EndTurn(); ClientReciverMK1.WriteMsg("/EndTurn"); }
void ReadConection() { byte[] data = new byte[256]; if (mainstream != null && mainstream.DataAvailable) { data = new byte[256]; int bytes = mainstream.Read(data, 0, data.Length); msges = Encoding.UTF8.GetString(data, 0, bytes).Split('/'); foreach (string mesg in msges) { Debug.Log(mesg); if (mesg.StartsWith("Set")) { if (mesg.EndsWith("TeamB")) { Manger.TeamName = MangerNetwork.TeamType.TeamB; } } if (mesg.StartsWith("List")) { Manger.GetUnitArray(mesg); } if (mesg.StartsWith("Move")) { string[] lines = mesg.Remove(0, 4).Split(':'); NetworkElement targetUnit = Manger.ElementsInGame[Convert.ToInt32(lines[0])]; targetUnit.MoveToCord(Convert.ToInt32(lines[1]), Convert.ToInt32(lines[2])); if (targetUnit == Manger.CorrectUnit) { Manger.EndTurn(); } } if (mesg.StartsWith("UnitIs")) { string lines = mesg.Remove(0, 7); ChoosePackManger.SignNewUnit(Convert.ToInt32(lines)); } if (mesg.StartsWith("Shoot")) { string[] lines = mesg.Remove(0, 5).Split(':'); NetworkElement targetUnit = Manger.ElementsInGame[Convert.ToInt32(lines[0])]; targetUnit.ShootToСord(Convert.ToInt32(lines[1]), Convert.ToInt32(lines[2])); if (targetUnit == Manger.CorrectUnit) { Manger.EndTurn(); } } if (mesg.StartsWith("VSBoom")) { string[] lines = mesg.Remove(0, 6).Split(':'); Manger.VisualManger.VisualGranade(Convert.ToInt32(lines[0]), Convert.ToInt32(lines[1]), Convert.ToInt32(lines[2])); } if (mesg.StartsWith("Damage")) { string[] lines = mesg.Remove(0, 6).Split(':'); NetworkElement targetUnit = Manger.ElementsInGame[Convert.ToInt32(lines[0])]; targetUnit.unit.GetDamage(Convert.ToInt32(lines[1]), Convert.ToInt32(lines[2]), Convert.ToInt32(lines[3])); } if (mesg == "EndTurn") { Manger.EndTurn(); } } } }