public void addStatuses(StatusesObject statusesObject, List <Status> newStatuses, EnemyData enemyData) { bool statusAlreadyApplied = false; foreach (Status newStatus in newStatuses) { //Need a copy activeStatuses to prevent concurrent modifcation exceptions foreach (StatusGameObject activeStatuse in statusesObject.getActiveStatusesCopy()) { if (newStatus.data.name == activeStatuse.status.data.name) { statusAlreadyApplied = true; statusesObject.increment(activeStatuse, newStatus.data.statusCount); statusesObject.showStatusOnParent(activeStatuse.status); } } if (!statusAlreadyApplied) { Status newStatusCopy = statusTypes.getStatusFromEnum(newStatus.statusEnum); newStatusCopy.data = newStatus.data.shallowCopy(); StatusGameObject createdStatus = statusesObject.createNewStatus(newStatusCopy, enemyData); statusesObject.showStatusOnParent(createdStatus.status); } } }
public void initalize(GameObject playerObject) { this.playerInstance = playerObject; this.playerData = new PlayerData(); this.healthBar = new HealthBarObject(playerObject.transform.Find("playerHealthBarObject").gameObject); this.statusesObject = new StatusesObject(playerObject.transform.Find("statusesObject").gameObject, this.gameObject); this.initalized = true; }
public void onTurnOver(StatusesObject statusesObject) { //Need a copy activeStatuses to prevent concurrent modifcation exceptions foreach (StatusGameObject statusGameObject in statusesObject.getActiveStatusesCopy()) { statusesObject.increment(statusGameObject, statusGameObject.status.data.statusDeltaPerTurn); statusGameObject.status.actions.onTurnOver(statusGameObject.status.data); } }
public void initalize(GameObject enemyPrefab, Enemy enemy) { this.enemyInstance = enemyPrefab; this.enemyHealthBar = new HealthBarObject(enemyPrefab.transform.Find("enemyHealthBarObject").gameObject); this.enemyBlockIntent = enemyPrefab.transform.Find("attackIntent").GetComponent <TextMeshProUGUI>(); this.enemyAttackIntent = enemyPrefab.transform.Find("blockIntent").GetComponent <TextMeshProUGUI>(); this.otherIntent = enemyPrefab.transform.Find("otherIntent").GetComponent <TextMeshProUGUI>(); this.statusesObject = new StatusesObject(enemyPrefab.transform.Find("statusesObject").gameObject, this.gameObject); enemySpriteRenderer = enemyPrefab.GetComponent <SpriteRenderer>(); enemySpriteAnimator = enemyPrefab.GetComponent <Animator>(); enemyRectTransform = enemyPrefab.GetComponent <RectTransform>(); this.enemy = enemy; this.initialized = true; }