Ejemplo n.º 1
0
    public override void Initialize(Transform[] objects)
    {
        // list because I don't know size here
        List <Filter> tmpFilters = new List <Filter>();
        int           index      = 0;

        for (int i = 0; i < objects.Length; i++)
        {
            // check performance
            GameManagerComponent gmc = objects[i].GetComponent <GameManagerComponent>();

            if (gmc)
            {
                tmpFilters.Add(new Filter(index, objects[i].gameObject, gmc));
                gmc.OnRestart += Restart;
                gmc.OnVictory += VictoryScreen;
                //gmc.OnDeath += RestartFromDeath;

                gmc.OnStartGameTick += StartGameTick;
                gmc.OnStopGameTick  += StopGameTick;
            }
        }

        filters                = tmpFilters.ToArray();
        travelComponent        = GetComponentInChildren <TravelComponent>();
        transportableComponent = GetComponentInChildren <CartComponent>();
        goapSystem             = GetComponent <GOAPSystem>();
    }
Ejemplo n.º 2
0
    public override void Tick(float deltaTime)
    {
        for (int i = 0; i < filters.Length; i++)
        {
            // cache variables
            Filter filter = filters[i];

            GameManagerComponent gameComp = filter.gameManagerComponent;

            // ----- logic -----
            if (travelComponent.gameObject.GetComponent <HealthComponent>())
            {
                if (travelComponent.gameObject.GetComponent <HealthComponent>().currentHealth <= 0)
                {
                    player.uiComponent.restartButton.SetActive(true);
                    //travelComponent.gameObject.GetComponent<MovementComponent>().alive = false;
                    //travelComponent.gameObject.GetComponent<LightComponent>().SetLightEnabled(true);
                }
            }

            /*if (!player.movementComponent.alive)
             * {
             *  if (Input.GetButtonDown("Start"))
             *  {
             *      RestartFromDeath();
             *  }
             * }*/
        }
    }
Ejemplo n.º 3
0
    private void Awake()
    {
        player = GameObject.FindGameObjectWithTag("Player");
        Assert.IsNotNull(player, "Failed to locate GameObject with tag <b>Player</b>");
        agent = GetComponent <NavMeshAgent>();
        Assert.IsNotNull(agent, "Failed to locate <b>NavMeshAgent</b> on Enemy GameObject");
        stateMachine = GetComponent <ChickenStateMachine>();
        Assert.IsNotNull(stateMachine, "Failed to locate <b>ChickenStateMachine.cs</b> on Enemy GameObject");
        perceptionScript = GetComponent <AIPerception>();
        Assert.IsNotNull(perceptionScript, "Failed to locate <b>AIPerception.cs</b> on Enemy GameObject");
        playerLightComponent = player.GetComponent <LightComponent>();
        Assert.IsNotNull(playerLightComponent, "Failed to locate <b>LightComponent.cs</b> on Player GameObject");
        playerCombatComponent = player.GetComponent <CombatComponent>();
        Assert.IsNotNull(playerCombatComponent, "Failed to locate <b>CombatComponent.cs</b> on Player GameObject");
        lightBombs = GameObject.FindGameObjectsWithTag("LightBomb");
        Assert.IsNotNull(lightBombs, "Failed to locate <b>LightBombs</b> in array check in Enemy GameObject");
        gameManager = player.GetComponent <GameManagerComponent>();
        Assert.IsNotNull(gameManager, "Failed to locate <b>GameManagerComponent.cs</b> on Player GameObject");
        world = GameObject.FindGameObjectWithTag("World");
        Assert.IsNotNull(world, "Failed to locate <b>World</b> under Main scene in hierarchy");
        worldSystem = world.GetComponent <World>();
        Assert.IsNotNull(worldSystem, "Failed to locate <b>World.cs</b> on World GameObject");

        originalWaitTime       = waitTime;
        originalHuntTime       = huntTime;
        originalAttackCooldown = attackCooldown;
        originalWalkSpeed      = agent.speed;
        originalChargeSpeed    = chargeSpeed;
    }
    //--------------------------------------
    //  Methods
    //--------------------------------------
    ///<summary>
    ///	Use this for initialization
    ///</summary>
    void Start()
    {
        //TODO, figure out how to call 'super.Start' so that I can set manager instances for every subclass easily

        GameObject gameManagerGameObject = GameObject.Find("GameManagerGameObject");
        gameManagerComponent = gameManagerGameObject.GetComponent<GameManagerComponent>();

        _doPickNewWayPoint();
    }
Ejemplo n.º 5
0
        public Filter(
            int id,
            GameObject go,
            GameManagerComponent gmc
            )
        {
            this.id = id;

            gameObject           = go;
            gameManagerComponent = gmc;
        }
Ejemplo n.º 6
0
    ///<summary>
    ///	Create a child GameObject by name but only if it doesn't already exist
    ///</summary>
    private static GameObject _CreateChildGameObjectIfNotAlreadyCreated(string desiredChildGameObjectName_string)
    {
        GameObject child_gameobject = GameManagerComponent.FindGameObjectsWithName(GameManagerComponent._NAME_GAME_MANAGER, desiredChildGameObjectName_string);

        if (child_gameobject == null)
        {
            child_gameobject                  = Instantiate(new GameObject(desiredChildGameObjectName_string)) as GameObject;
            child_gameobject.name             = desiredChildGameObjectName_string; //without this the name is "DynamicGameObjects (Clone)" - not sure why
            child_gameobject.transform.parent = _Instance.gameObject.transform;
        }
        return(child_gameobject);
    }
Ejemplo n.º 7
0
    public void Initialize()
    {
        if (!initialized)
        {
            return;
        }

        Transform[] worldObjects = GetComponentsInChildren <Transform>();

        inputSystem.Initialize(worldObjects);

        InputComponent       inpC       = playerObject.GetComponent <InputComponent>();
        HealthComponent      healthC    = playerObject.GetComponent <HealthComponent>();
        InteractorComponent  intC       = playerObject.GetComponent <InteractorComponent>();
        MovementComponent    moveC      = playerObject.GetComponent <MovementComponent>();
        InventoryComponent   invC       = playerObject.GetComponent <InventoryComponent>();
        GameManagerComponent gmC        = playerObject.GetComponent <GameManagerComponent>();
        AnimationComponent   animC      = playerObject.GetComponent <AnimationComponent>();
        PlayerStoryComponent storyBeatC = playerObject.GetComponent <PlayerStoryComponent>();
        PlayerEventComponent eventC     = playerObject.GetComponent <PlayerEventComponent>();
        GatheringComponent   gatC       = playerObject.GetComponent <GatheringComponent>();
        UIComponent          uiC        = playerObject.GetComponent <UIComponent>();
        NavMeshComponent     nmC        = playerObject.GetComponent <NavMeshComponent>();
        LightComponent       lC         = playerObject.GetComponent <LightComponent>();
        VFXComponent         vfxC       = playerObject.GetComponent <VFXComponent>();
        CombatComponent      cC         = playerObject.GetComponent <CombatComponent>();
        AudioComponent       aC         = playerObject.GetComponent <AudioComponent>();
        ConditionsComponent  conC       = playerObject.GetComponent <ConditionsComponent>();

        PlayerFilter pf = new PlayerFilter(
            playerObject, inpC, healthC, intC,
            moveC, invC, gmC, animC, storyBeatC,
            eventC, gatC, uiC, nmC, lC, vfxC,
            cC, aC, conC);

        sbs = GetComponent <StoryBeatSystem>();

        for (int i = 0; i < systems.Length; i++)
        {
            systems[i].player = pf;
            systems[i].Initialize(worldObjects);
            systems[i].SetupInputComponent(inputSystem.inputComponent);
        }
    }
Ejemplo n.º 8
0
    public void LeaveCart()
    {
        postProcessObject.SetActive(true);
        interactives[target].GetComponent <UITarget>().UnSelected();
        GameManagerComponent gmc = player.GetComponent <GameManagerComponent>();

        gmc?.OnStartGameTick();
        gmc.isInsideCart   = false;
        cameraRef.Priority = 9;
        target             = -1;
        targetTextCanvas.SetActive(false);
        targetText.gameObject.SetActive(false);
        uiHolder.SetActive(true);
        player.transform.position = cartExitPoint.transform.position;
        player.GetComponent <MovementComponent>().agent.Warp(cartExitPoint.transform.position);
        player.transform.rotation = cart.transform.rotation;

        glist.GetComponent <GroceryList>().UpdateList();
        player.GetComponent <MovementComponent>().alive = true;
    }
Ejemplo n.º 9
0
 public PlayerFilter(
     GameObject go,
     InputComponent inputC,
     HealthComponent healthC,
     InteractorComponent interactC,
     MovementComponent moveC,
     InventoryComponent inventoryC,
     GameManagerComponent gmc,
     AnimationComponent animC,
     PlayerStoryComponent psC,
     PlayerEventComponent peC,
     GatheringComponent gC,
     UIComponent uiC,
     NavMeshComponent nmC,
     LightComponent lC,
     VFXComponent vfxC,
     CombatComponent cC,
     AudioComponent aC,
     ConditionsComponent conC)
 {
     this.go              = go;
     inputComponent       = inputC;
     healthComponent      = healthC;
     interactorComponent  = interactC;
     movementComponent    = moveC;
     inventoryComponent   = inventoryC;
     gameManagerComponent = gmc;
     animationComponent   = animC;
     playerStoryComponent = psC;
     eventComponent       = peC;
     gatheringComponent   = gC;
     uiComponent          = uiC;
     navMeshComponent     = nmC;
     lightComponent       = lC;
     vfxComponent         = vfxC;
     combatComponent      = cC;
     audioComponent       = aC;
     conditionsComponent  = conC;
 }
    //--------------------------------------
    //  Methods
    //--------------------------------------
    ///<summary>
    ///	Use this for initialization
    ///</summary>
    void Start()
    {
        //SETUP
        gameManagerComponent = GetComponent<GameManagerComponent>();

        guiTexture.texture = overTexture2D;

        //guiText2 = Instantiate (new GUIText()) as GUIText;
        //guiText2.text = "Press!";
        //guiText2.transform.position = gameObject.transform.position;
    }
    //--------------------------------------
    //  Methods
    //--------------------------------------
    ///<summary>
    ///	Use this for initialization
    ///</summary>
    void Start()
    {
        //GET SCORE
        GameObject scoreTextGameObject = GameObject.Find("ScoreText");
        scoreText = scoreTextGameObject.GetComponent<TextMesh>();

        //
        gameManagerComponent = GetComponent<GameManagerComponent>();
    }
 //--------------------------------------
 //  Methods
 //--------------------------------------
 ///<summary>
 ///	Use this for initialization
 ///</summary>
 void Start()
 {
     direction_float = 1;
     //
     GameObject gameManagerGameObject = GameObject.Find("GameManagerGameObject");
     gameManagerComponent = gameManagerGameObject.GetComponent<GameManagerComponent>();
 }