通用工具
纯纯小萌新
一只爱玩游戏的游戏人
展开
-
简便AStar (A*)算法寻路,自定义格子数据结构,抛弃插件的冗余,专注于寻路~
各位看官们好呀~AStar算法一搜一大把,大神们讲的都很详细,不过启发函数会影响算法的性能。简而言之我这个AStar在权值计算的时候加了判断去看看目前的路径的权值是否已经大于目前已经找到的最短路径权值,可以有效减少遍历的成本。如果有大神感觉这样写不对,欢迎留言给予指教丫。ps.排序用到了之前帖子写的堆排序,配合食用更加哟。AStar.cs:using System.Collections;using System.Collections.Generic;using UnityEngine;//原创 2021-03-01 16:55:39 · 366 阅读 · 0 评论 -
Unity按钮拓展,可用于单击,双击,长按(单次),长按(间隔),按下,抬起,进入,移出事件,创建透明按钮(删去了网格不会触发dc,只调透明度的普通按钮会触发dc),按钮置灰。
各位看官们~只需要引入两个脚本即可简便的监听各种按钮事件噢!!使用说明都在注释里咯UIButtonExtension:using System.Collections;using System.Collections.Generic;using UnityEngine;using UnityEngine.UI;using UnityEngine.Events;using UnityEngine.EventSystems;#if UNITY_EDITORusing UnityEditor;原创 2021-01-21 11:27:08 · 836 阅读 · 2 评论 -
Unity自定义信息储存工具(存档工具,可按照需求拓展为关卡编辑器),编辑器拓展样式查找工具
先说一下这个工具可以干神马呢~~~它可以让策划愉快的对游戏数据边调试边修改,方便他们调整数据用滴。也可以作为工程的自定义数据的存档,它会将数据存到.asset文件里面。接下来上代码。首先是自定义数据的数据结构,这里全部都可以自定义,但是类型最好用基础类型,数组或者list,因为本人踩了Dictionary的坑,貌似是无法识别到dictionary的改变导致不能储存,不知道有木有大神指点迷津= =LevelData:using System.Collections;using System.Colle原创 2020-12-15 14:56:50 · 950 阅读 · 0 评论 -
使用委托完成长按等各种点击事件以及不同的触发类型的处理
话不多说,前提条件:1、Physics Raycaster(放在Camera下)2、EventSystem组件然后,挂上脚本:public class PressedManager : MonoBehaviour, IPointerDownHandler, IPointerUpHandler, IPointerExitHandler{ public Action downAction; public Action upAction; public Action pressedAction;原创 2020-09-25 18:01:14 · 155 阅读 · 0 评论 -
排序算法:C#使用泛型和IComparable接口来实现自定义通用堆排序,正态分布排序,排序工具类
1.堆排序代码 /// <summary> /// 堆排序 /// </summary> /// <typeparam name="T">返回类型</typeparam> /// <param name="type">需要排序的类型</param> /// <param name="isMaxHeap">是否大根堆</param> /// <retur原创 2020-09-04 15:36:13 · 231 阅读 · 0 评论