Beispiel #1
0
        protected AVisibleObjectAi(ABdoObject owner, float visibleRange) : base(owner)
        {
            VisibleRange = visibleRange;

            _objectsThatISee.ElementAddedEvent   += IamSeeSomeone;
            _objectsThatISee.ElementRemovedEvent += IamUnseeSomeone;
            _objectThatSeeMe.ElementAddedEvent   += SomeoneSeeMe;
            _objectThatSeeMe.ElementRemovedEvent += SomeoneUnseeMee;
        }
Beispiel #2
0
        protected override void IamSeeSomeone(ABdoObject someone)
        {
            switch (someone.Family)
            {
            case ABdoObject.ObjectFamily.Player:
                var ownerPlayer = (Player)Owner;
                var successor   = (Player)someone;
                var blob        = new SBpPlayerSpawn(successor.Connection, ownerPlayer.Connection);

                blob.SpawnPlayer();

                break;
            }
        }
Beispiel #3
0
        protected override void IamSeeSomeone(ABdoObject someone)
        {
            switch (someone.Family)
            {
                case ABdoObject.ObjectFamily.Player:
                    var ownerPlayer = (Player) Owner;
                    var successor = (Player) someone;
                    var blob = new SBpPlayerSpawn(successor.Connection, ownerPlayer.Connection);

                    blob.SpawnPlayer();

                    break;
            }
        }
Beispiel #4
0
        public void ObjectMoved(ABdoObject obj, MovementAction movement)
        {
            switch (obj.Family)
            {
            case ABdoObject.ObjectFamily.Player:

                var player = (Player)obj;

                player.Position.Point.X = movement.StartPosition.Point.X;
                player.Position.Point.Y = movement.StartPosition.Point.Y;
                player.Position.Point.Z = movement.StartPosition.Point.Z;
                player.Position.Heading = movement.Heading;

                player.VisibleAi.OwnerMoved(movement);

                break;

            default:
                Log.Debug($"Cannot process move action for {obj.Family} object");
                break;
            }
        }
        public void ObjectMoved(ABdoObject obj, MovementAction movement)
        {
            switch (obj.Family)
            {
                case ABdoObject.ObjectFamily.Player:

                    var player = (Player)obj;

                    player.Position.Point.X = movement.StartPosition.Point.X;
                    player.Position.Point.Y = movement.StartPosition.Point.Y;
                    player.Position.Point.Z = movement.StartPosition.Point.Z;
                    player.Position.Heading = movement.Heading;

                    player.VisibleAi.OwnerMoved(movement);

                    break;

                default:
                    Log.Debug($"Cannot process move action for {obj.Family} object");
                    break;
            }
        }
Beispiel #6
0
 protected override sealed bool CanSee(ABdoObject target)
 {
     return(true);
 }
Beispiel #7
0
 protected override sealed bool CanSee(ABdoObject target)
 {
     return true;
 }
Beispiel #8
0
 protected ACreatureAi(ABdoObject owner, float visibleRange) : base(owner, visibleRange)
 {
 }
Beispiel #9
0
 protected abstract void SomeoneThatSeeMeWasMoved(ABdoObject someone, MovementAction action);
Beispiel #10
0
 public bool PlaceToArea(ABdoObject obj)
 {
     return _objects.AddIfNotPresent(obj);
 }
Beispiel #11
0
 protected AAi(ABdoObject owner)
 {
     Owner = owner;
 }
Beispiel #12
0
 public bool RemoveFromArea(ABdoObject obj)
 {
     return(_objects.Remove(obj));
 }
Beispiel #13
0
 public bool RemoveFromArea(ABdoObject obj)
 {
     return _objects.Remove(obj);
 }
Beispiel #14
0
 protected override void SomeoneSeeMe(ABdoObject someone)
 {
 }
Beispiel #15
0
 protected override void SomeoneThatSeeMeWasMoved(ABdoObject someone, MovementAction action)
 {
 }
Beispiel #16
0
 protected AAi(ABdoObject owner)
 {
     Owner = owner;
 }
Beispiel #17
0
 protected override void SomeoneUnseeMee(ABdoObject someone)
 {          
 }
Beispiel #18
0
 protected override void SomeoneSeeMe(ABdoObject someone)
 {          
 }
Beispiel #19
0
 protected override void IamUnseeSomeone(ABdoObject someone)
 {            
 }
Beispiel #20
0
 protected ACreatureAi(ABdoObject owner, float visibleRange) : base(owner, visibleRange)
 {
 }
Beispiel #21
0
 protected override void SomeoneThatSeeMeWasMoved(ABdoObject someone, MovementAction action)
 {
 }
Beispiel #22
0
 private bool CanSeeObject(ABdoObject obj)
 {
     return(!obj.Equals(Owner) && Owner.Area == obj.Area && Owner.Position.Distance(obj.Position) < VisibleRange && CanSee(obj));
 }
Beispiel #23
0
 public PlayerAI(ABdoObject owner, float visibleRange) : base(owner, visibleRange)
 {
 }
Beispiel #24
0
 public PlayerAI(ABdoObject owner, float visibleRange) : base(owner, visibleRange)
 {
 }
Beispiel #25
0
 protected abstract bool CanSee(ABdoObject target);
Beispiel #26
0
 protected override void IamUnseeSomeone(ABdoObject someone)
 {
 }
Beispiel #27
0
 protected abstract void IamUnseeSomeone(ABdoObject someone);
Beispiel #28
0
 protected override void SomeoneUnseeMee(ABdoObject someone)
 {
 }
Beispiel #29
0
 protected abstract void SomeoneSeeMe(ABdoObject someone);
Beispiel #30
0
 protected abstract void SomeoneUnseeMee(ABdoObject someone);
Beispiel #31
0
 public bool PlaceToArea(ABdoObject obj)
 {
     return(_objects.AddIfNotPresent(obj));
 }