Example #1
0
 void FixedUpdate()
 {
     tenants.RemoveAll(ten => !ten || ReferenceEquals(ten, null));
     foreach (Rigidbody2D rb2d in tenants)
     {
         Vector2 finalGravityVector = (radialGravity)
             ? (Vector2)(transform.position - rb2d.transform.position).normalized
                                      * gravityScale
             : gravityVector;
         Vector3         vector = finalGravityVector * rb2d.mass;
         GravityAccepter ga     = rb2d.GetComponent <GravityAccepter>();
         if (ga)
         {
             if (ga.AcceptsGravity)
             {
                 vector *= ga.gravityScale;
                 rb2d.AddForce(vector);
                 //Inform the gravity accepter of the direction
                 ga.addGravity(finalGravityVector);
             }
         }
         else
         {
             rb2d.AddForce(vector);
         }
     }
 }
 // Use this for initialization
 void Start()
 {
     rb2d           = GetComponent <Rigidbody2D>();
     hm             = GetComponent <HardMaterial>();
     groundCollider = GetComponent <BoxCollider2D>();
     gravity        = GetComponent <GravityAccepter>();
     direction      = Utility.PerpendicularLeft(transform.up).normalized;
     player         = GameManager.getPlayerObject();
 }
Example #3
0
 public override void init()
 {
     Gravity             = GetComponent <GravityAccepter>();
     Grounded            = false;
     GroundedNormal      = false;
     GroundedAbility     = false;
     GroundedPrev        = false;
     GroundedNormalPrev  = false;
     GroundedAbilityPrev = false;
 }
Example #4
0
    void FixedUpdate()
    {
        bool cleanNeeded = false;

        foreach (Rigidbody2D rb2d in tenants)
        {
            if (rb2d == null || ReferenceEquals(rb2d, null))
            {
                cleanNeeded = true;
                continue;
            }
            Vector3         vector = gravityVector * rb2d.mass;
            GravityAccepter ga     = rb2d.gameObject.GetComponent <GravityAccepter>();
            if (ga)
            {
                if (ga.AcceptsGravity)
                {
                    rb2d.AddForce(vector);
                }
                //Inform the gravity accepter of the direction
                if (mainGravityZone)
                {
                    ga.Gravity = this.gravityVector;
                }
            }
            else
            {
                rb2d.AddForce(vector);
            }
        }
        //Check to see if the camera rotation needs updated
        if (mainGravityZone && Camera.main.transform.rotation != transform.rotation)
        {
            //Check to see if Merky is in this GravityZone
            if (GameManager.getPlayerObject().GetComponent <GravityAccepter>().Gravity == gravityVector)
            {
                Camera.main.GetComponent <CameraController>().setRotation(transform.rotation);
            }
        }
        if (cleanNeeded)
        {
            for (int i = tenants.Count - 1; i >= 0; i--)
            {
                if (tenants[i] == null || ReferenceEquals(tenants[i], null))
                {
                    tenants.RemoveAt(i);
                }
            }
        }
    }
 // Use this for initialization
 void Start()
 {
     rb2d          = GetComponent <Rigidbody2D>();
     pc2d          = GetComponent <PolygonCollider2D>();
     gravity       = GetComponent <GravityAccepter>();
     mainCamCtr    = Camera.main.GetComponent <CameraController>();
     gm            = GameObject.FindGameObjectWithTag("GestureManager").GetComponent <GestureManager>();
     halfWidth     = GetComponent <SpriteRenderer>().bounds.extents.magnitude;
     hm            = GetComponent <HardMaterial>();
     hm.shattered += shattered;
     fta           = GetComponent <ForceTeleportAbility>();
     wca           = GetComponent <WallClimbAbility>();
     sba           = GetComponent <ShieldBubbleAbility>();
     teleportRangeParticalController = teleportRangeParticalObject.GetComponent <ParticleSystemController>();
 }
Example #6
0
    void FixedUpdate()
    {
        if (GameManager.isRewinding())
        {
            return;//don't do anything if tie is rewinding
        }
        bool cleanNeeded = false;

        foreach (Rigidbody2D rb2d in tenants)
        {
            if (rb2d == null || ReferenceEquals(rb2d, null))
            {
                cleanNeeded = true;
                continue;
            }
            Vector3         vector = gravityVector * rb2d.mass;
            GravityAccepter ga     = rb2d.gameObject.GetComponent <GravityAccepter>();
            if (ga)
            {
                if (ga.AcceptsGravity)
                {
                    rb2d.AddForce(vector);
                    //Inform the gravity accepter of the direction
                    ga.addGravity(this.gravityVector);
                }
            }
            else
            {
                rb2d.AddForce(vector);
            }
        }
        if (cleanNeeded)
        {
            for (int i = tenants.Count - 1; i >= 0; i--)
            {
                if (tenants[i] == null || ReferenceEquals(tenants[i], null))
                {
                    tenants.RemoveAt(i);
                }
            }
        }
    }
Example #7
0
 public override void init()
 {
     ga = GetComponent <GravityAccepter>();
 }