Unity笔记
C# 脚本
Header 标注
代码中,在变量前写如下代码,可以在Inspector面板查看标注:
-------------- 实战应用 --------------
状态机
状态机负责管理状态切换,每个状态需要包含:Enter、(Loop)、Exit
InputSystem与多人分屏
有空再来整理吧,参考链接:https://www.bilibili.com/video/BV1HA411d7YQ/
- InputActions
- Control Schemes
- 根据InputSystem发出的事件,可以改变UI的图标
- Control Schemes
- PlayerInput组件
- 提供一个玩家控制,一个输入与
- 标识接受哪一个控制器的输入
- Actions、键位映射
- Auto-Switch:用户自动切换设备
- UI Input Module(不同玩家不同UI)
- Camera:切分镜头
- Behavior
- SendMessage(调用玩家Obj其他组件上的函数,下面举例了)
- 反射(Private也可以调用)
- OnMove
- Invoke Unity Events
- 拖脚本函数
-
★Invoke C Sharp Events
- SendMessage(调用玩家Obj其他组件上的函数,下面举例了)
- 脚本框架
- PlayerPawn(玩家身体)
- SetMovement
- PlayerController(读取输入)
- PlayerPawn(玩家身体)
- 每个玩家
- Player(Prefab)
- 模型/Obj
- PlayerPawn
- PlayerController(Prefab)
- 这个放到InputSystem Manager中
- PlayerInput
- PlayerController.cs
- PlayerPrefab(Player)
- Player(Prefab)
道具系统与UI
- Item
- enum ItemType
- GetSprite
- IsStackable
- ItemAssets 道具资产
- pfItemWorld
- swordSprite
- healthPotionSprite
- ...
- Inventory
- OnItemListChanged
- itemList
- useItemAction
- Inventory(useItemAction)
- AddItem
- RemoveItem
- UseItem
- GetItemList
- Player
- UseItem
- new Inventory
- onTriggerEnter
- ItemWorldSpawner
- public Item item;
- ItemInWorld.SpawnItemInWorld(this.pos,item)
- ItemInWorld
- SpawnItemWorld
- Instantiate
- SetItem
- this.item = item
- GetItem
- DestroySelf
- SpawnItemWorld
- UI Inventory
- (SetPlayer)
- SetInventory
- Inventory_OnItemListChanged
- RefreshInventoryItems