Exemplo n.º 1
0
        /// <summary>
        /// Calculates the score for this qualifier given the provided context.
        /// </summary>
        /// <param name="context">The context.</param>
        /// <returns>
        /// The score.
        /// </returns>
        public virtual float Score(IAIContext context)
        {
            var score = _qualifier.Score(context);

            this.lastScore = score;

            ICustomVisualizer customVisualizer;

            if (VisualizationManager.TryGetVisualizerFor(_qualifier.GetType(), out customVisualizer))
            {
                customVisualizer.EntityUpdate(_qualifier, context, _parent.parent.id);
            }

            return(score);
        }
Exemplo n.º 2
0
        /// <summary>
        /// Debugs the client info.
        /// </summary>
        /// <returns>The client info.</returns>
        /// <param name="taskNetwork">Task network.</param>
        public static string ClientStateInfo(TaskNetworkComponent taskNetwork)
        {
            string clientInfo = "";

            foreach (UtilityAIClient client in taskNetwork.clients)
            {
                clientInfo = client.ai + " | State: " + client.state + "\n";
                foreach (KeyValuePair <IQualifier, float> item in client.selectorResults)
                {
                    IQualifier qualifier = item.Key;
                    float      score     = item.Value;

                    var action     = qualifier.action;
                    var actionName = action.GetType().Name;
                    if (action is ActionWithOptions <Vector3> )
                    {
                        var _action = action as ActionWithOptions <Vector3>;
                        action = _action;
                        //actionName = _action.name;
                    }

                    if (client.currentAction == action)
                    {
                        clientInfo += string.Format(" <b>Qualifier:</b> {0} | <b>Score:</b>: <color=lime>{1}</color>\n <b>Action:</b>:  <color=lime>{2}</color>\n", qualifier.GetType().Name, score, actionName);
                    }
                    else
                    {
                        clientInfo += string.Format(" <b>Qualifier:</b> {0} | <b>Score:</b>: {1}\n <b>Action:</b>:  {2}\n", qualifier.GetType().Name, score, actionName);
                    }
                }
            }


            return(clientInfo);
        }