예제 #1
0
        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);
        }
예제 #2
0
        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);
        }
예제 #3
0
        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);
        }
예제 #4
0
    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));
    }