示例#1
0
    public void OnClickForSizeReset()
    {
        SceneBuildBean sceneBuild = GameDataHandler.Instance.manager.CreateNewSceneData(sizeX, sizeY, sizeZ);

        BuildHandler.Instance.InitBuild(sceneBuild);
        CameraHandler.Instance.InitCamera();
    }
示例#2
0
    /// <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);
    }
示例#3
0
 /// <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();
    }
示例#5
0
    /// <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);
    }
示例#6
0
    /// <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);
    }
示例#7
0
    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;
    }
示例#8
0
    /// <summary>
    /// 检测指定点是否有建筑
    /// </summary>
    /// <param name="buildPosition"></param>
    /// <returns></returns>
    public bool CheckHasBuild(Vector3 buildPosition)
    {
        SceneBuildBean sceneBuild = manager.GetSceneData();

        return(sceneBuild.CheckHasBuild(buildPosition));
    }
示例#9
0
 public void InitBuild(SceneBuildBean sceneBuild)
 {
     manager.ClearData();
     CreateFoundation(sceneBuild);
 }
示例#10
0
    /// <summary>
    /// 移除场景建造数据
    /// </summary>
    /// <param name="buildData"></param>
    public void RemoveSceneListBuildData(BuildBaseBean buildData)
    {
        SceneBuildBean sceneBuild = GetSceneData();

        sceneBuild.RemoveListBuildData(buildData);
    }
示例#11
0
    /// <summary>
    /// 增加场景建造数据
    /// </summary>
    /// <param name="buildData"></param>
    public void AddSceneListBuildData(BuildBaseBean buildData)
    {
        SceneBuildBean sceneBuild = GetSceneData();

        sceneBuild.AddListBuildData(buildData);
    }
示例#12
0
    /// <summary>
    /// 获取场景建造数据
    /// </summary>
    /// <returns></returns>
    public List <BuildBaseBean> GetSceneListBuildData()
    {
        SceneBuildBean sceneBuild = GetSceneData();

        return(sceneBuild.listBuildData);
    }
示例#13
0
 /// <summary>
 /// 创建新的场景建造
 /// </summary>
 /// <returns></returns>
 public SceneBuildBean CreateNewSceneData(int sizeX, int sizeY, int sizeZ)
 {
     sceneBuild = new SceneBuildBean(sizeX, sizeY, sizeZ);
     return(sceneBuild);
 }
示例#14
0
 /// <summary>
 /// 保存游戏数据
 /// </summary>
 /// <param name="data"></param>
 public void SetSceneBuildData(SceneBuildBean data)
 {
     serviceSceneBuild.UpdateData(data);
 }
示例#15
0
    /// <summary>
    /// 获取游戏数据
    /// </summary>
    /// <returns></returns>
    public SceneBuildBean GetSceneBuildData(string buildId)
    {
        SceneBuildBean data = serviceSceneBuild.QueryData(buildId);

        return(data);
    }
示例#16
0
    public void OnClickForCleanAll()
    {
        SceneBuildBean sceneBuild = GameDataHandler.Instance.manager.ClearSceneData();

        BuildHandler.Instance.InitBuild(sceneBuild);
    }