예제 #1
0
    private void Start()
    {
        movement = GetComponent <Movement2D>();
        shape    = GetComponent <Shape>();

        mouthAngle = new LerpValue(ChangeMouthAnimationDirection, 40f);
    }
예제 #2
0
    void OnTriggerEnter2D(Collider2D otherCollider)
    {
        string     infoName = gameObject.name;
        Movement2D avatar   = otherCollider.gameObject.GetComponent <Movement2D>();

        if (avatar != null)
        {
            if (infoName == "info1")
            {
                addingTheInfo(0);
            }
            else if (infoName == "info2")
            {
                addingTheInfo(1);
            }
            else if (infoName == "info3")
            {
                addingTheInfo(2);
            }
            else if (infoName == "info4")
            {
                addingTheInfo(3);
            }
            else if (infoName == "info5")
            {
                addingTheInfo(4);
            }
        }
    }
예제 #3
0
    // Use this for initialization
    void OnTriggerEnter2D(Collider2D otherCollider)
    {
        Movement2D player = otherCollider.gameObject.GetComponent <Movement2D> ();

        Debug.Log("ok");
        KeyPad.active = true;
    }
예제 #4
0
        private void FollowPlayer(float dt)
        {
            Vector3 position = transform.position;

            position = Vector3.MoveTowards(position, _followPlayer.PollenTarget.position, PollenBehaviorData.FollowPlayerSpeed * dt);
            Movement2D.Teleport(position);
        }
예제 #5
0
        public override void OnSpawn(SpawnPoint spawnpoint)
        {
            base.OnSpawn(spawnpoint);

            WaspSpawnPoint waspSpawnPoint = spawnpoint.GetComponent <WaspSpawnPoint>();

            _armorToAttack = waspSpawnPoint.ArmorToAttack;

            _splineYOffset = PartyParrotManager.Instance.Random.NextSingle(-waspSpawnPoint.Offset, waspSpawnPoint.Offset);

            // init our spline state
            _spline         = waspSpawnPoint.GetComponent <BezierSpline>();
            _splineLength   = _spline.EstimatedLength();
            _splinePosition = 0.0f;

            // teleport to our starting position
            // setting the behavior's Position doesn't seem to immediately warp
            // so falling back on just forcing the transform position to move :(
            Vector3 targetPosition = _spline.GetPoint(0.0f);

            targetPosition.y += _splineYOffset;
            Movement2D.Teleport(targetPosition);

            if (null != AnimationHelper)
            {
                AnimationHelper.SetFacing(Vector3.zero - transform.position);
            }

            SetState(WaspState.FollowingSpline);
        }
예제 #6
0
        private void GoToHive(float dt)
        {
            Vector3 position = transform.position;

            position = Vector3.MoveTowards(position, _hive.transform.position, PollenBehaviorData.GoToHiveSpeed * dt);
            Movement2D.Teleport(position);
        }
예제 #7
0
        protected override void PhysicsUpdate(float dt)
        {
            if (!CanMove)
            {
                return;
            }

            if (!PlayerBehaviorData.AllowAirControl && IsFalling)
            {
                return;
            }

            Vector3 velocity = MoveDirection * PlayerBehaviorData.MoveSpeed;

            if (Movement2D.IsKinematic)
            {
                Movement2D.Teleport(Movement2D.Position + velocity * dt);
            }
            else
            {
                velocity.y          = Movement2D.Velocity.y;
                Movement2D.Velocity = velocity;
            }

            base.PhysicsUpdate(dt);
        }
    private float deathLimitY; // 플레이어가 사망하는 바닥 Y 위치

    public void Setup(Vector2Int position, int mapSizeY)
    {
        movement2D = GetComponent <Movement2D>();

        transform.position = new Vector3(position.x, position.y, 0);

        deathLimitY = -mapSizeY / 2;
    }
예제 #9
0
    private void Awake()
    {
        movement2D = GetComponent <Movement2D>();

        float x = Random.Range(-1.0f, 1.0f);
        float y = Random.Range(-1.0f, 1.0f);

        movement2D.MoveTo(new Vector3(x, y, 0));
    }
예제 #10
0
    // Use this for initialization
    void OnTriggerEnter2D(Collider2D otherCollider)
    {
        Movement2D player = otherCollider.gameObject.GetComponent <Movement2D>();

        if (player != null)
        {
            Destroy(transform.parent.gameObject);
        }
    }
예제 #11
0
 private void Awake()
 {
     animator          = GetComponent <Animator>();
     movement2D        = GetComponent <Movement2D>();
     spriteRenderer    = GetComponent <SpriteRenderer>();
     capsuleCollider2D = GetComponent <CapsuleCollider2D>();
     rb = GetComponent <Rigidbody2D>();
     HP = MaxHp;
 }
    //public Animator animator;

    // Use this for initialization
    void Start()
    {
        Movement = GetComponent <Movement2D>();
        //just some physics to set the gravity and jump velocity
        gravity                     = -(2 * maxJumpHeight) / Mathf.Pow(timeToJumpApex, 2);
        maxJumpVelocity             = Mathf.Abs(gravity) * timeToJumpApex;
        minJumpVelocity             = Mathf.Sqrt(2 * Mathf.Abs(gravity) * minJumpHeight);
        Movement.collisions.faceDir = 1;
        print("Gravity: " + gravity + " Jump Velocity: " + maxJumpVelocity);
    }
예제 #13
0
    private void OnTriggerEnter2D(Collider2D collision)
    {
        if (!collision.CompareTag("Enemy"))
        {
            return;
        }
        Movement2D movement2D = collision.GetComponent <Movement2D>();

        movement2D.MoveSpeed -= movement2D.MoveSpeed * towerWeapon.Slow;
    }
예제 #14
0
 void Start()
 {
     _rb              = GetComponent <Rigidbody2D>();
     _anim            = GetComponent <Animator>();
     _col             = GetComponent <BoxCollider2D>();
     _movement        = GetComponent <Movement2D>();
     _rb.gravityScale = gravity;
     faceX            = 1;
     ControlLock.Register("FlipX", this);
 }
예제 #15
0
 // Use this for initialization
 public void Start()
 {
     oldPoint        = transform.position;
     Movement        = GetComponent <Movement2D>();
     globalWaypoints = new Vector3[localWaypoints.Length];
     for (int i = 0; i < localWaypoints.Length; i++)
     {
         globalWaypoints[i] = localWaypoints[i] + transform.position;
     }
     //platrb = GetComponent<Rigidbody2D>();
 }
예제 #16
0
 protected void Start()
 {
     if (!mov2D)
     {
         mov2D = GetComponent <Movement2D>();
     }
     if (!spriteRenderer)
     {
         spriteRenderer = GetComponent <SpriteRenderer>();
     }
 }
 // Use this for initialization
 public void Start()
 {
     currentState    = CoreStates.Default;
     oldPoint        = transform.position;
     Movement        = GetComponent <Movement2D>();
     globalWaypoints = new Vector3[localWaypoints.Length];
     for (int i = 0; i < localWaypoints.Length; i++)
     {
         globalWaypoints[i] = localWaypoints[i] + transform.position;
     }
 }
예제 #18
0
    private void PickUpSword()
    {
        isPlayerHoldingSword = true;
        transform.SetParent(player.transform);

        Movement2D playerMovement = player.GetComponent <Movement2D>();

        originalPlayerMoveSpeed     = playerMovement.maxMoveSpeed;
        playerMovement.maxMoveSpeed = playerMovementWhileCarrying;

        player.GetComponent <PlayerAnimation>().OnPickupSword();
    }
예제 #19
0
    public void Setup(EnemySpawner enemySpawner, Transform[] wayPoints)
    {
        movement2D        = GetComponent <Movement2D>();
        this.enemySpawner = enemySpawner;

        wayPointCount  = wayPoints.Length;
        this.wayPoints = new Transform[wayPointCount];
        this.wayPoints = wayPoints;

        transform.position = wayPoints[currentIndex].position;

        StartCoroutine("OnMove");
    }
예제 #20
0
    public void Setup(GameManager gameManager, Transform[] wayPoints)
    {
        movement2D = GetComponent <Movement2D>();

        wayPointCount  = wayPoints.Length;
        this.wayPoints = new Transform[wayPointCount];
        this.wayPoints = wayPoints;
        //시작위치
        transform.position = wayPoints[currentIndex].position;

        StartCoroutine(EnemyAI());
        StartCoroutine(OnMove());
    }
예제 #21
0
 // Use this for initialization
 void Start()
 {
     animator            = GetComponent <Animator>();
     collider            = GetComponent <Collider2D>();
     flash               = GameObject.Find("Flash").GetComponent <Flash>();
     horizontalAxis      = GetComponent <ConsumeAxis>();
     movement            = GetComponent <Movement2D>();
     particlesDust       = GameObject.Find("particles-dust").GetComponent <ParticleSystem>();
     particlesDeath      = GameObject.Find("particles-death").GetComponent <ParticleSystem>();
     particlesDeathSmoke = GameObject.Find("particles-deathsmoke").GetComponent <ParticleSystem>();
     particlesKick       = GameObject.Find("particles-kick").GetComponent <ParticleSystem>();
     renderer            = GetComponent <SpriteRenderer>();
 }
예제 #22
0
    public void Setup(Transform[] wayPoints)
    {
        movement2D = GetComponent <Movement2D>();

        // 적 이동 경로 WayPoints 정보 설정
        wayPointCount  = wayPoints.Length;
        this.wayPoints = new Transform[wayPointCount];
        this.wayPoints = wayPoints;

        // 적 위치 첫번째 wayPoint 위치로 설정
        transform.position = wayPoints[currentIndex].position;

        StartCoroutine("OnMove");
    }
예제 #23
0
    void OnTriggerEnter2D(Collider2D otherCollider)
    {
        string keyName = gameObject.name;

        player = otherCollider.gameObject.GetComponent <Movement2D>();
        if (player != null)
        {
            if (keyName == "DoorButton")
            {
                GameObject.Find("ButtonDoor01").GetComponent <MeshRenderer>().enabled  = false;
                GameObject.Find("ButtonDoor01").GetComponent <BoxCollider2D>().enabled = false;
            }
        }
    }
예제 #24
0
        private void Float(float dt)
        {
            // recycle if we're off the screen
            Vector3 position = transform.position;

            if (position.y - Pollen.Height / 2.0f > GameStateManager.Instance.GameManager.GameData.ViewportSize)
            {
                Pollen.Recycle();
                return;
            }

            position.y += PollenBehaviorData.FloatSpeed * dt;
            Movement2D.Teleport(position);
        }
예제 #25
0
    void OnTriggerEnter2D(Collider2D otherCollider)
    {
        Movement2D player = otherCollider.gameObject.GetComponent <Movement2D>();

        if (player != null)
        {
            print(KeyCounterScript.score);
            if (KeyCounterScript.score >= 2)
            {
                KeyCounterScript.score -= 2;
                Destroy(gameObject);
            }
        }
    }
예제 #26
0
    // Start is called before the first frame update
    void Start()
    {
        gravity      = -(2 * jumpHeight) / Mathf.Pow(jumptimeApex, 2);
        jumpVelocity = -gravity * jumptimeApex;
        controller   = GetComponent <Movement2D>();
        healthBar    = GetComponent <HealthBar>();
        healthBar.RedrawHearts(maxHeartCount);
        currentJumpCount   = nrOfJumps;
        lastTimeTookDamage = Time.time;
        startPos           = transform.position;

        currentHeartCount   = maxHeartCount;
        currentLivesCounter = numberOfLives;
        currentStamina      = staminaMax;
    }
예제 #27
0
 // Use this for initialization
 void Start()
 {
     Cursor.lockState = CursorLockMode.Confined;
     if (!mov2D)
     {
         mov2D = GetComponent <Movement2D>();
     }
     if (weapon == null)
     {
         weapon = GetComponentInChildren <Weapon>();
     }
     if (!jumpTarget)
     {
         jumpTarget = GameObject.Find("JumpTarget").transform;
     }
 }
예제 #28
0
        protected override void PhysicsUpdate(float dt)
        {
            base.PhysicsUpdate(dt);

            if (!CanMove || WaspState.FollowingSpline != _state)
            {
                return;
            }

            _splinePosition += WaspBehaviorData.MoveSpeed * dt;

            float t = _splinePosition / _splineLength;

            Vector3 targetPosition = _spline.GetPoint(t);

            targetPosition.y += _splineYOffset;
            Movement2D.Teleport(targetPosition);
        }
예제 #29
0
        protected override void PhysicsUpdate(float dt)
        {
            base.PhysicsUpdate(dt);

            // swarming while the game is paused is kinda cool
            // so we should allow it
            bool canMove = CanMove || PartyParrotManager.Instance.IsPaused;

            if (!canMove || BeeState.Follow != _state)
            {
                return;
            }

            Vector3 swarmPosition  = _targetSwarm.Center.position;
            Vector3 targetPosition = swarmPosition + _swarmOffsetPosition;

            Movement2D.MoveTowards(targetPosition, BeeBehaviorData.SwarmSpeed, dt);
        }
예제 #30
0
 // Update is called once per frame
 void Update()
 {
     position  = gameObject.transform.position.x; // X position of this object
     mvnt      = GetComponent <Movement2D>();
     elevation = transform.position.y;            // gets current y value of player
     fallCheck();
     distance = getDistance();
     if (player == 1)
     {
         PlayerMovement(player1controls, getDirectionalAnimationlist());
     }
     if (player == 2)
     {
         PlayerMovement(player2controls, getDirectionalAnimationlist());
     }
     HealthDisplayUpdater();
     EndGameCheck();
 }
예제 #31
0
 // Use this for initialization
 void Start()
 {
     control = GetComponent<Movement2D> ();
 }
예제 #32
0
 protected void Start()
 {
     player = gameObject.GetComponent<Player> ();
     movement2D = gameObject.GetComponent<Movement2D> ();
     speed = movement2D.maxSpeed;
 }