private void InitModes() { ScoreDisplay = new ScoreDisplay(this, 1); ScoreDisplay.layer.enabled = false; BaseMode = new BaseMode(this, 2); AttractMode = new Attract(this, 20); SkillshotMode = new Skillshot(this, 3); PagesMode = new PageMode(this, 5); CellarRampMode = new CellarRamp(this, 6); TargetsMode = new Targets(this, 25); WorkshedMode = new WorkShed(this, 30); ShedMultiball = new ShedMball(this, 35); BumpersMode = new Bumpers(this, 40); DeadByDawnMode = new DeadByDawn(this, 50); SelectMode = new ModeSelect(this, 40); Lindamode = new Linda(this, 40); CherylMode = new Cheryl(this, 40); BadHandMode = new BadHand(this, 40); EscapeMode = new Escape(this, 40); ShellyMode = new Shelly(this, 40); Modes.Add(ScoreDisplay); Modes.Add(BaseMode); Modes.Add(AttractMode); Modes.Add(TargetsMode); Modes.Add(WorkshedMode); }
void Start() { MultiInput.OnDie += Died; _spring = GetComponent<Attract>(); if (Beam != null) { _beamInstance = Instantiate(Beam, transform.position, Quaternion.identity) as MagicBeam; _beamInstance.transform.localScale = Vector3.zero; } }
void Attract_Function(Attract otherPlanet) { // g = G*(m1*m2)/d^2 Vector3 vector = otherPlanet.transform.position - this.transform.position; float distance = vector.magnitude; Vector3 direction = vector.normalized; Vector3 Force = G * this.GetComponent <Rigidbody>().mass *otherPlanet.GetComponent <Rigidbody>().mass / Mathf.Pow(distance, 2) * direction; this.GetComponent <Rigidbody>().AddForce(Force); }
private void AttractF() { m_FSeek = Vector2.zero; List <Attract> attractions = PlayerContainer.Instance.GetAllAttraction(); for (int i = 0; i < attractions.Count; i++) { Attract A = attractions[i]; if ((A.position - (Vector2)tr.position).magnitude < A.range) { m_FSeek += SmoothSeek(A.owner, A.range, A.strength, 1f); } } }
void Attraction(Attract objectAttracted) { Rigidbody rbAttracter = objectAttracted.rb; Vector3 direction = rb.position - rbAttracter.position; float distance = direction.magnitude; if (distance == 0) { return; } float forceMag = (Grav * rb.mass * rbAttracter.mass) / Mathf.Pow(distance, 2); Vector3 force = direction.normalized * forceMag; rbAttracter.AddForce(force); }