예제 #1
0
        public override void Initialize(ActorBehaviorComponentData behaviorData)
        {
            Assert.IsTrue(Owner is Player);
            Assert.IsTrue(behaviorData is PlayerBehaviorData);

            base.Initialize(behaviorData);
        }
예제 #2
0
        protected override void InitRigidbody(ActorBehaviorComponentData behaviorData)
        {
            base.InitRigidbody(behaviorData);

            // we run the follow cam in FixedUpdate() and interpolation interferes with that
            RigidBody.interpolation = RigidbodyInterpolation2D.None;
        }
예제 #3
0
        public override void Initialize(ActorBehaviorComponentData behaviorData)
        {
            Assert.IsTrue(Owner is INPC);
            Assert.IsTrue(behaviorData is NPCBehaviorData);

            base.Initialize(behaviorData);

            NPCOwner.OnBehaviorInitialized();
        }
예제 #4
0
        private void InitActor(Actor actor, Guid id, ActorBehaviorComponentData behaviorData)
        {
            InitActor(actor);

            if (null != actor.Behavior && null != behaviorData)
            {
                actor.Behavior.Initialize(behaviorData);
            }
        }
예제 #5
0
        public override void Initialize(ActorBehaviorComponentData behaviorData)
        {
            Assert.IsTrue(Owner is IPlayer);
            Assert.IsTrue(behaviorData is PlayerBehaviorData);

            base.Initialize(behaviorData);

            _moveDirection = Vector3.zero;
        }
예제 #6
0
        public virtual void Initialize(ActorBehaviorComponentData behaviorData)
        {
            _behaviorData = behaviorData;

            if (null != Owner)
            {
                Owner.IsMoving = false;

                if (null != Owner.Movement)
                {
                    Owner.Movement.Initialize(behaviorData);
                }
            }
        }
예제 #7
0
        public Actor SpawnFromPrefab(Actor prefab, Guid id, ActorBehaviorComponentData behaviorData, Transform parent = null, bool activate = true)
        {
#if USE_NETWORKING
            Debug.LogWarning("You probably meant to use NetworkManager.SpawnNetworkPrefab");
#endif

            Actor actor = Instantiate(prefab, parent);
            actor.gameObject.SetActive(activate);

            if (!Spawn(actor, id, behaviorData))
            {
                Destroy(actor);
                return(null);
            }
            return(actor);
        }
예제 #8
0
        protected override void InitRigidbody(ActorBehaviorComponentData behaviorData)
        {
            base.InitRigidbody(behaviorData);

            CharacterBehaviorData characterBehaviorData = behaviorData as CharacterBehaviorData;

            Assert.IsNotNull(characterBehaviorData);

            RigidBody.isKinematic            = false;
            RigidBody.useGravity             = true;
            RigidBody.freezeRotation         = true;
            RigidBody.detectCollisions       = true;
            RigidBody.collisionDetectionMode = CollisionDetectionMode.ContinuousSpeculative;

            // we run the follow cam in FixedUpdate() and interpolation interferes with that
            RigidBody.interpolation = RigidbodyInterpolation.None;
        }
예제 #9
0
 public Actor SpawnFromPrefab(Actor prefab, ActorBehaviorComponentData behaviorData, Transform parent = null, bool activate = true)
 {
     return(SpawnFromPrefab(prefab, Guid.NewGuid(), behaviorData, parent, activate));
 }
예제 #10
0
        public bool Spawn(Actor actor, Guid id, ActorBehaviorComponentData behaviorData)
        {
            InitActor(actor, id, behaviorData);

            return(actor.OnSpawn(this));
        }
예제 #11
0
        public override void Initialize(ActorBehaviorComponentData behaviorData)
        {
            Assert.IsTrue(Owner.Movement is CharacterFlightMovement3D);

            base.Initialize(behaviorData);
        }
예제 #12
0
        public override void Reset(ActorBehaviorComponentData behaviorData)
        {
            base.Reset(behaviorData);

            Assert.IsTrue(Owner.Behavior is CharacterBehavior);
        }
예제 #13
0
        public override void Initialize(ActorBehaviorComponentData behaviorData)
        {
            base.Initialize(behaviorData);

            Assert.IsTrue(Owner.Behavior is CharacterBehavior);
        }