예제 #1
0
 public PuppetActorMovement(ITagContainer diContainer) : base(diContainer.GetTag <DefaultEcs.World>(), CreateEntityContainer, useBuffer: true)
 {
     worldCollider              = diContainer.GetTag <WorldCollider>();
     scene                      = diContainer.GetTag <Scene>();
     addedSubscription          = World.SubscribeComponentAdded <components.PuppetActorMovement>(HandleComponentAdded);
     placeToGroundSubscription  = World.Subscribe <messages.CreaturePlaceToGround>(HandlePlaceToGround);
     placeToTriggerSubscription = World.Subscribe <messages.CreaturePlaceToTrigger>(HandlePlaceToTrigger);
 }
예제 #2
0
 public AnimalWaypointAI(ITagContainer diContainer) : base(diContainer.GetTag <DefaultEcs.World>(), CreateEntityContainer, useBuffer: true)
 {
     game                    = diContainer.GetTag <Game>();
     scene                   = diContainer.GetTag <Scene>();
     worldCollider           = diContainer.GetTag <WorldCollider>();
     sceneLoadedSubscription = World.Subscribe <messages.SceneLoaded>(HandleSceneLoaded);
     addSubscription         = World.SubscribeComponentAdded <components.AnimalWaypointAI>(HandleAddedComponent);
 }
예제 #3
0
 public NPC(ITagContainer diContainer) : base(diContainer.GetTag <DefaultEcs.World>(), CreateEntityContainer, useBuffer: true)
 {
     worldCollider              = diContainer.GetTag <WorldCollider>();
     scene                      = diContainer.GetTag <Scene>();
     mappedDB                   = diContainer.GetTag <zzio.db.MappedDB>();
     sceneLoadSubscription      = World.Subscribe <messages.SceneLoaded>(HandleSceneLoaded);
     setNpcModifierSubscription = World.Subscribe <zzio.GSModSetNPCModifier>(HandleSetNpcModifier);
 }
예제 #4
0
    void Awake()
    {
        s_Instance   = this;
        m_BoarderObj = new List <GameObject>();
#if DemoVersion
        storyBoarderLine = demoBoarderLine;
#endif
    }
예제 #5
0
        public HumanPhysics(ITagContainer diContainer) : base(diContainer.GetTag <DefaultEcs.World>(), CreateEntityContainer, useBuffer: true)
        {
            World.SetMaxCapacity <components.HumanPhysics>(1);
            worldCollider = diContainer.GetTag <WorldCollider>();

            collidableModels = World
                               .GetEntities()
                               .With <IIntersectionable>()
                               .With <components.Collidable>()
                               .With <ClumpBuffers>() // a model not a creature
                               .AsSet();
            collidableCreatures = World
                                  .GetEntities()
                                  .With <components.Collidable>()
                                  .With <components.ActorParts>() // the player is not collidable, don't worry
                                  .AsSet();

            var scene = diContainer.GetTag <zzio.scn.Scene>();

            isInterior = scene.dataset.isInterior;
        }
예제 #6
0
 public BehaviourCollectablePhysics(ITagContainer diContainer) : base(diContainer.GetTag <DefaultEcs.World>(), CreateEntityContainer, useBuffer: false)
 {
     camera            = diContainer.GetTag <rendering.Camera>();
     worldCollider     = diContainer.GetTag <WorldCollider>();
     addedSubscription = World.SubscribeComponentAdded <components.behaviour.CollectablePhysics>(HandleComponentAdded);
 }
예제 #7
0
 protected BaseGameCamera(ITagContainer diContainer) : base(diContainer)
 {
     lockPlayerSubscription   = world.Subscribe <messages.LockPlayerControl>(HandleLockPlayerControl);
     worldCollider            = diContainer.GetTag <WorldCollider>();
     zzContainer.OnMouseMove += HandleMouseMove;
 }