Example #1
0
 public Camera()
 {
     m_location         = new LocationComponent(this);
     m_target           = new FollowTargetComponent(this, m_location);
     m_restrictPosition = new RestrictLocationComponent(this, m_location);
     m_zoom             = 1.0;
 }
    void updateCamera(Entity e)
    {
        RegularCameraComponent regularCamera = e.regularCamera;
        CameraComponent        camera        = e.camera;
        FollowTargetComponent  target        = e.followTarget;
        Vector2 targetPosition = target.target.position.pos;

        camera.camera.transform.position = new Vector3(targetPosition.x + regularCamera.offset.x, targetPosition.y + regularCamera.offset.y, regularCamera.offset.z);
    }
    void setMissileVelocity(Entity e, HomeMissileComponent homeMissile, FollowTargetComponent targetComponent)
    {
        Entity targetEntity = targetComponent.target;

        Vector2 position = e.position.pos;
        Vector2 targetPosition = targetEntity.position.pos;
        VelocityComponent velocity = e.velocity;

        tempVector.Set((targetPosition.x - position.x), (targetPosition.y - position.y));
        tempVector.Normalize();
        tempVector *= homeMissile.speed;
        tempVector -= velocity.vel;
        tempVector *= Kp;
        velocity.vel += tempVector;
    }
Example #4
0
    void updateCamera(Entity e)
    {
        SmoothCameraComponent smoothCamera = e.smoothCamera;
        CameraComponent       camera       = e.camera;
        FollowTargetComponent target       = e.followTarget;
        Vector2 targetPosition             = target.target.position.pos;

        Vector3 cameraPosition = camera.camera.transform.position;

        temp.x = cameraPosition.x + (targetPosition.x - cameraPosition.x) * LERP_FACTOR;

        Vector2 position = e.position.pos;

        snapCamera(e, position);
        e.position.pos.Set(position);
        camera.camera.transform.position = new Vector3(temp.x, position.y, smoothCamera.offset.z);
    }
Example #5
0
    void navigateMissile(Entity e, float deltaTime)
    {
        //HomeMissileComponent homeMissile = e.homeMissile;
        FollowTargetComponent targetComponent = e.followTarget;

        if (targetComponent.target != null && targetComponent.target.hasGameObject)
        {
            GameObject target = targetComponent.target.gameObject.gameObject;

            Vector2           position       = e.position.pos;
            Vector3           targetPosition = target.transform.position;
            VelocityComponent velocity       = e.velocity;

            float velocityX = (targetPosition.x - position.x) * 15.0f;
            float velocityY = (targetPosition.y - position.y) * 15.0f;

            velocity.vel.Set(Mathf.Lerp(velocity.vel.x, velocityX, deltaTime), Mathf.Lerp(velocity.vel.y, velocityY, deltaTime));
        }
    }
 bool hasFoundTarget(FollowTargetComponent targetComponent)
 {
     return targetComponent.target != null && targetComponent.target.hasPosition;
 }