void OnMessage_AttributePluss(AttribInfo.Attribute type) { AttribInfo info = GetAttributeInfo(type); if (info == null) { return; } if (Points < info.CurrentCost) { return; } int cost = info.CurrentCost; if (!info.AddPoint()) { return; } Points -= cost; Events.Instance.PointsChanged.Send(Points); UpdateAttribute(type, info); }
public partial class ENTITY { //===================================================================== public static string StepAttributeOut(object o, AttribInfo attrib = null) //------------------------------------------------- { string s; //=""; if (o == null) { if (attrib == null) { s = "$"; } else { s = ((attrib.IsDerived)?"*":"$"); } } else if (o is Enum) { s = "." + o.ToString() + "."; } else if (o is SELECT) { if (((SELECT)o).IsNull) { s = "$"; } else { if (((SELECT)o).SelectValue() is ENTITY) { s = ((SELECT)o).SelectValue().ToString(); } else { s = "IFC" + ((SELECT)o).SelectType().Name.ToUpper() + "(" + ((SELECT)o).SelectValue().ToString() + ")"; } } } else if (o is ENTITY) { s = ((ENTITY)o).IfcId(); } else if (o is TypeBase) { s = o.ToString(); } else if (typeof(IEnumerable).IsAssignableFrom(o.GetType())) { s = o.ToString(); } else { s = o.ToString(); } return(s); }//------------------------------------------------------------------------------------------------
private static void AddToLibrary(string[] tags, string[] tagGroups, AttribInfo info) { RBFLibEntry entry = new RBFLibEntry(); entry.Values = new List <AttributeValue>(); entry.Submenu = info.Category; entry.TagGroups = tagGroups ?? new string[0]; entry.Tags = tags ?? new string[0]; entry.Values.Add(info.Value); entry.Name = info.Value.Key; RBFLibrary.RemoveEntry(entry.Name); RBFLibrary.AddEntry(entry); }
public void Add(string refpath, AttribInfo info) { if (UsesTagGroup) { string parentName = info.Value.Parent.Owner.Key; if (!Tags.Contains(parentName)) { Tags.Add(parentName); } } if (!Entries.ContainsKey(refpath)) { Entries.Add(refpath, info); } }
public string GetAttributeDescription(AttribInfo.Attribute type) { AttribInfo info = GetAttributeInfo(type); if (info == null) { return(""); } string value = ""; string cost = ""; value = string.Format("{0:0.##}", info.valuePerPoint); cost = string.Format("{0}", info.CurrentCost); return(string.Format("Add or Remove <color=#22AAff>{0}</color>, Takes or Gives you <color=#ff2255>{1}</color> points.", value, cost)); }
void OnMessage_AttributeMinus(AttribInfo.Attribute type) { AttribInfo info = GetAttributeInfo(type); if (info == null) { return; } if (!info.TakePoint()) { return; } Points += info.CurrentCost; Events.Instance.PointsChanged.Send(Points); UpdateAttribute(type, info); }
//private Dictionary<string, List<RmdsFid>> mapList = new Dictionary<string, List<RmdsFid>>(); public JobStatus Run(StringBuilder log) { // ========================================================================== _fids = DataTableSerializer.ToList <RmdsFid>(OracleHelper.Query("SELECT RICTYPE, FIDNAME, TABNAME, COLNAME,COLTYPE FROM FIDLIST").Tables[0]); _rics = new List <RmdsRic>(); NewListBond.GetNewBondRics(_rics); CtrlBreakHandler.Init(); _queueMessageFromRfas = new List <QueueMessageFromRFA>(); // Initialize Context, Config, and Dictionary Context.Initialize(); _configDb = ConfigDatabase.Acquire(new RFA_String("RFA")); _stgConfigDb = StagingConfigDatabase.Create(); string rootPath = AppDomain.CurrentDomain.BaseDirectory; string configFilePath = "ExampleRFA.cfg"; configFilePath = rootPath + configFilePath; _stgConfigDb.Load(ConfigRepositoryTypeEnum.flatFile, new RFA_String(configFilePath)); _configDb.Merge(_stgConfigDb); _rdmFieldDictionary = RDMFieldDictionary.Create(); string fieldDictPath = "RDMFieldDictionary"; fieldDictPath = Path.Combine(rootPath, fieldDictPath); string enumTypeDefPath = "enumtype.def"; enumTypeDefPath = Path.Combine(rootPath, enumTypeDefPath); _rdmFieldDictionary.ReadRDMFieldDictionary(new RFA_String(fieldDictPath)); _rdmFieldDictionary.ReadRDMEnumTypeDef(new RFA_String(enumTypeDefPath)); _rdmFieldDictionary.Version = new RFA_String("1.1"); _rdmFieldDictionary.DictId = 1; // ========================================================================== // Initialize EventQueue, Session, and OMMConsumer _eventQueue = EventQueue.Create(new RFA_String("NewListBondEventQueue")); _session = Session.Acquire(new RFA_String("Session1")); _ommConsumer = _session.CreateOMMConsumer(new RFA_String("NewListBond")); // ========================================================================== // Send Login request ReqMsg reqMsg = new ReqMsg { MsgModelType = RDM.MESSAGE_MODEL_TYPES.MMT_LOGIN, InteractionType = ReqMsg.InteractionTypeFlag.InitialImage | ReqMsg.InteractionTypeFlag.InterestAfterRefresh }; AttribInfo attribInfo = new AttribInfo { NameType = Login.USER_ID_TYPES.USER_NAME, Name = new RFA_String("trep") }; reqMsg.AttribInfo = attribInfo; OMMItemIntSpec ommItemIntSpec = new OMMItemIntSpec { Msg = reqMsg }; if (_ommConsumer != null) { _ommConsumer.RegisterClient(_eventQueue, ommItemIntSpec, this); //string[] ricTypes = { "CFXS/NEWISSUE", "CNREPO/PBOC", "SLO/PBOC", "SLF/PBOC", "MLF/PBOC" }; // ========================================================================== // Send Market Price item request _rfaLog.Append("<ol>"); foreach (var ric in _rics) { _requestRic = ric.Ric; _responseRic = null; _currentFids = _fids.Where(re => re.Rictype == ric.Rictype && re.FidName != null) .Select(re => re.FidName) .ToList(); reqMsg.Clear(); attribInfo.Clear(); _eventQueue = EventQueue.Create(new RFA_String("StartConsumerEventQueue")); reqMsg.MsgModelType = RDM.MESSAGE_MODEL_TYPES.MMT_MARKET_PRICE; reqMsg.InteractionType = ReqMsg.InteractionTypeFlag.InitialImage | ReqMsg.InteractionTypeFlag.InterestAfterRefresh; attribInfo.NameType = RDM.INSTRUMENT_NAME_TYPES.INSTRUMENT_NAME_RIC; attribInfo.Name = new RFA_String(ric.Ric); attribInfo.ServiceName = new RFA_String("ELEKTRON_DD"); reqMsg.AttribInfo = attribInfo; ommItemIntSpec.Msg = reqMsg; _ommConsumer.RegisterClient(_eventQueue, ommItemIntSpec, this); _rfaLog.Append("<li>Request Ric <b>" + _requestRic + "</b>"); Console.WriteLine("Dispatching events for 60 seconds."); System.DateTime currentTime = System.DateTime.Now; System.DateTime startTime = currentTime; System.DateTime endTime = currentTime.AddSeconds(60); while ((!CtrlBreakHandler.IsTerminated()) && (currentTime < endTime || endTime == startTime)) { if (_eventQueue != null) { int dispatchReturn = _eventQueue.Dispatch(10); if ((dispatchReturn == Dispatchable.DispatchReturnEnum.NothingDispatchedInActive) || (dispatchReturn == Dispatchable.DispatchReturnEnum.NothingDispatchedNoActiveEventStreams)) { break; } } currentTime = System.DateTime.Now; } CtrlBreakHandler.SetTerminated(false); if (_responseRic == null) { _rfaLog.Append(" ,<span style=\"color:red;\">No response data</span>"); } _rfaLog.Append("</li>"); } } log.Append(_rfaLog + "</ol>"); foreach (var ricType in _queueMessageFromRfas.Select(re => re.RicType).Distinct()) { log.Append("Table:<b>" + _fids.Where(re => re.Rictype == ricType).Select(re => re.TabName).First() + "</b> RicType:<b>" + ricType + "</b> update:" + _queueMessageFromRfas.Count(re => re.RicType == ricType && re.OperationType == "Update") + " insert:" + _queueMessageFromRfas.Count(re => re.RicType == ricType && re.OperationType == "Insert") + " ignore:" + _queueMessageFromRfas.Count(re => re.RicType == ricType && re.OperationType == "Ignore") + "\n"); } if (_queueMessageFromRfas.Count == _rics.Count) { return(JobStatus.Success); } log.Append("<b><span style=\"color:red;\">Some rics no response data!</span></b>"); return(JobStatus.Fail); }
public string GetAttributeText(AttribInfo.Attribute type) { AttribInfo info = GetAttributeInfo(type); if (info == null) { return(""); } string name = ""; string value = ""; name = info.Name; switch (type) { case AttribInfo.Attribute.Player_Health: value = string.Format("{0}HP", info.CurrentValue); break; case AttribInfo.Attribute.Player_Regeneration: value = string.Format("{0:0.#}/s", info.CurrentValue); break; case AttribInfo.Attribute.Player_Weapon_Ammo_Regeneration: value = string.Format("{0:0.#}/s", info.CurrentValue); break; case AttribInfo.Attribute.Player_Weapon_Damage: break; case AttribInfo.Attribute.Base_Health: value = string.Format("{0}", info.CurrentValue); break; case AttribInfo.Attribute.Base_Regeneration: value = string.Format("{0:0.#}/s", info.CurrentValue); break; case AttribInfo.Attribute.Base_Shield1_Health: value = string.Format("{0}", info.CurrentValue); break; case AttribInfo.Attribute.Base_Shield1_Regeneration: value = string.Format("{0:0.#}/s", info.CurrentValue); break; case AttribInfo.Attribute.Base_Shield2_Health: value = string.Format("{0}", info.CurrentValue); break; case AttribInfo.Attribute.Base_Shield2_Regeneration: value = string.Format("{0:0.#}/s", info.CurrentValue); break; case AttribInfo.Attribute.Base_Damage: value = string.Format("{0}", info.CurrentValue); break; case AttribInfo.Attribute.Base_Shoot_Speed: value = string.Format("{0:0.#}s", info.CurrentValue); break; case AttribInfo.Attribute.Base_Range: value = string.Format("{0:0.#}m", info.CurrentValue); break; case AttribInfo.Attribute.Base_Rocket_Speed: value = string.Format("{0}m/s", info.CurrentValue); break; case AttribInfo.Attribute.Base_Rocket_Targeting_Speed: value = string.Format("{0}°/s", info.CurrentValue); break; case AttribInfo.Attribute.Enemy_Health: break; case AttribInfo.Attribute.Enemy_Damage: break; default: break; } return(string.Format("{0}: <color=#22ff55>{1}</color>", name, value)); }
public void UpdateAttribute(AttribInfo.Attribute type, AttribInfo info) { float before = 0f; switch (type) { case AttribInfo.Attribute.Player_Health: before = gameInfo.playerHealthThing.MaxHealth; gameInfo.playerHealthThing.MaxHealth = info.CurrentValue; gameInfo.playerHealthThing.CurrentHealth += gameInfo.playerHealthThing.MaxHealth - before; break; case AttribInfo.Attribute.Player_Regeneration: gameInfo.healthRegen.ValuePerSecond = info.CurrentValue; break; case AttribInfo.Attribute.Player_Weapon_Ammo_Regeneration: gameInfo.ammoRegen.AmmoPerSecond = info.CurrentValue; break; case AttribInfo.Attribute.Player_Weapon_Damage: break; case AttribInfo.Attribute.Base_Health: before = Base.Instance.DefaultHealth; Base.Instance.DefaultHealth = info.CurrentValue; Base.Instance.Health += Base.Instance.DefaultHealth - before; break; case AttribInfo.Attribute.Base_Regeneration: Base.Instance.HealthRegeneration = info.CurrentValue; break; case AttribInfo.Attribute.Base_Shield1_Health: before = Base.Instance.Shield1.DefaultHealth; Base.Instance.Shield1.DefaultHealth = info.CurrentValue; Base.Instance.Shield1.Health += Base.Instance.Shield1.DefaultHealth - before; break; case AttribInfo.Attribute.Base_Shield1_Regeneration: Base.Instance.Shield1.HealthRegeneration = info.CurrentValue; break; case AttribInfo.Attribute.Base_Shield2_Health: before = Base.Instance.Shield2.DefaultHealth; Base.Instance.Shield2.DefaultHealth = info.CurrentValue; Base.Instance.Shield2.Health += Base.Instance.Shield2.DefaultHealth - before; break; case AttribInfo.Attribute.Base_Shield2_Regeneration: Base.Instance.Shield2.HealthRegeneration = info.CurrentValue; break; case AttribInfo.Attribute.Base_Damage: Base.Instance.RocketDamage = (int)info.CurrentValue; break; case AttribInfo.Attribute.Base_Shoot_Speed: Base.Instance.RocketCooldown = info.CurrentValue; break; case AttribInfo.Attribute.Base_Range: Base.Instance.AutoTurretRange = info.CurrentValue; break; case AttribInfo.Attribute.Base_Rocket_Speed: Base.Instance.RocketSpeed = info.CurrentValue; break; case AttribInfo.Attribute.Base_Rocket_Targeting_Speed: Base.Instance.RocketSpeed = info.CurrentValue; break; case AttribInfo.Attribute.Enemy_Health: break; case AttribInfo.Attribute.Enemy_Damage: break; default: break; } }
private static void AddToLibrary(string[] tags, string[] tagGroups, AttribInfo info) { RBFLibEntry entry = new RBFLibEntry(); entry.Values = new List<AttributeValue>(); entry.Submenu = info.Category; entry.TagGroups = tagGroups ?? new string[0]; entry.Tags = tags ?? new string[0]; entry.Values.Add(info.Value); entry.Name = info.Value.Key; RBFLibrary.RemoveEntry(entry.Name); RBFLibrary.AddEntry(entry); }
public void Add(string refpath, AttribInfo info) { if (UsesTagGroup) { string parentName = info.Value.Parent.Owner.Key; if (!Tags.Contains(parentName)) Tags.Add(parentName); } if (!Entries.ContainsKey(refpath)) Entries.Add(refpath, info); }