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; } }
private void SpawnInit(Spawnable spawnedObject) { spawnedObject.Init(Cursor); var rigidbody = spawnedObject.GetComponent <Rigidbody>(); if (rigidbody) { rigidbody.isKinematic = !IsGravity; } }
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); }
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); }
void RemoveSpawnableFromRbs(Spawnable spawnable) { rbs.Remove(spawnable.GetComponent <Rigidbody2D>()); }
void AddSpawnableToRbs(Spawnable spawnable) { rbs.Add(spawnable.GetComponent <Rigidbody2D>()); }
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; }
public SpawnableComponent(Spawnable spawnable, SerializedVector3 v3, SerializedQuaternion q) { Prefab = spawnable.GetComponent <BaseNetworkable>().LookupPrefabName(); LocalPosition = v3; LocalRotation = q; }