public override void _Ready() { var size = GetViewportRect().Size; foreach (var _ in Enumerable.Range(0, 20)) { var mover = new SimpleMover(SimpleMover.WrapModeEnum.Bounce); var bodySize = (float)GD.RandRange(20, 40); var xPos = (float)GD.RandRange(bodySize, size.x - bodySize); var yPos = (float)GD.RandRange(bodySize, size.y - bodySize); mover.MeshSize = new Vector2(bodySize, bodySize); mover.Mass = bodySize; mover.Position = new Vector2(xPos, yPos); var repeller = new Repeller() { Visible = false }; mover.AddChild(repeller); var mouseAttractor = new MouseAttractor() { Visible = false }; AddChild(mouseAttractor); AddChild(mover); } }
void LinkPartner() { if (partnerLink != null && partnerLink.Partner != null) { targetMover = partnerLink.Partner.GetComponent <SimpleMover>(); } }
// Use this for initialization void Start() { if (mover == null) { mover = GetComponent <SimpleMover>(); } }
void OnTriggerEnter(Collider col) { if (col.gameObject.tag != "Converser") { return; } mover = col.GetComponent <SimpleMover>(); seeker = col.GetComponent <SimpleSeek>(); originalMaxSpeed = mover.maxSpeed; originalMaxSpeed = mover.maxSpeed; Vector3 pushDirection = col.gameObject.transform.position - transform.position; mover.maxSpeed = 50; mover.Move(pushDirection, mover.maxSpeed); if (seeker != null) { seeker.enabled = false; } if (!cooldown) { cooldown = true; } }
void Awake() { if (mover == null) { mover = GetComponent <SimpleMover>(); } if (trigger == null) { trigger = partnerLink.collider; } }
void Awake() { if (mover == null) { mover = GetComponent<SimpleMover>(); } if (trigger == null) { trigger = partnerLink.collider; } }
public override void _Ready() { var size = GetViewportRect().Size; var mover = new SimpleMover() { Position = new Vector2((float)GD.RandRange(0, size.x), (float)GD.RandRange(0, size.y)), Velocity = new Vector2((float)GD.RandRange(-2.0f, 2.0f), (float)GD.RandRange(-2.0f, 2.0f)) }; AddChild(mover); }
private Vector2 ComputeForce(SimpleMover mover) { if (touched) { return(Vector2.Zero); } var force = mover.Position; var length = force.Length(); var stretch = length - Length; return(force.Normalized() * -K * stretch); }
void Start() { if (mover == null) { mover = GetComponent<SimpleMover>(); } if (partnerLink == null) { partnerLink = GetComponent<PartnerLink>(); } if (tracer == null) { tracer = GetComponent<Tracer>(); } if (waypointContainer != null) { Waypoint[] waypointObjects = waypointContainer.GetComponentsInChildren<Waypoint>(); int startIndex = -1; for (int i = 0; i < waypointObjects.Length && startIndex < 0; i++) { if (waypointObjects[i].isStart) { startIndex = i; } } if (startIndex >= 0) { waypoints = new List<Waypoint>(); while (waypoints.Count < waypointObjects.Length) { if (startIndex > 0 && startIndex + waypoints.Count >= waypointObjects.Length) { startIndex = 0; } waypoints.Add(waypointObjects[startIndex + waypoints.Count]); } } } SeekNextWaypoint(); if (previous >= 0 && previous < waypoints.Count) { transform.position = waypoints[previous].transform.position; } for (int i = 0; i < waypoints.Count; i++) { waypoints[i].renderer.enabled = showWaypoints; } }
void Start() { if (mover == null) { mover = GetComponent <SimpleMover>(); } if (partnerLink == null) { partnerLink = GetComponent <PartnerLink>(); } if (tracer == null) { tracer = GetComponent <Tracer>(); } if (waypointContainer != null) { Waypoint[] waypointObjects = waypointContainer.GetComponentsInChildren <Waypoint>(); int startIndex = -1; for (int i = 0; i < waypointObjects.Length && startIndex < 0; i++) { if (waypointObjects[i].isStart) { startIndex = i; } } if (startIndex >= 0) { waypoints = new List <Waypoint>(); while (waypoints.Count < waypointObjects.Length) { if (startIndex > 0 && startIndex + waypoints.Count >= waypointObjects.Length) { startIndex = 0; } waypoints.Add(waypointObjects[startIndex + waypoints.Count]); } } } SeekNextWaypoint(); if (previous >= 0 && previous < waypoints.Count) { transform.position = waypoints[previous].transform.position; } for (int i = 0; i < waypoints.Count; i++) { waypoints[i].renderer.enabled = showWaypoints; } }
/// <summary> /// Set mover at initial position. /// </summary> /// <param name="mover">Mover</param> /// <param name="initialPosition">Initial position</param> public void SetMover(SimpleMover mover, Vector2 initialPosition) { if (currentMover != null) { RemoveChild(currentMover); currentMover.QueueFree(); } currentMover = mover; AddChild(currentMover); // Set position currentMover.Position = initialPosition; }
// Use this for initialization void Start () { if(gameCamera == null) { gameCamera = Camera.main; } if (mover == null) { mover = GetComponent<SimpleMover>(); } if (tracer == null) { tracer = GetComponent<Tracer>(); } tracer.StartLine(); }
void Start() { if (mover == null) { mover = GetComponent <SimpleMover>(); } if (mover != null) { startMaxSpeed = mover.maxSpeed; } if (partnerLink == null) { partnerLink = GetComponent <PartnerLink>(); } }
void Start() { if (mover == null) { mover = GetComponent<SimpleMover>(); } if (mover != null) { startMaxSpeed = mover.maxSpeed; } if (partnerLink == null) { partnerLink = GetComponent<PartnerLink>(); } }
void Start() { if (mover == null) { mover = GetComponent <SimpleMover>(); } if (partnerLink == null) { partnerLink = GetComponent <PartnerLink>(); } if (tracer == null) { tracer = GetComponent <Tracer>(); } startSpeed = mover.maxSpeed; }
public override Vector2 Attract(SimpleMover mover) { var force = Position - mover.Position; var length = Mathf.Clamp(force.Length(), 5, 50); var coef = 1; // Push if too close if (length < 45) { coef = -3; } float strength = (Gravitation * Mass * mover.Mass) / (length * length); return(force.Normalized() * strength * coef); }
void Start() { if (mover == null) { mover = GetComponent<SimpleMover>(); } if (partnerLink == null) { partnerLink = GetComponent<PartnerLink>(); } if (tracer == null) { tracer = GetComponent<Tracer>(); } startSpeed = mover.maxSpeed; }
// Use this for initialization void Start() { if (gameCamera == null) { gameCamera = Camera.main; } if (mover == null) { mover = GetComponent <SimpleMover>(); } if (tracer == null) { tracer = GetComponent <Tracer>(); } tracer.StartLine(); }
void Awake() { if (mover == null) { mover = GetComponent<SimpleMover>(); } if (tracer == null) { tracer = GetComponent<Tracer>(); } if (conversationScore == null) { conversationScore = GetComponent<ConversationScore>(); } partnerLine = GetComponent<LineRenderer>(); }
void Awake() { if (mover == null) { mover = GetComponent <SimpleMover>(); } if (tracer == null) { tracer = GetComponent <Tracer>(); } if (conversationScore == null) { conversationScore = GetComponent <ConversationScore>(); } partnerLine = GetComponent <LineRenderer>(); }
public override Vector2 Attract(SimpleMover mover) { if (!active) { return(Vector2.Zero); } var mousePos = GetGlobalMousePosition(); const int mouseGravitation = 1; const int mouseMass = 15; var force = mousePos - mover.GlobalPosition; var length = Mathf.Clamp(force.Length(), 5, 25); float strength = (mouseGravitation * mouseMass * mover.Mass) / (length * length); return(force.Normalized() * strength); }
/// <summary> /// Retrieve components from gameobject. /// </summary> protected void Start() { _rigidBody = GetComponent <Rigidbody>(); if (_rigidBody == null) { throw new Exception("Error - rigid body not found in physical block."); } _renderer = GetComponent <Renderer>(); if (_renderer == null) { throw new Exception("Error - renderer (and material) not found for this physical block."); } _simpleMover = GetComponent <SimpleMover>(); ResetObstacle(); }
void OnTriggerEnter(Collider col) { if(col.gameObject.tag != "Converser") return; mover = col.GetComponent<SimpleMover>(); seeker = col.GetComponent<SimpleSeek>(); originalMaxSpeed = mover.maxSpeed; originalMaxSpeed = mover.maxSpeed; Vector3 pushDirection = col.gameObject.transform.position - transform.position; mover.maxSpeed = 50; mover.Move(pushDirection, mover.maxSpeed); if(seeker != null) seeker.enabled = false; if(!cooldown) cooldown = true; }
public override void _Ready() { var size = GetViewportRect().Size; var attractor1 = new Attractor() { Position = new Vector2(size.x / 4, size.y / 2) }; AddChild(attractor1); var attractor2 = new Attractor() { Position = new Vector2(size.x / 2, size.y / 2) }; AddChild(attractor2); var attractor3 = new Attractor() { Position = new Vector2(size.x - (size.x / 4), size.y / 2) }; AddChild(attractor3); foreach (var _ in Enumerable.Range(0, 10)) { var mover = new SimpleMover(SimpleMover.WrapModeEnum.Bounce); var bodySize = (float)GD.RandRange(20, 40); var xPos = (float)GD.RandRange(bodySize, size.x - bodySize); var yPos = (float)GD.RandRange(bodySize, size.y - bodySize); mover.MeshSize = new Vector2(bodySize, bodySize); mover.Mass = bodySize; mover.Position = new Vector2(xPos, yPos); var trail = new SimpleTrail() { Target = mover }; AddChild(trail); AddChild(mover); } }
protected virtual void Start() { if (mover == null) { mover = GetComponent <SimpleMover>(); } if (tracer == null) { tracer = GetComponent <Tracer>(); } if (partnerLink == null) { partnerLink = GetComponent <PartnerLink>(); } if (tail != null) { tailTrigger = tail.trigger; } }
public override void _Ready() { var size = GetViewportRect().Size; var attractor = new SimpleAttractor() { Gravitation = 0.5f, Position = size / 2 }; AddChild(attractor); var mover = new SimpleMover(SimpleMover.WrapModeEnum.Bounce); var xPos = (float)GD.RandRange(mover.Radius, size.x - mover.Radius); var yPos = (float)GD.RandRange(mover.Radius, size.y - mover.Radius); mover.Position = new Vector2(xPos, yPos); AddChild(mover); }
protected virtual void Start() { if (mover == null) { mover = GetComponent<SimpleMover>(); } if (tracer == null) { tracer = GetComponent<Tracer>(); } if (partnerLink == null) { partnerLink = GetComponent<PartnerLink>(); } if (tail != null) { tailTrigger = tail.trigger; } }
public override void _Ready() { var size = GetViewportRect().Size; var spawner = new SimpleTouchSpawner() { SpawnFunction = (pos) => { var vehicle = new RoundVehicle() { VehicleGroupList = vehicles, SeparationEnabled = true, Target = targetMover, Position = pos, // Scale forces SeparationForceFactor = 1.5f, SeekForceFactor = 0.5f }; vehicles.Add(vehicle); return(vehicle); } }; AddChild(spawner); // Create target targetMover = new SimpleMover() { Position = size / 2, Modulate = Colors.LightBlue.WithAlpha(128) }; AddChild(targetMover); // Create initial bodies for (int i = 0; i < vehicleCount; ++i) { spawner.SpawnBody(MathUtils.RandVector2(0, size.x, 0, size.y)); } }
void Start() { if (mover == null) { mover = GetComponent<SimpleMover>(); } if (partnerLink == null) { partnerLink = GetComponent<PartnerLink>(); } if (tracer == null) { tracer = GetComponent<Tracer>(); } if (conversingSpeed == null) { conversingSpeed = GetComponent<ConversingSpeed>(); } startSpeed = mover.maxSpeed; headFill.transform.localScale = Vector3.zero; }
void Start() { if (mover == null) { mover = GetComponent <SimpleMover>(); } if (partnerLink == null) { partnerLink = GetComponent <PartnerLink>(); } if (tracer == null) { tracer = GetComponent <Tracer>(); } if (conversingSpeed == null) { conversingSpeed = GetComponent <ConversingSpeed>(); } startSpeed = mover.maxSpeed; headFill.transform.localScale = Vector3.zero; }
public override void _Ready() { var size = GetViewportRect().Size; // Create target targetMover = new SimpleMover() { Position = size / 2, Modulate = Colors.LightBlue.WithAlpha(128) }; AddChild(targetMover); // Create vehicle var vehicle = new Vehicle() { Target = targetMover, Position = size / 4 }; AddChild(vehicle); }
// // // // // // void Awake() { if (mover == null) { mover = GetComponent <SimpleMover>(); } if (tracer == null) { tracer = GetComponent <Tracer>(); } if (conversationScore == null) { conversationScore = GetComponent <ConversationScore>(); } if (conversingSpeed == null) { conversingSpeed = GetComponent <ConversingSpeed>(); } partnerLine = GetComponent <LineRenderer>(); pointsGlobal = GameObject.FindGameObjectWithTag("Global Points"); }
private void Update() { var positions = new NativeArray <float3>(_moveableObjects.Count, Allocator.TempJob); var indexes = new NativeArray <int>(_moveableObjects.Count, Allocator.TempJob); for (int i = 0; i < positions.Length; i++) { positions[i] = _moveableObjects[i].Position; indexes[i] = i % CountX; } var job = new SimpleMover { Speed = speed, Amplitude = amplitude, Positions = positions, Indexes = indexes, Time = Time.time, WaveMod = waveMod }; var jobHandler = job.Schedule(_moveableObjects.Count, 10); jobHandler.Complete(); for (int i = 0; i < _moveableObjects.Count; i++) { _moveableObjects[i].Position = positions[i]; _entityManager.SetComponentData(_moveableObjects[i].Entity, new Translation { Value = _moveableObjects[i].Position }); } positions.Dispose(); indexes.Dispose(); }
public override void _Ready() { var size = GetViewportRect().Size; var attractor = new SimpleAttractor() { Gravitation = 0.5f, Position = size / 2 }; AddChild(attractor); foreach (var _ in Enumerable.Range(0, 10)) { var mover = new SimpleMover(SimpleMover.WrapModeEnum.Bounce); var bodySize = (float)GD.RandRange(20, 40); mover.MeshSize = new Vector2(bodySize, bodySize); mover.Mass = bodySize; var xPos = (float)GD.RandRange(bodySize, size.x - bodySize); var yPos = (float)GD.RandRange(bodySize, size.y - bodySize); mover.Position = new Vector2(xPos, yPos); AddChild(mover); } }
// // // // // // void Awake() { if (mover == null) { mover = GetComponent<SimpleMover>(); } if (tracer == null) { tracer = GetComponent<Tracer>(); } if (conversationScore == null) { conversationScore = GetComponent<ConversationScore>(); } if (conversingSpeed == null) { conversingSpeed = GetComponent<ConversingSpeed>(); } partnerLine = GetComponent<LineRenderer>(); pointsGlobal = GameObject.FindGameObjectWithTag("Global Points"); }
public override Vector2 Attract(SimpleMover mover) { return(-base.Attract(mover)); }
private void InitializeOnce() { // The agent will be disabled on any error. if (!enabled || NavManager.ActiveManager == null) { Debug.LogError(name + ": Failed navigation initialization. Missing resources or bad" + " configuration. Agent forced to disabled state."); enabled = false; return; } mManager = NavManager.ActiveManager; mNav = mManager.CreateAgent(agentGroup, transform); if (mNav == null) { Debug.LogError(name + ": Failed navigation initialization. Could not get navigation" + " agent from manager. Agent forced to disabled state."); enabled = false; return; } mNav.data.rotation = transform.rotation; mNav.data.position = mNav.GetPointSearch(transform.position); if (mNav.data.position.polyRef == 0) { mNav = null; Debug.LogError(name + ": Failed to constrain position to the navigation mesh." + " Agent forced to disabled state."); enabled = false; return; } IState planner = new NavPlanner(mNav); IState mover = new SimpleMover(mNav); mManagerIndex = mManager.AddAgent(planner, mover); if (mManagerIndex == -1) { Debug.LogError(name + ": Could not add agent to navigation manager. Agent forced to disabled state."); enabled = false; return; } context = new AgentContext(this.gameObject, new NavController(mNav)); mBrain = GetBrain(); if (mBrain == null) { mManager.RemoveAgent(mManagerIndex); Debug.LogError( name + ": Could not get the agent brain. Agent forced to disabled state."); enabled = false; return; } }
void LinkPartner(){ if (partnerLink != null && partnerLink.Partner != null) { targetMover = partnerLink.Partner.GetComponent<SimpleMover>(); } }
// this method is called when a Component is added to an Entity. It is called after all the Components are added in a frame so it is // safe to access the other Components from here. public virtual void onAddedToEntity() { // we can access any other Components on the Entity via the getComponent method. Just pass in the Type of the Component and it // will return the Component or null if no Component of that Type is on the Entity. _mover = entity.getComponent <SimpleMover>(); }
void Start() { mover = GetComponent<SimpleMover>(); startColor = headRenderer.material.color; startTripDuration = tripDuration; }
protected virtual void OnSceneGUI() { float dashSize = 4.0f; SimpleMover simpleMover = (SimpleMover)target; EditorGUI.BeginChangeCheck(); //check null or static if (simpleMover.MoverTransform == null) { Debug.LogWarning("Missing simplemover transform on " + simpleMover.name); return; } var rendererList = new List <Renderer>(); foreach (Renderer objectRenderer in simpleMover.MoverTransform.GetComponentsInChildren <Renderer>()) { rendererList.Add(objectRenderer); if (objectRenderer.isPartOfStaticBatch) { Debug.LogError("static object found on simplemover, please set to nonstatic"); break; } } //if (Application.isPlaying) var temp = 1f - Mathf.Clamp01(Time.time - lastSendTime); Handles.color = Color.Lerp(Color.white, Color.green, temp); Handles.color = Color.cyan; var dir = simpleMover.end - simpleMover.start; var steps = Mathf.FloorToInt((simpleMover.start - simpleMover.end).magnitude); for (var i = 0; i < steps; i++) { Handles.ArrowHandleCap(0, simpleMover.start + (dir * i), Quaternion.LookRotation(dir), 1, EventType.Repaint); } lastSendTime = Time.time; /* * * if (simpleMover.triggerGo == null && * simpleMover.interactionType == SimpleMover.InteractionType.Activate) * { * * simpleMover.triggerGo = new GameObject("trigger"); * simpleMover.triggerGo.transform.position = simpleMover.transform.position; * simpleMover.triggerGo.transform.rotation = simpleMover.transform.rotation; * simpleMover.triggerGo.transform.SetParent(simpleMover.transform); * simpleMover.triggerGo.AddComponent<BoxCollider>(); * simpleMover.triggerGo.transform.GetComponent<BoxCollider>().isTrigger = true; * * simpleMover.triggerGo.AddComponent<TriggerChild>(); * simpleMover.triggerGo.transform.GetComponent<TriggerChild>().simpleMover = simpleMover; * * * }*/ if (!Application.isPlaying) { var startPos = simpleMover.transform.position; var endPos = Handles.PositionHandle(simpleMover.end, Quaternion.identity); simpleMover.end = endPos; simpleMover.start = simpleMover.transform.position; } Handles.Label(simpleMover.start, "Start"); Handles.Label(simpleMover.end, "End"); Handles.DrawDottedLine(simpleMover.start, simpleMover.end, dashSize); if (EditorGUI.EndChangeCheck()) { Undo.RecordObject(simpleMover, "Change SimpleTranslator settings"); } }
void Start() { mover = GetComponent <SimpleMover>(); startColor = headRenderer.material.color; startTripDuration = tripDuration; }
// Use this for initialization void Start () { if (mover == null) { mover = GetComponent<SimpleMover>(); } }