public void AddToScene(Transform team1, Transform team2) { for (var x = 0; x < Attacker.Units.Length; x++) { var battleUnit = Attacker.Units[x]; if (battleUnit == null) { continue; } var clientUnit = new ClientUnit(battleUnit.UnitReference); clientUnit.AddToScene(); clientUnit.GetGameObject().transform.SetParent(team1.GetChild(x).transform); clientUnit.GetGameObject().transform.localPosition = Vector3.zero; clientUnit.GetGameObject().GetComponent <SpriteRenderer>().flipX = true; Attacker.Units[x].UnitReference = clientUnit; } for (var x = 0; x < Defender.Units.Length; x++) { var battleUnit = Defender.Units[x]; if (battleUnit == null) { continue; } var clientUnit = new ClientUnit(battleUnit.UnitReference); var unitObj = clientUnit.AddToScene(); unitObj.transform.SetParent(team2.GetChild(x).transform); unitObj.transform.localPosition = Vector3.zero; unitObj.GetComponent <SpriteRenderer>().flipX = false; Defender.Units[x].UnitReference = clientUnit; } }
public HashSet <int> GetCodeDicData() { HashSet <int> hashSetDD = new HashSet <int>(); hashSetDD.UnionWith(Unit.GetCodeDicData()); hashSetDD.UnionWith(UnitOp.GetCodeDicData()); hashSetDD.UnionWith(ClientUnit.GetCodeDicData()); return(hashSetDD); }
public object[][] SerializeBoard() { try { string boardJson = JsonUtility.ToJson(Board); ClientUnit[] unitList11 = new ClientUnit[UnitList1.Count]; ClientUnit[] unitList12 = new ClientUnit[UnitList1.Count]; ClientUnit[] unitList21 = new ClientUnit[UnitList2.Count]; ClientUnit[] unitList22 = new ClientUnit[UnitList2.Count]; for (int i = 0; i < UnitList1.Count; i++) { unitList11[i] = UnitList1[i].ConvertToClientUnit(false); unitList12[i] = UnitList1[i].ConvertToClientUnit(true); } for (int i = 0; i < UnitList2.Count; i++) { unitList21[i] = UnitList2[i].ConvertToClientUnit(true); unitList22[i] = UnitList2[i].ConvertToClientUnit(false); } string[] unitListJson11 = new string[unitList11.Length]; string[] unitListJson12 = new string[unitList12.Length]; string[] unitListJson21 = new string[unitList21.Length]; string[] unitListJson22 = new string[unitList22.Length]; for (int i = 0; i < unitList11.Length; i++) { unitListJson11[i] = JsonUtility.ToJson(unitList11[i]); } for (int i = 0; i < unitList12.Length; i++) { unitListJson12[i] = JsonUtility.ToJson(unitList12[i]); } for (int i = 0; i < unitList21.Length; i++) { unitListJson21[i] = JsonUtility.ToJson(unitList21[i]); } for (int i = 0; i < unitList22.Length; i++) { unitListJson22[i] = JsonUtility.ToJson(unitList22[i]); } object[] args1 = new object[] { "SyncBoard", boardJson, unitListJson11, unitListJson21 }; object[] args2 = new object[] { "SyncBoard", boardJson, unitListJson12, unitListJson22 }; object[][] argsarray = new object[][] { args1, args2 }; return(argsarray); } catch { Debug.LogWarning("SerializingError"); } return(null); }
public void Init(ClientUnit source) { X = source.X; Y = source.Y; IsMoving = source.IsMoving; IsSelect = source.IsSelect; TargetX = source.TargetX; TargetY = source.TargetY; }
public void WaitForAction() { ActingUnit = Battle.CurrentActingUnit.UnitReference as ClientUnit; ActingUnit.Sprites.PlayAnimation(Sprite3D.WALK, true, 100, ActionDelaySeconds); var obj = ActingUnit.GetGameObject(); _originalPos = obj.transform.position; obj.transform.DOLocalMove(new Vector3(ReadyDistanceMoved, 0, 0), ActionDelaySeconds); NextAction = DateTime.Now + TimeSpan.FromSeconds(ActionDelaySeconds); Log.Debug($"[Battle] {ActingUnit} waiting for action to handle it in {GetNextActionDelaySeconds()} seconds"); }
private void addClientUnits(string id, string side, string type, string x, string y, string z) { ClientUnit unit = new ClientUnit(); unit.id = id; unit.lastX = float.Parse(x); unit.lastY = float.Parse(y); unit.lastZ = float.Parse(z); Vector3 v3 = makeV3(x, y, z); unit.go = Instantiate(getPrefab(type), v3, Quaternion.identity) as GameObject; if (side == thisClientSide) { myUnits.Add(unit); } else { opponentUnits.Add(unit); } }
private void DrawDamage(ClientUnit unit, int damage) { DamageText.text = damage.ToString(); var pos = Camera.main.WorldToScreenPoint(unit.GetGameObject().transform.position); DamageText.transform.parent.parent.position = pos; var hpBar = DamageText.transform.parent; hpBar.gameObject.SetActive(true); hpBar.GetComponent <HealthBar>().SetPct(80); DamageText.gameObject.SetActive(true); var seq = DOTween.Sequence(); seq.Append(DamageText.transform.DOMoveY(DamageText.transform.position.y + 30, 0.2f)); seq.Append(DamageText.transform.DOMoveY(DamageText.transform.position.y, 0.2f)); seq.Append(DamageText.transform.DOMoveY(DamageText.transform.position.y - 10, 0.1f)); seq.Append(DamageText.transform.DOMoveY(DamageText.transform.position.y, 0.1f)); seq.onComplete += () => { Awaiter.WaitFor(TimeSpan.FromSeconds(0.4), () => { DamageText.gameObject.SetActive(false); hpBar.gameObject.SetActive(false); }); }; }
public void ClientAdd(IPEndPoint lep, IPEndPoint rep) { Application.Current.Dispatcher.BeginInvoke(new Action(() => { ClientUnit client = new ClientUnit(); client.ID = ""; client.Name = ""; client.RemoteEP = rep; foreach (var item in ServerTable) { if (item.Port.Equals(lep.Port)) { client.ServerID = item.ID; client.ServerName = item.Name; break; } } client.ConnectTime = DateTime.Now; ClientTable.Add(client); CurrentAcceptCount++; HistoryAcceptOpenCount++; })); }
public void SetDicData(IEnumerable <DicData> dicDatas) { Unit.SetDicData(dicDatas); UnitOp.SetDicData(dicDatas); ClientUnit.SetDicData(dicDatas); }
public void SelectUnit(ClientUnit unit) { GetNode <Label>("MoveRange").Text = "Speed " + unit?.MoveDistance.ToString() ?? "unknown"; GetNode <Label>("SightRange").Text = "Vision " + unit?.SightRange.ToString() ?? "unknown"; GetNode <Label>("AttackDistance").Text = "Attack " + unit?.AttackDistance.ToString() ?? "unknown"; }