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);
            }
        }
    }
Exemple #2
0
    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;
    }