Exemple #1
0
        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;
            }
        }
Exemple #2
0
        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);
 }
Exemple #4
0
 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");
    }
Exemple #6
0
    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);
            });
        };
    }
Exemple #8
0
        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++;
            }));
        }
Exemple #9
0
 public void SetDicData(IEnumerable <DicData> dicDatas)
 {
     Unit.SetDicData(dicDatas);
     UnitOp.SetDicData(dicDatas);
     ClientUnit.SetDicData(dicDatas);
 }
Exemple #10
0
 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";
 }