C#笔记10//建造游戏6/多网格建造

本文是C#编程系列笔记的第十篇,主要探讨在游戏中实现多网格建造的功能。通过学习,读者将了解到如何在游戏环境中设计和实现允许玩家在多个网格位置建造的系统,涉及C#编程技巧和游戏逻辑的结合。
摘要由CSDN通过智能技术生成
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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值