Exemplo n.º 1
0
 private void HandleCompanionRemoving(CompanionController companion, PlayerController owner)
 {
     if (m_owner && m_owner == owner)
     {
         RemoveJammedEffect(companion.aiActor);
     }
 }
Exemplo n.º 2
0
        private void CreateCompanion(PlayerController owner)
        {
            if (PreventRespawnOnFloorLoad | m_HasDied)
            {
                return;
            }

            string guid = CompanionGuid;

            AIActor orLoadByGuid = EnemyDatabase.GetOrLoadByGuid(guid);
            Vector3 vector       = owner.transform.position;

            if (GameManager.Instance.CurrentLevelOverrideState == GameManager.LevelOverrideState.FOYER)
            {
                vector += new Vector3(1.125f, -0.3125f, 0f);
            }
            GameObject extantCompanion2 = Instantiate(orLoadByGuid.gameObject, vector, Quaternion.identity);

            m_extantCompanion = extantCompanion2;
            CompanionController orAddComponent = m_extantCompanion.GetOrAddComponent <CompanionController>();

            orAddComponent.Initialize(owner);
            extantCompanion2.GetComponent <HealthHaver>().OnPreDeath += OnPreDeath;
            extantCompanion2.GetComponent <HealthHaver>().OnDamaged  += CompanionOnDamaged;
            if (m_healthRemaining > 0)
            {
                extantCompanion2.GetComponent <HealthHaver>().SetHealthMaximum(m_maxHealthRemaining);
                extantCompanion2.GetComponent <HealthHaver>().ForceSetCurrentHealth(m_healthRemaining);
            }
            if (orAddComponent.specRigidbody)
            {
                PhysicsEngine.Instance.RegisterOverlappingGhostCollisionExceptions(orAddComponent.specRigidbody, null, false);
            }
        }
Exemplo n.º 3
0
            private void SpawnJunkan(Projectile proj)
            {
                if (proj.Owner == null || !(proj.Owner is PlayerController))
                {
                    return;
                }
                PlayerController player = proj.Owner as PlayerController;

                if (player.CurrentGun.GetComponent <JunkansRevengeController>() == null)
                {
                    return;
                }
                AIActor    orLoadByGuid = EnemyDatabase.GetOrLoadByGuid("c6c8e59d0f5d41969c74e802c9d67d07");
                Vector3    vector       = proj.sprite.WorldCenter.ToVector3ZUp(0f);
                GameObject enemyObj     = UnityEngine.Object.Instantiate <GameObject>(orLoadByGuid.gameObject, vector, Quaternion.identity);

                if (enemyObj.GetComponent <AIActor>() != null)
                {
                    if (enemyObj.GetComponent <AIActor>().sprite != null)
                    {
                        enemyObj.GetComponent <AIActor>().sprite.PlaceAtPositionByAnchor(vector, tk2dBaseSprite.Anchor.MiddleCenter);
                        if (enemyObj.GetComponent <AIActor>().specRigidbody != null)
                        {
                            enemyObj.GetComponent <AIActor>().specRigidbody.Reinitialize();
                        }
                    }
                }
                CompanionController orAddComponent = enemyObj.GetOrAddComponent <CompanionController>();

                orAddComponent.Initialize(player);
                enemyObj.AddComponent <TempraryJunkanBehaviour>();
            }
Exemplo n.º 4
0
    public void restartGame()
    {
        if (currentScene.Equals("Cell"))
        {
            Canvas canvas            = GameObject.Find("AbilitiesUI").GetComponent <Canvas> ();
            AbilitiesUIController ui = (AbilitiesUIController)canvas.GetComponent(typeof(AbilitiesUIController));
            ui.abilitiesPoss.enabled = false;
            initializeStrings();
            lastScene    = "Load";
            currentScene = "Fort";
            paused       = false;
            enemy        = "";
            CompanionController comp = (CompanionController)GameObject.FindGameObjectWithTag("Companion").GetComponent(typeof(CompanionController));
            comp.changeCompanion("Coelestine");
            SceneManager.LoadScene(currentScene);
            player.SetActive(true);
            companion.SetActive(true);
        }
        if (currentScene.Equals("Beach"))
        {
            lastScene    = "Fort";
            currentScene = "Beach";
            paused       = false;
            enemy        = "";
            GameObject.Find("Player").GetComponent <AudioSource>().clip = Resources.Load("Sound/praia") as AudioClip;
            GameObject.Find("Player").GetComponent <AudioSource>().PlayOneShot(Resources.Load("Sound/praia") as AudioClip, 0.5f);
            SceneManager.LoadScene(currentScene);


            player.SetActive(true);
            companion.SetActive(true);
        }
        initializeEvents();
    }
        private void RegenerateCompanion(PlayerController owner)
        {
            AIActor             orLoadByGuid   = EnemyDatabase.GetOrLoadByGuid(CompanionGuid);
            GameObject          gameObject     = Instantiate(orLoadByGuid.gameObject, owner.transform.position, Quaternion.identity);
            CompanionController orAddComponent = gameObject.GetOrAddComponent <CompanionController>();

            if (IsBlackPhantom)
            {
                gameObject.GetComponent <AIActor>().BecomeBlackPhantom();
            }
            orAddComponent.companionID = CompanionController.CompanionIdentifier.NONE;
            orAddComponent.Initialize(owner);
            orAddComponent.behaviorSpeculator.MovementBehaviors.Add(new CompanionFollowPlayerBehavior());
            AIActor aiactor = gameObject.GetComponent <AIActor>();

            if (orAddComponent.healthHaver != null)
            {
                orAddComponent.healthHaver.PreventAllDamage = true;
            }
            if (orAddComponent.bulletBank != null)
            {
                orAddComponent.bulletBank.OnProjectileCreated += PokeballItem.CatchProjectileBehaviour.OnPostProcessProjectile;
            }
            if (orAddComponent.aiShooter != null)
            {
                orAddComponent.aiShooter.PostProcessProjectile += PokeballItem.CatchProjectileBehaviour.OnPostProcessProjectile;
            }
        }
Exemplo n.º 6
0
 public void OnTriggerEnter(Collider other)
 {
     if (WhoIAm == 1 && On == true && other.GetComponent <PlayerHealth>())
     {
         LevelProgression.GetComponent <CompanionProgression>().SelectedCompanion = 1;
         CompanionController.GetComponent <ControllerOfCompanions>().RunMe        = true;
     }
     else if (WhoIAm == 2 && On == true && other.GetComponent <PlayerHealth>())
     {
         LevelProgression.GetComponent <CompanionProgression>().SelectedCompanion = 2;
         CompanionController.GetComponent <ControllerOfCompanions>().RunMe        = true;
     }
     else if (WhoIAm == 3 && On == true && other.GetComponent <PlayerHealth>())
     {
         LevelProgression.GetComponent <CompanionProgression>().SelectedCompanion = 3;
         CompanionController.GetComponent <ControllerOfCompanions>().RunMe        = true;
     }
     else if (WhoIAm == 4 && On == true && other.GetComponent <PlayerHealth>())
     {
         LevelProgression.GetComponent <CompanionProgression>().SelectedCompanion = 4;
         CompanionController.GetComponent <ControllerOfCompanions>().RunMe        = true;
     }
     else if (WhoIAm == 5 && On == true && other.GetComponent <PlayerHealth>())
     {
         LevelProgression.GetComponent <CompanionProgression>().SelectedCompanion = 5;
         CompanionController.GetComponent <ControllerOfCompanions>().RunMe        = true;
     }
 }
Exemplo n.º 7
0
        private void DevilishSynergy()
        {
            AIActor    orLoadByGuid         = EnemyDatabase.GetOrLoadByGuid("5f3abc2d561b4b9c9e72b879c6f10c7e");
            IntVector2?nearestAvailableCell = this.m_owner.CurrentRoom.GetNearestAvailableCell(this.m_owner.transform.position.XY(), new IntVector2?(orLoadByGuid.Clearance), new CellTypes?(CellTypes.FLOOR), false, null);

            if (nearestAvailableCell == null)
            {
                return;
            }
            GameObject          gameObject     = UnityEngine.Object.Instantiate <GameObject>(orLoadByGuid.gameObject, (nearestAvailableCell.Value.ToVector2()).ToVector3ZUp(0f), Quaternion.identity);
            CompanionController orAddComponent = gameObject.GetOrAddComponent <CompanionController>();

            orAddComponent.companionID = CompanionController.CompanionIdentifier.NONE;
            orAddComponent.Initialize(this.m_owner);
            orAddComponent.behaviorSpeculator.MovementBehaviors.Add(new CompanionFollowPlayerBehavior());
            AIActor aiactor = gameObject.GetComponent <AIActor>();

            aiactor.HitByEnemyBullets         = true;
            aiactor.healthHaver.ModifyDamage += this.ModifyDamageForCompanions;
            foreach (AIBulletBank.Entry entry in orAddComponent.bulletBank.Bullets)
            {
                if (aiactor.IsBlackPhantom)
                {
                    entry.BulletObject.GetComponent <Projectile>().baseData.damage = 15;
                }
                else
                {
                    entry.BulletObject.GetComponent <Projectile>().baseData.damage = 10;
                }
            }
        }
Exemplo n.º 8
0
        // Token: 0x06000056 RID: 86 RVA: 0x00004194 File Offset: 0x00002394
        public void KnightPlacer(PlayerController owner)
        {
            try
            {
                AIActor     orLoadByGuid             = EnemyDatabase.GetOrLoadByGuid("ec8ea75b557d4e7b8ceeaacdf6f8238c");
                IntVector2  intVector                = Vector2Extensions.ToIntVector2(owner.unadjustedAimPoint, (VectorConversions)2);
                RoomHandler absoluteRoomFromPosition = GameManager.Instance.Dungeon.data.GetAbsoluteRoomFromPosition(intVector);
                bool        flag = absoluteRoomFromPosition != null && absoluteRoomFromPosition == owner.CurrentRoom && owner.IsInCombat;
                if (flag)
                {
                    AIActor aiactor = AIActor.Spawn(orLoadByGuid.aiActor, owner.CenterPosition, absoluteRoomFromPosition, true, (AIActor.AwakenAnimationType) 2, true);
                    PhysicsEngine.Instance.RegisterOverlappingGhostCollisionExceptions(aiactor.specRigidbody, null, false);
                    aiactor.CanTargetEnemies   = true;
                    aiactor.CanTargetPlayers   = false;
                    aiactor.IsHarmlessEnemy    = true;
                    aiactor.CanDropCurrency    = false;
                    aiactor.IgnoreForRoomClear = true;
                    aiactor.MovementSpeed      = 5.95f;
                    aiactor.CompanionOwner     = owner;
                    aiactor.IsBuffEnemy        = true;
                    aiactor.isPassable         = true;
                    aiactor.gameObject.AddComponent <KillOnRoomClear>();
                    aiactor.reinforceType = (AIActor.ReinforceType) 2;
                    aiactor.HandleReinforcementFallIntoRoom(0.1f);

                    //added this so the player doesn't collide with the nut when dodge rolling, he goes through companions
                    aiactor.gameObject.AddComponent <CompanionController>();
                    CompanionController component = aiactor.gameObject.GetComponent <CompanionController>();
                    component.Initialize(owner);

                    this.nut = aiactor;
                    MindControlEffect orAddComponent = GameObjectExtensions.GetOrAddComponent <MindControlEffect>(aiactor.gameObject);
                    orAddComponent.owner = (this.gun.CurrentOwner as PlayerController);

                    // to make the nut invincible against the player effects or any other damage effects
                    if (aiactor.healthHaver != null)
                    {
                        aiactor.healthHaver.PreventAllDamage = true;
                    }

                    // to prevent the attacks of the nut from damaging the player
                    if (aiactor.bulletBank != null)
                    {
                        AIBulletBank bulletBank = aiactor.bulletBank;
                        bulletBank.OnProjectileCreated = (Action <Projectile>)Delegate.Combine(bulletBank.OnProjectileCreated, new Action <Projectile>(CopperChariot.OnPostProcessProjectile));
                    }
                    if (aiactor.aiShooter != null)
                    {
                        AIShooter aiShooter = aiactor.aiShooter;
                        aiShooter.PostProcessProjectile = (Action <Projectile>)Delegate.Combine(aiShooter.PostProcessProjectile, new Action <Projectile>(CopperChariot.OnPostProcessProjectile));
                    }
                }
            }
            catch (Exception e)
            {
                Tools.Print("Copper KnightPlacer", "FFFFFF", true);
                Tools.PrintException(e);
            }
        }
Exemplo n.º 9
0
        private void MakeCompanion(PlayerController owner, AIActor targetActor, bool makeBlackPhantom, AIActor sourceCompanionData = null)
        {
            if (sourceCompanionData == null)
            {
                sourceCompanionData = EnemyDatabase.GetOrLoadByGuid("3a077fa5872d462196bb9a3cb1af02a3");
            }

            targetActor.behaviorSpeculator.MovementBehaviors.Add(sourceCompanionData.behaviorSpeculator.MovementBehaviors[0]);

            targetActor.CanTargetPlayers   = false;
            targetActor.CanTargetEnemies   = true;
            targetActor.IgnoreForRoomClear = true;
            targetActor.HitByEnemyBullets  = true;
            targetActor.IsSignatureEnemy   = false;
            targetActor.IsHarmlessEnemy    = false;
            targetActor.RegisterOverrideColor(new Color(0.5f, 0, 0.5f), "Charm Effect");
            targetActor.name = "CompanionPet";
            targetActor.PreventAutoKillOnBossDeath = true;

            targetActor.gameObject.AddComponent <CompanionController>();
            CompanionController companionController = targetActor.gameObject.GetComponent <CompanionController>();

            companionController.CanInterceptBullets = true;
            companionController.IsCop                = false;
            companionController.IsCopDead            = false;
            companionController.CopDeathStatModifier = new StatModifier()
            {
                statToBoost = 0,
                modifyType  = StatModifier.ModifyMethod.ADDITIVE,
                amount      = 0
            };
            companionController.CurseOnCopDeath        = 2;
            companionController.CanCrossPits           = targetActor.IsFlying;
            companionController.BlanksOnActiveItemUsed = false;
            companionController.InternalBlankCooldown  = 10;
            companionController.HasStealthMode         = false;
            companionController.PredictsChests         = false;
            companionController.PredictsChestSynergy   = 0;
            companionController.CanBePet           = false;
            companionController.companionID        = CompanionController.CompanionIdentifier.NONE;
            companionController.TeaSynergyHeatRing = new HeatRingModule();
            companionController.m_petOffset        = new Vector2(0, 0);

            // Do needed setup for Companion system. (makes enemy able to go through sealed doors, not damage player, etc)
            companionController.Initialize(owner);
            // Make things that deal damage via contact damage more useful. (they normally don't damage other enemies on their own) :P
            if (ContactDamageDealers.Contains(targetActor.EnemyGuid))
            {
                targetActor.OverrideHitEnemies   = true;
                targetActor.CollisionDamage      = 1f;
                targetActor.CollisionDamageTypes = CoreDamageTypes.Electric;
            }
            if (makeBlackPhantom)
            {
                targetActor.BecomeBlackPhantom();
            }
        }
Exemplo n.º 10
0
 private void CreateNewCompanion(PlayerController player)
 {
     {
         Vector3             vector         = player.transform.position;
         GameObject          gameObject     = UnityEngine.Object.Instantiate <GameObject>(CosmoStatue.prefab, vector, Quaternion.identity);
         CompanionController orAddComponent = gameObject.GetOrAddComponent <CompanionController>();
         this.companionsSpawned.Add(orAddComponent);
         orAddComponent.Initialize(player);
     }
 }
Exemplo n.º 11
0
    public override void PrepareState()
    {
        Companion = CompanionController.Instance;
        Player    = PlayerController.Instance;
        Movement  = Companion.GetComponent <Movement>();

        FindPathToPlayer();

        Player.PositionUpdate += FindPathToPlayer;
    }
Exemplo n.º 12
0
 // Update is called once per frame
 void Update()
 {
     if (npcmove == null)
     {
         if (GetComponentInParent <CompanionController>() != null)
         {
             npcmove = GetComponentInParent <CompanionController>();
         }
     }
 }
Exemplo n.º 13
0
 private void HandleCompanionAdded(CompanionController companion, PlayerController owner)
 {
     if (m_owner && m_owner == owner)
     {
         foreach (var comp in owner.companions)
         {
             AddJammedEffect(comp);
         }
     }
 }
Exemplo n.º 14
0
        // Token: 0x06000620 RID: 1
        private IEnumerator Start()
        {
            RoomHandler         room = GameManager.Instance.Dungeon.GetRoomFromPosition(this.transform.position.IntXY(VectorConversions.Floor));
            CompanionController companionController = CosmoStatue.prefab.AddComponent <CompanionController>();

            while (companionController.healthHaver.IsAlive)
            {
                this.AttractEnemies(room);
            }
            yield break;
        }
Exemplo n.º 15
0
    public override void PrepareState()
    {
        Movement  = Shade.GetComponent <Movement>();
        Player    = PlayerController.Instance;
        Companion = CompanionController.Instance;

        FindNearest();

        Player.PositionUpdate    += PlayerMoved;
        Companion.PositionUpdate += CompanionMoved;
    }
Exemplo n.º 16
0
    public override void PrepareState()
    {
        Companion = CompanionController.Instance;
        Movement  = Companion.GetComponent <Movement>();

        Target.PositionUpdate += FindPathToTarget;

        FindPathToTarget();

        Target.DeathUpdate += TargetDead;

        //Listen for death!?
    }
        public void TestCancelRequest()
        {
            var contextMock = new Mock <HttpContext>();

            contextMock.Setup(x => x.User).Returns(new ClaimsPrincipal(claims));
            _mockCompanionPostService.Setup(x => x.CancelRequest(It.IsAny <string>(), It.IsAny <string>())).Returns(true);
            var _companionController = new CompanionController(_mockCompanionPostService.Object, _mockPostService.Object);

            _companionController.ControllerContext.HttpContext = contextMock.Object;
            var resultActual = _companionController.CancelRequest("5d0b2b0b1c9d440000d8e9a1");
            var type         = resultActual.GetType();

            Assert.AreEqual(type.Name, "OkObjectResult");
        }
        public void TestJoinCompanion()
        {
            var contextMock = new Mock <HttpContext>();

            contextMock.Setup(x => x.User).Returns(new ClaimsPrincipal(claims));
            _mockCompanionPostService.Setup(x => x.AddNewRequest(It.IsAny <CompanionPostJoinRequest>())).Returns(companionPostJoinRequest);
            var _companionController = new CompanionController(_mockCompanionPostService.Object, _mockPostService.Object);

            _companionController.ControllerContext.HttpContext = contextMock.Object;
            var resultActual = _companionController.JoinCompanion(companionPostJoinRequest);
            var type         = resultActual.GetType();

            Assert.AreEqual(type.Name, "OkObjectResult");
        }
        public void TestDeleteRequestReturnUnauthorized()
        {
            var contextMock = new Mock <HttpContext>();

            contextMock.Setup(x => x.User).Returns(new ClaimsPrincipal(claims));
            _mockCompanionPostService.Setup(x => x.GetById(It.IsAny <string>())).Returns(companionPost);
            var _companionController = new CompanionController(_mockCompanionPostService.Object, _mockPostService.Object);

            _companionController.ControllerContext.HttpContext = contextMock.Object;
            var resultActual = _companionController.DeleteRequest(companionPostJoinRequest);
            var type         = resultActual.GetType();

            Assert.AreEqual(type.Name, "UnauthorizedResult");
        }
        public void TestGetAllCompanionPost()
        {
            IEnumerable <CompanionPost> ienumerableCompanionPost = new List <CompanionPost>
            {
                companionPost,
                companionPostSecond
            };

            _mockCompanionPostService.Setup(x => x.GetAll(It.IsAny <PostFilter>(), It.IsAny <int>())).Returns(ienumerableCompanionPost);
            var _companionController = new CompanionController(_mockCompanionPostService.Object, _mockPostService.Object);
            var resultActual         = _companionController.GetAllCompanionPost(postFilter, 6);
            var type = resultActual.GetType();

            Assert.AreEqual(type.Name, "OkObjectResult");
        }
Exemplo n.º 21
0
 public override void Pickup(PlayerController player)
 {
     base.Pickup(player);
     if (this.ExtantCompanion != null)
     {
         AIActor             aiactor             = this.ExtantCompanion.GetComponent <AIActor>();
         CompanionController companionController = this.ExtantCompanion.GetComponent <CompanionController>();
         aiactor.HitByEnemyBullets = false;
         GameManager.Instance.StartCoroutine(this.DecreaseEnemyScale(aiactor));
         aiactor.aiShooter.PostProcessProjectile += delegate(Projectile proj)
         {
             proj.baseData.damage = 10;
         };
     }
     GameManager.Instance.OnNewLevelFullyLoaded += this.RecoverComapnionSelf;
 }
Exemplo n.º 22
0
        private void CreateCompanion2(PlayerController owner)
        {
            CompanionSynergyProcessor companionSynergy = new CompanionSynergyProcessor();

            AIActor    orLoadByGuid    = EnemyDatabase.GetOrLoadByGuid(this.CompanionGuid2);
            Vector3    position        = owner.transform.position;
            GameObject extantCompanion = UnityEngine.Object.Instantiate <GameObject>(orLoadByGuid.gameObject, position, Quaternion.identity);

            m_extantCompanion = extantCompanion;
            CompanionController orAddComponent = m_extantCompanion.GetOrAddComponent <CompanionController>();

            orAddComponent.Initialize(owner);
            if (orAddComponent.specRigidbody)
            {
                PhysicsEngine.Instance.RegisterOverlappingGhostCollisionExceptions(orAddComponent.specRigidbody, null, false);
            }
        }
Exemplo n.º 23
0
        protected override void DoEffect(PlayerController owner)
        {
            string dogGuid = "c07ef60ae32b404f99e294a6f9acba75";

            AIActor orLoadByGuid = EnemyDatabase.GetOrLoadByGuid(dogGuid);
            Vector3 vector       = owner.transform.position;

            if (GameManager.Instance.CurrentLevelOverrideState == GameManager.LevelOverrideState.FOYER)
            {
                vector += new Vector3(1.125f, -0.3125f, 0f);
            }
            GameObject extantCompanion = UnityEngine.Object.Instantiate <GameObject>(orLoadByGuid.gameObject, vector, Quaternion.identity);

            this.m_extantCompanion = extantCompanion;
            CompanionController orAddComponent = this.m_extantCompanion.GetOrAddComponent <CompanionController>();

            orAddComponent.Initialize(owner);

            if (orAddComponent.specRigidbody)
            {
                PhysicsEngine.Instance.RegisterOverlappingGhostCollisionExceptions(orAddComponent.specRigidbody, null, false);
                DogNumber++;
            }

            if (hasSynergy)
            {
                string dogGuid2 = "c07ef60ae32b404f99e294a6f9acba75";

                AIActor orLoadByGuid2 = EnemyDatabase.GetOrLoadByGuid(dogGuid2);
                Vector3 vector2       = owner.transform.position;
                if (GameManager.Instance.CurrentLevelOverrideState == GameManager.LevelOverrideState.FOYER)
                {
                    vector += new Vector3(1.125f, -0.3125f, 0f);
                }
                GameObject extantCompanion22 = UnityEngine.Object.Instantiate <GameObject>(orLoadByGuid2.gameObject, vector2, Quaternion.identity);
                this.m_extantCompanion = extantCompanion22;
                CompanionController orAddComponent2 = this.m_extantCompanion.GetOrAddComponent <CompanionController>();
                orAddComponent2.Initialize(owner);
                if (orAddComponent2.specRigidbody)
                {
                    PhysicsEngine.Instance.RegisterOverlappingGhostCollisionExceptions(orAddComponent2.specRigidbody, null, false);
                    DogNumber++;
                }
            }
        }
        private void CreateCompanion(PlayerController owner)
        {
            if (this.PreventRespawnOnFloorLoad)
            {
                return;
            }
            AIActor    orLoadByGuid    = EnemyDatabase.GetOrLoadByGuid(this.CompanionGuid);
            Vector3    position        = owner.transform.position;
            GameObject extantCompanion = UnityEngine.Object.Instantiate <GameObject>(orLoadByGuid.gameObject, position, Quaternion.identity);

            this.m_extantCompanion = extantCompanion;
            CompanionController orAddComponent = this.m_extantCompanion.GetOrAddComponent <CompanionController>();

            orAddComponent.Initialize(owner);
            if (orAddComponent.specRigidbody)
            {
                PhysicsEngine.Instance.RegisterOverlappingGhostCollisionExceptions(orAddComponent.specRigidbody, null, false);
            }
        }
Exemplo n.º 25
0
        private void SpawnNewCompanion(string guid)
        {
            AIActor orLoadByGuid = EnemyDatabase.GetOrLoadByGuid(guid);
            Vector3 vector       = Owner.transform.position;

            if (GameManager.Instance.CurrentLevelOverrideState == GameManager.LevelOverrideState.FOYER)
            {
                vector += new Vector3(1.125f, -0.3125f, 0f);
            }
            GameObject          extantCompanion2 = UnityEngine.Object.Instantiate <GameObject>(orLoadByGuid.gameObject, vector, Quaternion.identity);
            CompanionController orAddComponent   = extantCompanion2.GetOrAddComponent <CompanionController>();

            extantCompanion = extantCompanion2;
            orAddComponent.Initialize(gun.CurrentOwner as PlayerController);
            if (orAddComponent.specRigidbody)
            {
                PhysicsEngine.Instance.RegisterOverlappingGhostCollisionExceptions(orAddComponent.specRigidbody, null, false);
            }
        }
        // Token: 0x060001B4 RID: 436 RVA: 0x00010334 File Offset: 0x0000E534
        private void CreateNewCompanion(PlayerController player)
        {
            AkSoundEngine.PostEvent("Play_OBJ_smallchest_spawn_01", base.gameObject);
            bool flag  = this.companionsSpawned.Count + 1 == this.MaxNumberOfCompanions;
            bool flag2 = flag;
            bool flag3 = !flag2;

            if (flag3)
            {
                bool flag4 = this.companionsSpawned.Count >= this.MaxNumberOfCompanions;
                bool flag5 = !flag4;
                bool flag6 = flag5;
                if (flag6)
                {
                    float curDamage = base.Owner.stats.GetBaseStatValue(PlayerStats.StatType.Damage);
                    float newDamage = curDamage - 0.05f;
                    base.Owner.stats.SetBaseStatValue(PlayerStats.StatType.Damage, newDamage, base.Owner);
                    damageBuff = newDamage - curDamage;

                    AIActor orLoadByGuid = EnemyDatabase.GetOrLoadByGuid(this.CompanionGuid);
                    Vector3 vector       = player.transform.position;
                    bool    flag7        = GameManager.Instance.CurrentLevelOverrideState == GameManager.LevelOverrideState.FOYER;
                    bool    flag8        = flag7;
                    bool    flag9        = flag8;
                    if (flag9)
                    {
                        vector += new Vector3(1.125f, -0.3125f, 0f);
                    }
                    GameObject          gameObject     = UnityEngine.Object.Instantiate <GameObject>(orLoadByGuid.gameObject, vector, Quaternion.identity);
                    CompanionController orAddComponent = gameObject.GetOrAddComponent <CompanionController>();
                    this.companionsSpawned.Add(orAddComponent);
                    orAddComponent.Initialize(player);
                    bool flag10 = orAddComponent.specRigidbody;
                    bool flag11 = flag10;
                    bool flag12 = flag11;
                    if (flag12)
                    {
                        PhysicsEngine.Instance.RegisterOverlappingGhostCollisionExceptions(orAddComponent.specRigidbody, null, false);
                    }
                    orAddComponent.aiAnimator.PlayUntilFinished("spawn", false, null, -1f, false);
                }
            }
        }
        public void TestGetAllCompanionPostByUser()
        {
            IEnumerable <CompanionPost> ienumerableCompanionPost = new List <CompanionPost>
            {
                companionPost,
                companionPostSecond
            };
            var contextMock = new Mock <HttpContext>();

            contextMock.Setup(x => x.User).Returns(new ClaimsPrincipal(claims));
            _mockCompanionPostService.Setup(x => x.GetAllCompanionPostByUser(It.IsAny <string>(), It.IsAny <PostFilter>(), It.IsAny <int>())).Returns(ienumerableCompanionPost);
            var _companionController = new CompanionController(_mockCompanionPostService.Object, _mockPostService.Object);

            _companionController.ControllerContext.HttpContext = contextMock.Object;
            var resultActual = _companionController.GetAllCompanionPostByUser(postFilter, "5d0b2b0b1c9d440000d8e9a1", 6);
            var type         = resultActual.GetType();

            Assert.AreEqual(type.Name, "OkObjectResult");
        }
Exemplo n.º 28
0
        private void SpawnRaccoon(PlayerController player)
        {
            AIActor orLoadByName = EnemyDatabase.GetOrLoadByName("raccoon");
            Vector3 vector       = player.transform.position;

            if (GameManager.Instance.CurrentLevelOverrideState == GameManager.LevelOverrideState.FOYER)
            {
                vector += new Vector3(1.125f, -0.3125f, 0f);
            }
            GameObject extantCompanion2 = UnityEngine.Object.Instantiate <GameObject>(orLoadByName.gameObject, vector, Quaternion.identity);

            this.m_extantCompanion = extantCompanion2;
            CompanionController orAddComponent = this.m_extantCompanion.GetOrAddComponent <CompanionController>();

            orAddComponent.Initialize(player);
            if (orAddComponent.specRigidbody)
            {
                PhysicsEngine.Instance.RegisterOverlappingGhostCollisionExceptions(orAddComponent.specRigidbody, null, false);
            }
        }
Exemplo n.º 29
0
 private void OnDestroy(Projectile proj)
 {
     if (this.catchedEnemy != null)
     {
         string  guid           = this.catchedEnemy.EnemyGuid;
         Vector2 pos            = this.catchedEnemy.sprite.WorldBottomLeft;
         Vector2 blankPos       = this.catchedEnemy.sprite.WorldCenter;
         bool    isBlackPhantom = this.catchedEnemy.IsBlackPhantom;
         this.catchedEnemy.EraseFromExistence(true);
         AIActor             orLoadByGuid   = EnemyDatabase.GetOrLoadByGuid(guid);
         GameObject          gameObject     = UnityEngine.Object.Instantiate <GameObject>(orLoadByGuid.gameObject, pos, Quaternion.identity);
         CompanionController orAddComponent = gameObject.GetOrAddComponent <CompanionController>();
         if (isBlackPhantom)
         {
             gameObject.GetComponent <AIActor>().BecomeBlackPhantom();
         }
         orAddComponent.companionID = CompanionController.CompanionIdentifier.NONE;
         orAddComponent.Initialize(this.thrower);
         orAddComponent.behaviorSpeculator.MovementBehaviors.Add(new CompanionFollowPlayerBehavior());
         AIActor aiactor = gameObject.GetComponent <AIActor>();
         if (orAddComponent.healthHaver != null)
         {
             orAddComponent.healthHaver.PreventAllDamage = true;
         }
         if (orAddComponent.bulletBank != null)
         {
             orAddComponent.bulletBank.OnProjectileCreated += CatchProjectileBehaviour.OnPostProcessProjectile;
         }
         if (orAddComponent.aiShooter != null)
         {
             orAddComponent.aiShooter.PostProcessProjectile += CatchProjectileBehaviour.OnPostProcessProjectile;
         }
     }
     else
     {
         if (this.parentItem != null)
         {
             parentItem.thrown = false;
         }
     }
 }
        private void CreateCompanion(PlayerController owner)
        {
            if (PreventRespawnOnFloorLoad)
            {
                return;
            }

            if (string.IsNullOrEmpty(CompanionGuid))
            {
                return;
            }

            AIActor m_NewAIActor = EnemyDatabase.GetOrLoadByGuid(CompanionGuid);
            Vector3 vector       = owner.transform.position;

            if (GameManager.Instance.CurrentLevelOverrideState == GameManager.LevelOverrideState.FOYER)
            {
                vector += new Vector3(1.125f, -0.3125f, 0f);
            }
            m_extantCompanion = Instantiate(m_NewAIActor.gameObject, vector, Quaternion.identity);

            if (m_extantCompanion)
            {
                CompanionController orAddComponent = m_extantCompanion.GetOrAddComponent <CompanionController>();
                orAddComponent.Initialize(owner);

                if (orAddComponent.specRigidbody)
                {
                    PhysicsEngine.Instance.RegisterOverlappingGhostCollisionExceptions(orAddComponent.specRigidbody, null, false);
                }

                if (m_HammersHidden)
                {
                    orAddComponent.enabled = false;
                    m_extantCompanion.GetComponent <AIActor>().ToggleRenderers(false);
                    m_extantCompanion.GetComponent <AIActor>().IsGone = true;
                    m_extantCompanion.GetComponent <AIActor>().behaviorSpeculator.InterruptAndDisable();
                    orAddComponent.specRigidbody.CollideWithOthers = false;
                }
            }
        }