Esempio n. 1
0
    // Update is called once per frame
    void Update()
    {
        foreach (var e in inputEvents)
        {
            switch (e.actionType)
            {
            case VRActionType.TriggerDown:
                if ((!VRPlayer.Instance.IsUsingSimulator && mInteractor.VRInput != null) ? mInteractor.VRInput.GetPressDown(EVRButtonId.k_EButton_SteamVR_Trigger) : Input.GetMouseButtonDown(0))
                {
                    GlobalEventManager.SendEvent(e.actionEvent);
                }
                break;

            case VRActionType.MenuDown:
                if ((!VRPlayer.Instance.IsUsingSimulator && mInteractor.VRInput != null) ? mInteractor.VRInput.GetPressDown(EVRButtonId.k_EButton_ApplicationMenu) : Input.GetKeyDown(KeyCode.M))
                {
                    GlobalEventManager.SendEvent(e.actionEvent);
                }
                break;

            case VRActionType.PadDown:
                if ((!VRPlayer.Instance.IsUsingSimulator && mInteractor.VRInput != null) ? mInteractor.VRInput.GetPressDown(EVRButtonId.k_EButton_SteamVR_Touchpad) : Input.GetMouseButtonDown(1))
                {
                    GlobalEventManager.SendEvent(e.actionEvent);
                }
                break;

            default: break;
            }
        }
    }
    // Use this for initialization
    void Start()
    {
        CameraCharacter.Singleton.RegisterCollider(GetComponent <Collider>(), OnClickHandler);
        if (GetComponent <MeshRenderer>())
        {
            //mainMaterial = GetComponent<MeshRenderer>().materials[0];
            //oriColor = mainMaterial.color;
        }

        //Register global command handlers
        GlobalEventManager.RegisterHandler("Highlight-" + name,
                                           Highlight
                                           );

        GlobalEventManager.RegisterHandler("Dehighlight-" + name,
                                           Dehighlight
                                           );

        GlobalEventManager.RegisterHandler("Lock-" + name,
                                           Lock
                                           );

        GlobalEventManager.RegisterHandler("Unlock-" + name,
                                           Unlock
                                           );
        GlobalEventManager.RegisterHandler("LookAt-" + name,
                                           LookAt
                                           );

        GlobalEventManager.RegisterHandler("Hide-" + name, Hide);
        GlobalEventManager.RegisterHandler("Display-" + name, Display);
        colorDif = new Color(highlightColor.r - 0.3f, highlightColor.g - 0.3f, highlightColor.b - 0.3f);
    }
Esempio n. 3
0
    private void OnGUI()
    {
        string[] evtArray = GlobalEventManager.GetAllEvents();
        GUILayout.Label("All Events");
        Color c = GUI.color;

        GUI.color = Color.blue;
        foreach (var s in evtArray)
        {
            GUILayout.Label(s);
        }

        foreach (var s in gestureOperations)
        {
            s.OnGUI();
        }

        Vector3?tp = GetTouchPoint();

        GUILayout.Label("TouchPoint:" + (tp == null ? "0,0,0" : tp.Value.ToString()));
        if (tp != null)
        {
            GUI.Label(new Rect(tp.Value.x, Screen.height - tp.Value.y, 100, 100), "Touch Here");
        }
        GUI.color = c;
    }
Esempio n. 4
0
        static public void OnHitAllEffects(GlobalEventManager globalEventManager, DamageInfo damageInfo, GameObject victim)
        {
            float           procCoefficient = damageInfo.procCoefficient;
            CharacterBody   body            = damageInfo.attacker.GetComponent <CharacterBody>();
            CharacterMaster master          = body.master;

            if (!(bool)body || procCoefficient <= 0.0 || !(bool)body || !(bool)master || !(bool)master.inventory)
            {
                return;
            }

            Inventory inventory = master.inventory;

            foreach (KeyValuePair <int, ModItem> Kv in ModItemDictionary)
            {
                int count = inventory.GetItemCount(Kv.Key);
                if (count > 0)
                {
                    foreach (ModHitEffect HitEffects in Kv.Value.GetHitEffectList)
                    {
                        if (HitEffects.EffectType == HitEffectType.OnHitAll && HitEffects.Condition(globalEventManager, damageInfo, victim, count))
                        {
                            HitEffects.Effect(globalEventManager, damageInfo, victim, count);
                        }
                    }
                }
            }
        }
 public override void OnExit()
 {
     if (ignorePastEvent.Value)
     {
         GlobalEventManager.UnregisterHandler(eventName.Value, EventHandler);
     }
 }
Esempio n. 6
0
        public override bool Condition(GlobalEventManager globalEventManager, DamageInfo damageInfo, GameObject victim, int count)
        {
            CharacterBody body      = damageInfo.attacker.GetComponent <CharacterBody>();
            Inventory     inventory = body.master.inventory;

            return(Util.CheckRoll(1.0f - 1.0f / (damageInfo.procCoefficient * 0.05f * count + 1.0f) * 100f, body.master.GetComponent <CharacterMaster>()));
        }
 private void OnDestroy()
 {
     GlobalEventManager.UnregisterHandler("HideBack-" + name, Hide);
     GlobalEventManager.UnregisterHandler("ScaleView-" + name, Display);
     GlobalEventManager.UnregisterHandler("Split-" + name, Split);
     GlobalEventManager.UnregisterHandler("Combine-" + name, Combine);
 }
Esempio n. 8
0
        public override void Effect(GlobalEventManager globalEventManager, DamageInfo damageInfo, GameObject victim, int itemCount)
        {
            float         procCoefficient = damageInfo.procCoefficient;
            CharacterBody body            = damageInfo.attacker.GetComponent <CharacterBody>();

            body.AddTimedBuff(BuffIndex.AttackSpeedOnCrit, 2f * procCoefficient);
        }
Esempio n. 9
0
        public override bool Condition(GlobalEventManager globalEventManager, DamageInfo damageInfo, GameObject victim, int count)
        {
            CharacterBody   Attacker = damageInfo.attacker.GetComponent <CharacterBody>();
            CharacterMaster master   = Attacker.master;

            return(!damageInfo.procChainMask.GetProcValue(ProcType.BleedOnHit) && (damageInfo.damageType & DamageType.BleedOnHit) > 0U && Util.CheckRoll(15f * count * damageInfo.procCoefficient, master));
        }
Esempio n. 10
0
        public override void Effect(GlobalEventManager globalEventManager, DamageInfo damageInfo, GameObject victim, int itemCount)
        {
            CharacterBody   body              = damageInfo.attacker.GetComponent <CharacterBody>();
            CharacterBody   Attacker          = damageInfo.attacker.GetComponent <CharacterBody>();
            CharacterBody   characterBody     = victim ? victim.GetComponent <CharacterBody>() : null;
            CharacterMaster master            = Attacker.master;
            Inventory       inventory         = master.inventory;
            TeamComponent   Team              = Attacker.GetComponent <TeamComponent>();
            TeamIndex       attackerTeamIndex = Team ? Team.teamIndex : TeamIndex.Neutral;
            Vector3         aimOrigin         = Attacker.aimOrigin;

            damageInfo.procChainMask.SetProcValue(ProcType.Rings, true);



            float      damageCoefficient = (float)(1.25 + 1.25 * itemCount);
            float      num3        = Util.OnHitProcDamage(damageInfo.damage, Attacker.damage, damageCoefficient);
            DamageInfo damageInfo1 = new DamageInfo()
            {
                damage           = num3,
                damageColorIndex = DamageColorIndex.Item,
                damageType       = RoR2.DamageType.Generic,
                attacker         = damageInfo.attacker,
                crit             = damageInfo.crit,
                force            = Vector3.zero,
                inflictor        = (GameObject)null,
                position         = damageInfo.position,
                procChainMask    = damageInfo.procChainMask,
                procCoefficient  = 1f
            };

            EffectManager.instance.SimpleImpactEffect(Resources.Load <GameObject>("Prefabs/Effects/ImpactEffects/IceRingExplosion"), damageInfo.position, Vector3.up, true);
            characterBody.AddTimedBuff(BuffIndex.Slow80, 3f);
            victim.GetComponent <HealthComponent>()?.TakeDamage(damageInfo1);
        }
Esempio n. 11
0
        // Token: 0x06001446 RID: 5190 RVA: 0x000567B0 File Offset: 0x000549B0
        private void SetTeamExperience(TeamIndex teamIndex, ulong newExperience)
        {
            if (newExperience > TeamManager.hardExpCap)
            {
                newExperience = TeamManager.hardExpCap;
            }
            this.teamExperience[(int)teamIndex] = newExperience;
            uint num  = this.teamLevels[(int)teamIndex];
            uint num2 = TeamManager.FindLevelForExperience(newExperience);

            if (num != num2)
            {
                ReadOnlyCollection <TeamComponent> teamMembers = TeamComponent.GetTeamMembers(teamIndex);
                for (int i = 0; i < teamMembers.Count; i++)
                {
                    CharacterBody component = teamMembers[i].GetComponent <CharacterBody>();
                    if (component)
                    {
                        component.OnLevelChanged();
                    }
                }
                this.teamLevels[(int)teamIndex] = num2;
                this.teamCurrentLevelExperience[(int)teamIndex] = TeamManager.GetExperienceForLevel(num2);
                this.teamNextLevelExperience[(int)teamIndex]    = TeamManager.GetExperienceForLevel(num2 + 1U);
                if (num < num2)
                {
                    GlobalEventManager.OnTeamLevelUp(teamIndex);
                }
            }
            if (NetworkServer.active)
            {
                base.SetDirtyBit(1U << (int)teamIndex);
            }
        }
 public override void OnUpdate()
 {
     if (!ignorePastEvent.Value && GlobalEventManager.PeekEvent(eventName.Value))
     {
         Finish();
     }
 }
Esempio n. 13
0
 public void SwitchToGuideMode()
 {
     UISystem.Singleton.SetContent("SW_ReenterModeSelecting", false);
     sceneReentranceCommand = "GuideMode";
     GlobalEventManager.SendEvent("NewModeSelected");
     Invoke("ReloadCurrentScene", 0.8f);
 }
Esempio n. 14
0
 // Use this for initialization
 void Start()
 {
     constraintPlane = new Plane(transform.up, transform.position);
     moveCenter      = transform.position;
     GlobalEventManager.RegisterHandler("Highlight-" + name, Highlight);
     GlobalEventManager.RegisterHandler("Dehighlight-" + name, Dehighlight);
 }
 void OnOkClicked()
 {
     if (currentSelecting)
     {
         GlobalEventManager.SendEvent(okButtonEvent);
     }
 }
Esempio n. 16
0
    private void Awake()
    {
        List <MonoBehaviour> deps = new List <MonoBehaviour>
        {
            (gem = FindObjectOfType(typeof(GlobalEventManager)) as GlobalEventManager),
        };

        if (deps.Contains(null))
        {
            throw new Exception("Could not find dependency");
        }
        if (rooms.Count != cameras.Count)
        {
            throw new Exception("Invalid state: The number of rooms is not equal to the number of cameras");
        }
        if (rooms.Count == 0)
        {
            throw new Exception("Invalid state: There must at least exist 1 room");
        }
        roomToCameraMap = new Dictionary <GameObject, Camera>();
        robberToRoomMap = new Dictionary <GameObject, GameObject>();
        for (int i = 0; i < rooms.Count; i++)
        {
            roomToCameraMap[rooms[i]] = cameras[i];
        }
    }
Esempio n. 17
0
    /// <summary>
    /// Mouse event processing, will be override for new requirement
    /// </summary>
    /// <param name="eventType"></param>
    void OnCameraCharacterEvent(CameraCharacter.InteractionEventType eventType)
    {
        switch (eventType)
        {
        case CameraCharacter.InteractionEventType.MouseHoverOut:
            mouseHovered = false;
            break;

        case CameraCharacter.InteractionEventType.MouseHoverIn:
            mouseHovered = true;
            break;

        case CameraCharacter.InteractionEventType.MouseClickDown:
            if (manager == null)
            {
                break;
            }
            if (locked == false && manager.status == BlockCombinationStatus.Divide)
            {
                GlobalEventManager.SendEvent("BlockClicked-" + blockName);
                manager.SetFocusBlockIndex(blockName);
                manager.ForwardTransform();
            }
            else if (manager.status == BlockCombinationStatus.Combine || manager.status == BlockCombinationStatus.CombineInsidePreview)
            {
                if (manager.CommandQueueLenght == 0)
                {
                    manager.ForwardTransform();
                }
            }
            break;

        default: break;
        }
    }
Esempio n. 18
0
    protected override void Awake()
    {
        base.Awake();
        if (VRPlayer.Instance != this)
        {
            return;
        }
        //originalPosition = transform.position;
        originalPosition = Vector3.zero;

        GlobalEventManager.RegisterHandler("VRPlayer.ResetPosition", ResetPosition);

        GlobalEventManager.RegisterHandler("VRPlayer.EnableCamera", EnableCamera);
        GlobalEventManager.RegisterHandler("VRPlayer.DisableCamera", DisableCamera);

        GlobalEventManager.RegisterHandler("VRPlayer.EnableMovement", EnableMovement);
        GlobalEventManager.RegisterHandler("VRPlayer.DisableMovement", DisableMovement);

        GlobalEventManager.RegisterHandler("VRPlayer.EnableInteraction", EnableInteraction);
        GlobalEventManager.RegisterHandler("VRPlayer.DisableInteraction", DisableInteraction);

        GlobalEventManager.RegisterHandler("VRPlayer.Camera.EnableSSAO", EnableSSAO);
        GlobalEventManager.RegisterHandler("VRPlayer.Camera.DisableSSAO", DisableSSAO);

        GlobalEventManager.RegisterHandler("VRPlayer.Camera.Shake", ShakeCamera);
    }
 public override void OnUpdate()
 {
     if (!ignorePastEvent.Value && GlobalEventManager.PeekEvent(eventName.Value))
     {
         Fsm.SendEventToFsmOnGameObject(Fsm.GameObject, Fsm.Name, succeedFsmEvent.Value);
         Finish();
     }
 }
 public override void OnUpdate()
 {
     base.OnUpdate();
     if (waitConfirm.Value && GlobalEventManager.PeekEvent("HintUI.Confirmed"))
     {
         Finish();
     }
 }
 private void OnDestroy()
 {
     GlobalEventManager.UnregisterHandler("Hide-" + name, Hide);
     GlobalEventManager.UnregisterHandler("Display-" + name, Display);
     GlobalEventManager.UnregisterHandler("Highlight-" + name, HighlightInlayCore);
     GlobalEventManager.UnregisterHandler("Dehighlight-" + name, DeHighlightInlayCore);
     GlobalEventManager.UnregisterHandler("Focus-" + name, Focus);
 }
 bool OnJadeReachCore()
 {
     //if (jadeFrameStatus != InlayFrameStatus.Focused)
     //    return false;
     GlobalEventManager.SendEvent(inlayEvent);
     jadeFrameStatus = InlayFrameStatus.Inlayed;
     return(true);
 }
Esempio n. 23
0
 public void OnTeleport()
 {
     if (GetComponent <PlayMakerFSM>() != null)
     {
         GetComponent <PlayMakerFSM>().SendEvent("Trigger");
     }
     GlobalEventManager.SendEvent("VRPlayer.Teleport@" + GetComponentInChildren <TextMesh>().text.Trim());
 }
Esempio n. 24
0
 // Start is called before the first frame update
 void Awake()
 {
     if (_instance != null || _instance != this)
     {
         Destroy(this);
     }
     _instance = this;
     DontDestroyOnLoad(this);
 }
Esempio n. 25
0
    // Use this for initialization
    void Start()
    {
        foreach (var p in allPeelingSides)
        {
            p.bambooSlider = this;
        }

        GlobalEventManager.RegisterHandler("Enable-" + name, EnableSlide);
    }
Esempio n. 26
0
        /// <summary>
        /// Adds an event that can be dispatched if it's not already defined
        /// </summary>
        /// <param name="globalEventManager"></param>
        /// <param name="eventName">The name of the event to dispatch from, see <see cref="GlobalEvents"/> for a complete list</param>
        /// <param name="callback">The <see cref="Action"/> to invoke when the event is dispatched</param>
        public static void TryAddEventListener(this GlobalEventManager globalEventManager, string eventName, Action callback)
        {
            List <object> callbackList = Accessor.CallPrivateMethod <GlobalEventManager, List <object> >("getCallbackList", GlobalEventManager.Instance, new object[] { eventName });

            if (!callbackList.Contains(callback))
            {
                callbackList.Add(callback);
            }
        }
Esempio n. 27
0
    private void OnDestroy()
    {
        if (singleton == this)
        {
            singleton = null;
        }

        GlobalEventManager.UnregisterHandler(GlobalEventManager.DrawUpClicked, OnClickDrawUp);
    }
 void OnIndicatorClick()
 {
     if (locked == false && !manager.IsTransforming && CameraCharacter.Singleton.allowInteraction)
     {
         hasClicked = true;
         GlobalEventManager.SendEvent("CellClicked-" + cellName + "-" + parentBlock.name);
         manager.ForwardTransform(roomViewCenter.position, roomViewCenter.rotation, panoramaContent);
     }
 }
Esempio n. 29
0
        public override void Effect(GlobalEventManager globalEventManager, DamageInfo damageInfo, GameObject victim, int itemCount)
        {
            SetStateOnHurt HurtStat = victim.GetComponent <SetStateOnHurt>();

            if (HurtStat)
            {
                HurtStat.SetStun(2f);
            }
        }
Esempio n. 30
0
        /// <summary>
        /// Chiamata appena lo stato è stato cambiato.
        /// </summary>
        private void StateChanged(UnitState oldState)
        {
            if (!anim)
            {
                anim = GetComponentInChildren <Animator>();
            }
            if (movable == null)
            {
                movable = GetComponent <IMovable>();
            }

            switch (CurrentState)
            {
            case UnitState.not_ready:
                break;

            case UnitState.idle:
                // anim idle
                anim.SetInteger("State", 1);
                movable.Wait(Random.Range(GM.I.CurrentConfiguration.WaitTimeAverage - GM.I.CurrentConfiguration.WaitTimeVariation, GM.I.CurrentConfiguration.WaitTimeAverage + GM.I.CurrentConfiguration.WaitTimeVariation));
                break;

            case UnitState.walk:
                // anim walk
                anim.SetInteger("State", 2);
                // movimento verso direzione target
                movable.MoveTo(GM.I.GetRandomSpownPosition(movable.CurrentPosition));
                break;

            case UnitState.collision_cooldown_positive:
                anim.SetInteger("State", 1);
                movable.Collide();
                if (GlobalEventManager.OnUnitCollisionPositive != null)
                {
                    GlobalEventManager.OnUnitCollisionPositive(movable as UnitBase);
                }
                break;

            case UnitState.collision_cooldown_negative:
                anim.SetInteger("State", 1);
                movable.Collide();
                if (GlobalEventManager.OnUnitCollisionNegative != null)
                {
                    GlobalEventManager.OnUnitCollisionNegative(movable as UnitBase);
                }
                break;

            default:
                break;
            }

            if (OnStateChanged != null)
            {
                OnStateChanged(CurrentState, oldState);
            }
        }