1 Star 0 Fork 3

wayfarer/rongYaoDaLuCode

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
ObjectPlacer.cs 1.88 KB
一键复制 编辑 原始数据 按行查看 历史
liyonghelpme 提交于 2015-05-19 23:14 +08:00 . rong Yao Da Lu Some Code For Game
using Pathfinding;
using System;
using UnityEngine;
public class ObjectPlacer : MonoBehaviour
{
public bool direct;
public GameObject go;
public bool issueGUOs = true;
public void PlaceObject()
{
RaycastHit hit;
if (Physics.Raycast(Camera.main.ScreenPointToRay(Input.mousePosition), out hit, float.PositiveInfinity))
{
Vector3 point = hit.point;
GameObject obj2 = (GameObject) UnityEngine.Object.Instantiate(this.go, point, Quaternion.identity);
if (this.issueGUOs)
{
GraphUpdateObject ob = new GraphUpdateObject(obj2.collider.bounds);
AstarPath.active.UpdateGraphs(ob);
if (this.direct)
{
AstarPath.active.FlushGraphUpdates();
}
}
}
}
public void RemoveObject()
{
RaycastHit hit;
if (Physics.Raycast(Camera.main.ScreenPointToRay(Input.mousePosition), out hit, float.PositiveInfinity) && (!hit.collider.isTrigger && (hit.transform.gameObject.name != "Ground")))
{
Bounds b = hit.collider.bounds;
UnityEngine.Object.Destroy(hit.collider);
UnityEngine.Object.Destroy(hit.collider.gameObject);
if (this.issueGUOs)
{
GraphUpdateObject ob = new GraphUpdateObject(b);
AstarPath.active.UpdateGraphs(ob, 0f);
if (this.direct)
{
AstarPath.active.FlushGraphUpdates();
}
}
}
}
private void Start()
{
}
private void Update()
{
if (Input.GetKeyDown("p"))
{
this.PlaceObject();
}
if (Input.GetKeyDown("r"))
{
this.RemoveObject();
}
}
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/wayfarer/rongYaoDaLuCode.git
git@gitee.com:wayfarer/rongYaoDaLuCode.git
wayfarer
rongYaoDaLuCode
rongYaoDaLuCode
master

搜索帮助