/**************************************
     *	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>();
    }
Пример #2
0
 // Use this for initialization
 void Start()
 {
     rb = GetComponent <Rigidbody2D>();
     trajectoryController = GetComponent <TrajectoryController>();
     spriteRenderer       = GetComponent <SpriteRenderer>();
     StartCoroutine("DoCheck");
 }
Пример #3
0
	// Use this for initialization
	void Start () {
        trajectoryController = FindObjectOfType<TrajectoryController>();
        player = FindObjectOfType<PlayerBehaviour>();

        state = SpawnState.Spawning;
        Invoke("Spawn", 5f);
    }
Пример #4
0
 public AlienArsenal(GameData gameData, Scene scene, TrajectoryController bulletController, ICollisionController collisionController)
     : base(gameData, scene, 0, 0)
 {
     this.AlienGroups    = new List <AlienGroup>();
     BulletController    = bulletController;
     CollisionController = collisionController;
 }
Пример #5
0
        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);
    }
Пример #7
0
 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());
     }
 }