public StatusGameObject createNewStatus(Status status, EnemyData enemyData) { GameObject statusInstance = GameObject.Instantiate(statusPrefab, new Vector3(0, 0, 0), Quaternion.identity); StatusGameObject statusGameObject = statusInstance.GetComponentInChildren <StatusGameObject>(); statusGameObject.initialize(statusInstance, status, enemyData); statusInstance.transform.SetParent(statusesInstance.transform, false); activeStatuses.Add(statusGameObject); return(statusGameObject); }
public void increment(StatusGameObject statusGameObject, int delta) { Status status = statusGameObject.status; statusGameObject.increment(delta); if (status.data.statusCount <= 0) { activeStatuses.Remove(statusGameObject); } }
public static int getAppliedStatusCount(StatusTypes.StatusEnum statusEnum, List <StatusGameObject> activeStatuses) { StatusGameObject match = activeStatuses.FirstOrDefault(activeStatuse => activeStatuse.status.statusEnum == statusEnum); return(match == null ? 0 : match.status.data.statusCount); }