void OnComponentValueChange(GValueType type, float old, float cur) { if (type == GValueType.move_speed) { gameObject.GetOrAdd <NavArrivePosition>().mNavMeshAgent.speed = cur; } }
public float GetValue(GValueType type) { if (mDicTypeToValue.TryGetValue(type, out var value)) { return(value); } return(0); }
public void SetValue(GValueType type, float value) { var old = GetValue(type); mDicTypeToValue[type] = value; if (null != OnValueChange) { OnValueChange(type, old, value); } }
public float GetBuffedValue(GValueType type, BuffCmpt cmpt) { var buffList = cmpt.GetBuffList(); var srcValue = GetValue(type); var dstValue = srcValue; foreach (var buff in buffList) { var valueEffectCfg = buff.mBuffCfg.mValueEffectCfg; if (valueEffectCfg.mId > 0) { var process = valueEffectCfg.Process(srcValue); var delta = process - srcValue; srcValue += delta; } } return(0); }
public float this[GValueType type] { get { return(GetValue(type)); } set { SetValue(type, value); } }