Exemplo n.º 1
0
    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);
    }
Exemplo n.º 2
0
    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);
        }//------------------------------------------------------------------------------------------------
Exemplo n.º 3
0
        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);
        }
Exemplo n.º 4
0
 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);
     }
 }
Exemplo n.º 5
0
    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));
    }
Exemplo n.º 6
0
    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);
    }
Exemplo n.º 7
0
        //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);
        }
Exemplo n.º 8
0
    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));
    }
Exemplo n.º 9
0
    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;
        }
    }
Exemplo n.º 10
0
 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);
 }
Exemplo n.º 11
0
 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);
 }