private void UpdateLinearTrail() { if (trailRenderer == null) { if (Slicer2D.Debug.enabled) { Debug.LogWarning("Slicer2D: Trail Renderer is not attached to the controller"); } return; } int pointsCount = trailRenderer.GetPositions(trailPositions); if (pointsCount < 1) { return; } Vector2D pos = new Vector2D(trailPositions[pointsCount - 1]); List <Slice2D> results = linearTrail.Update(pos, trailRenderer.time); if (addForce) { foreach (Slice2D id in results) { AddForce.LinearTrail(id, addForceAmount); } } }
private bool LinearSlice(Pair2D slice) { if (sliceJoints) { Slicer2D.Controller.Joints.LinearSliceJoints(slice); } List <Slice2D> results = Slicing.LinearSliceAll(slice, sliceLayer); bool result = false; foreach (Slice2D id in results) { if (id.GetGameObjects().Count > 0) { result = true; } eventHandler.Perform(id); } if (addForce == true) { foreach (Slice2D id in results) { AddForce.LinearSlice(id, addForceAmount); } } return(result); }
private bool ComplexSlice(List <Vector2D> slice) { if (sliceJoints) { ComplexSliceJoints(slice); } List <Slice2D> results = Slicer2D.ComplexSliceAll(slice, sliceLayer); bool result = false; foreach (Slice2D id in results) { if (id.gameObjects.Count > 0) { result = true; } if (sliceResultEvent != null) { sliceResultEvent(id); } } if (addForce == true) { foreach (Slice2D id in results) { AddForce.ComplexSlice(id, addForceAmount); } } return(result); }
public void Update() { for (int id = 0; id < trailRenderer.Length; id++) { if (trailRenderer[id] == null) { if (id == 0) { Debug.LogWarning("Slicer2D: Trail Renderer is not attached to the controller"); } return; } SetTrailPosition(trailRenderer[id], id); int pointsCount = trailRenderer[id].GetPositions(trailPositions[id]); if (pointsCount < 1) { return; } Vector2D pos = new Vector2D(trailPositions[id][pointsCount - 1]); List <Slice2D> results = linearTrail[id].Update(pos, trailRenderer[id].time, sliceLayer); if (addForce) { foreach (Slice2D p in results) { AddForce.LinearTrail(p, addForceAmount); } } } }
public Node <INode> GetNode(string nodeName) { switch (nodeName) { case AddForce.NAME: INode nodeAddForce = new AddForce() as INode; return(new Node <INode> (nodeAddForce)); case AddTorque.NAME: INode nodeAddTorque = new AddTorque() as INode; return(new Node <INode> (nodeAddTorque)); case RigidBody.NAME: INode nodeRigidBody = new RigidBody() as INode; return(new Node <INode> (nodeRigidBody)); case Velocity.NAME: INode nodeVelocity = new Velocity() as INode; return(new Node <INode> (nodeVelocity)); case CollisionEnter.NAME: INode nodeCollisionEnter = new CollisionEnter() as INode; return(new Node <INode> (nodeCollisionEnter)); case CollisionStay.NAME: INode nodeCollisionStay = new CollisionStay() as INode; return(new Node <INode> (nodeCollisionStay)); case CollisionExit.NAME: INode nodeCollisionExit = new CollisionExit() as INode; return(new Node <INode> (nodeCollisionExit)); case FixedUpdate.NAME: INode nodeFixedUpdate = new FixedUpdate() as INode; return(new Node <INode> (nodeFixedUpdate)); case AddImpulseForce.NAME: INode nodeImpulse = new AddImpulseForce() as INode; return(new Node <INode> (nodeImpulse)); case Character.NAME: var nodeCharacter = new Character() as INode; return(new Node <INode> (nodeCharacter)); case CharacterForward.NAME: var nodeCharacterForward = new CharacterForward() as INode; return(new Node <INode> (nodeCharacterForward)); case CameraRaycast.NAME: var nodeCameraRayCast = new CameraRaycast() as INode; return(new Node <INode> (nodeCameraRayCast)); case AddImpulseTorque.NAME: var nodeAddImpulseTorque = new AddImpulseTorque() as INode; return(new Node <INode>(nodeAddImpulseTorque)); default: return(null); } }
void OnTriggerEnter(Collider col) { if (col.gameObject.CompareTag("Rocket")) { AddForce addForceComponent = col.GetComponent <AddForce>(); if (addForceComponent) { Vector3 cForce = addForceComponent.force; cForce += windDirection; addForceComponent.force = cForce; } } }
void Explode(Vector2D pos) { List <Slice2D> results = Slicing.ExplodeInPointAll(pos, sliceLayer); foreach (Slice2D id in results) { eventHandler.Perform(id); } if (addForce == true) { foreach (Slice2D id in results) { AddForce.ExplodeInPoint(id, addForceAmount, pos); } } }
private void ExplodeInPoint(Vector2D pos) { List <Slice2D> results = Slicer2D.ExplodeInPointAll(pos, sliceLayer); foreach (Slice2D id in results) { if (sliceResultEvent != null) { sliceResultEvent(id); } } if (addForce == true) { foreach (Slice2D id in results) { AddForce.ExplodeInPoint(id, addForceAmount, pos); } } }
// Start is called before the first frame update private void Awake() { Instance = this; }
// Use this for initialization void Start() { Time.timeScale = 1; add = basket.GetComponent <AddForce>(); }