/// <summary> /// [IN GAME] Apply impact on parameters value /// </summary> /// <param name="_impact"></param> public void ApplyImpact(Impact _impact) { switch (_impact.type) { case Parameters.TYPE.i: if (parameters.IntValues.dictionary.ContainsKey(_impact.name) == true) { parameters.SetInt(_impact.name, parameters.IntValues.dictionary[_impact.name] + _impact.intModifier); } break; case Parameters.TYPE.f: if (parameters.FloatValues.dictionary.ContainsKey(_impact.name) == true) { parameters.SetFloat(_impact.name, parameters.FloatValues.dictionary[_impact.name] + _impact.floatModifier); } break; case Parameters.TYPE.b: if (parameters.BoolValues.dictionary.ContainsKey(_impact.name) == true) { parameters.SetBool(_impact.name, _impact.boolModifier); } break; default: Debug.LogError("Can't apply impact : unknown type"); break; } }
/// <summary> /// [EDITOR ONLY] Add an impact on an existing link /// </summary> public void AddImpact() { Impact imp = new Impact(); impacts.Add(imp); }
/// <summary> /// [EDITOR ONLY] Update an impact on a link between two nodes /// </summary> /// <param name="_start"></param> /// <param name="_contentIndex"></param> /// <param name="_nextNodeIndex"></param> /// <param name="_impactIndex"></param> /// <param name="_impact"></param> public void UpdateImpact(Node _start, int _contentIndex, int _nextNodeIndex, int _impactIndex, Impact _impact) { _start.contents[_contentIndex].nextNodes[_nextNodeIndex].impacts[_impactIndex] = _impact; Save(); }
/// <summary> /// [EDITOR ONLY] Add an impact on a link between two nodes /// </summary> /// <param name="_start"></param> /// <param name="_contentIndex"></param> /// <param name="_nextNodeIndex"></param> /// <param name="_impact"></param> public void AddImpact(Node _start, int _contentIndex, int _nextNodeIndex, Impact _impact) { _start.contents[_contentIndex].nextNodes[_nextNodeIndex].impacts.Add(_impact); Save(); }