protected void LoadAspirations() { pa = SimPe.Data.MetaData.AspirationTypes.Nothing; sa = SimPe.Data.MetaData.AspirationTypes.Nothing; if (parent == null) { return; } pa = parent.CharacterDescription.Aspiration; if (aspeditor == null) { return; } SimPe.Data.MetaData.AspirationTypes[] asps = aspeditor.LoadAspirations(this.parent); if (asps == null) { return; } if (asps.Length > 0) { pa = asps[0]; } if (asps.Length > 1) { sa = asps[1]; } }
protected void StoreAspirations() { if (parent == null) { return; } if (aspeditor == null) { return; } SimPe.Data.MetaData.AspirationTypes[] asps = new SimPe.Data.MetaData.AspirationTypes[] { pa, sa }; aspeditor.StoreAspirations(asps, parent); }
public SimPe.Data.MetaData.AspirationTypes[] LoadAspirations(SDesc sim) { if (sim == null) { return(null); } LoadMemoryResource(sim); ushort sval = GetSecondaryAspirationValue(sim); SimPe.Data.MetaData.AspirationTypes[] res = new SimPe.Data.MetaData.AspirationTypes[] { SimPe.Data.MetaData.AspirationTypes.Nothing, SimPe.Data.MetaData.AspirationTypes.Nothing }; ushort a = (ushort)sim.CharacterDescription.Aspiration; if (sval != 0) { res[0] = (SimPe.Data.MetaData.AspirationTypes)(a ^ sval); res[1] = (SimPe.Data.MetaData.AspirationTypes)(a & sval); } else { Array arr = Enum.GetValues(typeof(SimPe.Data.MetaData.AspirationTypes)); foreach (ushort i in arr) { if ((a & i) == i) { if (res[0] == SimPe.Data.MetaData.AspirationTypes.Nothing) { res[0] = (SimPe.Data.MetaData.AspirationTypes)i; } else { res[1] = (SimPe.Data.MetaData.AspirationTypes)i; } } } } return(res); }