示例#1
0
 private void RefreshBarrier(GameObject scObject, List <ScreenShot.CluePenghalang> daftarPenghalang)
 {
     foreach (ScreenShot.CluePenghalang penghalang in daftarPenghalang)
     {
         for (int i = 0; i < Barriers.Length; i++)
         {
             if (penghalang.Packagename == Barriers[i].PackageName)
             {
                 for (int j = 0; j < Barriers[i].Barriers.Length; j++)
                 {
                     if (penghalang.Nama == Barriers[i].Barriers[j].GetComponent <BarrierController>().Name)
                     {
                         GameObject        objek   = (GameObject)Instantiate(Barriers[i].Barriers[j]);
                         BarrierController barrier = objek.GetComponent <BarrierController>();
                         barrier.isPreview        = true;
                         barrier.Rotation         = penghalang.Rotasi;
                         objek.transform.position = penghalang.Posisi;
                         Debug.Log(penghalang.Posisi);
                         objek.transform.SetParent(scObject.transform);
                         objek.transform.localScale = new Vector3(1, 1, 1);
                         objek.GetComponent <RectTransform>().localPosition = penghalang.Posisi;
                     }
                 }
             }
         }
     }
 }
示例#2
0
    private Level CreateLevel()
    {
        Level level = new Level();

        level.ScoreFor1Star = 0;
        level.ScoreFor2Star = 0;
        level.ScoreFor3Star = 0;

        for (int i = 0; i < ParentObject.Background.transform.childCount; i++)
        {
            if (ParentObject.Background.transform.GetChild(i).gameObject.activeInHierarchy)
            {
                level.Place = ParentObject.Background.transform.GetChild(i).gameObject.name;
            }
        }
        for (int i = 0; i < ParentObject.Rubbish.transform.childCount; i++)
        {
            RubbishController controller = ParentObject.Rubbish.transform.GetChild(i).gameObject.GetComponent <RubbishController>();
            level.Rubbishes.Add(new Sampah(controller.PackageName, controller.Size, controller.transform.GetComponent <RectTransform>().localPosition, controller.Rotation, controller.RotationSpeed));
        }
        for (int i = 0; i < ParentObject.Barrier.transform.childCount; i++)
        {
            BarrierController controller = ParentObject.Barrier.transform.GetChild(i).gameObject.GetComponent <BarrierController>();
            level.Barriers.Add(new Penghalang(controller.PackageName, controller.Name, controller.transform.GetComponent <RectTransform>().localPosition, controller.Rotation, controller.RotationSpeed));
        }
        for (int i = 0; i < ParentObject.Bubble.transform.childCount; i++)
        {
            ItemGelembungController controller = ParentObject.Bubble.transform.GetChild(i).gameObject.GetComponent <ItemGelembungController>();
            level.Bubbles.Add(new Gelembung(controller.PackageName, controller.Type));
        }
        return(level);
    }
示例#3
0
    public void Init(
        KinimaticMotorController motorController,
        CameraController cameraController,
        HauntController hauntController,
        KeyBindingsController keyBindings,
        BarrierController barrierController,
        ActionLockController actionLockController
        )
    {
        var body = GetComponentInChildren <Rigidbody>();

        this.actionLockController = actionLockController;
        directionInput            = new InputDirectionController(keyBindings);
        motor         = motorController.GetMotor(motorConfig, body, directionInput);
        motorAnimator = new MotorAnimator(directionInput, GetComponentInChildren <Animator>(), walkStateName, idleStateName);
        cameraController.Follow(transform);
        haunter = new Haunter()
        {
            root = transform
        };
        hauntController?.AddHaunter(haunter);
        interactKey = keyBindings.GetKey(KeyAction.Interact);
        dimmer      = new ProximityDimmer()
        {
            root = transform, radius = dimRadius
        };
        builder = new BarrierBuilder()
        {
            root = transform
        };
        barrierController?.SetBuilder(builder);
    }
示例#4
0
 private void RefreshBarrier(List <Penghalang> daftarPenghalang)
 {
     foreach (Penghalang penghalang in daftarPenghalang)
     {
         for (int i = 0; i < Barriers.Length; i++)
         {
             if (penghalang.PackageName == Barriers[i].PackageName)
             {
                 for (int j = 0; j < Barriers[i].Barriers.Length; j++)
                 {
                     if (penghalang.Name == Barriers[i].Barriers[j].GetComponent <BarrierController>().Name)
                     {
                         GameObject        objek   = (GameObject)Instantiate(Barriers[i].Barriers[j]);
                         BarrierController barrier = objek.GetComponent <BarrierController>();
                         barrier.Rotation      = penghalang.Rotation;
                         barrier.RotationSpeed = penghalang.RotationSpeed;
                         barrier.isPreview     = true;
                         //objek.transform.position = penghalang.Position;
                         objek.transform.SetParent(ParentObject.Barrier.transform);
                         objek.transform.localScale = new Vector3(1, 1, 1);
                         objek.GetComponent <RectTransform>().localPosition = penghalang.Position;
                     }
                 }
             }
         }
     }
 }
 private void Cache()
 {
     app = App.Instance;
     triangleController = app.controller.triangle;
     circleController   = app.controller.circle;
     bulletController   = app.controller.bullet;
     barrierController  = app.controller.barrier;
     uiController       = app.controller.ui;
 }
示例#6
0
    /// <summary>
    /// バリア削除処理
    /// </summary>
    void DestoryBarrier()
    {
        BarrierController player = FindObjectOfType <BarrierController>();

        Destroy(this.gameObject);  //バリアが消える

        //バリア個数減少
        player.BarrierCountDown();
    }
示例#7
0
    public void Init(
        KinimaticMotorController motorController,
        NodePathController nodePath,
        HauntController hauntController,
        HouseController house,
        FearController fearController,
        BarrierController barrierController,
        ActionLockController actionLockController,
        CameraController cameraController
        )
    {
        this.cameraController        = cameraController;
        this.actionLockController    = actionLockController;
        actionLockController.OnLock += HandleActionLock;
        var body = GetComponent <Rigidbody>();

        pather        = new PathDirectionController(transform, nodePath.GetRoute, finalOffset);
        motor         = motorController.GetMotor(motorConfig, body, pather);
        animator      = modelRoot.GetComponentInChildren <Animator>();
        motorAnimator = new MotorAnimator(pather, animator, walkStateName, idleStateName);
        var hauntResponder = new HauntResponder()
        {
            root = transform
        };

        hauntResponder.onRespond += HandleHaunt;
        hauntController?.AddResponder(hauntResponder);
        this.house = house;
        foreach (var reaction in reactions)
        {
            reactionMap[reaction.haunt] = reaction;
        }

        fearActor = new FearActor()
        {
            house = house, root = transform, maxFear = maxFear
        };
        fearActor.OnScared   += HandleScared;
        fearActor.OnPanic    += HandlePanic;
        fearActor.OnCuriouse += HandleCuriouse;
        fearController?.AddActor(fearActor);

        blockable = new BarrierBlockable()
        {
            root = transform
        };
        blockable.OnBlock   += HandleBlock;
        blockable.OnUnblock += HandleUnblock;
        barrierController?.AddBlockable(blockable);
        currentBlockAnim = breakDownAnim;

        ui.Init(reactions, fearActor, hauntController);
        entrance = house.GetEntrance();
    }
示例#8
0
    //Instantiate the barrier skill, depending on the barrier prefab type
    void InstantiateBarrier(GameObject barrierType)
    {
        //Instantiate on the players position
        GameObject barrierObject = (GameObject)Instantiate(barrierType, transform.position, Quaternion.identity);

        //Link association between player and barrier
        playerBarrier = barrierObject;
        BarrierController bc = barrierObject.transform.GetComponent <BarrierController> ();

        bc.SetPlayer(this.gameObject);

        DeductAbilityCost(barrierCost);
    }
 public void Init(
     KinimaticMotorController motorController,
     NodePathController pathController,
     HauntController hauntController,
     BarrierController barrierController
     )
 {
     this.barrierController = barrierController;
     this.motorController   = motorController;
     this.pathController    = pathController;
     this.hauntController   = hauntController;
     hauntController.SetPositionTranslator(this);
     this.halfUnitWorldSize = unitWorldSize / 2.0f;
 }
示例#10
0
 private int handelPerTime = 10; //moi lan update xu ly 10 doi tuong
 void Update()
 {
     if (!startReset)
     {
         return;
     }
     for (int i = 0; i < handelPerTime; i++)
     {
         if (typeReset == 0)//load insteads
         {
             if (runReset < listInsteads.Count)
             {
                 listInsteads[runReset].SetActive(false);
                 listInsteads[runReset].transform.localPosition = listOriginPointInsteads[runReset];
                 runReset++;
             }
             else
             {
                 typeReset = 1;
                 runReset  = 0;
             }
         }
         else if (typeReset == 1)//load displays
         {
             if (runReset < listDisplays.Count)
             {
                 listDisplays[runReset].SetActive(true);
                 listDisplays[runReset].transform.localPosition = listOriginPointDisplays[runReset];
                 BarrierController barrierControl = listDisplays[runReset].GetComponent <BarrierController>();
                 if (barrierControl)
                 {
                     barrierControl.CallStart();
                 }
                 else
                 {
                     ItemInformation itemInfo = listDisplays[runReset].GetComponent <ItemInformation>();
                     itemInfo.CallStart();
                 }
                 runReset++;
             }
             else
             {
                 typeReset  = 0;
                 runReset   = 0;
                 startReset = false;
                 break;
             }
         }
     }
 }
示例#11
0
    /// <summary>
    /// 当たり判定
    /// </summary>
    /// <param name="other">当たったオブジェクト</param>
    void OnTriggerEnter(Collider other)
    {
        BarrierController player = FindObjectOfType <BarrierController>();

        Destroy(this.gameObject);  //バリアが消える

        //同じ色の弾とバリアだったら弾を消す
        if (other.gameObject.tag == this.gameObject.tag)
        {
            Destroy(other.gameObject);   //弾が消える
        }

        //バリア個数減少
        player.BarrierCountDown();
    }
 public void OnChange(float value)
 {
     if (willChange != null)
     {
         if (scrollBar.value <= 0.55 && scrollBar.value >= 0.45)
         {
             if (willChange.tag == "Rubbish")
             {
                 RubbishController rubbish = willChange.GetComponent <RubbishController>();
                 rubbish.RotationSpeed = 0;
             }
             else if (Selected.tag == "Barrier")
             {
                 BarrierController barrier = willChange.GetComponent <BarrierController>();
                 barrier.RotationSpeed = 0;
             }
         }
         else if (scrollBar.value > 0.55)
         {
             if (willChange.tag == "Rubbish")
             {
                 RubbishController rubbish = willChange.GetComponent <RubbishController>();
                 rubbish.RotationSpeed = (scrollBar.value - 0.55f) / 0.45f * rubbish.MAX_ROTATION_SPEED;
             }
             else if (willChange.tag == "Barrier")
             {
                 BarrierController barrier = willChange.GetComponent <BarrierController>();
                 barrier.RotationSpeed = (scrollBar.value - 0.55f) / 0.45f * barrier.MAX_ROTATION_SPEED;
             }
         }
         else if (scrollBar.value < 0.45)
         {
             if (willChange.tag == "Rubbish")
             {
                 RubbishController rubbish = willChange.GetComponent <RubbishController>();
                 rubbish.RotationSpeed = (scrollBar.value - 0.45f) / 0.45f * rubbish.MAX_ROTATION_SPEED;
             }
             else if (willChange.tag == "Barrier")
             {
                 BarrierController barrier = willChange.GetComponent <BarrierController>();
                 barrier.RotationSpeed = (scrollBar.value - 0.45f) / 0.45f * barrier.MAX_ROTATION_SPEED;
             }
         }
     }
 }
    void Start()
    {
        trainObject     = GameObject.Find(trainName);
        trainController = trainObject.GetComponent <TrainController>();

        //Get the animators of the barriers
        barrierObject1    = GameObject.Find(barrierName1);
        animBarrier1      = barrierObject1.GetComponent <Animator>();
        barrierController = barrierObject1.GetComponentInParent <BarrierController>();

        barrierObject2 = GameObject.Find(barrierName2);
        animBarrier2   = barrierObject2.GetComponent <Animator>();

        fadeCube       = GameObject.Find("FadeCube");
        fadeController = fadeCube.GetComponent <FadeController>();

        //anim.SetTrigger("isClosing");
    }
示例#14
0
 public void Restart(bool handleSafe = true)
 {
     //GetComponent<LODSwitcher>().SetCustomCamera(Camera.main);
     if (objectTwoSide != null)
     {
         if (Modules.reducedEffect == 2)
         {
             objectTwoSide.SetActive(false);
         }
         else
         {
             objectTwoSide.SetActive(true);
         }
     }
     if (handleSafe)
     {
         runReset   = 0;
         typeReset  = 0;
         startReset = true;
     }
     else
     {
         for (int i = 0; i < listInsteads.Count; i++)
         {
             listInsteads[i].transform.localPosition = listOriginPointInsteads[i];
             listInsteads[i].SetActive(false);
         }
         for (int i = 0; i < listDisplays.Count; i++)
         {
             listDisplays[i].transform.localPosition = listOriginPointDisplays[i];
             listDisplays[i].SetActive(true);
             BarrierController barrierControl = listDisplays[i].GetComponent <BarrierController>();
             if (barrierControl)
             {
                 barrierControl.CallStart();
             }
             else
             {
                 ItemInformation itemInfo = listDisplays[i].GetComponent <ItemInformation>();
                 itemInfo.CallStart();
             }
         }
     }
 }
示例#15
0
    // Update is called once per frame
    void Update()
    {
        BarrierController player = FindObjectOfType <BarrierController>();

        //離した時
        if (Input.GetKeyUp(KeyCode.Q))
        {
            DestoryBarrier();
            player.SetBarrierRed(false);
        }
        if (Input.GetKeyUp(KeyCode.W))
        {
            DestoryBarrier();
            player.SetBarrierBlue(false);
        }

        //プレイヤー追従
        this.transform.position  = player.transform.position;
        this.transform.position += new Vector3(2.0f, 0.0f, 0.0f);
    }
    void Awake()
    {
        _sceneAudio        = transform.GetComponent <AudioSource>();
        _circusBackground  = transform.Find("CircusBackground").GetComponent <BackgroundComponent>();
        _barrierController = transform.Find("BarrierController").GetComponent <BarrierController>();
        _jokerController   = transform.Find("JokerController").GetComponent <JokerController>();
        _menuObject        = transform.Find("MenuPanel").gameObject;
        _muteObject        = transform.Find("MenuPanel/MuteButton").gameObject;
        _loseObject        = transform.Find("LosePanel").gameObject;
        _scoreText         = transform.Find("LosePanel/ScoreText").GetComponent <Text>();

        _isMute = PlayerPrefs.GetInt("Mute", 0) == 1;
        if (_isMute)
        {
            _muteObject.SetActive(false);
        }
        else
        {
            _sceneAudio.mute = false;
        }
    }
    public void Start()
    {
        actionLock        = new ActionLockController();
        barrierController = GetComponent <BarrierController>();
        fearController    = GetComponent <FearController>();
        keyBindings       = GetComponent <KeyBindingsController>();
        cameraController  = GetComponent <CameraController>();
        motorController   = GetComponent <KinimaticMotorController>();
        houseController   = GetComponent <HouseController>();
        hauntController   = GetComponent <HauntController>();
        pathController    = GetComponent <NodePathController>();

        barrierController.Init(actionLock);
        fearController.Init();
        keyBindings.Init();
        cameraController.Init(actionLock);
        motorController.Init();
        hauntController.Init(actionLock);
        houseController.Init(motorController, pathController, hauntController, barrierController);

        ui = GameObject.Instantiate(uiPrefab, transform);
        ui.OnEndOfNight += HandleEndOfNight;
        ui.Init(fearController, fearTarget, actionLock);

        houseController.Generate();

        var invShuffle        = new ShuffleSet <GameObject>(investigatorModels);
        var roomShuffle       = new ShuffleSet <Vector2Int>(houseController.GetNonStartingRooms());
        var rotationIncrement = 360.0f / investigatorCount;

        for (int i = 0; i < investigatorCount; i++)
        {
            var rotation = i * rotationIncrement;
            var offset   = Quaternion.Euler(0, rotation, 0) * (Vector3.right * offsetDistance);
            SpawnInvestigator(invShuffle, offset);
        }
        SpawnPlayer();
    }
示例#18
0
 void Start()
 {
     turtleController = GetComponent<TurtleController>();
     nearbyBarrierDistanceThreshold = 75f;
     barrierController = GetComponent<BarrierController>();
 }
示例#19
0
    public void Shoot()
    {
        Debug.Log(poraController.IsPreparation);
        Debug.Log(State);
        if (poraController.IsPreparation && State == GameplayState.Playing)
        {
            BubbleController.BubbleSize size = poraController.Shoot();
            Vector2 bubblePosition           = poraController.GetShootPosition();
            InstansiateBubble(size, bubblePosition);
            if (size == BubbleController.BubbleSize.One || size == BubbleController.BubbleSize.Two)
            {
                soundSmall.Play();
            }
            else if (size == BubbleController.BubbleSize.Three)
            {
                soundMiddle.Play();
            }
            else
            {
                soundLarge.Play();
            }
        }
        else
        {
        }
        ScreenShot Clue = new ScreenShot();

        Clue.Pora  = new ScreenShot.CluePora(Pora.GetComponent <RectTransform>().localPosition);
        Clue.Place = new ScreenShot.PlaceClue(dataStaticLevel.Place);
        for (int i = 0; i < ParentObject.Barrier.transform.childCount; i++)
        {
            BarrierController controller = ParentObject.Barrier.transform.GetChild(i).gameObject.GetComponent <BarrierController>();

            ScreenShot.CluePenghalang CluePenghalang = new ScreenShot.CluePenghalang();
            CluePenghalang.Packagename     = controller.PackageName;
            CluePenghalang.Nama            = controller.Name;
            CluePenghalang.Posisi          = controller.GetComponent <RectTransform>().localPosition;
            CluePenghalang.KecepatanRotasi = controller.RotationSpeed;
            CluePenghalang.Rotasi          = controller.Rotation;
            Clue.Barries.Add(CluePenghalang);
        }
        for (int i = 0; i < ParentObject.Bubble.transform.childCount; i++)
        {
            BubbleController controller = ParentObject.Bubble.transform.GetChild(i).gameObject.GetComponent <BubbleController>();

            ScreenShot.ClueGelembung ClueGelembung = new ScreenShot.ClueGelembung();
            ClueGelembung.Posisi = controller.GetComponent <RectTransform>().localPosition;
            ClueGelembung.Size   = controller.SizeInInt;
            ClueGelembung.Type   = controller.Type;
            Clue.Bubbles.Add(ClueGelembung);
        }
        for (int i = 0; i < ParentObject.Rubbish.transform.childCount; i++)
        {
            RubbishController controller = ParentObject.Rubbish.transform.GetChild(i).gameObject.GetComponent <RubbishController>();

            ScreenShot.ClueSampah ClueSampah = new ScreenShot.ClueSampah();
            ClueSampah.KecepatanRotasi = controller.RotationSpeed;
            ClueSampah.Rotasi          = controller.Rotation;
            ClueSampah.Packagename     = controller.PackageName;
            ClueSampah.Posisi          = controller.GetComponent <RectTransform>().localPosition;
            ClueSampah.Size            = controller.SizeInInt;
            Clue.Rubbish.Add(ClueSampah);
        }
        ListOfClue.Add(Clue);
    }
示例#20
0
 void Start()
 {
     anim = GetComponent<Animator>();
     col = GetComponent<CapsuleCollider>();
     controller = GetComponent<CharacterController>();
     followingFish = GetComponent<FollowingFish>();
     barrierController = GetComponent<BarrierController>();
     stateController = GetComponent<TurtleStateController>();
     speedInMedium = 16.5f;
     minSpeedInMedium = 16.5f;
     maxSpeedInMedium = 20f;
     targetSpeedInMedium = 16.5f;
     currentlyAccelerating = false;
     initialMinimumSpeed = minSpeedInMedium;
     // FIXME remove the barriers stuff
     if (sequentialBarriers.Count > 0){
       nextBarrier = sequentialBarriers[0];
       nextBarrierInstance = barrierController.getBarrierInstanceFromBarrierGameObject(nextBarrier);
     }
 }