public void OnClickForSizeReset() { SceneBuildBean sceneBuild = GameDataHandler.Instance.manager.CreateNewSceneData(sizeX, sizeY, sizeZ); BuildHandler.Instance.InitBuild(sceneBuild); CameraHandler.Instance.InitCamera(); }
/// <summary> /// 检测是否超过边界 /// </summary> /// <param name="buildPosition"></param> /// <returns></returns> public bool CheckBorder(Vector3 buildPosition) { SceneBuildBean sceneBuild = manager.GetSceneData(); if (buildPosition.x >= sceneBuild.sceneSizeX) { return(true); } if (buildPosition.x < 0) { return(true); } if (buildPosition.y >= sceneBuild.sceneSizeY) { return(true); } if (buildPosition.y < 0) { return(true); } if (buildPosition.z >= sceneBuild.sceneSizeZ) { return(true); } if (buildPosition.z < 0) { return(true); } return(false); }
/// <summary> /// 创建地基 /// </summary> /// <param name="sceneBuild"></param> public void CreateFoundation(SceneBuildBean sceneBuild) { for (int x = 0; x < sceneBuild.sceneSizeX; x++) { for (int z = 0; z < sceneBuild.sceneSizeZ; z++) { BuildForFoundation buildFoundation = CreateBuildBase<BuildForFoundation>(BuildTypeEnum.Foundation, new Vector3(x, -1, z)); if (x % 2 == 0) { if (z % 2 == 0) { buildFoundation.ChangeColor(1); } else { buildFoundation.ChangeColor(2); } } else { if (z % 2 == 0) { buildFoundation.ChangeColor(2); } else { buildFoundation.ChangeColor(1); } } } } }
public void OnClickForCreate() { SceneBuildBean sceneBuild = GameDataHandler.Instance.manager.CreateNewSceneData(10, 10, 10); BuildHandler.Instance.InitBuild(sceneBuild); //初始化摄像头 CameraHandler.Instance.InitCamera(); }
/// <summary> /// 初始化摄像头 /// </summary> public void InitCamera() { Camera camera = manager.GetMainCamera(); SceneBuildBean sceneBuild = GameDataHandler.Instance.manager.GetSceneData(); sceneCenterPosition = new Vector3((sceneBuild.sceneSizeX - 1) / 2f, 0, (sceneBuild.sceneSizeZ - 1) / 2f); camera.transform.position = new Vector3((sceneBuild.sceneSizeX - 1) / 2f, sceneBuild.sceneSizeY, -(sceneBuild.sceneSizeZ - 1)); camera.transform.LookAt(sceneCenterPosition); camera.transform.RotateAround(sceneCenterPosition, Vector3.up, 45); }
/// <summary> /// 获取数据 /// </summary> /// <param name="action"></param> /// <returns></returns> public SceneBuildBean GetSceneBuildData(string buildId, Action <SceneBuildBean> action) { SceneBuildBean data = GetModel().GetSceneBuildData(buildId); if (data == null) { GetView().GetSceneBuildFail("没有数据", null); return(null); } GetView().GetSceneBuildSuccess <SceneBuildBean>(data, action); return(data); }
private void Start() { //加载资源 BuildHandler.Instance.manager.LoadBuildBaseRes(BuildTypeEnum.Building, "def"); SceneBuildBean sceneBuild = GameDataHandler.Instance.manager.CreateNewSceneData(sizeX, sizeY, sizeZ); BuildHandler.Instance.InitBuild(sceneBuild); //初始化摄像头 CameraHandler.Instance.InitCamera(); //打开UI UIHandler.Instance.manager.OpenUI <UIGameStart>(UIEnum.GameStart); //设置镜面位置 Vector3 mirrorPosition = new Vector3((sceneBuild.sceneSizeX - 1) / 2f, -1.5f, (sceneBuild.sceneSizeZ - 1) / 2f); objMirror.transform.position = mirrorPosition; }
/// <summary> /// 检测指定点是否有建筑 /// </summary> /// <param name="buildPosition"></param> /// <returns></returns> public bool CheckHasBuild(Vector3 buildPosition) { SceneBuildBean sceneBuild = manager.GetSceneData(); return(sceneBuild.CheckHasBuild(buildPosition)); }
public void InitBuild(SceneBuildBean sceneBuild) { manager.ClearData(); CreateFoundation(sceneBuild); }
/// <summary> /// 移除场景建造数据 /// </summary> /// <param name="buildData"></param> public void RemoveSceneListBuildData(BuildBaseBean buildData) { SceneBuildBean sceneBuild = GetSceneData(); sceneBuild.RemoveListBuildData(buildData); }
/// <summary> /// 增加场景建造数据 /// </summary> /// <param name="buildData"></param> public void AddSceneListBuildData(BuildBaseBean buildData) { SceneBuildBean sceneBuild = GetSceneData(); sceneBuild.AddListBuildData(buildData); }
/// <summary> /// 获取场景建造数据 /// </summary> /// <returns></returns> public List <BuildBaseBean> GetSceneListBuildData() { SceneBuildBean sceneBuild = GetSceneData(); return(sceneBuild.listBuildData); }
/// <summary> /// 创建新的场景建造 /// </summary> /// <returns></returns> public SceneBuildBean CreateNewSceneData(int sizeX, int sizeY, int sizeZ) { sceneBuild = new SceneBuildBean(sizeX, sizeY, sizeZ); return(sceneBuild); }
/// <summary> /// 保存游戏数据 /// </summary> /// <param name="data"></param> public void SetSceneBuildData(SceneBuildBean data) { serviceSceneBuild.UpdateData(data); }
/// <summary> /// 获取游戏数据 /// </summary> /// <returns></returns> public SceneBuildBean GetSceneBuildData(string buildId) { SceneBuildBean data = serviceSceneBuild.QueryData(buildId); return(data); }
public void OnClickForCleanAll() { SceneBuildBean sceneBuild = GameDataHandler.Instance.manager.ClearSceneData(); BuildHandler.Instance.InitBuild(sceneBuild); }