public CharacterModel(CharacterConfig config, Vector3 position, CharacterEventHandler eventHandler) { _eventHandler = eventHandler; Config = config; Health = config.Health; _armour = config.Armour; Position = position; }
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); }
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(); }
protected override UnityEvent <DamageInstance> GetEvent(CharacterEventHandler eventHandler) { return(onAttackOrAttacked == AttackOrAttacked.Attacking ? eventHandler.Attacking : eventHandler.Attacked); }
protected override UnityEvent <DamageInstance> GetEvent(CharacterEventHandler eventHandler) { return(eventHandler.Attacking); }
protected override UnityEvent <DamageInstance> GetEvent(CharacterEventHandler eventHandler) { return(dealtOrReceive == DealtOrReceive.Dealt ? eventHandler.DealDamage : eventHandler.ReceiveDamage); }
protected override UnityEvent <DamageInstance> GetEvent(CharacterEventHandler eventHandler) { return(incomingOrOutgoing == IncomingOrOutgoing.Incoming ? eventHandler.Attacked : eventHandler.Attacking); }
protected abstract UnityEvent <T> GetEvent(CharacterEventHandler eventHandler);
public void CharacterMove(bool isUp) { CharacterEventHandler?.Invoke(isUp); }