private static void AddPointsOnRight() { double xEnd = GetRightPointXPos(); var additionalPoints = Thinker.GetPointsList(rpn, pointsList[pointsList.Count - 1].X + Step, xEnd, Step, Zoom); pointsList = pointsList.Concat(additionalPoints).ToList(); }
public override void Initialize(Thinker x) { base.Initialize(x); //target = GameObject.Find(GameObjectNameToFollow).transform; target = GameObjectVariableToFollow.Value.transform; anim = x.GetComponent <Animator>();//NÃO VAI CONTROLAR ANIMAÇÃO }
static void Main(string[] args) { ComPort port = null; try { port = new ComPort(); Console.WriteLine("FRF started"); var thinker = new Thinker(port); thinker.MainLoop(); Console.ReadLine(); /*while (true) * { * string str = Console.ReadLine(); * if (str == "exit") * { * break; * } * * byte degree = Byte.Parse(str); * port.SendCommand(Commands.Status, new byte[] { degree }); * }*/ } finally { if (port != null) { port.Close(); } } }
private void Awake() { bcollider = GetComponent <BoxCollider>(); seenByWhom = new int[Team.teams.Length]; orderOverwriteST = shootType; orderOverwriteMSA = msa; thinker = Thinker.Get(unitType, this); List <Ability> delete = new List <Ability>(); foreach (var p in thinker.passives) { p.Start(); } allUnits.Add(this); team = Team.Get(teamInit); // meshAgent = GetComponent<NavMeshAgent>(); // meshAgent.speed = moveSpeed; // meshAgent.acceleration = acceleration; // meshAgent.angularSpeed = rotationSpeed; mover = GetComponent <Mover>(); mover.SetSpeed(moveSpeed); mover.SetAcceleration(acceleration); mover.SetAngularSpeed(rotationSpeed); mover.SetStopingDistance(stoppingDistance); rb = GetComponent <Rigidbody>(); ds.myTeam = team; FieldOfVision.myTeam = team; }
public override void Think(Thinker thinker) { DrakeController drake = thinker.Remember <DrakeController>("drake"); MovementController mc = thinker.Remember <MovementController>("movement"); AttackController at = thinker.Remember <AttackController>("attack"); Vector2 moveInput = thinker.Remember <Vector2>("moveInput"); if (!mc.IsGrounded) { return; } if (moveInput.sqrMagnitude <= 0) { moveInput = new Vector2(1, 0); } else if (mc.IsAtWall() || mc.IsAtEdge()) { moveInput.x *= -1; } thinker.Remember("moveInput", moveInput); drake.Walk(moveInput); if (target.Value != null && at.AttackCollider.bounds.Intersects(target.Value.bounds)) { drake.Attack(); } }
// [SerializeField] [TextArea] private string developerDescription = // "Settings:\n" + // "punchInterval in overrideSettings to customise on a per instance level"; public override void Initialize(Thinker thinker) { thinker.Remember("drake", thinker.GetComponent <DrakeController>()); thinker.Remember("movement", thinker.GetComponent <MovementController>()); thinker.Remember("attack", thinker.GetComponent <AttackController>()); thinker.Remember("moveInput", Vector2.zero); }
public override void Initialize(Thinker x) { base.Initialize(x); target = GameObject.Find(GameObjectNameToFollow).transform; anim = x.GetComponent <Animator>();//NÃO VAI CONTROLAR ANIMAÇÃO anim.SetBool("Walking", false); }
private static void SetPoints() { double xStart = GetLeftPointXPos(); double xEnd = GetRightPointXPos(); pointsList = Thinker.GetPointsList(rpn, xStart, xEnd, Step, Zoom); }
private static void AddPointsOnLeft() { double xStart = GetLeftPointXPos(); var additionalPoints = Thinker.GetPointsList(rpn, xStart, pointsList[0].X - Step, Step, Zoom); pointsList = additionalPoints.Concat(pointsList).ToList(); }
public override void Initialize(Thinker thinker) { thinker.Remember("drake", thinker.GetComponent <DrakeController>()); thinker.Remember("punchInterval", thinker.HasMemory("punchInterval") ? float.Parse(thinker.Remember <string>("punchInterval")) : punchInterval); }
void SteerLeft(Thinker thinker) { Opponent self = (Opponent)thinker.Self; if (self.Steering > -1.0) { self.Steering = self.Steering - 0.01f; } }
void SteerRight(Thinker thinker) { Opponent self = (Opponent)thinker.Self; if (self.Steering < 1.0) { self.Steering = self.Steering + 0.01f; } }
void OnTriggerEnter(Collider other) { if (!hasBeenHeard) { Thinker colliderThinker = other.GetComponent <Thinker>(); colliderThinker.OnHearImpactSound(soundOrigin); hasBeenHeard = true; } }
/// <summary> /// Loads timed events. /// </summary> private static void LoadEvents() { ServerConsole.WriteLine("Loading Events", MessageLevel.Message); Thinker = new Thinker(); Thinker.Start(); //entities in view Thinker.Add(1, new DelegateThought.ThoughtCallback(UpdateEntitiesInView)); }
public override bool Match(object check, Context context, IContinuation succ, IFailure fail) { List <Relations.Relation> kinds = new List <Relations.Relation>(); kinds.Add(Relations.Relation.Tense); Thinker.SearchForMatch(salience, memory, kinds, (Datum)check, context, succ, fail, DecideValue, check); return(true); }
public override bool Match(object check, Context context, IContinuation succ, IFailure fail) { List <Relations.Relation> kinds = new List <Relations.Relation>(); kinds.Add(Relations.Relation.InLocation); kinds.Add(Relations.Relation.HasProperty); Thinker.SearchForMatch(salience, memory, kinds, (Datum)check, context, succ, fail); return(true); }
public override void Think(Thinker thinker) { if (!thinker.HasMemory("coroutineStarted")) { thinker.Remember("coroutineStarted", true); float punchInterval = thinker.Remember <float>("punchInterval"); DrakeController drake = thinker.Remember <DrakeController>("drake"); thinker.StartCoroutine( CoroutineUtils.Repeat(() => { drake.Attack(); }, 0, punchInterval)); } }
void Accelerate(Thinker thinker) { Opponent self = (Opponent)thinker.Self; self.Brake = 0.0f; if (self.Gas < 1.0) { self.Gas = self.Gas + 0.1f; } }
void HitTheBrakes(Thinker thinker) { Opponent self = (Opponent)thinker.Self; self.Gas = 0.0f; if (self.Brake < 1.0) { self.Brake = self.Brake + 0.1f; } }
void SteerStraight(Thinker thinker) { Opponent self = (Opponent)thinker.Self; if (self.Steering > 0.0) { self.Steering = self.Steering - 0.01f; } else if (self.Steering < 0.0) { self.Steering = self.Steering + 0.01f; } }
public override void Think(Thinker thinker) { DrakeController drake = thinker.GetComponent <DrakeController>(); Vector2 moveInput = new Vector2(Input.GetAxisRaw("Horizontal"), Input.GetAxisRaw("Vertical")); drake.Walk(moveInput); if (Input.GetButtonDown("Jump") || moveInput.y > 0) { drake.Jump(); } if (Input.GetKeyDown(KeyCode.J)) { drake.Attack(); } }
public Opponent(string name, string meshFile, Vector3 offset, Attitude adjust, string knowledge) : base(name, meshFile, offset, adjust) { m_camera = new Camera(name + " cam"); m_camera.Attach(this, new Vector3(0.0f, 0.0f, 0.0f)); Thinker.AddAction("SteerLeft", new Thinker.ActionMethod(SteerLeft)); Thinker.AddAction("SteerStraight", new Thinker.ActionMethod(SteerStraight)); Thinker.AddAction("SteerRight", new Thinker.ActionMethod(SteerRight)); Thinker.AddAction("HitTheBrakes", new Thinker.ActionMethod(HitTheBrakes)); Thinker.AddAction("Accelerate", new Thinker.ActionMethod(Accelerate)); m_thinker = new Thinker(this); m_thinker.AddSensorMethod(new Thinker.SensorMethod(DriverView)); m_thinker.Read(knowledge); }
public void DriverView(Thinker thinker) { ArrayList objects = new ArrayList(); Opponent self = (Opponent)thinker.Self; Camera eyes = self.Eyes; // get a local copy of the objects that the camera can see objects.Clear(); foreach (Object3D obj in eyes.VisibleObjects) { objects.Add(obj); } float range_to_nearest = 10000.0f; float bearing_to_nearest = 0.0f; Object3D nearest_object = null; // nearest red post foreach (Object3D obj in objects) { if (obj.Name.Substring(0, 3) == "red") { float range = eyes.GetDistance(obj); if (range < range_to_nearest) { range_to_nearest = range; nearest_object = obj; } } } if (nearest_object != null) { bearing_to_nearest = GetBearing(self, nearest_object); thinker.SetFact("red_post_in_sight", 1.0f); thinker.SetFact("red_post_range", range_to_nearest); thinker.SetFact("red_post_bearing", bearing_to_nearest); } else { thinker.SetFact("red_post_in_sight", 0.0f); } // nearest blue post range_to_nearest = 10000.0f; foreach (Object3D obj in objects) { if (obj.Name.Substring(0, 4) == "blue") { float range = eyes.GetDistance(obj); if (range < range_to_nearest) { range_to_nearest = range; nearest_object = obj; } } } if (nearest_object != null) { bearing_to_nearest = GetBearing(self, nearest_object); thinker.SetFact("blue_post_in_sight", 1.0f); thinker.SetFact("blue_post_range", range_to_nearest); thinker.SetFact("blue_post_bearing", bearing_to_nearest); } else { thinker.SetFact("blue_post_in_sight", 0.0f); } // nearest obstacle (vehicles and trees) range_to_nearest = 10000.0f; foreach (Object3D obj in objects) { if (obj.Name.Substring(0, 4) == "tree" || obj.Name.Substring(0, 3) == "car") { float bearing = GetBearing(self, nearest_object); float range = eyes.GetDistance(obj); // only accept nearest object within +/- 5 degrees if (Math.Abs(bearing) < 0.087266462599716478846184538424431 && range < range_to_nearest) { range_to_nearest = range; nearest_object = obj; bearing_to_nearest = bearing; } } } if (nearest_object != null) { thinker.SetFact("obstacle_in_sight", 1.0f); thinker.SetFact("obstacle_range", range_to_nearest); thinker.SetFact("obstacle_bearing", bearing_to_nearest); } else { thinker.SetFact("obstacle_in_sight", 0.0f); } }
public abstract void Think(Thinker thinker);
public virtual void Initialize(Thinker tank) { }
public virtual void Initialize(Thinker x) { thinker = x; gameObject = x.gameObject; transform = x.transform; }
public void OnEnable() { nextState = new PonderingState(this); playerThinker = GetComponent <Thinker>(); movementComponent = GetComponent <AutonomousMovementComponent>(); }