public void Init(BattlerData data = null, Action <BattlerData> onSave = null) { if (data == null) { data = new BattlerData(); } this.data = data; if (onSave != null) { this.onSave += onSave; } nameField.text = data.name; nameField.onEndEdit.AddListener((string name) => { data.name = name; }); indexField.text = data.pkID.ToString(); indexField.onEndEdit.AddListener((string index) => { OnIndexUpdate(index); }); Sprite sprite = null; Main.Instance.pokeImages.TryGetValue(data.pkID, out sprite); image.sprite = sprite; Utilities.RefreshPKLayoutGroup(againstRoot, data.againstList, OnClickAgainstButton); Utilities.RefreshPKLayoutGroup(counterRoot, data.counterList, OnClickCounterButton); gameObject.SetActive(true); }
void Score() { List <ScoreResult> playerScores = new List <ScoreResult>(); foreach (int id in playerList) { BattlerData battlerData = battlers[id]; ScoreResult score = new ScoreResult(); foreach (int targetID in targetList) { if (battlerData.againstList.Contains(targetID)) { score.against += 1; } if (battlerData.counterList.Contains(targetID)) { score.counter += 1; } } playerScores.Add(score); } RefreshScoreLayout(playerScores); }
public void RequestHealthbar(int instanceID, Transform trans, BattlerData data) { if (!IsCurrentlyActive(instanceID)) { Healthbar healthbar = _healthbarPoolSO.Request(); _currentlyActiveHealthbars.Add(healthbar); healthbar.SetHealthbar(instanceID, trans, data); healthbar.OnHealthbarFinishedDisplaying += OnHealthbarFinishedPlaying; } }
// Inisialisasi protected virtual void Awake() { _animators = GetComponentsInChildren <Animator>(); _head = transform.Find("Head"); if (_head == null) { Debug.LogError("Battler has no head referenced"); } _damageDealer = new DamageDealer(GetComponentsInChildren <DamageDealerTrigger>()); Data = Instantiate(Data); }
public bool TryGetBattlerByString(string id, out BattlerData battlerData) { battlerData = null; int index; if (int.TryParse(id, out index) == false) { return(false); } if (battlers.TryGetValue(index, out battlerData) == false) { return(false); } return(true); }
private IEnumerator SetHealthbarRoutine(Transform trans, BattlerData data) { startTime = Time.time; this.gameObject.SetActive(true); while (startTime + duration > Time.time && trans != null) { this.transform.position = Camera.main.WorldToScreenPoint(trans.position + offset); this._healthImage.fillAmount = Mathf.Lerp(this._healthImage.fillAmount, ((float)data.HP) / data.MaxHP, 5); yield return(null); } OnHealthbarFinishedDisplaying.Invoke(this); }
public void AddBattler(BattlerData data) { BattleManager.Instance.battlers[data.pkID] = data; RefreshAllBattlerList(); BattleManager.Instance.SaveBattlersData(); }
public void Cancel() { data = null; gameObject.SetActive(false); }
public void SetHealthbar(int instanceID, Transform trans, BattlerData data) { InstanceID = instanceID; StartCoroutine(SetHealthbarRoutine(trans, data)); }
public void RaiseEvent(int instanceID, Transform trans, BattlerData data) { OnEventRaised?.Invoke(instanceID, trans, data); }