private void Awake()
    {
        controller2D      = GetComponent <Controller2D>();
        gravityController = GetComponent <GravityController>();

        animatorController = GetComponent <AnimatorController>();
    }
Exemplo n.º 2
0
    // Use this for initialization
    void Awake()
    {
        rb = GetComponent <Rigidbody>();

        int index = Random.Range(-1, mats.Length);

        if (index != -1 && mats.Length > 0)
        {
            GetComponent <MeshRenderer>().material = mats[Random.Range(0, mats.Length)];
        }

        if (!randomize)
        {
            rb.mass     = (transform.localScale.x + transform.localScale.y + transform.localScale.z) / 3;
            rb.mass    *= massMulti;
            rb.velocity = initialVel;
        }

        else
        {
            rb.mass     = Random.Range(massLimits.x, massLimits.y) * Random.Range(1, massMulti);
            rb.velocity = new Vector3(Random.Range(-velLimit, velLimit), inPlane ? 0 : Random.Range(-velLimit, velLimit), Random.Range(-velLimit, velLimit));
        }
        GravityController.AddToBodies(this);
    }
Exemplo n.º 3
0
        /// <summary>
        /// Creates a gravity controller and adds it to the physics simulator.
        /// </summary>
        /// <param name="simulator">the physicsSimulator used by this controller.</param>
        /// <param name="points">The points you want to generate gravity.</param>
        /// <param name="strength">the maximum strength of gravity (the gravity strength when two bodies are on the same spot)</param>
        /// <param name="radius">the maximum distance that can be between 2 bodies before it will stop trying to apply gravity between them.</param>
        /// <returns></returns>
        public GravityController CreateGravityController(PhysicsSimulator simulator, List <Vector2> points, float strength, float radius)
        {
            GravityController gravityController = new GravityController(simulator, points, strength, radius);

            simulator.Add(gravityController);
            return(gravityController);
        }
Exemplo n.º 4
0
 public void StartInteraction(GravityController i_player)
 {
     m_player          = i_player;
     m_followingOffset = (transform.parent.position - m_player.m_Camera.transform.position).magnitude;
     GetComponentInParent <cubePhysicsController>().isHolding = true;
     m_isFollowing = true;
 }
Exemplo n.º 5
0
        public void CreateSunGravity(Body sun, int SizeOfSystem, float innerStrength, float outerStrength)
        {
            //Not sure why, but suddenly this crashes on warps without the .Contains check
            if (innerGravity != null && _physicsManager.World.ControllerList.Contains(innerGravity))
            {
                _physicsManager.World.RemoveController(innerGravity);
            }

            if (outerGravity != null && _physicsManager.World.ControllerList.Contains(outerGravity))
            {
                _physicsManager.World.RemoveController(outerGravity);
            }

            // Free's Branch: (0.004f, SizeOfSystem / 5, 0)
            innerGravity = new GravityController(innerStrength, SizeOfSystem / 5, 0);

            innerGravity.AddBody(sun);

            // Free's Branch: (0.00018f, SizeOfSystem + 1000, SizeOfSystem / 10)
            outerGravity = new GravityController(outerStrength, SizeOfSystem + 1000, SizeOfSystem / 10);

            outerGravity.AddBody(sun);

            _physicsManager.World.AddController(innerGravity);
            _physicsManager.World.AddController(outerGravity);
        }
Exemplo n.º 6
0
        /// <summary>
        /// Creates a gravity controller and adds it to the physics simulator.
        /// </summary>
        /// <param name="simulator">the physicsSimulator used by this controller.</param>
        /// <param name="bodies">The bodies you want to generate gravity.</param>
        /// <param name="strength">the maximum strength of gravity (the gravity strength when two bodies are on the same spot)</param>
        /// <param name="radius">the maximum distance that can be between 2 bodies before it will stop trying to apply gravity between them.</param>
        /// <returns></returns>
        public GravityController CreateGravityController(PhysicsSimulator simulator, List <Body> bodies, float strength, float radius)
        {
            GravityController gravityController = new GravityController(simulator, bodies, strength, radius);

            simulator.Add(gravityController);
            return(gravityController);
        }
Exemplo n.º 7
0
    // Use this for initialization
    void Start () {
        gravImage = GetComponentInChildren<Image>();
        gravControler = FindObjectOfType<GravityController>();
        if (gravControler == null) {
            gravImage.sprite = iconDown;
        }
	}
Exemplo n.º 8
0
        public void SetPointers(GravityController gravController)
        {
            _gravController = gravController;

            radGravity_CheckedChanged(this, new EventArgs());
            trkGravityForce_Scroll(this, new EventArgs());
        }
Exemplo n.º 9
0
    // Update is called once per frame
    void Update()
    {
        var e = ToEular[direction] * 90;

        transform.rotation = Quaternion.RotateTowards(
            transform.rotation,
            Quaternion.Euler(e),
            Time.deltaTime * 500);

        var v = GravityController.IgnoreGravityVector(direction,
                                                      Input.GetAxisRaw("Horizontal") * _camera.transform.right
                                                      + Input.GetAxisRaw("Vertical") * _camera.transform.forward);

        var move_v = v.normalized * speed * Time.deltaTime;

        if (IsGround())
        {
            if (Input.GetKeyDown(KeyCode.Space))
            {
                gravity_v = jumpPower * direction;
            }
            else
            {
                gravity_v = Vector3.zero;
            }
        }
        else
        {
            gravity_v = GravityController.UpdateGravity(
                direction,
                gravity_v);
        }

        character.Move(move_v + gravity_v * Time.deltaTime);
    }
Exemplo n.º 10
0
    public void Respawn()
    {
        // Reset gravity cubes on respawn
        GravityCubeController[] gravityCubes = FindObjectsOfType(typeof(GravityCubeController)) as GravityCubeController[];
        foreach (GravityCubeController gc in gravityCubes)
        {
            gc.ResetTrigger();
        }

        // Respawn with max health???
        health = maxHealth;
        healthBar.setValue(health);
        respawning = true;
        player.SetActive(false);
        //yield return new WaitForSeconds(1);
        player.transform.position = spawnpoint;
        player.transform.up       = up;
        GravityController playerGravityController = this.GetComponent <GravityController>();

        playerGravityController.SetGravity(-up);

        // lose coins
        TestMovement tm = player.GetComponent <TestMovement>();

        tm.decreaseScore();

        player.SetActive(true);
        anim.SetBool("Ss", true);
        respawning = false;
    }
Exemplo n.º 11
0
        private ControllerTest()
        {
            //Ground
            BodyFactory.CreateEdge(World, new Vector2(-40.0f, 0.0f), new Vector2(40.0f, 0.0f));

            //Create the gravity controller
            GravityController gravity = new GravityController(20);

            gravity.DisabledOnGroup      = 3;
            gravity.EnabledOnGroup       = 2;
            gravity.DisabledOnCategories = Category.Cat2;
            gravity.EnabledOnCategories  = Category.Cat3;

            World.AddController(gravity);

            Vector2 startPosition = new Vector2(-10, 2);
            Vector2 offset        = new Vector2(2);

            //Create the planet
            Body planet = BodyFactory.CreateBody(World);

            planet.Position = new Vector2(0, 20);

            CircleShape planetShape = new CircleShape(2, 1);

            planet.CreateFixture(planetShape);

            //Add the planet as the one that has gravity
            gravity.AddBody(planet);

            //Create 10 smaller circles
            for (int i = 0; i < 10; i++)
            {
                Body circle = BodyFactory.CreateBody(World);
                circle.BodyType        = BodyType.Dynamic;
                circle.Position        = startPosition + offset * i;
                circle.SleepingAllowed = false;

                CircleShape circleShape = new CircleShape(1, 0.1f);
                Fixture     fix         = circle.CreateFixture(circleShape);
                fix.CollisionCategories = Category.Cat3;
                fix.CollisionGroup      = 2;

                if (i == 4)
                {
                    circle.ControllerFilter.IgnoreController(ControllerType.GravityController);
                }

                if (i == 5)
                {
                    fix.CollisionCategories = Category.Cat2;
                }

                if (i == 6)
                {
                    fix.CollisionGroup = 3;
                }
            }
        }
Exemplo n.º 12
0
 void Start()
 {
     _rigidbody         = GetComponent <Rigidbody>();
     _animator          = GetComponent <Animator>();
     _gravityController = FindObjectOfType <GravityController>();
     _gravityController.register(this);
     _agent = GetComponent <NavMeshAgent>();
 }
 private void Start()
 {
     MessageKit.addObserver(EventTypes.JUMP_INPUT_DOWN, OnJumpInputDown);
     MessageKit.addObserver(EventTypes.JUMP_INPUT_UP, OnJumpInputUp);
     controller         = GetComponent <Controller2D>();
     gravityController  = GetComponent <GravityController>();
     movementController = GetComponent <MovementController>();
 }
Exemplo n.º 14
0
 // Use this for initialization
 void Start()
 {
     // initialise required components
     myRigidbody             = GetComponent <Rigidbody> ();
     playerCharacterMovement = GetComponent <CharacterMovement> ();
     playerGravityController = GetComponent <GravityController> ();
     playerTimeController    = GetComponent <TimeController> ();
 }
Exemplo n.º 15
0
 // Use this for initialization
 void Start()
 {
     player = GameObject.FindGameObjectWithTag("Player");
     Debug.Assert(player != null, "Could not find player");
     playerStartPosition = player.transform.position;
     gravControl = gravityCommand.GetComponent<GravityController>();
     startDirection = gravControl.CurrentDirection;
 }
Exemplo n.º 16
0
 private void Awake()
 {
     if (TheSurface == null)
     {
         TheSurface = GameObject.FindGameObjectWithTag("TheSurface").GetComponent <GravityController>();
     }
     isDetach = false;
 }
Exemplo n.º 17
0
    // Use this for initialization
    void Start()
    {
        targetHitSource = AudioHelper.CreateAudioSource(gameObject, targetHitSound);

        gravityController = GetComponent <GravityController>();
        rigidBody         = GetComponent <Rigidbody>();

        activated = false;
    }
Exemplo n.º 18
0
    public float straightVelocity = 18.0f; //if theta is invalid

    protected override void StateChanged()
    {
        base.StateChanged();

        switch ((State)state)
        {
        case State.Seek:
            Vector3 pos    = collider.bounds.center;
            Vector3 target = mSeek.position;
            if (target.x != pos.x)
            {
                float vel = seekVelocity;

                float x = target.x - pos.x;
                float y = target.y - pos.y;

                float distSqr = target.y < pos.y ? x * x : (target - pos).sqrMagnitude;
                if (distSqr > farDistance * farDistance)
                {
                    vel = farVelocity;
                }
                else if (distSqr < nearDistance * nearDistance)
                {
                    vel = nearVelocity;
                }

                //determine angle
                GravityController gctrl = GetComponent <GravityController>();
                float             grav  = Mathf.Abs(gctrl != null ? gctrl.gravity : Physics.gravity.magnitude);
                float             vSqr  = vel * vel;

                float theta = Mathf.Atan((vSqr + Mathf.Sqrt(vSqr * vSqr + grav * (grav * x * x + 2 * y * vSqr))) / (grav * x));
                if (float.IsNaN(theta))
                {
                    mDir = new Vector3(x, y, 0);
                    mDir.Normalize();
                    vel = straightVelocity;
                }
                else
                {
                    mDir.Set(Mathf.Sign(x), 0, 0);
                    mDir = Quaternion.AngleAxis(Mathf.Rad2Deg * theta, Vector3.forward) * mDir;
                }

                rigidbody.velocity = mDir * vel;    // .AddForce(mDir * vel, ForceMode.VelocityChange);
                //Debug.Log("theta: " + (Mathf.Rad2Deg * theta));
            }
            else
            {
                rigidbody.AddForce(new Vector3(0.0f, Mathf.Sign(target.y - pos.y), 0.0f) * seekVelocity, ForceMode.VelocityChange);
            }

            seek         = null;
            mActiveForce = Vector3.zero;
            break;
        }
    }
 /*****************************************************
 * AWAKE
 *
 * INFO:    Instance de la classe.
 *
 *****************************************************/
 void Awake()
 {
     //Initialise l'instance de cette classe
     if (instance == null)
     {
         instance = this;
     }
     //else { Destroy(this); }
 }
Exemplo n.º 20
0
 public void RedCube()
 {
     ThrowThing = Instantiate(ItemList[1]) as GameObject;
     throw1.DefaultPos(ThrowThing);
     ThrRb = ThrowThing.GetComponent <Rigidbody>();
     GC    = ThrowThing.GetComponent <GravityController>();
     SC    = ThrowThing.GetComponent <ScoreSender>();
     BC    = ThrowThing.GetComponent <BoxCollider>();
     Generate(ThrowThing);
 }
Exemplo n.º 21
0
 public void SetupPhysics()
 {
     FarseerPhysics.Settings.EnableDiagnostics         = false;
     FarseerPhysics.Settings.UseFPECollisionCategories = true;
     physicsWorld      = new World(Vector2.Zero);
     gravitycontroller = new GravityController(
         WorldConversions.PlanetGravityStrenght, WorldConversions.PlanetGravityRadius, 1);
     gravitycontroller.GravityType = GravityType.DistanceSquared;
     physicsWorld.AddController(gravitycontroller);
 }
Exemplo n.º 22
0
    public static GravityController GetInstance()
    {
        if (instance)
        {
            return(instance);
        }

        instance = FindObjectOfType <GravityController>();
        return(instance);
    }
Exemplo n.º 23
0
    public void AttachBody(GravityController planet)
    {
        TheSurface = planet;
        isDetach   = false;

        if (foot != null)
        {
            GroundedObject();
        }
    }
 private void Start()
 {
     MessageKit.addObserver(EventTypes.JUMP_INPUT_DOWN, OnJumpInputDown);
     controller         = GetComponent <Controller2D>();
     gravityController  = GetComponent <GravityController>();
     movementController = GetComponent <MovementController>();
     jumpController     = GetComponent <JumpController>();
     animController     = GetComponent <AnimatorController>();
     playerAudio        = GetComponent <PlayerAudio>();
 }
Exemplo n.º 25
0
 protected virtual void Awake()
 {
     m_death             = false;
     Scared              = false;
     m_footOffset        = GetComponent <SpriteRenderer>().size.y * 0.5f;
     m_rb                = GetComponent <Rigidbody2D>();
     m_speedMultiplier   = 1f;
     m_prevGravity       = Physics.gravity;
     m_gravityController = FindObjectOfType <GravityController>();
 }
Exemplo n.º 26
0
    // START
    void Start()
    {
        spriteRenderer = GetComponent <SpriteRenderer>();
        rb             = GetComponent <Rigidbody2D>();
        gravity        = GetComponent <GravityController>();

        Bounds spriteBounds = spriteRenderer.sprite.bounds;

        bounds = new CollisionBounds(spriteBounds, gameObject, boundsScale, boundsOffset);
    }
Exemplo n.º 27
0
    // Use this for initialization
    void Start()
    {
        launchSource = AudioHelper.CreateAudioSource(gameObject, launchSound);

        rigidBodyComp     = GetComponent <Rigidbody>();
        gravityController = GetComponent <GravityController>();

        mouseDown = false;
        launched  = false;
        ClearExpectedPath();
    }
Exemplo n.º 28
0
        public void Reset(List <Planet> planetList)
        {
            // Free's branch values are (.28f, 600, 0)
            planetGravity = new GravityController(.2f, 400, 0);
            _physicsManager.World.AddController(planetGravity);

            for (int i = 0; i < planetList.Count(); i++)
            {
                planetGravity.AddBody(planetList[i].body);
            }
        }
Exemplo n.º 29
0
 private void Awake()
 {
     if (Instance == null)
     {
         Instance = this;
     }
     else
     {
         Destroy(gameObject);
     }
 }
Exemplo n.º 30
0
    IEnumerator DoBombCorrection(Vector3 up)
    {
        yield return(new WaitForFixedUpdate());

        if (bomb)
        {
            bomb.rigidbody.detectCollisions = true;

            GravityController bombGrav = bomb.GetComponent <GravityController>();
            bombGrav.up = up;
        }
    }
Exemplo n.º 31
0
 public void Reset()
 {
     _gravity = GetComponent<GravityController>();
     _lastPosition = transform.position;
     _baseJumpImpulse = 17.0f;
     _holdJumpImpulse = 0.0f;
     _holdJumpImpulseStep = 47.0f;
     _holdJumpImpulseMax = 25.0f;
     _totalFactor = 0.8f;
     _wallJumpFactor = 1.5f;
     isJumpingUp = false;
     _isOn = false;
 }
Exemplo n.º 32
0
 // Start is called before the first frame update
 void Start()
 {
     m_timeManager          = GetComponent <TimeManager>();
     m_gravityController    = GetComponent <GravityController>();
     m_resultDataController = FindObjectOfType <ResultDataController>();
     if (File.Exists(FileController.GetFilePath(MazeMapping.m_textName)))
     {
         m_LoadButton.SetActive(true);
     }
     else
     {
         m_LoadButton.SetActive(false);
     }
 }
Exemplo n.º 33
0
    //Grabs the scripts that we are going to change values of from inside this script.
    void Start()
    {
        dispenser        = GameObject.Find("DispenserButton").GetComponent <ObjectDispenser> ();
        gravCon          = GameObject.Find("GravityManager").GetComponent <GravityController> ();
        uiScript         = GameObject.Find("InGameUI").GetComponent <UIScript> ();
        playerBody       = GetComponent <Rigidbody> ();
        cameraGameObject = Camera.main.gameObject;

        /*This part is only because of the pause menu. It makes sure you can move if you use the pause
         * menu to go back to the main menu you can move again after starting. Otherwise you wouldn't
         * be able to move if you go back to the main menu through this way. Because it doesn't reset
         * the timescale back to 1. */
        Time.timeScale = 1f;
    }
Exemplo n.º 34
0
 public void Reset()
 {
     _directionForward = Vector3.right;
     _directionBackward = Vector3.left;
     _gravity = GetComponent<GravityController>();
     _collisionController = GetComponent<CollisionController>();
     _currentForwardSpeed = 0;
     _currentBackwardSpeed = 0;
     _acceleration = 25.0f*1.5f;
     _damping = 0.3f;
     _maxSpeed = 15.0f*1.5f;
     _velocity = Vector3.zero;
     _force = Vector3.zero;
     _fromGravityToMovement = false;
     _isOn = false;
 }
Exemplo n.º 35
0
    void Awake()
    {
        GameObject dPad = GameObject.FindWithTag("DPad");
        images = new List<Image>(dPad.GetComponentsInChildren<Image>());
        gravControl = GameObject.FindObjectOfType<GravityController>();
        currentDirection = Direction.DOWN;
        gravControl.ChangeGravityDirection(GravityController.Direction.DOWN);

        if (hideDpad)
        {
            ChangeAlpha(images[0], 0);
            ChangeAlpha(images[1], 0);
            ChangeAlpha(images[2], 0);
            ChangeAlpha(images[3], 0);
        }
    }
Exemplo n.º 36
0
    void Awake ()
    {
        switch (currentMode)
        {
            case SWITCH_MODE.CLOCKWISE:
                actionDescription = "Grav C-wise";
                break;
            case SWITCH_MODE.COUNTER_CLOCKWISE:
                actionDescription = "Grav Cntr C-wise";
                break;
            case SWITCH_MODE.FLIP:
                actionDescription = "Grav Reverse";
                break;
        }

        gravControl = GetComponent<GravityController>();
        gravControl.CurrentDirection = GravityController.Direction.DOWN;


    }
Exemplo n.º 37
0
 void Start()
 {
     _movementController = GameObject.FindGameObjectWithTag("Player").GetComponent<MovementController>();
     _gravityController = GameObject.FindGameObjectWithTag("Player").GetComponent<GravityController>();
     _jumpingController = GameObject.FindGameObjectWithTag("Player").GetComponent<JumpingController>();
     _player = GameObject.FindGameObjectWithTag("Player");
     _levelGUI = GameObject.FindGameObjectWithTag("Level GUI").GetComponent<LevelGUI>();
     _startPosition = new Vector3(_player.transform.position.x, _player.transform.position.y, _player.transform.position.z);
     _startScale = new Vector3(_player.transform.localScale.x, _player.transform.localScale.y, _player.transform.localScale.z);
     _player.transform.localScale = new Vector3(0,0,0);
 }
Exemplo n.º 38
0
    protected override void Awake() {
        base.Awake();

        mStats = GetComponent<Stats>();
        mStats.changeHPCallback += OnStatsHPChange;
        mStats.isInvul = true;

        mBodyCtrl = GetComponent<PlatformerController>();
        if(mBodyCtrl)
            mBodyCtrl.moveSideLock = true;

        mGravCtrl = GetComponent<GravityController>();

        mBodySpriteCtrl = GetComponent<PlatformerSpriteController>();

        mDamageTriggers = GetComponentsInChildren<Damage>(true);

        if(!FSM)
            autoSpawnFinish = true;

        if(stunGO)
            stunGO.SetActive(false);

        if(activator)
            mDefaultDeactiveDelay = activator.deactivateDelay;

        if(deathActivateGO)
            deathActivateGO.SetActive(false);

        //initialize variables
    }
Exemplo n.º 39
0
 void Start()
 {
     _gravity = GetComponent<GravityController>();
     LocalUpdate();
 }
Exemplo n.º 40
0
 // Use this for initialization
 void Start()
 {
     _animator = GetComponent<Animator>();
     _gravity = GetComponent<GravityController>();
     _screenWidth = ScreenWidth();
 }