public void SpawnFloatingCombatText(NPC TargetDestinationNPC, DamageReport dmgReport, DisplayMode displayMode) { if (TargetDestinationNPC != null) { GameObject fct = objectPoolController.InstantiateFloatingCombatText(TargetDestinationNPC); FloatingCombatText floatingCombatTextScript = fct.GetComponentInChildren <FloatingCombatText>(); floatingCombatTextScript.displayMode = displayMode; floatingCombatTextScript.dmgReport = dmgReport; floatingCombatTextScript.Init(); objectPoolController.DestroyFloatingCombatTextAfterSeconds(1f, fct); } }
private FloatingCombatText GetNextFCT() { for (int i = 0; i < pool.Count; i++) { if (!pool[i].active) { return(pool[i]); } } FloatingCombatText newFCT = Instantiate(fctPrefab, transform); pool.Add(newFCT); return(newFCT); }
public void ShowText(Transform anchor, string text, Color color = default) { FloatingCombatText nextFCT = GetNextFCT(); nextFCT.Appear(anchor, text, color); }