コード例 #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,
            });
コード例 #2
0
ファイル: OnTriggerEnter.cs プロジェクト: nwn-dotnet/Anvil
 private static bool HandleEnter(CNWSTrigger trigger, CScriptEvent scriptEvent)
 {
     OnTriggerEnter eventData = ProcessEvent(new OnTriggerEnter
     {
         Trigger        = trigger.ToNwObject <NwTrigger>() !,
         EnteredObject  = scriptEvent.GetObjectID(0).ToNwObject <NwGameObject>() !,
         IsTrap         = trigger.m_bTrap.ToBool(),
         IsTrapForceSet = scriptEvent.GetInteger(0).ToBool(),
     });
コード例 #3
0
ファイル: NwTrigger.cs プロジェクト: nwn-dotnet/Anvil
 internal NwTrigger(CNWSTrigger trigger) : base(trigger)
 {
     Trigger = trigger;
 }