Exemplo n.º 1
0
    void OnTriggerEnter2D(Collider2D other)
    {
        Spawnable spawnable = other.GetComponent <Spawnable>();

        switch (other.tag)
        {
        case "PowerUp":
            spawnable.GetComponent <PowerUp>().OnHit();
            GetComponent <PlayerControls>().IncreaseYDestination(nextY);
            lambController.MoveDown();
            soundPowerUp.Play();
            break;

        case "Obstacle":
            Camera.main.GetComponent <CameraControl>().Shake(0.2f, 4, 100 * Time.deltaTime);
            rb2d.AddForce(new Vector3(0, -200));
            spawnable.GetComponent <Obstacle>().OnHit();
            string colliderTag = other.tag;
            lambController.MoveUp();
            soundCrash.Play();
            break;

        case "lambs":
            deadAnimation.SetActive(true);
            break;
        }
    }
Exemplo n.º 2
0
    private void SpawnInit(Spawnable spawnedObject)
    {
        spawnedObject.Init(Cursor);
        var rigidbody = spawnedObject.GetComponent <Rigidbody>();

        if (rigidbody)
        {
            rigidbody.isKinematic = !IsGravity;
        }
    }
Exemplo n.º 3
0
    public Spawnable spawn(Vector2 position, Vector2 velocity, Vector2 direction)
    {
        GameObject obj = Instantiate(gameObject, position,
                                     Quaternion.AngleAxis(Vector2.Angle(Vector2.up, direction), -Vector3.forward));
        Spawnable   spwn  = obj.GetComponent <Spawnable>();
        Rigidbody2D rigid = spwn.GetComponent <Rigidbody2D>();

        rigid.velocity = velocity;
        spwn.SetupLiftime();
        return(spwn);
    }
Exemplo n.º 4
0
        bool GetSpawnableClean(BuildingBlock initialBlock, float playerRot, Spawnable currentSpawn, out Dictionary <string, object> data)
        {
            data         = new Dictionary <string, object>();
            posCleanData = new Dictionary <string, object>();
            rotCleanData = new Dictionary <string, object>();

            normedPos  = GenerateGoodPos(initialBlock.transform.position, currentSpawn.transform.position, playerRot);
            normedYRot = currentSpawn.transform.rotation.ToEulerAngles().y - playerRot;
            data.Add("prefabname", currentSpawn.GetComponent <BaseNetworkable>().LookupPrefabName().ToString());

            posCleanData.Add("x", normedPos.x);
            posCleanData.Add("y", normedPos.y);
            posCleanData.Add("z", normedPos.z);
            data.Add("pos", posCleanData);

            rotCleanData.Add("x", currentSpawn.transform.rotation.ToEulerAngles().x);
            rotCleanData.Add("y", normedYRot);
            rotCleanData.Add("z", currentSpawn.transform.rotation.ToEulerAngles().z);
            data.Add("rot", rotCleanData);
            return(true);
        }
Exemplo n.º 5
0
 void RemoveSpawnableFromRbs(Spawnable spawnable)
 {
     rbs.Remove(spawnable.GetComponent <Rigidbody2D>());
 }
Exemplo n.º 6
0
 void AddSpawnableToRbs(Spawnable spawnable)
 {
     rbs.Add(spawnable.GetComponent <Rigidbody2D>());
 }
Exemplo n.º 7
0
        bool GetSpawnableClean(BuildingBlock initialBlock, float playerRot, Spawnable currentSpawn, out Dictionary<string, object> data)
        {
            data = new Dictionary<string, object>();
            posCleanData = new Dictionary<string, object>();
            rotCleanData = new Dictionary<string, object>();

            normedPos = GenerateGoodPos(initialBlock.transform.position, currentSpawn.transform.position, playerRot);
            normedYRot = currentSpawn.transform.rotation.ToEulerAngles().y - playerRot;
            data.Add("prefabname", currentSpawn.GetComponent<BaseNetworkable>().LookupPrefabName().ToString());

            posCleanData.Add("x", normedPos.x);
            posCleanData.Add("y", normedPos.y);
            posCleanData.Add("z", normedPos.z);
            data.Add("pos", posCleanData);

            rotCleanData.Add("x", currentSpawn.transform.rotation.ToEulerAngles().x);
            rotCleanData.Add("y", normedYRot);
            rotCleanData.Add("z", currentSpawn.transform.rotation.ToEulerAngles().z);
            data.Add("rot", rotCleanData);
            return true;
        }
 public SpawnableComponent(Spawnable spawnable, SerializedVector3 v3, SerializedQuaternion q)
 {
     Prefab = spawnable.GetComponent<BaseNetworkable>().LookupPrefabName();
     LocalPosition = v3;
     LocalRotation = q;
 }
Exemplo n.º 9
0
 public SpawnableComponent(Spawnable spawnable, SerializedVector3 v3, SerializedQuaternion q)
 {
     Prefab        = spawnable.GetComponent <BaseNetworkable>().LookupPrefabName();
     LocalPosition = v3;
     LocalRotation = q;
 }