protected Subscriber Register(string channel, Type msgType, Delegate action) { mChannels[channel] = new ChannelRegister { MessageType = msgType, Action = action }; return(this); }
public static Register[] instantiate() { Register[] retval = new Register[61]; for (char c = 'A'; c <= 'Z'; c++) { if (c == 'X' || c == 'Y') { continue; } retval[c - 'A'] = new CustomRegister(c); } retval[23] = new XRegister(); retval[24] = new YRegister(); retval[26] = new AimRegister(); retval[27] = new BottomRegister(); retval[28] = new ChannelRegister(); retval[29] = new ChrononRegister(); retval[30] = new CollisionRegister(); retval[31] = new DamageRegister(); retval[32] = new DopplerRegister(); retval[33] = new EnergyRegister(); retval[34] = new FriendRegister(); retval[35] = new HistoryRegister(); retval[36] = new IDRegister(); retval[37] = new KillsRegister(); retval[38] = new LeftRegister(); retval[39] = new LookRegister(); retval[40] = new MoveXRegister(); retval[41] = new MoveYRegister(); retval[42] = new ProbeRegister(); retval[43] = new RadarRegister(); retval[44] = new RandomRegister(); retval[45] = new RangeRegister(); retval[46] = new RightRegister(); retval[47] = new RobotsRegister(); retval[48] = new ScanRegister(); retval[49] = new ShieldRegister(); retval[50] = new SignalRegister(); retval[51] = new SpeedXRegister(); retval[52] = new SpeedYRegister(); retval[53] = new TeamMatesRegister(); retval[54] = new TopRegister(); retval[55] = new WallRegister(); retval[56] = new BulletRegister(); retval[57] = new FireRegister(); retval[58] = new MissileRegister(); retval[59] = new HellboreRegister(); retval[60] = new StunnerRegister(); return(retval); }
private static bool TryGetChannelRegister(long offset, out int channelNo, out ChannelRegister channelRegister) { if (offset < UnifiedChannelRegistersStart || offset > UnifiedChannelRegistersEnd) { channelRegister = 0; channelNo = 0; return(false); } channelNo = (int)((offset - UnifiedChannelRegistersStart) / UnifiedChannelSize); channelRegister = (ChannelRegister)((offset - UnifiedChannelRegistersStart) % UnifiedChannelSize); return(true); }
private uint ReadChannelRegister(int channelNo, ChannelRegister register) { switch (register) { case ChannelRegister.Control: return(controlRegisters[channelNo].Read()); case ChannelRegister.Status: return(statusRegisters[channelNo].Read()); default: this.Log(LogLevel.Warning, "Unhandled read on channel register {0}, channel no {1}.", register, channelNo); return(0); } }
internal void UpdateChannel(LocalLCDWriterComponent Comp, ulong arg2, ulong requester) { ChannelRegister value; if (!ChannelDictionary.TryGetValue(Comp.Entity.EntityId, out value)) { value = new ChannelRegister(); value.component = Comp; ChannelDictionary.Add(Comp.Entity.EntityId, value); } value.channel = arg2; if (!offline) { SendUpdate(Comp.Entity.EntityId, arg2, requester); } }
private void WriteChannelRegister(int channelNo, ChannelRegister register, uint value) { switch (register) { case ChannelRegister.Control: controlRegisters[channelNo].Write(value); break; case ChannelRegister.Status: statusRegisters[channelNo].Write(value); break; default: this.Log(LogLevel.Warning, "Unhandled write on channel register {0}, channel no {1}, value 0x{2:X}", register, channelNo, value); break; } }
internal static bool TryRegisterAndGetChannel(LocalLCDWriterComponent Comp, out ulong channel) { ChannelRegister reg; var ret = ChannelDictionary.TryGetValue(Comp.Entity.EntityId, out reg); if (ret) { channel = reg.channel; if (reg.component == null) { reg.component = Comp; } return(true); } reg = new ChannelRegister(); reg.component = Comp; ChannelDictionary.Add(Comp.Entity.EntityId, reg); channel = 0; return(false); }
private static bool TryGetChannelRegister(long offset, out int channelNo, out ChannelRegister channelRegister) { if(offset < UnifiedChannelRegistersStart || offset > UnifiedChannelRegistersEnd) { channelRegister = 0; channelNo = 0; return false; } channelNo = (int)((offset - UnifiedChannelRegistersStart) / UnifiedChannelSize); channelRegister = (ChannelRegister)((offset - UnifiedChannelRegistersStart) % UnifiedChannelSize); return true; }
private void WriteChannelRegister(int channelNo, ChannelRegister register, uint value) { switch(register) { case ChannelRegister.Control: controlRegisters[channelNo].Write(value); break; case ChannelRegister.Status: statusRegisters[channelNo].Write(value); break; default: this.Log(LogLevel.Warning, "Unhandled write on channel register {0}, channel no {1}, value 0x{2:X}", register, channelNo, value); break; } }
private uint ReadChannelRegister(int channelNo, ChannelRegister register) { switch(register) { case ChannelRegister.Control: return controlRegisters[channelNo].Read(); case ChannelRegister.Status: return statusRegisters[channelNo].Read(); default: this.Log(LogLevel.Warning, "Unhandled read on channel register {0}, channel no {1}.", register, channelNo); return 0; } }