Ejemplo n.º 1
0
    public void SetObstacle(string obstacleId)
    {
        _obstacleId = obstacleId;
        ObstacleData data = ObstacleDatabase.GetObstacleData(obstacleId);

        MessageManager.SendStringMessage(data.EncounterMessage);

        _health = data.Health;
    }
Ejemplo n.º 2
0
 public void ExeuteObstacleActions()
 {
     if (ObstaclePresent())
     {
         ObstacleData data = ObstacleDatabase.GetObstacleData(_obstacleId);
         if (data.ObstacleActions != null && data.ObstacleActions.Length > 0)
         {
             //Get random action and execute
             int outcomeIndex = Random.Range(0, data.ObstacleActions.Length);
             data.ObstacleActions[outcomeIndex].ExecuteOutcome();
         }
     }
 }
Ejemplo n.º 3
0
    public bool SubmitObstacleAction(string action, string target)
    {
        ObstacleData data = ObstacleDatabase.GetObstacleData(_obstacleId);

        for (int j = 0; j < data.Interactions.Length; j++)
        {
            Interaction interaction = data.Interactions[j];
            if ((Helpers.LooseCompare(target, interaction.Target) || Helpers.LooseCompare(target, data.Name)) && Helpers.LooseCompare(action, interaction.Action))
            {
                interaction.ExecuteInteractionOutcome();
                return(true);
            }
        }
        return(false);
    }
Ejemplo n.º 4
0
    public void DamageObstacle(int damage)
    {
        if (!string.IsNullOrEmpty(_obstacleId))
        {
            _health -= damage;
            if (_health <= 0)
            {
                //Execute final outcome
                ObstacleData data = ObstacleDatabase.GetObstacleData(_obstacleId);
                data.CompletedOutcome.ExecuteOutcome();

                _obstacleId = null;
            }
        }
    }