using System.Collections;
using System.Collections.Generic;
using UnityEngine;
//需增加功能 阻止重复建造 铲除建筑
///-----------------------------------------------------------------------------------------
/// Founction:
/// InvolvingKnowledge:
/// Author: AttouchAusturo
/// LatestReviseTime:
///-----------------------------------------------------------------------------------------
public class MultyGridBuild1 : MonoBehaviour
{
//建筑的代号 /理论上最多达到99
public int buildingID;
//建筑预制件 /提前指定
public GameObject followTestPrefab; //建造预览物体预制件 /暂定:小圆球
public GameObject resistBuildPrefab; //阻止建造物体预制件 /暂定:大方块
public GameObject tentPrefab; //帐篷
public GameObject materialsPrefab; //物资
public GameObject manorPrefab; //庄园
public GameObject warehousePrefab; //仓库
//要建造的建筑和建筑实例 /非提前指定
public GameObject objectToBuild; //衔接选择建筑与建造
public GameObject objectToReBuild; //衔接选择建筑与重建
public GameObject buildings; //建造物实例化
public GameObject virtualBuilding; //预览建造物
//编码内容
public int positionX = 0, positionZ, reBuildBuildingID;
//公有的建筑码 /编码为建筑属性
public int allCode;
//建筑码存储地址 /编码后转字符串 /地址为网格属性
public int theAddress;
public string strTheAddress;
//射线获取坐标
public Vector3 target;//鼠标点击位置的世界坐标
private Ray ray;
private RaycastHit hit;
//坐标转换
private Vector3 groundArea;
private Vector3 recGroundArea;
//是否仍被选中 /未点击建造
public int beSelected = 0;
private void OnGUI()
{
GUILayout.BeginHorizontal("box");
GUILayout.Label("选择建筑");
if (GUILayout.Button("小帐篷")) { buildingID = 1; beSelected = 1; } //边长1
if (GUILayout.Button("物资")) { buildingID = 2; beSelected = 1; } //边长1
if (GUILayout.Button("庄园")) { buildingID = 3; beSelected = 1; } //边长3
if (GUILayout.Button("仓库")) { buildingID = 4; beSelected = 1; } //边长2
if (GUILa
C#笔记10//建造游戏6/多网格建造
最新推荐文章于 2024-09-13 15:16:55 发布
本文是C#编程系列笔记的第十篇,主要探讨在游戏中实现多网格建造的功能。通过学习,读者将了解到如何在游戏环境中设计和实现允许玩家在多个网格位置建造的系统,涉及C#编程技巧和游戏逻辑的结合。
摘要由CSDN通过智能技术生成