예제 #1
0
    void Start()
    {
        Debug.Log(InputMapping.getValidControllersCount());

        foreach (var ID in InputMapping.getValidControllersID())
        {
            Debug.Log(ID);
        }

        InputMapping.useController(1);

        selectedIsland          = 0;
        this.transform.position = new Vector3(islands[0].transform.position.x, this.transform.position.y, islands[0].transform.position.z);
        selectors[0].SetActive(true);
        tweenPos = camera.GetComponent <TweenPosition>();
        tweenPos.ignoreTimeScale = true;
        tweenPos.duration        = tweenDuration;
        tweenPos.style           = UITweener.Style.Once;
        tweenPos.method          = UITweener.Method.EaseInOut;
        numberOfIsles            = positions.Count;
        staticPositions          = islands;
        currentIsland            = islands[selectedIsland].GetComponent <IslandDescriptor>();
        previousIsland           = null;

        if (islandTransitionEnd != null)
        {
            islandTransitionEnd(previousIsland, currentIsland, LevelCorner.Left);
        }
    }
예제 #2
0
        public void GenerateCluster(Vector2 center)
        {
            var sampler = new StratifiedSampler(random, 6);


            for (int i = 0; i < nbIslandsPerCluster; i++)
            {
                var pos = (center + (sampler.Sample() * distanceBetweenIslands)).ToXZ();
                pos.Y = random.Next(-2, 3) * 5;
                var isl  = level.CreateNewIsland(pos);
                var desc = new IslandDescriptor();
                desc.seed      = random.Next(0, 30);
                isl.Descriptor = desc;

                isl.Node.Relative = Matrix.RotationY((float)random.Next(8) * MathHelper.PiOver4) * isl.Node.Relative;
            }
        }
예제 #3
0
    void onIslandTransitionEnd(IslandDescriptor previousLevel, IslandDescriptor newLevel, CameraControlMenu.LevelCorner corner)
    {
        if (corner == CameraControlMenu.LevelCorner.Left && left)
        {
            button.enabled = false;
        }

        if (corner == CameraControlMenu.LevelCorner.Right && !left)
        {
            button.enabled = false;
        }

        if (corner == CameraControlMenu.LevelCorner.None)
        {
            button.enabled = true;
        }
    }
예제 #4
0
 void onLevelSelected(IslandDescriptor level)
 {
     button.enabled = false;
 }
예제 #5
0
 void onIslandTransitionStart(IslandDescriptor previousLevel, IslandDescriptor newLevel, CameraControlMenu.LevelCorner corner)
 {
     //button.enabled = false;
 }
예제 #6
0
 void onIslandTransitionEnd(IslandDescriptor previousLevel, IslandDescriptor newLevel, CameraControlMenu.LevelCorner corner)
 {
     name.enabled = true;
     name.text    = newLevel.Name;
 }
예제 #7
0
 void onLevelSelected(IslandDescriptor level)
 {
     name.enabled = false;
 }
예제 #8
0
    void Update()
    {
        if (running)
        {
            return;
        }

        direction = new Vector3(0, 0, 0);
        origin    = transform.position;


        float movement = InputMapping.GetAction(Actions.Horizontal);           //Input.GetAxis("Horizontal");

//		Debug.Log (movement);

        if (movement == 0)
        {
            return;
        }
        else if (movement > 0)
        {
            ++selectedIsland;

            if (selectedIsland > numberOfIsles - 1)
            {
                selectedIsland--;
                return;
            }

            selectors[selectedIsland - 1].SetActive(false);
        }
        else if (movement < 0)
        {
            selectors[selectedIsland].SetActive(false);
            --selectedIsland;

            if (selectedIsland < 0)
            {
                selectedIsland = 0;
                return;
            }

            selectors[selectedIsland + 1].SetActive(false);
        }

        if (selectedIsland == 0)
        {
            corner = LevelCorner.Left;
        }
        else if (selectedIsland == numberOfIsles - 1)
        {
            corner = LevelCorner.Right;
        }
        else
        {
            corner = LevelCorner.None;
        }

        running       = true;
        tweenPos.from = origin;
        tweenPos.to   = new Vector3(islands[selectedIsland].transform.position.x, origin.y, islands[selectedIsland].transform.position.z);
        tweenPos.ResetToBeginning();
        tweenPos.onFinished.Clear();

        previousIsland = currentIsland;
        currentIsland  = islands[selectedIsland].GetComponent <IslandDescriptor>();


        if (islandTransitionStart != null)
        {
            islandTransitionStart(previousIsland, currentIsland, corner);
        }

        EventDelegate.Add(tweenPos.onFinished, OnTweenFinished);
        tweenPos.PlayForward();
    }