public void CalculateStats() { Won = Match.Winner == Team && !Abandoned; WonDuels = Match.Duels.Count(d => d.Winner == Team); LostDuels = Match.Duels.Count(d => d.Winner != Team); Experience = UnitDatas.Sum(u => u.Killed * u.Unit.Experience); Kills = UnitDatas.Sum(u => u.Killed); Leaks = UnitDatas.Sum(u => u.Leaked); Builds = UnitDatas.Sum(u => u.Build); Sends = UnitDatas.Sum(u => u.Send); }
public Vector3 Offset(Units unit) { UnitDatas unitDatas = unit.MyData; //TODO Vector3 result = transform.position; Vector3 forward = (unitDatas.IsTeamT == 1 ? -gameObject.transform.forward : gameObject.transform.forward); Vector3 roadOffset = (unitDatas.Direction == 1 || unitDatas.Direction == 8) ? gameObject.transform.right : -gameObject.transform.right; result += (roadOffset * MainController.RoadSize * TileSize.x); result += (forward * (unitDatas.Phase + MainController.TimePhase) * TileSize.x); return(result); }
public void SetUnit(UnitDatas unitDatas) { MyData = unitDatas; MyTiles.Add(Tiles.GetTile(new Vector2Int(MyData.XPos, MyData.YPos))); if (MyData.Type < 0 || MyData.Type > 2) { return; } if (MyData.IsTeamT < 0 || MyData.IsTeamT > 1) { return; } levelOneColorArea.material.color = MyData.IsTeamT == 1 ? teamTColor : teamBColor; levelTwoColorArea.material.color = MyData.IsTeamT == 1 ? teamTColor : teamBColor; levelOne.gameObject.SetActive(MyData.Type == 1); levelTwo.gameObject.SetActive(MyData.Type == 2); // gameObject.transform.localEulerAngles = new Vector3(0, Extensions.DirectionToDegree(MyData.Direction), 0); gameObject.transform.localPosition = MyTiles[0].Offset(this); }
public Tiles NextTiles(Units unit) { UnitDatas unitDatas = unit.MyData; return(null); }