💯 系列教程目录索引
📄(一)安装
📄(二)游戏规则
📄(三)配置手册
📄(四)整体架构
📄(五)编辑器扩展
📄(六)单人游戏模式
📄(七)集成Dedicated Server Kit(专用服务器套件)
📄(八)F.A.Q.
CCG Kit是一个全面的卡牌游戏开发解决方案,它包含了卡牌设计、游戏逻辑、用户界面、动画效果等关键组件。使用CCG Kit,开发者可以大幅缩短开发周期,专注于创造独特的游戏体验。
💯 创建新的卡片效果
CCG 套件包括一组默认卡片效果:
- 增加玩家属性:它在给定的持续时间内以给定的数量增加目标玩家的属性。
- 减少玩家属性:它在给定的持续时间内按给定的数量减少目标玩家的属性。
- 设置玩家统计数据:它将目标玩家的统计数据设置为给定值。
- 重置玩家属性:它将目标玩家的属性重置为其原始值。
- 增加卡牌属性:它在给定的持续时间内按给定的数量增加目标卡的属性。
- 减少卡牌属性:它在给定的持续时间内将目标卡的属性减少给定的数量。
- 设置卡牌属性:它将目标卡的属性设置为给定值。
- 重置卡牌属性:它将目标卡的属性重置为其原始值。
- 添加关键字:它将给定的关键字添加到目标卡中。
- 删除关键字:它从目标卡中删除给定的关键字。
- 移动卡牌效果:将目标卡牌移动到另一个游戏区域。
可以以非常方便的方式创建自己的自定义效果,编辑器将自动选择它们并在效果下拉列表中提供它们,而无需您编写任何其他代码来执行此操作。
如果要创建新效果,首先需要确定它是玩家效果(即,它针对一个玩家或一组玩家)还是卡牌效果(即,它针对一张牌或一组牌)。
我们以 增加玩家属性 效果作为玩家效应的参考:
[PlayerTarget]
public class IncreasePlayerStatEffect : PlayerEffect
{
[PlayerStatField("Player stat")]
[Order(1)]
public int statId;
[ValueField("Value")]
[Order(2)]
public Value value;
[IntField("Duration")]
[Order(3)]
public int duration;
public override void Resolve(GameState state, PlayerInfo player)
{
var modifier = new Modifier(value.GetValue(state, player), duration);
player.stats[statId].AddModifier(modifier);
}
}
而 减少卡牌效果 作为对卡牌效果的参考:
[CardTarget]
public class DecreaseCardStatEffect : CardStatEffect
{
[ValueField("Value")]
[Order(4)]
public Value value;
[IntField("Duration")]
[Order(5)]
public int duration;
public override void Resolve(GameState state, RuntimeCard card)
{
var modifier = new Modifier(-value.GetValue(state, card.ownerPlayer), duration);
card.stats[statId].AddModifier(modifier);
}
}
如您所见,有几个有用的Effect基类:
- PlayerEffect:播放器效果的基类。
- CardEffect:卡片效果的基类。
- CardStatEffect:卡片统计效果的实用工具基类。
以及Effect字段的几个有用特性:
- Order:它允许您在可视化编辑器中确定字段的呈现顺序。
- IntField:用于整数字段。
- EnumField:用于枚举字段。
- ValueField:用于值字段。
- PlayerStatField:用于玩家统计字段。
- CardTypeField:用于卡片类型字段。
- CardStatField:用于卡片统计字段。
- KeywordTypeField:用于关键字类型字段。
- KeywordValueField:用于关键字值字段。
- GameZoneField:用于游戏区域字段。
通过这些特性,您可以动态访问为游戏定义的常规设置(如统计信息或区域),而无需编写任何其他代码。这是上一个播放器效果在编辑器中的样子:
Effect 的实际逻辑发生在 Resolve 方法中,玩家 effects 的签名如下:
public override void Resolve(GameState state, PlayerInfo player)
{
// ...
}
卡片 effects 的签名如下:
public override void Resolve(GameState state, RuntimeCard card)
{
// ...
}
💯 CCG Kit 下载地址
《CCG Kit 策略卡牌游戏开发框架教程》目录索引
📄(一)安装
📄(二)游戏规则
📄(三)配置手册
📄(四)整体架构
📄(五)编辑器扩展
📄(六)单人游戏模式
📄(七)集成Dedicated Server Kit(专用服务器套件)
📄(八)F.A.Q.
🍉🍉🍉 如果觉得这篇文对你有帮助的话,请点个赞👍、收藏⭐️下吧,非常感谢! 💕💕💕
【博主简介】:10年以上软件开发经验,精通C语言
、C++
、C#
、Java
等开发语言,开发过大型 Android 项目,现主要自主开发经营 休闲益智类小游戏。
【粉丝福利】:博主收藏了大量游戏开发资源和素材。这些资源经过博主多年整理沉淀,现筛选一批精品资源,分享给大家学习研究。
Unity打怪军团 广招天下勇士加入 Unity学习互助小组 有意进群的同学联系我,互3互推也请联系我…