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);
            }
        }
Exemple #2
0
 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;
        }
    }
Exemple #5
0
 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;
		}
	}
Exemple #7
0
        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);
        }
Exemple #8
0
        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;
        }
    }
Exemple #11
0
        /// <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>();
		}
	}
Exemple #15
0
 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);
            }
Exemple #22
0
        /// <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;
     }
 }
Exemple #26
0
        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;
		}
	}
Exemple #28
0
        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;
	}
Exemple #30
0
 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;
 }
Exemple #31
0
        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();
        }
Exemple #34
0
        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));
 }
Exemple #37
0
    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>();
		}
	}
Exemple #39
0
 // 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;
	}
Exemple #41
0
    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");
        }
    }
Exemple #42
0
 void Start()
 {
     mover             = GetComponent <SimpleMover>();
     startColor        = headRenderer.material.color;
     startTripDuration = tripDuration;
 }
	// Use this for initialization
	void Start () {
		if (mover == null)
		{
			mover = GetComponent<SimpleMover>();
		}
	}