public virtual void PawnHasEscaped()
    {
        HorrorGame hg = FindObjectOfType <HorrorGame>();

        if (!hg)
        {
            return;
        }

        hg.EndGame(true);
    }
    public virtual void PawnHasDied()
    {
        UnPossesPawn(PossesedPawn);
        HorrorGame hg = FindObjectOfType <HorrorGame>();

        if (!hg)
        {
            return;
        }

        hg.EndGame(false);
    }
Esempio n. 3
0
        public void TypeChoosing(string type, Player player)
        {
            UI ui = new UI();

            int developer = 0;
            int name      = 1;
            int rating    = 2;

            if (type.Equals("Horror"))
            {
                string[]   datas = ui.GameDatasFromUser();
                HorrorGame game  = new HorrorGame(datas[developer], datas[name], Double.Parse(datas[rating]), type);
                game.EffectToPlayer(player, game);
            }

            else if (type.Equals("Survival"))
            {
                string[]     datas = ui.GameDatasFromUser();
                SurvivalGame game  = new SurvivalGame(datas[developer], datas[name], Double.Parse(datas[rating]), type);
                game.EffectToPlayer(player, game);
            }

            else if (type.Equals("Adventure"))
            {
                string[]      datas = ui.GameDatasFromUser();
                AdventureGame game  = new AdventureGame(datas[developer], datas[name], Double.Parse(datas[rating]), type);
                game.EffectToPlayer(player, game);
            }

            else if (type.Equals("Action"))
            {
                string[]   datas = ui.GameDatasFromUser();
                ActionGame game  = new ActionGame(datas[developer], datas[name], Double.Parse(datas[rating]), type);
                game.EffectToPlayer(player, game);
            }

            else
            {
                ui.ErrorMessage("Wrong type of attribute!");
                System.Environment.Exit(0);
            }
        }
    protected override bool ProcessInteraction(Actor source, Controller instigator)
    {
        if (isLocked)
        {
            FPS_Pawn FPP = (FPS_Pawn)source;
            if (FPP)
            {
                if (FPP.hasKey)
                {
                    isLocked = false;
                    DoorOpen.Play();
                    return(false);
                }
            }

            if (_ms)
            {
                _ms.SetGameSmallText(true, popupHint, hintPopupTime);
            }
            return(false);
        }

        HorrorGame hg = FindObjectOfType <HorrorGame>();

        if (!hg)
        {
            LOG_ERROR("No object in scene with HorrorGame attached. Can not ask to end game.");
            return(true);
        }
        hg.EndGame(true);

        FPS_Controller FPC = (FPS_Controller)instigator;

        if (FPC)
        {
            FPC.UnPossesPawn(FPC.GetPossesedPawn());
            FPC.allowPausing = false;
        }

        return(true);
    }