public void Execute(int index) { var aMod = mods[index]; var entLink = aMod.entLink; // mod link's strength var cpRel = rw_rel[entLink]; cpRel.strength = math.clamp(cpRel.strength + aMod.str_mod, -max_relation_strength, max_relation_strength); rw_rel[entLink] = cpRel; rw_isDirty[entLink] = new CpIsDirty { dirty = true }; }
public void ExecuteNext(Entity ent_target, bool _) { var start_att = orig_attitude[ent_target]; var cur_att = acc_att[ent_target].attitude; if (math.abs(cur_att - start_att) > NODE_THRES) { var rel_buf = accbuf_relation[ent_target]; int len_buf = rel_buf.Length; for (int i = 0; i < len_buf; ++i) { var ent_relation = rel_buf[i].entRelation; acc_dirty[ent_relation] = new CpIsDirty { dirty = true }; } } }
public void Execute(int index) { var aMod = mods[index]; var entNode = aMod.entMindImageTargetNode; // modify the node's attitude field var cpAtt = rw_att[entNode]; cpAtt.attitude = math.clamp(cpAtt.attitude + aMod.att_mod, -1f, 1f); rw_att[entNode] = cpAtt; //set dirty on each link from this node var cpLstRel = ro_relation_buf[entNode]; int len_relation = cpLstRel.Length; for (int i = 0; i < len_relation; ++i) { var entRel = cpLstRel[i].entRelation; rw_isDirty[entRel] = new CpIsDirty { dirty = true }; } }