コード例 #1
0
    public static bool IsLinkConditionCheck(AILink link, AIUnit linkSrc)
    {
        for (int i = 0; i < link.linkConditionList.Count; i++)
        {
            AILinkCondiction con = link.linkConditionList[i];
            if (con is AiInputCondiction)
            {
                AiInputCondiction input = con as AiInputCondiction;
                if (!CheckInputCondition(input))
                {
                    return(false);
                }
            }
            else if (con is AiTargetStateCondiction)
            {
                AiTargetStateCondiction targetState = con as AiTargetStateCondiction;
                if (!CheckTargetState(targetState, linkSrc))
                {
                    return(false);
                }
            }
            else
            {
                Debug.LogError("Not implemented link condition");
            }
        }

        return(true);
    }
コード例 #2
0
ファイル: AILinkHelper.cs プロジェクト: Ribosome2/MyAIEngine
    /// <summary>
    /// 检测输入条件是否满足
    /// </summary>
    /// <param name="input"></param>
    /// <returns></returns>
    public static bool CheckInputCondition(AiInputCondiction input)
    {
        if (input.needDiretionInput && InputManager.HasDirectionInput == false)
        {
            return false;
        }

        for (int keyIndex = 0; keyIndex < input.inputStates.Count; keyIndex++)
        {
            if (!InputManager.isKeyStateCheck(input.inputStates[keyIndex]))
            {
                return false;
            }
        }
        return true;
    }
コード例 #3
0
    /// <summary>
    /// 检测输入条件是否满足
    /// </summary>
    /// <param name="input"></param>
    /// <returns></returns>
    public static bool CheckInputCondition(AiInputCondiction input)
    {
        if (input.needDiretionInput && InputManager.HasDirectionInput == false)
        {
            return(false);
        }

        for (int keyIndex = 0; keyIndex < input.inputStates.Count; keyIndex++)
        {
            if (!InputManager.isKeyStateCheck(input.inputStates[keyIndex]))
            {
                return(false);
            }
        }
        return(true);
    }
コード例 #4
0
ファイル: AIFUIUtility.cs プロジェクト: Ribosome2/MyAIEngine
 static void DrawLinkConditon(AiInputCondiction con)
 {
     con.needDiretionInput = GUILayout.Toggle(con.needDiretionInput, "要求方向输入", GUILayout.Width(150));
 }
コード例 #5
0
ファイル: AIFUIUtility.cs プロジェクト: Ribosome2/MyAIEngine
 static void DrawLinkConditon(AiInputCondiction con)
 {
     con.needDiretionInput = GUILayout.Toggle(con.needDiretionInput, "要求方向输入", GUILayout.Width(150));
 }