/************************************** * UNITY CALLBACKS */ void Start() { activeBody = GetComponent <Rigidbody>(); TrajectoryController tc = (TrajectoryController)GameObject.Find("GameController").GetComponent <TrajectoryController>(); Scene hiddenScene = SceneManager.GetSceneByName(TrajectoryController.hiddenSceneName); hiddenPhysicsScene = hiddenScene.GetPhysicsScene(); // clone this object, grab a ref to its rb, then move it to the physics scene GameObject go = GameObject.Instantiate(gameObject, transform.position, Quaternion.identity); // make sure we remove this script on the clone, or the clone will make more clones forever Destroy(go.GetComponent <SimulatedPiece>()); if (CompareTag("Ball")) { // if this gameObject is a Ball, reference its rb hiddenBody = go.GetComponent <Rigidbody>(); // and delete all its clone's renderers and things we don't want interfering Destroy(go.GetComponent <MeshRenderer>()); Destroy(go.GetComponent <LineRenderer>()); Destroy(go.GetComponent <BallController>()); } else { // otherwise just hide it go.GetComponent <MeshRenderer>().enabled = false; } // now move the clone to the hidden physics scene where the sim will use it to create our trajectory prediction SceneManager.MoveGameObjectToScene(go, hiddenScene); points = new List <Vector3>(); }
// Use this for initialization void Start() { rb = GetComponent <Rigidbody2D>(); trajectoryController = GetComponent <TrajectoryController>(); spriteRenderer = GetComponent <SpriteRenderer>(); StartCoroutine("DoCheck"); }
// Use this for initialization void Start () { trajectoryController = FindObjectOfType<TrajectoryController>(); player = FindObjectOfType<PlayerBehaviour>(); state = SpawnState.Spawning; Invoke("Spawn", 5f); }
public AlienArsenal(GameData gameData, Scene scene, TrajectoryController bulletController, ICollisionController collisionController) : base(gameData, scene, 0, 0) { this.AlienGroups = new List <AlienGroup>(); BulletController = bulletController; CollisionController = collisionController; }
public void FireAtWill(TrajectoryController bulletController, ICollisionController collisionController) { var positionabsolute = this.Bounds.Position + this.Bounds.OffsetPosition; positionabsolute.X += 3; positionabsolute.Y += 3; var bullet = new Bullet(GameData, Scene, 1, Direction.Up, NPPGames.Properties.Resources.SIAB) { EdgeOfScreenCondition = EdgeScreenHandling.Disappear, LayerOrder = int.MaxValue, TrajectoryController = bulletController, CollisionController = collisionController, Frequency = 2, Direction = Direction.Down, Type = SpriteTypes.ALIEN_BULLET, CollidesWithTypes = new List <string>() { SpriteTypes.PLAYER, SpriteTypes.PLAYER_BULLET } }; bullet.SetData("!"); bullet.RendererData.StepY = 1; bullet.Bounds.Position = positionabsolute; bullet.Fire(); Scene.AddSprite(bullet); }
/************************************** * UNITY CALLBACKS */ void Start() { // setup references lineRenderer = GetComponent <LineRenderer>(); simulant = GetComponent <SimulatedPiece>(); trajController = (TrajectoryController)GameObject.Find("GameController").GetComponent <TrajectoryController>(); // give the ball a random color GetComponent <Renderer>().material.color = Random.ColorHSV(0f, 1f, 1f, 1f, 0.5f, 1f); }
public void ShowTrajectory() { if (!this.trajectoryInstance) { var currentBullet = GetCurrentBullet(); this.trajectoryInstance = Instantiate(this.trajectory, this.transform); TrajectoryController trajectoryController = this.trajectoryInstance.GetComponent <TrajectoryController>(); trajectoryController.SetInitialSpeed(currentBullet.InitialSpeed()); trajectoryController.SetWithGravity(currentBullet.UsesGravity()); } }