public void rescueHostage()
 {
     Core.getGlobalManager <ScoreManager>().GetHostageRescuePoints();
     _battleComponent.setHp((int)_battleComponent.MaxHP);
     SkipAttackState = true;
     _fsm.resetStackTo(new RescueHostageState());
 }
Exemplo n.º 2
0
        public override void onAddedToEntity()
        {
            _platformerObject = entity.getComponent <PlatformerObject>();

            _battleComponent = entity.getComponent <BattleComponent>();
            _battleComponent.setHp(40);
            _battleComponent.battleEntity = this;

            sprite = entity.getComponent <AnimatedSprite>();
        }
        public override void onAddedToEntity()
        {
            _platformerObject = entity.getComponent <PlatformerObject>();
            battleComponent   = entity.getComponent <BattleComponent>();
            battleComponent.setHp(MAX_HP);
            battleComponent.battleEntity        = this;
            battleComponent.ImmunityDuration    = 0.5f;
            battleComponent.destroyEntityAction = destroyEntity;

            entity.setTag(SceneMap.PLAYER);
        }
        public void takeThrow()
        {
            var collider = entity.getComponent <BoxCollider>();

            if (playerManager.HoldingCore)
            {
                var reactors = entity.scene.findEntitiesWithTag(SceneMap.REACTORS);
                foreach (var reactor in reactors)
                {
                    var             reactorCollider = reactor.getComponent <BoxCollider>();
                    CollisionResult collisionResult;
                    if (collider.collidesWith(reactorCollider, out collisionResult))
                    {
                        var reactorComponent = reactor.getComponent <ReactorComponent>();
                        if (reactorComponent.isActivated)
                        {
                            continue;
                        }
                        reactorComponent.setActivated();
                        playerManager.HoldingCore = false;
                        battleComponent.setHp(MAX_HP);
                        return;
                    }
                }
                (entity.scene as SceneMap)?.createCoreDrop(transform.position);
                playerManager.HoldingCore = false;
                return;
            }

            var coreDrops = entity.scene.findEntitiesWithTag(SceneMap.COREDROPS);

            foreach (var coreDrop in coreDrops)
            {
                var             reactorCollider = coreDrop.getComponent <BoxCollider>();
                CollisionResult collisionResult;
                if (collider.collidesWith(reactorCollider, out collisionResult))
                {
                    coreDrop.destroy();
                    if (!playerManager.FirstCoreCollected)
                    {
                        (entity.scene as SceneMap)?.runGrabFirstCoreScript();
                    }
                    playerManager.HoldingCore = true;
                    return;
                }
            }
        }