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); } }
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; } }
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; } }
void onLevelSelected(IslandDescriptor level) { button.enabled = false; }
void onIslandTransitionStart(IslandDescriptor previousLevel, IslandDescriptor newLevel, CameraControlMenu.LevelCorner corner) { //button.enabled = false; }
void onIslandTransitionEnd(IslandDescriptor previousLevel, IslandDescriptor newLevel, CameraControlMenu.LevelCorner corner) { name.enabled = true; name.text = newLevel.Name; }
void onLevelSelected(IslandDescriptor level) { name.enabled = false; }
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(); }