Esempio n. 1
0
        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;
        }
    }
Esempio n. 3
0
    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);
            }
        }
    }
Esempio n. 5
0
    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);
    }