internal bool Comparer(MemoryData obj) { bool ret = true; ret &= sel_player_num == obj.sel_player_num; ret &= player_num == obj.player_num; ret &= p.SequenceEqual(obj.p); ret &= sel_p.SequenceEqual(obj.sel_p); ret &= life.SequenceEqual(obj.life); ret &= cash.SequenceEqual(obj.cash); ret &= bank.SequenceEqual(obj.bank); ret &= loanDate.SequenceEqual(obj.loanDate); ret &= cur == obj.cur; ret &= total == obj.total; ret &= CPI == obj.CPI; ret &= date == obj.date; ret &= scene == obj.scene; return(!ret); }
static internal MemoryData GetData() { var data = MemoryData.New(); var p = ProcessManager.Instance.Process; //Cha data.sel_player_num = ProcessUtility.ReadMemByte(p, GetPtr(MemTypeEnum.sel_player_num)); data.player_num = ProcessUtility.ReadMemByte(p, GetPtr(MemTypeEnum.player_num)); for (int i = 0; i < 4; i++) { data.sel_p[i] = ProcessUtility.ReadMemByte(p, AddPtr(GetPtr(MemTypeEnum.sel_p1), sub_sel_p * i)); data.p[i] = ProcessUtility.ReadMemByte(p, AddPtr(GetPtr(MemTypeEnum.p1), sub_p * i)); data.life[i] = ProcessUtility.ReadMemByte(p, AddPtr(GetPtr(MemTypeEnum.p1_life), sub_p * i)); data.cash[i] = ProcessUtility.ReadMemInt(p, AddPtr(GetPtr(MemTypeEnum.cash_p1), sub_p * i)); data.bank[i] = ProcessUtility.ReadMemInt(p, AddPtr(GetPtr(MemTypeEnum.bank_p1), sub_p * i)); data.loanDate[i] = ProcessUtility.ReadMemInt(p, AddPtr(GetPtr(MemTypeEnum.p1_loanDay), sub_p * i)); } //Course data.cur = ProcessUtility.ReadMemByte(p, GetPtr(MemTypeEnum.cur)); data.total = ProcessUtility.ReadMemByte(p, GetPtr(MemTypeEnum.total)); data.date = ProcessUtility.ReadMemInt(p, GetPtr(MemTypeEnum.date)); data.CPI = ProcessUtility.ReadMemInt(p, GetPtr(MemTypeEnum.CPI)); data.scene = ProcessUtility.ReadMemByte(p, GetPtr(MemTypeEnum.scene)); return(data); }
static internal MemoryData New() { MemoryData data = new MemoryData(); data.sel_p = new byte[4]; data.p = new byte[4]; data.cash = new int[4]; data.bank = new int[4]; data.loanDate = new int[4]; data.life = new byte[4]; return(data); }
internal void RefreshRealCPI(MyMemory.MemoryData data) { long allMoney = 0; int life = 0; for (int i = 0; i < 4; i++) { allMoney += data.cash[i]; allMoney += data.bank[i]; if (data.life[i] == 1) { life++; } } realCPI = (int)(allMoney / (MyMemory.MemoryTracker.ReadInitMoney() * life)); }