当前位置: 首页 > news >正文

培训网站开发需求说明书保定市建网站的公司

培训网站开发需求说明书,保定市建网站的公司,动漫制作专业专升本大学,最常用的网页制作工具前一篇已经使用ScriptableObject(SO)类配置可放置物体#xff0c;本篇探索更多的SO类应用场景。 需求分析 将若干指定物体放在工作台上#xff0c;可以生成新的物体。 成果展示 Scene部分 准备工作台#xff0c;放在工作台上的物体全部放在指定PlacedObjects空物体下。 …前一篇已经使用ScriptableObject(SO)类配置可放置物体本篇探索更多的SO类应用场景。 需求分析 将若干指定物体放在工作台上可以生成新的物体。 成果展示 Scene部分 准备工作台放在工作台上的物体全部放在指定PlacedObjects空物体下。 准备如下几种物体及其配方 正方体长方体 两个正方体;圆柱轮组 长方体 圆柱汽车 两个长方体 两个轮组 上一章节以及设计了PlaceObjectTypeSO 配置所有可以放置物体接下来需要设计配方SO类。 需要定义其配方和输出的物体 每当新的物体放在工作台上就要检查是否是配方中的物体类型是否集齐全部物体。 脚本部分 PlacedObjectTypeSO.cs 内容与前篇一致修改了两个地方 1、当项目中出现多个SO类时可以定义如下内容使其他在editor 中合理的展示。 [CreateAssetMenu(fileName PlacedObjectTypeSO,menuName ScriptableObjects/PlacedObjectTypeSO)] 2、public Sprite sprite 仓库栏中的Image也可以配置在SO这样更加合理。 [Serializable] [CreateAssetMenu(fileName PlacedObjectTypeSO,menuName ScriptableObjects/PlacedObjectTypeSO)] public class PlacedObjectTypeSO : ScriptableObject {public GoodsName goodsName;public string nameString;public Transform prefab;public Sprite sprite;public int width;public int height; }CraftingRecipeSO.cs 这里检查工作台上是否集齐配方物体的逻辑 创建一个列表waitInPlaceObjectSOList初始状态时包括所有配方物体每当有物体放在工作台上时检查是否是配方元素如果是就从列表中移除对应物体。直到列表元素为0表示已经集齐所有配方元素输出合成的物体。成功合成的物体放回仓库栏并清除工作台的所有物体并恢复列表初始状态。 该逻辑只是暂时用在演示合成物体的部分只能仅供参考存在很多尚未考虑的内容暂时不予解决如 如果两个配方存在重合的元素如AB ABACB ABC那种A和B先放置在工作台上时永远只能合成AB无法合成ACB [CreateAssetMenu(fileName CraftingRecipeSO, menuName ScriptableObjects/CraftingRecipeSO)] public class CraftingRecipeSO : ScriptableObject {public PlacedObjectTypeSO outPlaceObjectSO;public PlacedObjectTypeSO[] recipeArray;private ListPlacedObjectTypeSO waitInPlaceObjectSOList;public void Init(){waitInPlaceObjectSOList new ListPlacedObjectTypeSO();for (int i 0; i recipeArray.Length; i){waitInPlaceObjectSOList.Add(recipeArray[i]);}}public PlacedObjectTypeSO GoodsOnTableChanged(PlacedObjectTypeSO inPlaceObjectSO){if (waitInPlaceObjectSOList null|| waitInPlaceObjectSOList.Count0) Init();if (waitInPlaceObjectSOList.Contains(inPlaceObjectSO)){waitInPlaceObjectSOList.Remove(inPlaceObjectSO);if (waitInPlaceObjectSOList.Count 0){return outPlaceObjectSO;}}return null;}}PlaceObjectBuilding.cs 大多数内容与前篇一致需要完善工作台部分内容。 public class PlaceObjectBuilding : MonoBehaviour{[SerializeField] ListCraftingRecipeSO craftingRecipeSOList;[SerializeField] Transform craftTable;private void Update(){if (selectedPlacedObjectTypeSO ! null){if (Input.GetMouseButtonDown(0)){Vector3 placePosition Mouse3D.GetMouseWorldPosition();placePosition.y 0;Transform placeObjectTransform Instantiate(selectedPlacedObjectTypeSO.prefab,placePosition,Quaternion.Euler(0, selectedPlacedObjectTypeSO.GetRotationAngle(dir), 0));//如果放在了工作台地板上就将craftTable作为父物体if (Mouse3D.GetClickedTransform().parent.parent craftTable.parent){placeObjectTransform.SetParent(craftTable);//放置的物体在所有配方中进行检查craftingRecipeSOList.ForEach(_ {PlacedObjectTypeSO outGoodsSo _.GoodsOnTableChanged(selectedPlacedObjectTypeSO);//成功合成之后清除工作台上的物品恢复配方中的缓存列表新物体放回仓库if (outGoodsSo ! null){for (int i 0; i craftTable.childCount; i){Destroy(craftTable.GetChild(i).gameObject);}craftingRecipeSOList.ForEach(recipeSo {recipeSo.Init();});inventory.AddGoods(outGoodsSo);};});}else if (Mouse3D.GetClickedTransform().parent transform.parent){placeObjectTransform.SetParent(transform.parent);}DeselectObjectType();}}} }
http://www.hkea.cn/news/14304982/

相关文章:

  • 网站设计公司简介wordpress本地速度
  • 平山县建设局网站锡盟网站建设
  • 促销直播网站开发延边州建设厅网站
  • 网站建设策划方案书下载怎么把视频做成网页链接
  • 如何自己开个网站平台深圳极速网站建设报价
  • 网站建设合同的主要内容四川建设厅报名网站
  • 福田做网站联系电话株洲网站建设报价
  • 局域网网站制作南昌seo招聘信息
  • 广州市官网网站建设报价网站制作报价被哪些因素影响
  • 网站怎么做网页游戏九度网站建设
  • 北京建站方案要查询一个网站在什么公司做的推广怎么查
  • 建设银行网站源码企业营销战略
  • mysql8.0 wordpress邢台做网站建设优化制作公司金信
  • 住房和城乡建设部注册中心网站网站邮箱配置
  • 行业门户网站是什么wordpress 打开速度
  • 湖北网站建设服务动易网站系统怎么样
  • 平面设计师用的网站镇江建设网站的公司
  • 建立网站顺序去国外做外卖网站好
  • 微信网站建设方案ppt东莞美食网站建设报价
  • 注册国外网站用什么邮箱网站设计报价
  • 做网站的启蒙思想网站的服务器在哪里
  • 在门户网站中营销者通过制作什么做网站虚拟主机多少钱
  • 铜仁网站建设专业推广企业网站公司
  • 做网站得多少钱网站推广积分
  • 优秀企业网站欣赏关于申请开通网站建设的请示
  • 得力企业网站建设个人网站备案可以做博客吗
  • 网站到处仿seo的中文意思是什么
  • 重庆渝中区企业网站建设哪家好农村建设房子建设网站建设
  • 3D特效做首页的网站ainihejian wordpress
  • 四川网站seo软件平台有哪些