public void Enter(BattleAction action, TargetData targetData) { BattleMoveTemplate template = templateInstancePool.Dequeue(); template.UpdateMoveText(action.MenuText); template.UpdateOriginText(targetData.origin.CharacterClass.ClassName + " used"); StartCoroutine(AddActiveTemplate(template)); }
private void Start() { for (int i = 0; i < maxHistory + buffer; i++) { BattleMoveTemplate obj = Instantiate(templatePrefab, area); obj.gameObject.SetActive(false); templateInstancePool.Enqueue(obj); } yDelta = templatePrefab.RectTransform.sizeDelta.y - padding; }
private IEnumerator AddActiveTemplate(BattleMoveTemplate template) { template.gameObject.transform.position = new Vector3(10000, 0); template.gameObject.SetActive(true); yield return(null); yield return(new WaitForEndOfFrame()); float y = (-activeTemplates.Count * template.RectTransform.sizeDelta.y) + (padding * activeTemplates.Count); template.RectTransform.anchoredPosition = new Vector2(template.RectTransform.sizeDelta.x, y + offset.y); template.RectTransform.DOAnchorPosX(0 + offset.x, 0.5f); activeTemplates.Add(template); }