Beispiel #1
0
 public static void OnPlayerDamage(IntPtr playerPointer, IntPtr attackerEntityPointer,
                                   BaseObjectType attackerBaseObjectType,
                                   ushort attackerEntityId, uint weapon, ushort damage)
 {
     _module.OnPlayerDamage(playerPointer, attackerEntityPointer, attackerBaseObjectType, attackerEntityId,
                            weapon, damage);
 }
        public bool Remove(IntPtr entityPointer, BaseObjectType baseObjectType)
        {
            switch (baseObjectType)
            {
            case BaseObjectType.Player:
                return(playerPool.Remove(entityPointer));

            case BaseObjectType.Vehicle:
                return(vehiclePool.Remove(entityPointer));

            case BaseObjectType.Blip:
                return(blipPool.Remove(entityPointer));

            case BaseObjectType.Checkpoint:
                return(checkpointPool.Remove(entityPointer));

            case BaseObjectType.VoiceChannel:
                return(voiceChannelPool.Remove(entityPointer));

            case BaseObjectType.ColShape:
                return(colShapePool.Remove(entityPointer));

            default:
                return(false);
            }
        }
Beispiel #3
0
 public MockEntity(IntPtr nativePointer, BaseObjectType baseObjectType, ushort id) : base(nativePointer, baseObjectType, id)
 {
     NativePointer = nativePointer;
     Type          = baseObjectType;
     Id            = id;
     Exists        = true;
 }
 public static void OnPlayerDamage(IntPtr playerPointer, IntPtr attackerEntityPointer,
                                   BaseObjectType attackerBaseObjectType,
                                   ushort attackerEntityId, uint weapon, ushort healthDamage, ushort armourDamage)
 {
     _core.OnPlayerDamage(playerPointer, attackerEntityPointer, attackerBaseObjectType, attackerEntityId,
                          weapon, healthDamage, armourDamage);
 }
Beispiel #5
0
 public BaseObject(Sprite sprite, RectangleShape shape, BaseObjectType _type)
 {
     this._ObjectSprite           = sprite;
     this._ObjectShape            = shape;
     this._type                   = _type;
     ObjectSprite.Scale           = new Vector2f(Global.SCALE, Global.SCALE);
     _ObjectShape.Scale           = _ObjectSprite.Scale;
     _ObjectSprite.Texture.Smooth = true;
 }
Beispiel #6
0
 public IntPtr GetEntityPointer(ref BaseObjectType baseObjectType)
 {
     unsafe
     {
         BaseObjectType pType;
         var            result = core.Library.Shared.MValueConst_GetEntity(nativePointer, &pType);
         baseObjectType = pType;
         return(result);
     }
 }
Beispiel #7
0
        protected BaseObject(IntPtr nativePointer, BaseObjectType type)
        {
            if (nativePointer == IntPtr.Zero)
            {
                throw new BaseObjectRemovedException(this);
            }

            NativePointer = nativePointer;
            Type          = type;
            Exists        = true;
        }
 void AppendBySettle()
 {
     Core.InputBox input = new UnvaryingSagacity.Core.InputBox("新增" + BaseObjectType.ToString(), "请输入新的" + BaseObjectType.ToString() + ", 不能为空", 15, "");
     if (input.ShowDialog(this) == DialogResult.OK)
     {
         string s = input.Result.ToString();
         if (_e.AppendSetting(s, BaseObjectType == InternalBaseObject.结算方式 ? "settles" : "banks", BaseObjectType == InternalBaseObject.结算方式 ? "settle" : "bank"))
         {
             listView1.Items.Add(s).ImageKey = BaseObjectType == InternalBaseObject.结算方式 ? "settle" : "bank";
         }
     }
 }
Beispiel #9
0
        public void OnPlayerDeath(IntPtr playerPointer, IntPtr killerEntityPointer, BaseObjectType killerBaseObjectType,
                                  uint weapon)
        {
            if (!PlayerPool.GetOrCreate(playerPointer, out var player))
            {
                return;
            }

            BaseEntityPool.GetOrCreate(killerEntityPointer, killerBaseObjectType, out var killer);

            OnPlayerDeathEvent(player, killer, weapon);
        }
Beispiel #10
0
 public IBaseObject Get(IntPtr entityPointer, BaseObjectType baseObjectType)
 {
     return(baseObjectType switch
     {
         BaseObjectType.Player => playerPool.Get(entityPointer),
         BaseObjectType.Vehicle => vehiclePool.Get(entityPointer),
         BaseObjectType.Blip => blipPool.Get(entityPointer),
         BaseObjectType.Checkpoint => checkpointPool.Get(entityPointer),
         BaseObjectType.VoiceChannel => voiceChannelPool.Get(entityPointer),
         BaseObjectType.ColShape => colShapePool.Get(entityPointer),
         _ => default
     });
        protected BaseObject(ICore core, IntPtr nativePointer, BaseObjectType type)
        {
            Core = core;
            BaseObjectNativePointer = nativePointer;
            Type = type;

            if (nativePointer == IntPtr.Zero)
            {
                throw new BaseObjectRemovedException(this);
            }

            exists = true;
        }
Beispiel #12
0
        public void OnPlayerDamage(IntPtr playerPointer, IntPtr attackerEntityPointer,
                                   BaseObjectType attackerBaseObjectType,
                                   ushort attackerEntityId, uint weapon, ushort damage)
        {
            if (!PlayerPool.GetOrCreate(playerPointer, out var player))
            {
                return;
            }

            BaseEntityPool.GetOrCreate(attackerEntityPointer, attackerBaseObjectType, attackerEntityId,
                                       out var attacker);

            OnPlayerDamageEvent(player, attacker, weapon, damage);
        }
Beispiel #13
0
        public bool Remove(IntPtr entityPointer, BaseObjectType baseObjectType)
        {
            switch (baseObjectType)
            {
            case BaseObjectType.Player:
                return(playerPool.Remove(entityPointer));

            case BaseObjectType.Vehicle:
                return(vehiclePool.Remove(entityPointer));

            default:
                return(false);
            }
        }
Beispiel #14
0
        public void OnCheckpoint(IntPtr checkpointPointer, IntPtr entityPointer, BaseObjectType baseObjectType,
                                 bool state)
        {
            if (!CheckpointPool.GetOrCreate(checkpointPointer, out var checkpoint))
            {
                return;
            }

            if (!BaseEntityPool.GetOrCreate(entityPointer, baseObjectType, out var entity))
            {
                return;
            }

            OnCheckPointEvent(checkpoint, entity, state);
        }
 void DeleteBySettle()
 {
     if (listView1.SelectedItems.Count > 0)
     {
         if (MessageBox.Show(this, "您确定要删除选择的项目吗?", "删除" + BaseObjectType.ToString(), MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2) == DialogResult.Yes)
         {
             foreach (ListViewItem item in listView1.SelectedItems)
             {
                 if (_e.DeleteSetting(item.Text, BaseObjectType == InternalBaseObject.结算方式 ?"settle":"bank"))
                 {
                     listView1.Items.Remove(item);
                 }
             }
         }
     }
 }
 public IBaseObject?Get(IntPtr entityPointer, BaseObjectType baseObjectType)
 {
     return(baseObjectType switch
     {
         BaseObjectType.LocalPlayer => playerPool.Get(entityPointer),
         BaseObjectType.Player => playerPool.Get(entityPointer),
         BaseObjectType.Vehicle => vehiclePool.Get(entityPointer),
         BaseObjectType.Blip => blipPool.Get(entityPointer),
         BaseObjectType.Checkpoint => checkpointPool.Get(entityPointer),
         BaseObjectType.Audio => audioPool.Get(entityPointer),
         BaseObjectType.HttpClient => httpClientPool.Get(entityPointer),
         BaseObjectType.WebsocketClient => webSocketClientPool.Get(entityPointer),
         BaseObjectType.Webview => webViewPool.Get(entityPointer),
         BaseObjectType.RmlElement => rmlElementPool.Get(entityPointer),
         BaseObjectType.RmlDocument => rmlDocumentPool.Get(entityPointer),
         _ => default
     });
 void DeleteByItemOfBank()
 {
     if (listView1.SelectedItems.Count > 0)
     {
         if (MessageBox.Show(this, "您确定要删除选择的账户及其日记账吗?", "删除" + BaseObjectType.ToString(), MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2) == DialogResult.Yes)
         {
             DataProvider dp = new DataProvider(_e.CurrentAccount.FullPath);
             foreach (ListViewItem item in listView1.SelectedItems)
             {
                 if (dp.DeleteRecord(DataProvider.TABLE_ITEMOFBANKS, "nm='" + item.Text + "' AND id='" + item.SubItems[1].Text + "'"))
                 {
                     listView1.Items.Remove(item);
                     dp.DeleteRecord("id='" + item.SubItems[1].Text + "'");
                 }
             }
         }
     }
 }
 void RenameBySettle()
 {
     if (listView1.SelectedItems.Count > 0)
     {
         ListViewItem  item  = listView1.SelectedItems[0];
         Core.InputBox input = new UnvaryingSagacity.Core.InputBox("重命名" + BaseObjectType.ToString(), "请输入新的" + BaseObjectType.ToString() + "名称, 不能为空", 15, item.Text);
         if (input.ShowDialog(this) == DialogResult.OK)
         {
             string s = input.Result.ToString();
             if (s != item.Text)
             {
                 if (_e.UpadteSetting(item.Text, s, BaseObjectType == InternalBaseObject.结算方式 ?"settle":"bank"))
                 {
                     item.Text = s;
                 }
             }
         }
     }
 }
        private static void GenerateInternalObjectTypeAttributeInitializer(SequenceCheckingEnvironment env, IGraphModel model, SequenceExpressionNew attributeInitializer, SourceBuilder source)
        {
            if (attributeInitializer.AttributeInitializationList == null)
            {
                return; // plain constructor without attribute initialization list
            }
            string internalObjectType = "GRGEN_MODEL." + attributeInitializer.ConstructedType;

            source.Append("\n");
            source.AppendFront("public static ");
            source.Append(internalObjectType);
            source.Append(" fillFromSequence_" + attributeInitializer.Id + "(");
            BaseObjectType objectType = env.Model.ObjectModel.GetType(attributeInitializer.ConstructedType);

            if (objectType != null)
            {
                source.Append("long uniqueId");
            }
            for (int i = 0; i < attributeInitializer.AttributeInitializationList.Count; ++i)
            {
                KeyValuePair <string, SequenceExpression> attributeInitialization = attributeInitializer.AttributeInitializationList[i];
                if (i > 0 || objectType != null)
                {
                    source.Append(", ");
                }
                string valueType = TypesHelper.XgrsTypeToCSharpType(env.TypeOfMemberOrAttribute(attributeInitializer.ConstructedType, attributeInitialization.Key), model);
                source.AppendFormat("{0} {1}", valueType, "param" + i);
            }
            source.Append(")\n");

            source.AppendFront("{\n");
            source.Indent();
            source.AppendFrontFormat("{0} obj = new {0}({1});\n", internalObjectType, objectType != null ? "uniqueId" : "");
            for (int i = 0; i < attributeInitializer.AttributeInitializationList.Count; ++i)
            {
                KeyValuePair <string, SequenceExpression> attributeInitialization = attributeInitializer.AttributeInitializationList[i];
                source.AppendFrontFormat("obj.{0}  = {1};\n", attributeInitialization.Key, "param" + i);
            }
            source.AppendFront("return obj;\n");
            source.Unindent();
            source.AppendFront("}\n");
        }
        public bool GetOrCreate(IntPtr entityPointer, BaseObjectType baseObjectType, ushort entityId,
                                out IBaseObject entity)
        {
            bool result;

            switch (baseObjectType)
            {
            case BaseObjectType.Player:
                result = playerPool.GetOrCreate(entityPointer, entityId, out var player);
                entity = player;
                return(result);

            case BaseObjectType.Vehicle:
                result = vehiclePool.GetOrCreate(entityPointer, entityId, out var vehicle);
                entity = vehicle;
                return(result);

            case BaseObjectType.Blip:
                result = blipPool.GetOrCreate(entityPointer, out var blip);
                entity = blip;
                return(result);

            case BaseObjectType.Checkpoint:
                result = checkpointPool.GetOrCreate(entityPointer, out var checkpoint);
                entity = checkpoint;
                return(result);

            case BaseObjectType.VoiceChannel:
                result = voiceChannelPool.GetOrCreate(entityPointer, out var voiceChannel);
                entity = voiceChannel;
                return(result);

            case BaseObjectType.ColShape:
                result = colShapePool.GetOrCreate(entityPointer, out var colShape);
                entity = colShape;
                return(result);

            default:
                entity = default;
                return(false);
            }
        }
Beispiel #21
0
        public bool GetOrCreate(ICore core, IntPtr entityPointer, BaseObjectType baseObjectType, ushort entityId, out IEntity entity)
        {
            bool result;

            switch (baseObjectType)
            {
            case BaseObjectType.Player:
                var player = playerPool.GetOrCreate(core, entityPointer, entityId);
                entity = player;
                return(player != null);

            case BaseObjectType.Vehicle:
                var vehicle = vehiclePool.GetOrCreate(core, entityPointer, entityId);
                entity = vehicle;
                return(vehicle != null);

            default:
                entity = default;
                return(false);
            }
        }
Beispiel #22
0
        public bool GetOrCreate(IntPtr entityPointer, BaseObjectType baseObjectType, ushort entityId, out IEntity entity)
        {
            bool result;

            switch (baseObjectType)
            {
            case BaseObjectType.Player:
                result = playerPool.GetOrCreate(entityPointer, entityId, out var player);
                entity = player;
                return(result);

            case BaseObjectType.Vehicle:
                result = vehiclePool.GetOrCreate(entityPointer, entityId, out var vehicle);
                entity = vehicle;
                return(result);

            default:
                entity = default;
                return(false);
            }
        }
Beispiel #23
0
        public bool Get(IntPtr entityPointer, BaseObjectType baseObjectType, out IEntity entity)
        {
            bool result;

            switch (baseObjectType)
            {
            case BaseObjectType.Player:
                var player = playerPool.Get(entityPointer);
                entity = player;
                return(player != null);

            case BaseObjectType.Vehicle:
                var vehicle = vehiclePool.Get(entityPointer);
                entity = vehicle;
                return(vehicle != null);

            default:
                entity = default;
                return(false);
            }
        }
        void DeleteByBaseObject()
        {
            this.Text = "基础资料 - " + BaseObjectType.ToString();
            switch (BaseObjectType)
            {
            case InternalBaseObject.银行:
            case InternalBaseObject.结算方式:
                DeleteBySettle();
                break;

            case InternalBaseObject.账户:
                DeleteByItemOfBank();
                break;

            case InternalBaseObject.账套:
                DeleteByAccount();
                break;

            default:
                break;
            }
        }
 void UIBaseInfoManager_Shown(object sender, EventArgs e)
 {
     this.Text = BaseObjectType.ToString();
     #region button Event
     foreach (object button in toolStrip1.Items)
     {
         if (button.GetType() == typeof(ToolStripButton))
         {
             ((ToolStripButton)button).Click += new EventHandler(button_Click);
         }
         else if (button.GetType() == typeof(ToolStripMenuItem))
         {
             ((ToolStripMenuItem)button).Click += new EventHandler(button_Click);
         }
         else if (button.GetType() == typeof(ToolStripSplitButton))
         {
             ((ToolStripSplitButton)button).ButtonClick += new EventHandler(button_Click);
         }
     }
     #endregion
     InitStyleByBaseObject();
 }
 protected ColShape(ICore core, IntPtr nativePointer, BaseObjectType baseObjectType) : base(core, GetWorldObjectPointer(core, nativePointer), baseObjectType)
 {
     ColShapeNativePointer = nativePointer;
 }
 public MockWorldObject(IntPtr nativePointer, BaseObjectType type) : base(nativePointer, type)
 {
 }
 protected WorldObject(IntPtr nativePointer, BaseObjectType type) : base(nativePointer, type)
 {
 }
Beispiel #29
0
 public static void OnColShape(IntPtr colShapePointer, IntPtr targetEntityPointer, BaseObjectType entityType,
                               bool state)
 {
     _module.OnColShape(colShapePointer, targetEntityPointer, entityType, state);
 }
Beispiel #30
0
 public static void OnSyncedMetaDataChange(IntPtr entityPointer, BaseObjectType entityType, string key,
                                           IntPtr value)
 {
     _module.OnSyncedMetaDataChange(entityPointer, entityType, key, value);
 }