Ejemplo n.º 1
0
    private void InvisibleColliderFactory()
    {
        // Get trail component
        GameObject trail = transform.GetChild(3).gameObject;

        if (trail == null)
        {
            Debug.Log("Cannot find trail");
        }

        // Get InvisibleColliderFactory
        //colliderFactory = gameObject.GetComponent<InvisibleColliderFactory>();
        colliderFactory = trail.GetComponent <InvisibleColliderFactory>();
        if (colliderFactory == null)
        {
            Debug.Log("Find InvisibleColliderFactory failed");
            Application.LoadLevel(3);
        }
        Debug.Log("Get InvisibleColliderFactory success!");
    }
Ejemplo n.º 2
0
    public void SetInitParameters(Vector3 initPos, float initHorizontalDir, float initVerticalDir, int initLogicTime)
    {
        // Initilize position
        gameObject.transform.position = initPos;

        // Initilize direction and rotation
        curHorizontalDir = initHorizontalDir;
        curVerticalDir   = initVerticalDir;
        Vector3 moveDirection = new Vector3(curHorizontalDir, 0, curVerticalDir);

        transform.rotation = Quaternion.LookRotation(moveDirection);

        // Reset camera position
        mainCamera.transform.position = initPos + cameraMotorDistance;

        // Initialize collider container
        trailColliders  = new List <GameObject>();
        colliderFactory = gameStateManager.GetColliderFactory();
        CreateTrailCollider();

        // Init last processed time
        lastProcessedTime = initLogicTime;
    }
Ejemplo n.º 3
0
    public void SetStartState(GameObject prefab, float speed, Dictionary <string, object> addUserMessage,
                              InvisibleColliderFactory invisibleColliderFactory)
    {
        motor     = prefab;
        moveSpeed = speed;

        colliderFactory = invisibleColliderFactory;

        lastProcessedLogicTime = Convert.ToInt32(addUserMessage["time"]);

        // Initilize position
        float initPosX = Convert.ToSingle(addUserMessage["posX"]);
        float initPosY = Convert.ToSingle(addUserMessage["posY"]);
        float initPosZ = Convert.ToSingle(addUserMessage["posZ"]);

        initPosition             = new Vector3(initPosX, initPosY, initPosZ);
        motor.transform.position = initPosition;

        // Initilize rotation
        initHorizontalDir = Convert.ToSingle(addUserMessage["horizontalDir"]);
        initVerticalDir   = Convert.ToSingle(addUserMessage["verticalDir"]);
        curHorizontalDir  = initHorizontalDir;
        curVerticalDir    = initVerticalDir;
        Vector3 moveDirection = new Vector3(curHorizontalDir, 0, curVerticalDir);

        motor.transform.rotation = Quaternion.LookRotation(moveDirection);

        trailColliders = new List <GameObject>();

        processedMessage = new List <Dictionary <string, object> >();
        processedMessage.Add(addUserMessage);

        colliderPosOffset = new Vector3(0, 0, -0.5f);

        CreateTrailCollider();
    }