public static FormulaDefinition LoadFromArray(string[] arr) { if (arr == null || arr.Length != 3) { return(null); } FormulaDefinition def = new FormulaDefinition(); def.SourceA = arr[0]; def.SourceB = arr[1]; def.Target = arr[2]; return(def); }
public void OnConnected(PuzzleCharacter character, PuzzleCharacter firstCharacter, List <Vector2Int> connectionPoints, string targetCharId) { Debug.Log("OnConnected: " + character.Position); var characterNode = this.FindCharacterNode(character); if (characterNode == null) { Debug.LogWarning("characterNode is null."); } var firstCharacterNode = this.FindCharacterNode(firstCharacter); if (firstCharacterNode == null) { Debug.LogWarning("firstCharacterNode is null."); } FormulaDefinition formula = this.StageDefinition.FindFormula(character.CharacterId, firstCharacter.CharacterId); if (formula == null) { return; } var activityManager = gameObject.GetComponentInParent <MainGameScene>().AquireActivityManager(); PlayAnimationMergeChars(activityManager, characterNode, firstCharacterNode, connectionPoints); if (poemInstance.GetCoveredCharIds().Contains(formula.Target)) { int charIndex = poemInstance.GetFirstCoveredIndex(formula.Target); } if (this.onReceivedCharacter != null) { activityManager.PushCallback(() => { this.onReceivedCharacter(this, new ReceivedCharEventArgs(formula.Target, activityManager)); }); } activityManager.PushCallback(() => { CheckAndMakeShuffle(); }); }
public void DefineFormula(string name, FormulaDefinition formula) { Formulas[name] = formula; }