Exemplo n.º 1
0
    public Application(
        IWebSocketCore webSocketCore,
        IConnectionService connectionService,

        ILoginSystem loginSystem,
        ICommandSystem commandSystem,
        IMovementSystem movementSystem,
        IChatSystem chatSystem,
        IStoreSystem storeSystem,
        ICombatSystem combatSystem,
        IInventorySystem inventorySystem,

        ILocationSender locationSender,
        IChatSender chatSender,
        IJoinSender joinSender)
    {
        _webSocketCore     = webSocketCore;
        _connectionService = connectionService;

        _commandSystem   = commandSystem;
        _movementSystem  = movementSystem;
        _chatSystem      = chatSystem;
        _storeSystem     = storeSystem;
        _combatSystem    = combatSystem;
        _inventorySystem = inventorySystem;
        _loginSystem     = loginSystem;

        _locationSender = locationSender;
        _chatSender     = chatSender;
        _joinSender     = joinSender;
    }
Exemplo n.º 2
0
 public AuraState(ICaster source, ICombatSystem target, Aura aura, object referenceObject)
 {
     AuraType        = aura;
     Source          = source;
     ReferenceObject = referenceObject;
     Target          = target;
 }
Exemplo n.º 3
0
        public override void Execute()
        {
            Debug.Assert(DobjMonster != null);

            CombatSystem = Globals.CreateInstance <ICombatSystem>(x =>
            {
                x.SetNextStateFunc = s => NextState = s;

                x.OfMonster = ActorMonster;

                x.DfMonster = DobjMonster;

                x.MemberNumber = MemberNumber;

                x.AttackNumber = AttackNumber;
            });

            CombatSystem.ExecuteAttack();

            if (NextState == null)
            {
                NextState = Globals.CreateInstance <IErrorState>(x =>
                {
                    x.ErrorMessage = string.Format("{0}: NextState == null", Name);
                });
            }
        }
Exemplo n.º 4
0
 public virtual AuraState CreateState(ICaster source, ICombatSystem target, object referenceObject)
 {
     return(new AuraState(source, target, this, referenceObject));
 }