EF6FXKYIVJCURLSC2CLS27FCTECIIIU2EEPI352ZTCIKYKW5VOBQC
GMP7XBAZ6PJ34WTZUTMOG3RKCH3TKTH33CI62V5YBEQT3D3L3LBQC
I23YVJJUZW4V7NLEDVTZBH7XMCBEQ6XILNHST62XRM5G5BWUXKFQC
MQD6ISMHW27RCHAGJUINEULYXSY3JQ3UKVQPEM5PYDMM32TUYAYQC
ROTMK5LNNK7T5YXVOMUODVMCQWIHPZYOME4WDIAMZJ4VXD7SOEBAC
5YUI4V7A6ONEYREG5CXWHMBYCOP6Q3GMMQD2OTHXZAGKCGM4FWBAC
VZRSH4U473FCZOP5EXURPXXN5J6F3ZLT435YY7A2JHLG2ZZB5KLQC
M2C63XUU3TKYAUPPSPEFVF4CMBQMCVLZATANFWQW35MMYNRB2SEAC
6BA5NHNF3UWSL65KCWSXLRTPGYVS4N4NORDJ4FZTZ5SRRDPI4YZAC
MNQAZILY2KCL4TQRVIHDZT3IBVF2636GC5BCZPR2YA76C4JI353QC
A6K2SVTQ3JQ3TC3F44H3ERSX47TRQ6R5EJGIRJKFGKZG6I4HOATQC
4PLSNSVW4VOQW5ZXXZGUWB56WI33SXTGWOCD7PNE36OWDGD7NRJAC
O236B5LO6PHJ4TPZGYXDVSLB5EGXXRRLYYVWI46DPL5LEGXEIHZQC
DIEGZM3YMQCKTQW3NLESFZBOGMWW6FT6TZOUL7IUAJD2X5IISUYAC
FIMVA3BI72IWMBRN5T3PKDCKSJW667BH25INKDWSPWGHLRKCNAPAC
S6LIARO3HIMP67ZDRIPPU3NC4GM6JQQODDIFGZH5HBN75JHFFSQAC
MML56TWYWB6SUY5JEWHG2PNLAH3JY72PGCEXIGOYE54EAC2WSWBAC
DTKCWM4J7PFNWAAES3RZHQGDA6PTDNX4TZVOXAKF5V7LCZBI3XUAC
JZVIQ3IPEXQ5OWCAKZQW666LXIZLMP5U247YI6Y2EJ7MDNWPGCZQC
4JF2MUNF23IFAVVECZNP3JJLFPEB36V7FDRQOKIZNF6Q2FAGOFRQC
577EKAKIUP5R4STCPLRNJT6IJR6G232FAJ2T7DSCK2LOJZ5EG55QC
5I5QA3YK5G5QQCXMSDOEAX3A74LVXV7PYWAIHMLFANR2GUFWMKGQC
S5OSCH7CRN2YEKVTCTJXNLYR2B3PEGCCBUGTN2M6QOCKBNJR62NAC
VF7O5JL3OV4LGYOBYWTIA5KDC2EBJALKBOUEE2H3GISDPU4HRR2AC
IA2O33JCJVSJ3IVBBHX2XQU4BCPL3X6JDDZ2R2KNGUFPWXAUKO7QC
IFN4UDLTN7TD26CPONDCRHW4G3DJEXEYV62ZHZC4QD7DKJ76JAEQC
JLT7KOJ5QGXMRLXQXOHDTF62W3EGPX7XTHNEYAKGMJKK3V4QUPGQC
CD5FF75KTOBTMVMTMCKMR6F5DFKOF26I5K43ITNHGBI3ZAZHA4RAC
HXTSBPAP75A7EC4RKWYQMVPPHPNZFPHUORBZWDHGEB6MPAGI7G7AC
var weaponMoveSet = _equippedWeapon.GetCombatMoveSet().CombatMoves();
var weaveMoveSet = weave.martialSequence.GetSequence();
return weaveMoveSet.All(weaveMove => weaponMoveSet.Any(weaponMove => weaveMove.moveName == weaponMove.moveName));
var weaponMoveSet = _equippedWeapon.GetCombatMoveSetRef().combatMoveSet.CombatMoves();
var weaveMoveSet = weave.martialSequence.GetSequence().Select(moveRef => moveRef.combatMove);
return weaveMoveSet.All(weaveMove => weaponMoveSet.Any(weaponMove => weaveMove.moveName == weaponMove.combatMove.moveName));
public IEnumerable<CombatForm> GetAvailableCombatFormsForEquipedWeapon() => _knownForms.Select(combatFormRef => combatFormRef.Value).Intersect(_equippedWeapon.GetCompatibleForms());
public IEnumerable<CombatFormRef> GetAvailableCombatFormsForEquipedWeapon() => _knownForms.Select(combatFormRef => combatFormRef).Intersect(_equippedWeapon.GetCompatibleFormRefs());
combatMoveNodeNodeTransform.sizeDelta *= move.speed;
nameLabel.text = move.moveName;
combatMoveNodeNodeTransform.sizeDelta *= moveRef.combatMove.speed;
nameLabel.text = moveRef.combatMove.moveName;
return new RuneWeaving(_martialSequence.Select(clicker => clicker.CombatMove),
_runeBindingSequence.Select(clicker => clicker.Rune), null, null);
return new RuneWeaving(_martialSequence.Select(clicker => clicker.CombatMoveRef),
_runeBindingSequence.Select(clicker => clicker.RuneRef), null, null);
_selectedWeapon.GetCompatibleForms()
.Intersect(availableCombatForms.Select(combatFormRef => combatFormRef.Value))
_selectedWeapon.GetCompatibleFormRefs().Select(combatFormRef => combatFormRef.combatForm)
.Intersect(availableCombatForms.Select(combatFormRef => combatFormRef.combatForm))
public RuneWeaving(IEnumerable<CombatMove> combatMovesSequence, IEnumerable<Rune> runeSequence, Transform caster, Transform target) {
public RuneWeaving(IEnumerable<CombatMoveRef> combatMovesSequence, IEnumerable<RuneRef> runeSequence, Transform caster, Transform target) {
public RuneBindingSequence(IEnumerable<Rune> runeSequence, Transform caster, Transform target) {
runes = runeSequence.ToList();
public RuneBindingSequence(IEnumerable<RuneRef> runeSequence, Transform caster, Transform target) {
runeRefs = runeSequence.ToList();
while ((currentRuneIdx < runes.Count) && (currentTime - lastRuneTime >= runes[currentRuneIdx].speed)) {
Debug.Log($"Finished executing {runes[currentRuneIdx].name} - {currentRuneIdx + 1}/{runes.Count} at {currentTime} ");
runes[currentRuneIdx].Cast(context);
lastRuneTime += runes[currentRuneIdx].speed;
while ((currentRuneIdx < runeRefs.Count) && (currentTime - lastRuneTime >= runeRefs[currentRuneIdx].rune.speed)) {
Debug.Log($"Finished executing {runeRefs[currentRuneIdx].name} - {currentRuneIdx + 1}/{runeRefs.Count} at {currentTime} ");
runeRefs[currentRuneIdx].rune.Cast(context);
lastRuneTime += runeRefs[currentRuneIdx].rune.speed;
if (currentMoveIdx >= combatMoves.Count) {
Debug.Log($"Executed Martial Sequence {currentMoveIdx}/{combatMoves.Count} moves in {currentTime} seconds");
if (currentMoveIdx >= combatMoveRefs.Count) {
Debug.Log($"Executed Martial Sequence {currentMoveIdx}/{combatMoveRefs.Count} moves in {currentTime} seconds");
while ((currentMoveIdx < combatMoves.Count) && (currentTime - lastMoveTime >= combatMoves[currentMoveIdx].speed)) {
Debug.Log($"Finished executing Martial move {combatMoves[currentMoveIdx].moveName} {currentMoveIdx + 1}/{combatMoves.Count} at {currentTime}");
while ((currentMoveIdx < combatMoveRefs.Count) && (currentTime - lastMoveTime >= combatMoveRefs[currentMoveIdx].combatMove.speed)) {
Debug.Log($"Finished executing Martial move {combatMoveRefs[currentMoveIdx].combatMove.moveName} {currentMoveIdx + 1}/{combatMoveRefs.Count} at {currentTime}");
List<CombatForm> _compatibleCombatForms = new();
public Weapon() {
Populate();
}
public void Populate() {
Clear();
if ((compatibleCombatForms != null) && (weaponMoveSet != null)) {
_weaponMoveSet = weaponMoveSet;
_compatibleCombatForms.AddRange(compatibleCombatForms.Select(CombatFormRef => CombatFormRef.Value));
}
}
public void Clear() {
_weaponMoveSet = null;
_compatibleCombatForms.Clear();
}
public IEnumerable<CombatForm> GetCompatibleForms() {
return _compatibleCombatForms;
public IEnumerable<CombatFormRef> GetCompatibleFormRefs() {
return compatibleCombatForms;
public void Populate() {
Clear();
if (combatMoves != null) {
_combatMoves.AddRange(combatMoves.Select(CombatMoveRef => CombatMoveRef.Value));
}
}
public void Clear() {
_combatMoves.Clear();
}
public IEnumerable<CombatMove> CombatMoves() {
return _combatMoves;
}
runeWeavings: []
- {fileID: 11400000, guid: d4e968054a75a114da71f543e64fa4b1, type: 2}