Наследование: MonoBehaviour
Пример #1
0
    private void Awake()
    {
        healthScript = GetComponent<HealthScript>();
        animator = GetComponent<Animator>();
        pHP = GetComponent<PlayerHealth> ();

        GameObject gameDirectorObject = GameObject.FindWithTag ("GameController");

        if (gameDirectorObject != null)
        {
            gameDirector = gameDirectorObject.GetComponent<GameDirector>();
        }
        else
        {
            Debug.Log("Cannot find 'Game Director Script' ");
        }

        gameDirector = GetComponent<GameDirector> ();

        circuleCollider = gameObject.collider2D as CircleCollider2D;
    }
Пример #2
0
	// Use this for initialization
	void Start () {
		setScore ();
		UpdateScore ();
		gd = waittime.GetComponent <GameDirector> ();
	}
Пример #3
0
 private void Start()
 {
     gameDirector = GameObject.Find("GameDirector").GetComponent <GameDirector>();
     rigidBody2D  = GetComponent <Rigidbody2D>();
     HP           = MaxHP;
 }
Пример #4
0
 private void Start()
 {
     gameDirector = FindObjectOfType <GameDirector>();
 }
Пример #5
0
 // Use this for initialization
 void Start()
 {
     director  = GameObject.Find("GameDirector").GetComponent <GameDirector>();
     bgm       = GameObject.Find("BGM").GetComponent <BGMController>();
     highscore = PlayerPrefs.GetFloat("flipthecat.highscore", 0);
 }
Пример #6
0
    // Update is called once per frame
    void Update()
    {
        if (target)
        {
            var pos = Vector2.Lerp(target.transform.position, transform.position, speedRatio);
            target.transform.position = new Vector3(pos.x, pos.y, transform.position.z);

            if (Vector2.Distance(target.transform.position, transform.position) < range)
            {
                audioSource.volume = Mathf.Clamp(audioSource.volume - Time.deltaTime / (durationA + durationB), 0, 1);

                if (!emitted)
                {
                    emitted = true;

                    var pointManager = GameDirector.Get(transform)?.pointManager;
                    int level        = 1;
                    if (pointManager?.IsGotAllImportantPoints() ?? false)
                    {
                        level++;
                        if (pointManager?.IsGotAllPoints() ?? false)
                        {
                            level++;
                        }
                    }
                    if (SceneSelector.Get() != null)
                    {
                        StageAchievement.SetCleared(SceneSelector.Get().CurrentScene, level);
                    }

                    StageDirector.Get()?.StageClearEffect(true, level);

                    // エフェクトを出す
                    GetComponentInChildren <ParticleSystem>().Play();
                    //target.GetComponentsInChildren<ParticleSystem>().ToList().ForEach(e => e.Play());

                    this.Delay(durationA, () =>
                    {
                        CameraController.Get().Targetter.SetTarget(goalTarget);

                        var achieved = pointManager?.IsGotAllImportantPoints() ?? false;
                        if (achieved)
                        {
                            this.Delay(durationB, () =>
                            {
                                StageDirector.Get()?.StageAchieveEffect(true);
                                if (goalSprite)
                                {
                                    goalSprite.GetComponent <Animator>().SetBool("Enabled", true);
                                }
                            });
                        }
                        this.Delay(durationC + (achieved ? durationB : 0), () =>
                        {
                            StageDirector.Get()?.StageClearEffect(false, level);
                            StageDirector.Get()?.StageAchieveEffect(false);
                            GameDirector.Get(transform).EndGame();
                        });
                    });
                }
            }
        }
    }
Пример #7
0
 void Awake()
 {
     gameInstance = this;
 }
Пример #8
0
    // Update is called once per frame
    void Update()
    {
        float angle = transform.rotation.eulerAngles.z;

        if (isTurn && !isAir)
        {
            // TODO : GetKeyDown will be changed GetKey
            if (Input.GetKeyDown(KeyCode.LeftArrow))
            {
                if (angle < 285 && angle >= 270 || wallDirection == 1 || tankData.m_iRemainMove <= 0)
                {
                }
            }
            if (Input.GetKeyDown(KeyCode.RightArrow))
            {
                if (angle > 75 && angle <= 90 || wallDirection == 2 || tankData.m_iRemainMove <= 0)
                {
                    audio.Stop();
                    audio.clip = tankData.m_audioClips[clip_move + 1];
                    audio.loop = false;
                    audio.Play(0);
                }
            }
            if (Input.GetKey(KeyCode.LeftArrow))
            {
                if (renderer.flipX == true)
                {
                    renderer.flipX = false;
                }

                if (angle < 285 && angle >= 270 || wallDirection == 1 || tankData.m_iRemainMove <= 0)
                {
                    if (audio.clip != tankData.m_audioClips[clip_move + 1])
                    {
                        audio.Stop();
                        audio.clip = tankData.m_audioClips[clip_move + 1];
                        audio.loop = false;
                        audio.Play(0);
                    }
                    return;
                }

                float remainGauge = (float)(--tankData.m_iRemainMove) / tankData.m_iMaxMove * smallGaugeWidth;
                SetGaugeFill(moveGauge.transform.Find("Fill").GetComponent <RectTransform>(), remainGauge);
                transform.Translate(new Vector3(-Time.deltaTime * moveSpeed, 0, 0), Space.Self);
                CalculateAngle();
                cameraController.FollowCamera(transform.position);

                if (audio.clip != tankData.m_audioClips[clip_move])
                {
                    audio.Stop();
                    audio.clip = tankData.m_audioClips[clip_move];
                    audio.loop = true;
                    audio.Play(0);
                }
            }
            else if (Input.GetKey(KeyCode.RightArrow))
            {
                if (renderer.flipX == false)
                {
                    renderer.flipX = true;
                }

                if (angle > 75 && angle <= 90 || wallDirection == 2 || tankData.m_iRemainMove <= 0)
                {
                    if (audio.clip != tankData.m_audioClips[clip_move + 1])
                    {
                        audio.Stop();
                        audio.clip = tankData.m_audioClips[clip_move + 1];
                        audio.loop = false;
                        audio.Play(0);
                    }
                    return;
                }

                float remainGauge = (float)(--tankData.m_iRemainMove) / tankData.m_iMaxMove * smallGaugeWidth;
                SetGaugeFill(moveGauge.transform.Find("Fill").GetComponent <RectTransform>(), remainGauge);
                transform.Translate(new Vector3(Time.deltaTime * moveSpeed, 0, 0), Space.Self);
                CalculateAngle();
                cameraController.FollowCamera(transform.position);

                if (audio.clip != tankData.m_audioClips[clip_move])
                {
                    audio.Stop();
                    audio.clip = tankData.m_audioClips[clip_move];
                    audio.loop = true;
                    audio.Play(0);
                }
            }
            else
            {
                if (audio.clip)
                {
                    audio.Stop();
                    audio.clip = null;
                }
            }
            if (Input.GetKey(KeyCode.UpArrow))
            {
                if (tankData.m_iCurrentAngle >= tankData.m_iMaxAngle)
                {
                    return;
                }

                // angle change sound
                tankData.m_iCurrentAngle++;
            }
            if (Input.GetKey(KeyCode.DownArrow))
            {
                if (tankData.m_iCurrentAngle <= tankData.m_iMinAngle)
                {
                    return;
                }

                // angle change sound
                tankData.m_iCurrentAngle--;
            }
            if (Input.GetKey(KeyCode.Space))
            {
                RectTransform fill    = powerGauge.transform.Find("Fill").GetComponent <RectTransform>();
                int           current = tankData.m_iShootingValue;
                if (tankData.m_isShooting == false)
                {
                    tankData.m_isShooting     = true;
                    tankData.m_iShootingValue = 0;

                    RectTransform lastFill = powerGauge.transform.Find("LastFill").GetComponent <RectTransform>();
                    float         gauge    = fill.sizeDelta.x;
                    if (gauge > 40)
                    {
                        SetGaugeFill(lastFill, gauge);
                    }
                    else
                    {
                        SetGaugeFill(lastFill, fill.GetComponent <Image>().fillAmount * 40);
                    }
                }
                else
                {
                    if (++current > maxPower)
                    {
                        current = maxPower;
                    }

                    tankData.m_iShootingValue = current;
                    SetGaugeFill(fill, current * bigGaugeWidth / maxPower);
                }
            }
            else
            {
                if (tankData.m_isShooting)
                {
                    tankData.m_isShooting = false;
                    isTurn = false;
                    // shoot bomb
                    Tool.EmitWeaponSound(tankData.m_audioClips[clip_fire + tankData.m_iBombType]);

                    cameraController.StopCameraSmoothMove();

                    float shootAngle = (renderer.flipX ? angle + tankData.m_iCurrentAngle : 180 + angle - tankData.m_iCurrentAngle);
                    Bomb  bomb       = Bomb.Create(collider.bounds.center, shootAngle, tankData.m_iShootingValue, tankData.m_audioClips[clip_bomb + tankData.m_iBombType], (renderer.flipX ? 1 : -1));
                    bomb.GetComponent <SpriteRenderer>().sprite = Resources.Load <Sprite>("Images/UI/Weapons/" + tankData.GetTankPath() + "/" + tankData.m_iBombType);

                    bomb.radius = tankData.m_iBombRadius[tankData.m_iBombType];
                    bomb.remain = tankData.m_iBombCount[tankData.m_iBombType];
                    cameraController.FollowCamera(bomb.transform.position, true);

                    RectTransform lastFill = powerGauge.transform.Find("LastFill").GetComponent <RectTransform>();
                    SetGaugeFill(lastFill, 0);
                }
            }
        }
        if (transform.position.y <= 0)
        {
            tankData.m_isDeadTank = true;
            if (isTurn)
            {
                TankController tank = GameDirector.GetNextTank();
                if (tank)
                {
                    tank.NextTurn(1);
                }
                else
                {
                    // Game End
                }

                audio.Stop();
                isTurn = false;
            }
            //gameObject.SetActive(false);
            renderer.color = new Color(1, 1, 1, 0);
            return;
        }

        int groundHeight = groundController.GetGroundHeight(transform.position);

        if (groundHeight == int.MinValue)
        {
            Debug.Log("can't get ground height " + transform.position);
            return;
        }
        // 움직이다가 땅속으로 빠지는것 방지
        if (!isAir && groundHeight < -2 && !((angle > 89 && angle < 91) || (angle > 269 && angle < 271)))
        {
            transform.Translate(new Vector3(0, 0.0125f * -groundHeight), Space.World);
            groundHeight = groundController.GetGroundHeight(transform.position);
        }
        if (groundHeight > 0)
        {
            if (groundHeight > 30)
            {
                cameraController.FollowCamera(transform.position);

                // angle reset
                transform.rotation = Quaternion.Euler(new Vector3());
                audio.Stop();
            }
            else
            {
                CalculateAngle();
            }
            float maxDropHeight = (float)groundHeight / 80 * -1;
            transform.Translate(new Vector3(0, Mathf.Max(maxDropHeight, -Time.deltaTime * dropSpeed), 0), Space.World);
            //transform.position = new Vector3(transform.position.x, (float)((int)(transform.position.y * 80)) / 80);

            isAir = true;
            return;
        }

        if (isAir)
        {
            CalculateAngle();
        }
    }
Пример #9
0
 void Start()
 {
     fishData         = GameDirector.GetFishData().Find(f => f.GetFishType() == type);
     fishImage        = gameObject.GetComponent <Image>();
     fishImage.sprite = fishData.GetFishImage();
 }
Пример #10
0
 protected override void Awake()
 {
     base.Awake();
     // Cache objects
     cameraTransform = Camera.main.transform;
     gameDirector = GameDirector.Instance;
     if (networkView.isMine)
     {
         characterColor = ColorDirector.H2RGB( (float)NetworkDirector.GetCustomPlayerProperty(networkView.owner, "Player.Hue") );
     }
     characterTextureAnimator.mainColor = characterColor;
     primaryArm.renderer.material.SetColor("_Emission", characterColor);
 }
Пример #11
0
    //更新関数
    public void Activate()
    {
        for (int i = curRegisList.Count - 1; i >= 0; i--)
        {
            //animNameList[i] == nullということは
            //親オブジェクトしかアニメーションしていないということ
            if (animNameList[i] == null)
            {
                Animator anim    = curRegisList[i].transform.parent.GetComponent <Animator>();
                float    curTime = anim.GetCurrentAnimatorStateInfo(0).normalizedTime;
                if (curTime >= 1)
                {
                    FinishAnyAnimPrefab(i);
                }
                continue;
            }

            //ani_sec_mapでの諸々の処理
            timer[i] += Time.deltaTime;

            //指定された再生時間にまだ達してないなら終わり
            if (timer[i] < secondList[i][subScript[i]])
            {
                continue;
            }

            //ネクスト処理
            subScript[i]++;
            timer[i] = 0;

            //ani_sec_mapのアニメーションの数が最後まで達したら
            if (subScript[i] > animNameList[i].Count - 1)
            {
                FinishAnyAnimPrefab(i);
                continue;
            }

            //次のアニメーションをプレイ
            //キーの指定は一旦配列に取り出してから検索する
            curRegisList[i].GetComponent <Animator>().Play(animNameList[i][subScript[i]]);
        }

        //終了処理
        bool movieSkip = canSkip && Input.GetButtonDown("MovieSkip");

        if (curRegisList.Count == 0 || movieSkip)
        {
            //スキップで強制終了したときのために
            for (int i = curRegisList.Count - 1; i >= 0; i--)
            {
                FinishAnyAnimPrefab(i);
            }

            for (int i = 0; i < returnAnimObj.Count; i++)
            {
                returnAnimObj[i].Play(origin_animClip[i], -1, origin_animTime[i]);
                returnAnimObj[i].SetBool("isMovied", false);
            }

            curRegisList.Clear();
            animNameList.Clear();
            secondList.Clear();
            subScript.Clear();
            timer.Clear();
            originParent.Clear();
            origin_animClip.Clear();
            origin_animTime.Clear();
            returnAnimObj.Clear();

            GameDirector.Instance().FinishAnim();
        }
    }
Пример #12
0
 void Start()
 {
     GameDirector.director = this;
     StartCoroutine(ShowStartPlayerOne());
 }
Пример #13
0
 public BoardBuilder(GameDirector gameDirector) : base(gameDirector)
 {
 }
Пример #14
0
 protected override void Awake()
 {
     base.Awake();
     // Cache objects
     cameraTransform = Camera.main.transform;
     gameDirector = GameDirector.Instance;
 }
Пример #15
0
 void Start()
 {
     action = GameDirector.GetInstance().CurrentScenceController as IUserAction;
 }
Пример #16
0
 public GameDirectorBuilder(GameDirector gameDirector)
 {
     GameDirector = gameDirector;
 }
Пример #17
0
 public OptionViewState(GameDirector director)
 {
     gameDirector = director;
     _stateID     = StateID.OptionView;
 }
Пример #18
0
 void Awake()
 {
     if(instance == null)
     {
         instance = this;
     }
 }
 void Start()
 {
     director = GameObject.Find("GameDirector").GetComponent <GameDirector>();
     aud      = GetComponent <AudioSource>();
 }
Пример #20
0
 public void select(int a)
 {
     GameDirector.StageSet(cost[a], stage[a]);
     SceneManager.LoadScene("CreateScene");
 }
Пример #21
0
    public void Build(StageData stageData, bool fieldOnly = false, bool curtain = true, bool withSnapShot = true, bool dropAnimation = true)
    {
        this.stageData = stageData;
        var canvas = GameObject.Find(ResourceNames.canvas);
        var innerFramePaddingBottom = 5f;

        if (gameDirector == null)
        {
            gameDirector = GameObject.Find(ResourceNames.gameDirector).GetComponent <GameDirector>();
        }
        if (!fieldOnly)
        {
            var screenComponents        = ScreenComponentsFactory.Make();
            var fieldMarginBottom       = screenComponents.fieldMarginBottom;
            var fieldWidth              = screenComponents.fieldWidth;
            var fieldHeight             = screenComponents.fieldHeight;
            var headerHeight            = screenComponents.headerHeight;
            var headerToolsWidth        = screenComponents.headerToolsWidth;
            var headerMarginTop         = screenComponents.headerMarginTop;
            var headerMarginBottom      = screenComponents.headerMarginBottom;
            var headerToolsMargin       = screenComponents.headerToolsMargin;
            var decorationCirclesWidth  = screenComponents.decorationCirclesWidth;
            var decorationCirclesHeight = screenComponents.decorationCirclesHeight;

            var menuButtonWidth    = headerToolsWidth * 0.1f;
            var formulaImageWidth  = headerToolsWidth - menuButtonWidth - decorationCirclesWidth;
            var formulaImageHeight = formulaImageWidth / 10f;
            var menuButtonHeight   = menuButtonWidth;

            var menuButtonObject = Instantiate(Resources.Load <GameObject>(ResourceNames.menuButton));
            menuButtonObject.transform.SetParent(canvas.transform, false);
            var menuButtonRectTransform = menuButtonObject.GetComponent <RectTransform>();
            menuButtonRectTransform.anchoredPosition = new Vector2(
                (Screen.width - fieldWidth) / 2,
                -headerMarginTop - (menuButtonHeight / 2f) - ((headerHeight - menuButtonHeight) / 2f)
                );
            menuButtonRectTransform.sizeDelta = new Vector2(menuButtonWidth, menuButtonHeight);
            var menuButton = menuButtonObject.GetComponent <Button>();
            menuButton.onClick.AddListener(() =>
            {
                if (isAnimation || IsEmpty)
                {
                    SoundWareHouse.Instance.seButtonError.Play();
                    return;
                }
                SoundWareHouse.Instance.seSpecialButton.Play();
                gameDirector.ShowMenu();
            });
            var formulaImageObject = Instantiate(Resources.Load <GameObject>(ResourceNames.formulaImage));
            formulaImageObject.transform.SetParent(canvas.transform, false);
            var formulaImageRectTransform = formulaImageObject.GetComponent <RectTransform>();
            formulaImageRectTransform.anchoredPosition = new Vector2(
                menuButtonRectTransform.anchoredPosition.x + menuButtonRectTransform.sizeDelta.x + headerToolsMargin,
                -headerMarginTop - (formulaImageHeight / 2f) - ((headerHeight - formulaImageHeight) / 2f)
                );
            formulaImageRectTransform.sizeDelta = new Vector2(
                formulaImageWidth,
                formulaImageHeight
                );
            formulaText = formulaImageObject.GetComponentInChildren <FormulaText>();
            var formulaTextRectTransform = formulaText.GetComponent <RectTransform>();
            formulaTextRectTransform.anchoredPosition = new Vector2(
                formulaImageWidth * 0.01f,
                0f
                );
            formulaTextRectTransform.sizeDelta = formulaImageRectTransform.sizeDelta;
            formulaText.text = "";
            var decorationCirclesObject = Instantiate(Resources.Load <GameObject>(ResourceNames.decorationCirclesImage));
            decorationCirclesObject.transform.SetParent(canvas.transform, false);
            var decorationCirclesRectTransform = decorationCirclesObject.GetComponent <RectTransform>();
            decorationCirclesRectTransform.anchoredPosition = new Vector2(
                formulaImageRectTransform.anchoredPosition.x + formulaImageRectTransform.sizeDelta.x + headerToolsMargin,
                -headerMarginTop - (decorationCirclesHeight / 2f) - ((headerHeight - decorationCirclesHeight) / 2f)
                );
            decorationCirclesRectTransform.sizeDelta = new Vector2(
                decorationCirclesWidth,
                decorationCirclesHeight
                );

            var outerFrameObject = Instantiate(Resources.Load <GameObject>(ResourceNames.gameFieldOuterFrameImage));
            outerFrameObject.transform.SetParent(canvas.transform, false);
            var outerFrameRectTransform = outerFrameObject.GetComponent <RectTransform>();
            outerFrameRectTransform.sizeDelta        = new Vector2(fieldWidth, fieldHeight);
            outerFrameRectTransform.anchoredPosition = new Vector2(0f, fieldMarginBottom);
            innerFrameObject = Instantiate(Resources.Load <GameObject>(ResourceNames.gameFieldInnerFrameImage));
            innerFrameObject.transform.SetParent(outerFrameObject.transform, false);
            var innerFrameRectTransform = innerFrameObject.GetComponent <RectTransform>();
            innerFrameSize = new Vector2(fieldWidth - 30f, fieldHeight - 30f);
            innerFrameRectTransform.sizeDelta = innerFrameSize;

            //innerFrameRectTransform.sizeDelta = outerFrameRectTransform.sizeDelta * 0.97f;
            var numberOfButtonsInColumn = 5;
            buttonSize = (innerFrameRectTransform.sizeDelta.y - innerFramePaddingBottom - (padding * (numberOfButtonsInColumn - 1))) / numberOfButtonsInColumn;
            var maxToolCount   = 4;
            var toolMargin     = innerFrameSize.y * 0.05f;
            var maxButtonCount = 7;
            var rightSpace     = (innerFrameSize.x - (buttonSize * maxButtonCount) - (padding * (maxButtonCount - 1))) / 2f;
            var toolSize       = (innerFrameSize.y - (toolMargin * (maxToolCount + 2))) / maxToolCount;
            //Debug.Log(toolSize);
            var toolPositionX    = (innerFrameSize.x / 2f) - ((rightSpace - toolSize) / 2f) - (toolSize / 2f);
            var helpButtonObject = Instantiate(Resources.Load <GameObject>(ResourceNames.helpButton));
            helpButtonObject.transform.SetParent(innerFrameObject.transform, false);
            var helpButtonRectTransform = helpButtonObject.GetComponent <RectTransform>();
            helpButtonRectTransform.anchoredPosition = new Vector2(toolPositionX, -(innerFrameSize.y / 2f) + (toolSize / 2f) + toolMargin);
            helpButtonRectTransform.sizeDelta        = new Vector2(toolSize, toolSize);
            var helpButton = helpButtonObject.GetComponent <Button>();
            helpButton.onClick.AddListener(() => {
                if (isAnimation || IsEmpty)
                {
                    SoundWareHouse.Instance.seButtonError.Play();
                    return;
                }
                SoundWareHouse.Instance.seSpecialButton.Play();
                gameDirector.ShowClearConditionAlert();
            });
            var backButtonObject = Instantiate(Resources.Load <GameObject>(ResourceNames.backButton));
            backButtonObject.transform.SetParent(innerFrameObject.transform, false);
            var backButtonRectTransform = backButtonObject.GetComponent <RectTransform>();
            backButtonRectTransform.anchoredPosition = new Vector2(toolPositionX, -(innerFrameSize.y / 2f) + (toolSize * 1.5f) + (toolMargin * 2f));
            backButtonRectTransform.sizeDelta        = new Vector2(toolSize, toolSize);
            var backButton = backButtonObject.GetComponent <Button>();
            backButton.onClick.AddListener(() => {
                if (GoBackTurn())
                {
                    SoundWareHouse.Instance.seControlButton.GetComponent <AudioSource>().Play();
                }
                else
                {
                    SoundWareHouse.Instance.seButtonError.GetComponent <AudioSource>().Play();
                }
            });
            var forwardButtonObject = Instantiate(Resources.Load <GameObject>(ResourceNames.forwardButton));
            forwardButtonObject.transform.SetParent(innerFrameObject.transform, false);
            var forwardButtonRectTransform = forwardButtonObject.GetComponent <RectTransform>();
            forwardButtonRectTransform.anchoredPosition = new Vector2(toolPositionX, -(innerFrameSize.y / 2f) + (toolSize * 2.5f) + (toolMargin * 3f));
            forwardButtonRectTransform.sizeDelta        = new Vector2(toolSize, toolSize);
            var forwardButton = forwardButtonObject.GetComponent <Button>();
            forwardButton.onClick.AddListener(() => {
                if (GoForwardTurn())
                {
                    SoundWareHouse.Instance.seControlButton.GetComponent <AudioSource>().Play();
                }
                else
                {
                    SoundWareHouse.Instance.seButtonError.GetComponent <AudioSource>().Play();
                }
            });
            var movesTextObject = Instantiate(Resources.Load <GameObject>(ResourceNames.movesText));
            movesTextObject.transform.SetParent(innerFrameObject.transform, false);
            var movesTextRectTransform = movesTextObject.GetComponent <RectTransform>();
            movesTextRectTransform.anchoredPosition = new Vector2(toolPositionX, -(innerFrameSize.y / 2f) + (toolSize * 3.5f) + (toolMargin * 5f));
            movesTextRectTransform.sizeDelta        = new Vector2(toolSize, toolSize);
            movesText      = movesTextObject.GetComponent <Text>();
            movesText.text = "0/" + stageData.moves.ToString() + "手";
        }

        void MakeButtons()
        {
            var termButtons = new List <TermButton>();
            var maxX        = 0;

            foreach (var operand in stageData.operands)
            {
                maxX = Math.Max(maxX, operand.position.x);
                var operandButtonObject = Instantiate(Resources.Load <GameObject>(ResourceNames.operandButton));
                var operandButton       = operandButtonObject.GetComponent <OperandButton>();
                operandButton.Operand = operand;
                operandButton.onClick.AddListener(() =>
                {
                    HandleOperandButton(operandButton);
                });
                termButtons.Add(operandButton);
            }
            foreach (var oper in stageData.operators)
            {
                maxX = Math.Max(maxX, oper.position.x);
                var operatorButtonObject = Instantiate(Resources.Load <GameObject>(ResourceNames.operatorButton));
                var operatorButton       = operatorButtonObject.GetComponent <OperatorButton>();
                operatorButton.Operator = oper;
                operatorButton.onClick.AddListener(() =>
                {
                    HandleOperatorButton(operatorButton);
                });
                termButtons.Add(operatorButton);
            }
            foreach (var equal in stageData.equals)
            {
                maxX = Math.Max(maxX, equal.position.x);
                var equalButtonObject = Instantiate(Resources.Load <GameObject>(ResourceNames.equalButton));
                var equalButton       = equalButtonObject.GetComponent <EqualButton>();
                equalButton.equal = equal;
                equalButton.onClick.AddListener(() =>
                {
                    HandleEqualButton(equalButton);
                });
                termButtons.Add(equalButton);
            }
            termButtons.Sort((a, b) =>
            {
                var pa = a.GetPosition();
                var pb = b.GetPosition();
                if (pa.y != pb.y)
                {
                    return(pa.y - pb.y);
                }
                return(pa.x - pb.x);
            });
            var index = 0;
            var paddingBetweenTermButtons = Screen.height * 0.05f;
            var notificationCount         = 0;
            var buttonCount = termButtons.Count;

            if (this.maxX == int.MaxValue)
            {
                this.maxX = maxX;
            }
            else
            {
                maxX = this.maxX;
            }
            foreach (var termButton in termButtons)
            {
                termButton.transform.SetParent(innerFrameObject.transform, false);
                var rect = termButton.GetComponent <RectTransform>();
                rect.sizeDelta = new Vector2(buttonSize, buttonSize);
                var buttonPosition = termButton.GetPosition();
                var offsetX        = innerFrameSize.x / 2f - ((float)(maxX + 1) / 2 * buttonSize) - ((float)maxX / 2 * padding);
                var x = buttonSize * buttonPosition.x + padding * buttonPosition.x + offsetX;
                var y = buttonSize * buttonPosition.y + padding * buttonPosition.y + innerFramePaddingBottom;
                if (dropAnimation)
                {
                    rect.anchoredPosition = new Vector2(
                        x,
                        y + Screen.height + (paddingBetweenTermButtons * buttonPosition.y) + (paddingBetweenTermButtons / (maxX - buttonPosition.x + 1))
                        );
                    var delay             = 0.1f;
                    var animationDuration = 0.5f + (delay * index);
                    termButton.GetComponent <UIAnimator>().Animate(UIAnimator.AnimationKey.PositionY, animationDuration, y, (animator) =>
                    {
                        ++notificationCount;
                        if (notificationCount == buttonCount)
                        {
                            gameDirector.ShowClearConditionAlert();
                        }
                        SoundWareHouse.Instance.seButtonDropped.GetComponent <AudioSource>().Play();
                        return(true);
                    });
                }
                else
                {
                    rect.anchoredPosition = new Vector2(
                        x,
                        y
                        );
                }

                ++index;
            }
            TermButtons = termButtons;
            if (withSnapShot)
            {
                SaveSnapShot();
            }
        }

        if (curtain)
        {
            curtainObject.transform.SetAsLastSibling();
            curtainObject.GetComponent <CurtainManager>().Open(() =>
            {
                curtainObject.transform.SetAsFirstSibling();
                MakeButtons();
                return(true);
            });
        }
        else
        {
            MakeButtons();
        }
    }
Пример #22
0
 private void OnDamage(float damage)
 {
     GameDirector.Explosion(transform.position, damage * explosionSizeWhenHit);
 }
Пример #23
0
 // Use this for initialization
 void Start()
 {
     director  = FindObjectOfType <GameDirector>();
     killZoneY = GameObject.Find("Killzone").transform.position.y;
 }
Пример #24
0
 internal void SetGameDirector(GameDirector gameDirector)
 {
     this.gameDirector = gameDirector;
 }
 // Start is called before the first frame update
 void Start()
 {
     reached  = false;
     director = GameObject.Find("_GameDirector_").GetComponent <GameDirector>();
     jelly    = gameObject.GetComponentInParent <JellyFish>();
 }
Пример #26
0
 // Start is called before the first frame update
 void Start()
 {
     GameDirector = GameObject.Find("GameDirector").GetComponent <GameDirector>();
     gameMode     = GameObject.Find("ModeSwitcher").GetComponent <GameModeController>();
 }
Пример #27
0
 void Start()
 {
     action = GameDirector.GetInstance().CurrentSceneControllor as IUserAction;
     speed  = 2;
 }
Пример #28
0
 private void Awake()
 {
     instance      = this;
     cameraManager = Camera.main.GetComponent <CameraManager>();
     mapGenerator  = GameObject.Find("MapGenerator").GetComponent <MapGenerator>();
 }
Пример #29
0
    public override void Die()
    {
        base.Die();

        GameDirector.Explosion(transform.position, (1 + ChunksRemaining) * explosionSizeWhenHit);
    }
Пример #30
0
 // Use this for initialization
 void Start()
 {
     ClearChoices();
     director        = GameObject.Find("MainCamera").GetComponent <GameDirector>();
     director.choice = this;
 }
Пример #31
0
 void Awake()
 {
     instance = this;
 }
Пример #32
0
 public GameDirectorBuilder()
 {
     GameDirector = new GameDirector();
 }
Пример #33
0
 // Start is called before the first frame update
 void Start()
 {
     director = FindObjectOfType <GameDirector>();
     good.Initialize(true);
     evil.Initialize(true);
 }
Пример #34
0
    void Start()
    {
        StartCoroutine(routine());

        Instance = this;
    }
Пример #35
0
 private void Start()
 {
     playerLocation = GameDirector.getInstance().currentSceneController.getPlayer().transform.position;
     StartCoroutine(shoot());
 }
Пример #36
0
    //受け渡し用

    private void Awake()
    {
        GetGameDirector = this;
    }
Пример #37
0
 // Use this for initialization
 void Start()
 {
     director    = GameObject.Find("MainCamera").GetComponent <GameDirector>();
     director.ui = this;
 }
Пример #38
0
    protected override void Start()
    {
        // Do important stuff in Start, not Awake, because the uLink network view isn't set up in Awake
        base.Start();
        // Cache objects
        cameraTransform = Camera.main.transform;
        gameDirector = GameDirector.Instance;
        if (myNetworkView.isMine)
        {
            characterColor = ColorDirector.H2RGB( (float)NetworkDirector.GetCustomPlayerProperty(myNetworkView.owner, "Player.Hue") );
            gameObject.name = NetworkDirector.GetCustomPlayerProperty(myNetworkView.owner, "Player.Name").ToString();
            GameDirector.Instance.SetSelfCharacter(this);
        }
        characterTextureAnimator.mainColor = characterColor;
        primaryArm.renderer.material.SetColor("_Emission", characterColor);

        Debug.Log("PlayerCharacter " + myNetworkView.owner.ToString() + " instantiated");
    }
Пример #39
0
 void Awake()
 {
     if (!instance){
         instance = this;
         InitializeGlobalVariables();
         DontDestroyOnLoad(gameObject);
     }else{
         Destroy (gameObject);
     }
 }