Example #1
0
        public int AddPath(int locationX, int locationY)
        {
            List<MapPathSetting> paths = new List<MapPathSetting>(MapData.Paths);
            MapPathSetting path = new MapPathSetting();
            path.ColorR = Random.value;
            path.ColorG = Random.value;
            path.ColorB = Random.value;
            MapWaypointSetting waypoint = new MapWaypointSetting();
            waypoint.X = locationX;
            waypoint.Y = locationY;
            path.Waypoints = new MapWaypointSetting[] { waypoint };
            paths.Add(path);
            MapData.Paths = paths.ToArray();

            Modify(EditorEvent.MAP_UPDATE_PATHS, null);
            return paths.Count - 1;
        }
Example #2
0
        public void Load(int pathIndex, MapPathSetting data, Operate operateSet, Operate operateRemove)
        {
            this.pathIndex = pathIndex;
            this.operateSet = operateSet;
            this.operateRemove = operateRemove;

            ColorField.color = new Color(data.ColorR, data.ColorG, data.ColorB);

            for (int i = WaypointGroup.transform.childCount - 1; i >= 0; --i)
                GameObject.DestroyImmediate(WaypointGroup.transform.GetChild(i).gameObject);

            int lineHeight = 24;
            for (int i = 0; i < data.Waypoints.Length; ++i)
            {
                MapWaypointSetting waypointSetting = data.Waypoints[i];
                GameObject WaypointEntry = GameObject.Instantiate(WaypointEntryPrefab);
                WaypointEntry.transform.SetParent(WaypointGroup.transform, false);
                WaypointEntry.transform.localPosition = new Vector3(0, -i * lineHeight);
                UIBase.FindUIObject<Text>(WaypointEntry, "Text").text = string.Format("{0}:({1}, {2})", i, waypointSetting.X, waypointSetting.Y);
                UIBase.FindUIObject<Button>(WaypointEntry, "ResetButton").onClick.AddListener(OnResetPoint(i));
                UIBase.FindUIObject<Button>(WaypointEntry, "RemoveButton").onClick.AddListener(OnRemovePoint(i));
            }
            gameObject.GetComponent<LayoutElement>().minHeight = lineHeight * data.Waypoints.Length + 12;
        }