예제 #1
0
    public override ResultType Execute()
    {
        NodeNotify.NotifyExecute(NodeId, Time.realtimeSinceStartup);
        bool       result     = _iconditionCheck.Condition(conditionParameter);
        ResultType resultType = result ? ResultType.Success : ResultType.Fail;

        return(resultType);
    }
예제 #2
0
    public override ResultType Execute()
    {
        NodeNotify.NotifyExecute(NodeId, Time.realtimeSinceStartup);

        bool result = HumanController.Instance.Human.Cooking(0.3f);

        ResultType resultType = result ? ResultType.Running : ResultType.Success;

        return(resultType);
    }
예제 #3
0
    public override ResultType Execute()
    {
        NodeNotify.NotifyExecute(NodeId, Time.realtimeSinceStartup);
        if (null == HumanController.Instance || null == HumanController.Instance.Human)
        {
            return(ResultType.Fail);
        }

        bool result = HumanController.Instance.Human.IsHungry();

        ResultType resultType = result ? ResultType.Running : ResultType.Success;

        return(resultType);
    }
예제 #4
0
    public override ResultType Execute()
    {
        NodeNotify.NotifyExecute(NodeId, Time.realtimeSinceStartup);

        if (null == HumanController.Instance)
        {
            return(ResultType.Fail);
        }

        Vector3 targetPos = Vector3.zero;

        if (_parameterList.Count >= 0 && _parameterList[0].parameterName.CompareTo("MoveTarget") == 0)
        {
            BehaviorParameter parameter = _parameterList[0];
            if (parameter.intValue == 0)
            {
                targetPos = HumanController.Instance.Human.KitchenPos();
            }
            else if (parameter.intValue == 1)
            {
                targetPos = HumanController.Instance.Human.DiningTablePos();
            }
            else if (parameter.intValue == 2)
            {
                targetPos = HumanController.Instance.Human.TVPos();
            }
        }

        ResultType resultType = ResultType.Running;

        if (Vector3.Distance(HumanController.Instance.Human.Position(), targetPos) < 0.5f)
        {
            return(ResultType.Success);
        }

        HumanController.Instance.Human.Translate(targetPos);
        return(resultType);
    }
예제 #5
0
 public override ResultType Execute()
 {
     NodeNotify.NotifyExecute(NodeId, Time.realtimeSinceStartup);
     return(ResultType.Fail);
 }