private void determineBehaviour() { goalStance = GameManager.instance.currentGoal; foreach (var condition in goalStance.winConditions) { if (condition.cond.GetType() == typeof(ObstacleCondition)) { ObstacleCondition c = condition.cond as ObstacleCondition; if (curTag.Equals(c.desiredTag)) { if (c.avoid) { toAvoid = true; toCollect = false; } else if (c.collect) { toAvoid = false; toCollect = true; } if (c.shoot) { toShoot = true; } } } } if (toShoot) { gameObject.tag = "KeepAlive"; } }
private void increaseGoalAmount(string tag) { foreach (var curCondition in currentGoal.winConditions) { if (curCondition.cond.GetType() == typeof(ObstacleCondition)) { ObstacleCondition c = curCondition.cond as ObstacleCondition; if (tag.Equals(c.desiredTag)) { curCondition.currentAmount++; } if (c.exactly && curCondition.currentAmount > curCondition.requiredAmount) { fireRespawnEvent(); break; } } } }