void Start() { charMec = participant.GetComponent<BehaviorMecanim>(); behaviorAgent = new BehaviorAgent(this.BuildTreeRoot()); BehaviorManager.Instance.Register(behaviorAgent); behaviorAgent.StartBehavior(); }
/* * protected Node ST_ApproachAndWait(Transform target) * { * Val<Vector3> position = Val.V (() => target.position); * return new Sequence( participant.GetComponent<BehaviorMecanim>().Node_GoTo(position), new LeafWait(1000)); * } */ protected Node faceAndPoint(BehaviorMecanim part, GameObject facing, int time) { Val <Vector3> face = Val.V(() => facing.transform.position); return(new Sequence ( part.Node_OrientTowards(face), part.Node_HandAnimation("pointing", true), new LeafWait(time), part.Node_HandAnimation("pointing", false) )); }
protected Node WatchTV(BehaviorMecanim part, Transform p, InteractionObject s) { Val <Vector3> tvpos = Val.V(() => TVLookAtPoint.position); Val <Vector3> standpos = Val.V(() => p.position); // Val<InteractionObject> sofapos = Val.V (() => s); //Val<float> dist = Val.V (() => 2.0f); return(new Sequence( part.Node_GoTo(standpos), part.Node_OrientTowards(tvpos), part.Node_StartInteraction(butt, s) )); }
// Use this for initialization void Start() { part1 = participant1.GetComponent <BehaviorMecanim> (); part2 = participant2.GetComponent <BehaviorMecanim> (); part3 = participant3.GetComponent <BehaviorMecanim> (); canvasLight.GetComponent <CanvasGroup>().alpha = 0; canvasTV.GetComponent <CanvasGroup>().alpha = 0; behaviorAgent = new BehaviorAgent(this.BuildTreeRoot()); BehaviorManager.Instance.Register(behaviorAgent); behaviorAgent.StartBehavior(); Player = GameObject.Find("Player"); }
protected Node TVOnOff(BehaviorMecanim part) { Val <Vector3> position = Val.V(() => TVTurnStandPoint.position); Val <Vector3> face = Val.V(() => TVSwitch.transform.position); return(new Sequence ( part.Node_GoTo(position), part.Node_OrientTowards(face), // part.Node_HandAnimation("pointing", true), part.Node_StartInteraction(hand, TVSwitchIK), new LeafWait(500), // part.Node_HandAnimation("pointing", false) part.Node_StopInteraction(hand) )); }
protected Node LightOff(BehaviorMecanim part) { Val <Vector3> position = Val.V(() => lightSwitchStandPoint.position); Val <Vector3> face = Val.V(() => lightSwitch.transform.position); return(new Sequence ( part.Node_StopInteraction(butt), part.Node_GoTo(position), part.Node_OrientTowards(face), // part.Node_HandAnimation("pointing", true), part.Node_StartInteraction(hand, lightSwitchIK), new LeafWait(500), new LeafInvoke(() => lamp.enabled = !lamp.enabled), // part.Node_HandAnimation("pointing", false) part.Node_StopInteraction(hand) )); }
protected override void Initialize(BehaviorObject obj) { base.Initialize(obj); this.character = this.GetComponent<CharacterMecanim>(); this.behavior = this.GetComponent<BehaviorMecanim>(); if (this.MarkerHead == null) this.MarkerHead = this.GetComponent<Animator>().GetBoneTransform( HumanBodyBones.Head); }