Exemplo n.º 1
0
        internal static NwObject?CreateInternal(ICGameObject?gameObject)
        {
            if (gameObject == null)
            {
                return(null);
            }

            return(gameObject switch
            {
                CNWSArea area => new NwArea(area),
                CNWSAreaOfEffectObject areaOfEffect => new NwAreaOfEffect(areaOfEffect),
                CNWSCreature creature => new NwCreature(creature),
                CNWSDoor door => new NwDoor(door),
                CNWSEncounter encounter => new NwEncounter(encounter),
                CNWSItem item => new NwItem(item),
                CNWSPlaceable placeable => new NwPlaceable(placeable),
                CNWSSoundObject soundObject => new NwSound(soundObject),
                CNWSStore store => new NwStore(store),
                CNWSTrigger trigger => new NwTrigger(trigger),
                CNWSWaypoint waypoint => new NwWaypoint(waypoint),
                CNWSObject => CreateFromVirtualType(gameObject),
                CGameObject => CreateFromVirtualType(gameObject),
                CNWSModule => NwModule.Instance,
                _ => null,
            });
Exemplo n.º 2
0
        private void OnAreaDestructor(void *pArea)
        {
            CNWSArea area = CNWSArea.FromPointer(pArea);

            areaDestructorHook.CallOriginal(pArea);
            DestroyObjectStorage(area);
        }
Exemplo n.º 3
0
 private static int OnSendServerToPlayerAreaClientArea(void *pMessage, void *pPlayer, void *pArea, float fX, float fY, float fZ, void *vNewOrientation, int bPlayerIsNewToModule)
 {
     ProcessEvent(new OnServerSendArea
     {
         Area   = CNWSArea.FromPointer(pArea).ToNwObject <NwArea>() !,
         Player = CNWSPlayer.FromPointer(pPlayer).ToNwPlayer() !,
         IsPlayerNewToModule = bPlayerIsNewToModule.ToBool(),
     });
Exemplo n.º 4
0
 internal NwArea(CNWSArea area) : base(area)
 {
     Area = area;
 }
Exemplo n.º 5
0
 private protected override void AddToArea(CNWSArea area, float x, float y, float z)
 {
     AreaOfEffect.AddToArea(area, x, y, z, true.ToInt());
 }