void CauseBurn() { int lastBaby = babies.Count - 1; if (lastBaby < 0) { GetComponentInChildren <SpriteRenderer>().color = Color.black; SendMessage("Kill", KilledBy.Fire); } else { float fire = fireStrength * Time.deltaTime; int lastToBurn = Mathf.Max(0, lastBaby - 10); for (int i = lastBaby; i >= lastToBurn; i--) { BabyController sacrifice = babies[i]; sacrifice.Health -= fire; if (sacrifice.Health < 0.05f) { babies.Remove(sacrifice); sacrifice.Kill(); } fire *= fireStrengthDecay; } } }
void AdoptBaby() { BabyController baby = GameMaster.instance.CreateBaby(); baby.transform.position = GlobalAdoptionCenter; baby.SetAttachment(gameObject, ClingArea); babyFruits.Add(baby); }
void LooseAllBabies() { while (babies.Count > 0) { BabyController b = babies[0]; babies.Remove(b); b.FreeAttachment(); } }
// Start is called before the first frame update void Start() { babyController = Baby.GetComponentInChildren <BabyController>(); babyRubController = Baby.GetComponentInChildren <RubbingController>(); controllersInCollider = new HashSet <OVRInput.Controller>(); controllerToGameObject = new Dictionary <OVRInput.Controller, GameObject>(); interactionStartPosition = new Dictionary <OVRInput.Controller, Vector3>(); interactionStartTime = new Dictionary <OVRInput.Controller, float>(); }
void Start() { strollerLocalOffset = stroller.transform.localPosition; strollerSpriteRenderer = stroller.GetComponent <SpriteRenderer> (); pregnipushSpriteRenderer = GetComponent <SpriteRenderer>(); baby = GameMaster.instance.CreateBaby(); baby.transform.position = transform.position; baby.SetAttachment(stroller, attachment); baby.DoNotRemove = true; }
public void PickupBaby(BabyController baby) { if (!isAlive) { return; } babies.Add(baby); baby.SetAttachment(gameObject, attachmentArea); baby.gameObject.layer = LayerMask.NameToLayer("Carried"); baby.DoNotRemove = true; }
public void BirthChild() { BabyController baby = GameMaster.instance.CreateBaby(); baby.transform.position = transform.position; baby.BabyState = BabyController.State.DoNotMove; Vector2 ejectForce = new Vector2(Random.Range(-1f, 1f) * lateralisation, Random.Range(upScaleMin, upScaleMax)).normalized; Rigidbody2D rb = baby.GetComponent <Rigidbody2D>(); rb.AddTorque(Random.Range(-90, 90)); rb.AddForce(ejectForce * force); }
// Use this for initialization void Start() { scoreText = GameObject.Find("Canvas/Score").GetComponent <Text>(); bc = GameObject.Find("Baby").GetComponent <BabyController>(); life = 3; rain(); gameOver = false; spawnerSpeed = 4; audio = GetComponent <AudioSource>(); audio.clip = music; audio.Play(); }
void Update() { if (!init) { init = true; for (int i = 0; i < numberOfBabies; ++i) { BabyController baby = GameMaster.instance.CreateBaby(); baby.transform.position = transform.position + Vector3.up * 0.4f; baby.BabyState = BabyController.State.Playing; baby.DoNotRemove = true; } } }
void OnCollisionEnter2D(Collision2D coll) { //Debug.Log(coll.gameObject.name); if (coll.gameObject.tag == "Baby") { babyInRange = coll.gameObject.GetComponent <BabyController>(); inGrabRangeForBaby = true; } if (coll.gameObject.tag == "PlayZone") { inDropRange = true; dropZone = coll.transform.position; } }
private void Update() { for (int i = babyFruits.Count - 1; i >= 0; i--) { BabyController baby = babyFruits[i]; if (baby == null) { babyFruits.RemoveAt(i); } else if (Mathf.Abs(player.position.x - baby.transform.position.x) < dropRange) { baby.FreeAttachment(); babyFruits.Remove(baby); } } }
void PruneBunt() { if (Random.value < Time.deltaTime * pruneSpeed) { int lastBaby = babies.Count - 1; if (lastBaby >= 0) { BabyController baby = babies[lastBaby]; if (baby.Health < .95f) { if (baby != null) { baby.Kill(); } babies.Remove(baby); } } } }
private void Awake() { _instance = this; }
public BabyController CreateBaby() { if (babies.Count > maxNumberOfBabies) { List <BabyController> toRemove = new List <BabyController>(); int maxRemove = babies.Count - maxNumberOfBabies; foreach (BabyController controller in babies) { if (controller.DoNotRemove) { continue; } if (toRemove.Count >= maxRemove) { break; } if (controller.Killed) { Debug.Log("Removing killed"); toRemove.Add(controller); } } List <BabyController> visible = new List <BabyController> (); foreach (BabyController controller in babies) { if (controller.DoNotRemove) { continue; } if (toRemove.Count >= maxRemove) { break; } if (controller.VisibleTime == null) { Debug.Log("Removing invisible"); toRemove.Add(controller); } else { visible.Add(controller); } } visible.Sort((x, y) => x.VisibleTime.Value.CompareTo(y.VisibleTime.Value)); foreach (BabyController controller in babies) { if (controller.DoNotRemove) { continue; } if (toRemove.Count >= maxRemove) { break; } Debug.Log("Removing visible"); toRemove.Add(controller); } foreach (BabyController controller in toRemove) { Debug.Log("Removing baby"); babies.Remove(controller); Destroy(controller.gameObject); } } BabyController baby = Instantiate(babyPrefab, allTheBabies, true); babies.Add(baby); Debug.Log(babies.Count + " number of babies"); return(baby); }
// Use this for initialization void Start() { //charJ = GetComponent<CharacterJoint>(); babyController = GetComponentInParent <BabyController>(); }