学习Unity也有段时间了,准备做一款小demo来试试身手。设计思路是按照mmorpg游戏的模式设计一款拥有:战斗系统、武器系统、商店系统的小游戏。
以下是项目代码UML图:
战斗系统:
建立了一个基类Icharactor后,主角和敌人之间交互的通用部分可以通过调用对方的Icharactor类来实现,各自独立拥有的方法可以放在各自的类中,其中用到的思路就是c#等面向对象语言的继承的思想,公有的方法放在公有的基类中,独立的方法放在子类,互不干扰。当主角攻击敌人时,会调用敌人父类的承受攻击(TakeDamage)的方法。
每个人物拥有各种状态,状态间的转换可以用状态机的思想,以下是我对状态机的理解:
敌人Soldier类拥有FsmSystem状态机进行状态管理
using System;
using System.Collections;
using System.Collections.Generic;
using System.Text;
using UnityEngine;
public class SoldierFsm : IEnemy
{
public GameObject enemy;
FsmEnemySyste