// Start is called before the first frame update void Start() { Players = new Dictionary <string, GameObject>(); Ball = Instantiate(BallPrefab); Ball.transform.SetParent(Field.transform); PushbackSquares = new ViewObjectList <PushbackSquare>(s => { s.GameObject = Instantiate(ArrowPrefab); var animator = s.GameObject.GetComponent <Animator>(); animator.SetTrigger(s.Direction); }, s => { var animator = s.GameObject.GetComponent <Animator>(); animator.SetTrigger("FadeOut"); }); TrackNumbers = new ViewObjectList <TrackNumber>(t => { t.GameObject = Instantiate(TrackNumberPrefab); t.LabelObject = t.GameObject.GetComponentInChildren <TMPro.TextMeshProUGUI>(); }, t => { Destroy(t.GameObject); }); }
// Start is called before the first frame update private void Start() { BlockDice = new ViewObjectList <BlockDie>( die => { GameObject obj = Instantiate(BlockDiePrefab); var image = obj.GetComponent <Image>(); image.sprite = GetSpriteForRoll(die.Roll); obj.transform.SetParent(ContentObject); obj.transform.localScale = Vector3.one; obj.name = die.Roll.Type.ToString(); return(obj); }, die => { var image = die.GameObject.GetComponentInChildren <Image>(); var color = image.color; if (die.ModelObject.Roll.Type != DieType.None) { color.a = die.ModelObject.Active ? 1f : 0.5f; } else { color.a = 0f; } image.color = color; die.GameObject.transform.localScale = Vector3.one; var trn = die.GameObject.GetComponent <RectTransform>(); if (die.ModelObject.Roll.Type != DieType.None) { trn.sizeDelta = die.ModelObject.Active ? FullSize : SmallSize; } else { trn.sizeDelta = SpacerSize; } }, die => { Destroy(die.GameObject); } ); }
private async void Start() { Matches = new ViewObjectList <BrowserRecord>( r => { GameObject newButton = Instantiate(button); newButton.transform.SetParent(pane.transform, false); var div = r.Record.division; // Find position of new game bool foundSection = false; int position = -1; for (int i = 0; i < pane.transform.childCount; i++) { var currentMatch = pane.transform.GetChild(i).GetComponent <GameBrowserEntry>()?.matchDetails; if (currentMatch != null) { if (!foundSection) { if (string.Equals(currentMatch.division, div)) { foundSection = true; } } else { if (!string.Equals(currentMatch.division, div)) { position = i; break; } } } else { // This is a division divider if (foundSection) { position = i; break; } } } if (position >= 0) { newButton.transform.SetSiblingIndex(position); } else if (!foundSection) { GameObject divider = Instantiate(this.divider); divider.transform.SetParent(pane.transform, false); divider.transform.SetSiblingIndex(pane.transform.childCount - 2); divider.transform.GetChild(1).gameObject.GetComponent <TMPro.TextMeshProUGUI>().text = div; } newButton.GetComponent <GameBrowserEntry>().SetMatchDetails(r.Record, Friends); return(newButton); }, r => { r.GameObject.GetComponent <GameBrowserEntry>().SetMatchDetails(r.ModelObject.Record, Friends); }, r => { Destroy(r.GameObject); } ); LogManager.Debug("Initialise Game Browser"); api = FFB.Instance.Api; RefreshMatches(); gameIdInputField.onValidateInput += (text, charIndex, addedChar) => { if (addedChar < '0' || addedChar > '9') { return('\0'); } return(addedChar); }; Friends = await LoadFriends(); InvokeRepeating("RefreshMatches", 3f, 3f); }
// Start is called before the first frame update private void Start() { FFB.Instance.OnReport += AddReport; FieldRect = Field.GetComponent <RectTransform>(); foreach (var o in GameObject.FindGameObjectsWithTag("Clone")) { Destroy(o); } Ball = Instantiate(BallPrefab); Ball.transform.SetParent(Field.transform); Players = new PlayersView(this); PushbackSquares = new ViewObjectList <PushbackSquare>(s => { GameObject obj = Instantiate(ArrowPrefab); var animator = obj.GetComponent <Animator>(); animator.SetTrigger(s.Direction); return(obj); }, s => { if (s != null && s.ModelObject.Coordinate != null && s.GameObject != null) { s.GameObject.transform.SetParent(Field.transform); s.GameObject.transform.localPosition = FieldToWorldCoordinates(s.ModelObject.Coordinate.X, s.ModelObject.Coordinate.Y, 10); } }, s => { var animator = s.GameObject.GetComponent <Animator>(); animator.SetTrigger("FadeOut"); }); TrackNumbers = new ViewObjectList <TrackNumber>(t => { GameObject obj = Instantiate(TrackNumberPrefab); t.LabelObject = obj.GetComponentInChildren <TMPro.TextMeshPro>(); return(obj); }, t => { if (t != null && t.ModelObject.Coordinate != null && t.GameObject != null) { t.GameObject.transform.SetParent(Field.transform); t.GameObject.transform.localPosition = FieldToWorldCoordinates(t.ModelObject.Coordinate.X, t.ModelObject.Coordinate.Y, 10); t.ModelObject.LabelObject.SetText(t.ModelObject.Number.ToString()); } }, t => { Destroy(t.GameObject); }); var players = FFB.Instance.Model.GetPlayers(); Players.Refresh(players); if (FFB.Instance.Model.TeamHome != null) { HomeTeamText.text = FFB.Instance.Model.TeamHome.Name.ToUpper(); } if (FFB.Instance.Model.TeamAway != null) { AwayTeamText.text = FFB.Instance.Model.TeamAway.Name.ToUpper(); } }