Exemplo n.º 1
0
 public CharacterModel(CharacterConfig config, Vector3 position, CharacterEventHandler eventHandler)
 {
     _eventHandler = eventHandler;
     Config        = config;
     Health        = config.Health;
     _armour       = config.Armour;
     Position      = position;
 }
Exemplo n.º 2
0
    public override void Initialize()
    {
        /*
         * RebuildPartySlots();
         *
         * InputEventHandler.OnIssueTaskComplete -= OnCommandComplete;
         * InputEventHandler.OnIssueTaskComplete += OnCommandComplete;
         * InputEventHandler.OnGamePause -= UpdateButtonState;
         * InputEventHandler.OnGamePause += UpdateButtonState;
         * InputEventHandler.OnGameUnpause -= UpdateButtonState;
         * InputEventHandler.OnGameUnpause += UpdateButtonState;
         * InputEventHandler.OnSelectActiveMember -= OnSelectActiveMember;
         * InputEventHandler.OnSelectActiveMember += OnSelectActiveMember;
         *
         *
         * UIEventHandler.OnOpenWindow -= UpdateButtonState;
         * UIEventHandler.OnOpenWindow += UpdateButtonState;
         * UIEventHandler.OnCloseWindow -= UpdateButtonState;
         * UIEventHandler.OnCloseWindow += UpdateButtonState;
         *
         * UpdateButtonState();
         */

        EnergyMeter.Initialize(1);
        StaminaMeter.Initialize(1);
        HealthMeter.Initialize(1);
        RadioInfectMeter.Initialize(0.7f);
        GeigerCounter.Initialize(0);
        _isShowingRadiation   = true;
        RadiationSymbol.alpha = 0.75f;
        InfectionSymbol.alpha = 0;
        FlipSwitch1.alpha     = 1;
        FlipSwitch2.alpha     = 0;
        Compass.Initialize();

        NGUITools.SetActive(HelpText.gameObject, false);
        NGUITools.SetActive(DeathLabel.gameObject, false);

        OnUpdateTotalAmmo();

        _boostIndicators = new Dictionary <PlayerBoostType, UISprite>();
        _boostIndicators.Add(PlayerBoostType.MaxStamina, IndicatorSprites[2]);

        CharacterEventHandler characterEvent = GameManager.Inst.PlayerControl.SelectedPC.MyEventHandler;

        characterEvent.OnSelectWeapon  -= OnPullOut;
        characterEvent.OnSelectWeapon  += OnPullOut;
        characterEvent.OnPutAwayWeapon -= OnPutAway;
        characterEvent.OnPutAwayWeapon += OnPutAway;


        _messages = new Stack <string>();

        _bloodLevel = 0;

        _updateScalingTimer = 3;
    }
        /** Constructor
         *  @param
         *      name The name to be given to the widget (must be unique).
         *  @param
         *      dimensions The x Position, y Position, width, and height of the widget.
         *              @param
         *                      positionMode The GuiMetricsMode for the values given for the position. (absolute/relative/pixel)
         *              @param
         *                      sizeMode The GuiMetricsMode for the values given for the size. (absolute/relative/pixel)
         *              @param
         *                      material Ogre material defining the widget image.
         *              @param
         *                      overlayContainer associates the internal OverlayElement with a specified zOrder.
         *              @param
         *                      ParentWidget parent widget which created this widget.
         */
        public TextBox(string name, Vector4 dimensions, QGuiMetricsMode positionMode, QGuiMetricsMode sizeMode, string material, OverlayContainer overlayContainer, Widget ParentWidget)
            : base(name, dimensions, positionMode, sizeMode, material, overlayContainer, ParentWidget)
        {
            mWidgetType = Widget.WidgetType.QGUI_TYPE_TEXTBOX;

            mMaskUserInput         = false;
            mBackSpaceDown         = false;
            mBackSpaceTimer        = 0.0f;
            mDeleteDown            = false;
            mDeleteTimer           = 0.0f;
            mLeftArrowDown         = false;
            mRightArrowDown        = false;
            mMoveCursorTimer       = 0.0f;
            mCursorVisibilityTimer = 0.0f;
            mReadOnly  = false;
            mInputMode = false;


            // Border Overlay gives us ability to assign material to TextBox border and Panel separately.
            mOverlayElement = createPanelOverlayElement(mInstanceName + ".Background", mPixelDimensions, "");
            mOverlayContainer.AddChild(mOverlayElement);
            mOverlayElement.Show();
            setMaterial(mWidgetMaterial);

            mCharacterHeight = 0.75f;
            Mogre.Vector3 textDimensions = new Mogre.Vector3(0, 0, mCharacterHeight);
            // Label has no material, since it directly overlaps the textbox overlay element
            mTextWidget = new Text(mInstanceName + ".Text", textDimensions, QGuiMetricsMode.QGUI_GMM_RELATIVE, QGuiMetricsMode.QGUI_GMM_RELATIVE, mChildrenContainer, this);
            mTextWidget.setTruncateMode(Text.TruncateMode.LEFT);
            mTextWidget.setTruncationFeedback("");
            mTextWidget.setZOrderOffset(1);
            _addChildWidget(mTextWidget);

            mHorizontalAlignment = GuiHorizontalAlignment.GHA_LEFT;
            mVerticalAlignment   = GuiVerticalAlignment.GVA_CENTER;

            alignText(mHorizontalAlignment, mVerticalAlignment);

            OnDeactivate      += new DeactivateEventHandler(TextBox_OnDeactivate);
            OnCharacter       += new CharacterEventHandler(TextBox_OnCharacter);
            OnKeyDown         += new KeyDownEventHandler(TextBox_OnKeyDown);
            OnKeyUp           += new KeyUpEventHandler(TextBox_OnKeyUp);
            OnMouseButtonDown += new MouseButtonDownEventHandler(TextBox_OnMouseButtonDown);
            OnTimeElapsed     += new TimeElapsedHandler(TextBox_OnTimeElapsed);
        }
Exemplo n.º 4
0
    public Character(CharacterTemplateSlot templateSlot, Team team,
                     CharacterActor actor, CharacterMover mover, CharacterFloatingTextHandler floatingTextHandler)
    {
        Template    = templateSlot.Template;
        actor.Owner = this;
        mover.Owner = this;
        floatingTextHandler.Owner = this;

        Team = team;

        Actor = actor;
        Mover = mover;
        FloatingTextHandler = floatingTextHandler;

        ActionPointHandler = new CharacterActionPointHandler(this);
        PositionHandler    = new CharacterPositionHandler(this, templateSlot.Position);
        AbilityHandler     = new CharacterAbilityHandler(this);
        EventHandler       = new CharacterEventHandler(this);
        StatusHandler      = new CharacterStatusHandler(this);
        HealthHandler      = new CharacterHealthHandler(this);
        AIHandler          = new CharacterAIHandler(this);

        RegisterAvailabilityListeners();
    }
Exemplo n.º 5
0
 protected override UnityEvent <DamageInstance> GetEvent(CharacterEventHandler eventHandler)
 {
     return(onAttackOrAttacked == AttackOrAttacked.Attacking ? eventHandler.Attacking : eventHandler.Attacked);
 }
Exemplo n.º 6
0
 protected override UnityEvent <DamageInstance> GetEvent(CharacterEventHandler eventHandler)
 {
     return(eventHandler.Attacking);
 }
Exemplo n.º 7
0
 protected override UnityEvent <DamageInstance> GetEvent(CharacterEventHandler eventHandler)
 {
     return(dealtOrReceive == DealtOrReceive.Dealt ? eventHandler.DealDamage : eventHandler.ReceiveDamage);
 }
Exemplo n.º 8
0
 protected override UnityEvent <DamageInstance> GetEvent(CharacterEventHandler eventHandler)
 {
     return(incomingOrOutgoing == IncomingOrOutgoing.Incoming ? eventHandler.Attacked : eventHandler.Attacking);
 }
Exemplo n.º 9
0
 protected abstract UnityEvent <T> GetEvent(CharacterEventHandler eventHandler);
Exemplo n.º 10
0
 public void CharacterMove(bool isUp)
 {
     CharacterEventHandler?.Invoke(isUp);
 }