Inheritance: MonoBehaviour
コード例 #1
0
    public void OnUpdate()
    {
        if (!activated || finished)
        {
            return;
        }

        float dt = FrameController.DT();

        if (isAlive)
        {
            currAliveTimer -= dt;
            faceTransform.LookAt(Common.GetStealthPlayer().transform.GetPosition(CTransform.TransformSpace.GLOBAL));
            if (currAliveTimer < 0.0f)
            {
                currAliveTimer = MMath.GetRandomLimitedFloat(_monsterMinActiveTime, _monsterMaxActiveTime);
                isAlive        = false;
                faceRender.setEnabled(false);
            }
        }
        else
        {
            currDeadTimer -= dt;

            if (currDeadTimer < 0.0f)
            {
                currDeadTimer = MMath.GetRandomLimitedFloat(_monsterMinRestTime, _monsterMaxRestTime);
                isAlive       = true;
                ActivateMonster();
                distortScript.Trigger();
            }
        }
    }
コード例 #2
0
    public void State_Dead_Update()
    {
        float dt = FrameController.DT();

        deadTimer -= dt;

        if (deadTimer >= totalTimeToDie - timeToDeathRotate)
        {
            gameObject.transform.RotateAround(deadForwardVector, deathAngleToRotate / timeToDeathRotate * dt); // finish rotation in 1.2 sec
            // gameObject.transform.position.y = MMath.Cerp(deadY, 2.0f, deadTimer);
            // gameObject.transform.position.x = MMath.Cerp(deadX, -1.0f, deadTimer);
            // gameObject.transform.rotation.Angles.z = MMath.Cerp(deadR, -1.8f, deadTimer);
        }
        else if (deadTimer <= 0.0f)
        {
            playerScript.SetResetFromDead();
            smc.SetState(idle);
        }

        if (fadeState == 1)
        {
            fadeOpacity += 1.0f / timeToFadeScreen * dt;
            if (fadeOpacity >= 1.0f)
            {
                fadeOpacity = 1.0f;
                fadeState   = 0; // stop fading in
            }
            Common.SetOpacityToGameObject(fadeOpacity, Common.GetStealthFadeScreen());
        }
    }
コード例 #3
0
    // Update is called once per frame
    public override void OnUpdate()
    {
        if (failed)
        {
            float dt = FrameController.DT();
            failTimer -= dt;

            if (failTimer <= 1.0f)
            {
                if (failTimer < 0.0f) // Time to reset to show starting button color
                {
                    failed      = false;
                    failTimer   = 2.5f;
                    randomTimer = 0.0f;
                    Reset();
                }
                else // Flashing random button colors to animate resetting
                {
                    randomTimer += dt;
                    if (randomTimer >= timeToRandomise)
                    {
                        randomTimer -= timeToRandomise;

                        // Reset all to white
                        for (int i = 0; i < maxHeight; i++)
                        {
                            int color = MMath.GetRandomInt(1, 3); // [1,2]
                            center[i] = color;
                        }
                        RefreshColorsOnBlocks(false);
                    }
                }
            }
        }
    }
コード例 #4
0
    public void State_FlyTowardsWall_Update()
    {
#if ZERO
        // Check if sticky cam velocity has changed direction
        Vector3 dirWithoutY = startThrowDir;
        dirWithoutY.Y = 0.0f;
        float   lenSqOfDirWithoutY = Vector3.Dot(dirWithoutY, dirWithoutY);
        Vector3 currVel            = camPhysics.rigidCom.Body().LinearVelocity();
        currVel.Y = 0.0f;
        Logger.Log("currVel: " + currVel.ToString() + ", physics trigger: " + camPhysics.mIsTriggered.ToString());
        float dotPdt     = Vector3.Dot(currVel, startThrowDir); // length of currVel
        float lenSq      = Vector3.Dot(currVel, currVel);
        float difference = Math.Abs(lenSq - (dotPdt * dotPdt) / lenSqOfDirWithoutY) / lenSq;
        if (difference > 0.0001f) // Significant change in direction
        {
            OnCollidingAgainstWall(wallStuckOn);
        }
#endif
        Vector3 currVel = camPhysics.rigidCom.Body().LinearVelocity();
        currVel.Normalize();
        Logger.Log("Sticky Cam vel dir: " + currVel.ToString());

        if (!hasHitWall)
        {
            timerWhenThrown += FrameController.DT();
            if (timerWhenThrown >= timeAllowedToThrowOut)
            {
                smc.SetState(flyingBackToPlayer); // Stop the camera from going too far, start returning
            }
        }
    }
コード例 #5
0
    public void OnUpdate()
    {
        zone.ClampObjectToBounds(gameObject);

        //paper shuffle
        if (isBeingHeld && Input.GetHeld(0, "MouseRClick") == 1.0f)
        {
            //reset acquired
            acquiredVelocity    = new Vector3(0.0f);
            acquiredVelocity.X += Input.GetMouseDeltaX() * FrameController.DT() * 0.02f;
            acquiredVelocity.Z += -Input.GetMouseDeltaY() * FrameController.DT() * 0.02f;

            velocityAccumulator = 0;
            velocity            = acquiredVelocity;
        }
        else
        {
            velocityAccumulator += FrameController.DT();
            velocityAccumulator  = MMath.Clamp01(velocityAccumulator);
            velocity.X           = MMath.Lerp(acquiredVelocity.X, 0, velocityAccumulator);
            velocity.Z           = MMath.Lerp(acquiredVelocity.Z, 0, velocityAccumulator);
        }

        gameObject.transform.Translate(velocity);
        gameObject.transform.SetPositionY(changeY * (gameObject.transform.position.z - initialZ) + initialY);

        //reset held
        if (isBeingHeld)
        {
            if (Input.GetReleased(0, "MouseRClick") == 1.0f)
            {
                isBeingHeld = false;
            }
        }
    }
コード例 #6
0
    public void State_Moving_Update()
    {
        //Logger.Log(moving.GetPercentageTime().ToString());
        timer += FrameController.DT();

        gameObject.transform.SetPositionY(MMath.Cerp(startY, endY, MMath.Clamp01(timer / 1.2f)));
    }
コード例 #7
0
    public void OnUpdate()
    {
        if (!isactive)
        {
            return;
        }
        else
        {
            float dt = FrameController.DT() * pulseRate;

            if (fadeOut)
            {
                currAtt -= dt;
                compLight.SetAtt(currAtt);

                if (currAtt < endAtt)
                {
                    fadeOut = false;
                }
            }
            else
            {
                currAtt += dt;
                compLight.SetAtt(currAtt);

                if (currAtt > startAtt)
                {
                    fadeOut = true;
                }
            }
        }
    }
コード例 #8
0
    void State_Moving_Update()
    {
        timer += FrameController.DT();
        if (moveTime == 0)
        {
            Logger.Log("Elevator moveTime is 0, cannot use script.");
            return;
        }

        if (timer / moveTime > 0.5f)
        {
            if (TeleportToHub)
            {
                GameObject marker = GameObject.GetGameObjectByName("hubelevatorteleportmarker");
                float      distx  = marker.transform.position.x - gameObject.transform.position.x;
                float      distz  = marker.transform.position.z - gameObject.transform.position.z;
                player.transform.SetPositionX(player.transform.position.x + distx);
                player.transform.SetPositionZ(player.transform.position.z + distz);
                gameObject.transform.SetPosition(marker.transform.position);
                TeleportToHub = false;
            }
        }

        float y = MMath.Cerp(startY, endY, MMath.Clamp01(timer / moveTime));

        gameObject.transform.SetPositionY(y);
        player.transform.SetPositionY(y + 0.2f);
    }
コード例 #9
0
    public void OnUpdate()
    {
        if (finished || !activated)
        {
            return;
        }

        float dt = FrameController.DT();

        foreach (CLight obj in lights)
        {
            if (!obj.isEnabled())
            {
                continue;
            }
            else
            {
                if (currTimeBetweenLight < 0.0f)
                {
                    currTimeBetweenLight = timeBetweenLights;
                    obj.setEnabled(false);
                }
                else
                {
                    currTimeBetweenLight -= dt;
                }

                break;
            }
        }
    }
コード例 #10
0
ファイル: PanelController.cs プロジェクト: sumogri/mahojinApp
    public void OnDrag()
    {
        transform.position = Input.mousePosition + mouseDiff;

        //一番近いFrameがRadius以下の距離にあれば選択、過去のものは破棄
        FrameController to = frameManager.Frames.Where(x => x.IsSelectable)
                             .OrderBy(x => Vector3.Distance(x.transform.position, transform.position)).FirstOrDefault();
        float distPos = Vector3.Distance(to.transform.position, transform.position);

        if (distPos < manager.Radius && to != toFrame)
        {
            to.Select();
            if (toFrame != null)
            {
                toFrame.UnSelect();
            }
            toFrame = to;
        }
        else if (distPos >= manager.Radius)
        {
            if (toFrame != null)
            {
                toFrame.UnSelect();
            }
            toFrame = null;
        }
    }
コード例 #11
0
        protected void Loop()
        {
            MakeCurrent();

            var update = new FrameController(10, 30, true, game.Update);
            var render = new FrameController(1, 1000, false, game.Render);

            game.State = new Running(this);
            game.Start();

            while (Exists && !IsExiting)
            {
                if (request_context)
                {
                    Context.MakeCurrent(null);
                    lock (request_context_lock)
                    {
                        Monitor.Pulse(request_context_lock);
                        Monitor.Wait(request_context_lock);
                    }
                    MakeCurrent();
                }

                update.TryFrame();
                render.TryFrame();
            }

            game.Stop();
            update = null;
            render = null;

            Context.MakeCurrent(null);
        }
コード例 #12
0
    public override void OnUpdate()
    {
        if (isDoorUnlocked == 2)
        {
            return;
        }

        float dt = FrameController.DT();

        if (isDoorUnlocked == 1) // Tweening the button when unlocked
        {
            isDoorUnlocked = 2;
        }
        else
        {
            if (!isButtonActive) // Awaiting ocu player's reply or time runs out
            {
                requestAccessTimer -= dt;
                if (requestAccessTimer <= 0.0f)
                {
                    doorButtonMesh.GetMaterial().SetColor(doorButtonColor); // Reset to original color
                    doorButtonMesh.mEmissiveColor = doorButtonColor;
                    isButtonActive = true;
                }
            }
        } // End of if door is still locked
    }
コード例 #13
0
    public void State_lowerdown_Update()
    {
        float dt = FrameController.DT();

        if (riseupTimer_ <= riseupTime_)
        {
            riseupTimer_ += dt;
            trans_.SetPositionY(MMath.Cerp(upperTrans_.position.y, lowerTrans_.position.y, riseupTimer_ / riseupTime_));
        }

        if (startupTimer_ <= shutdownTime_)
        {
            startupTimer_ += dt;
            revTime_       = MMath.Lerp(revFinalTime_, 50, startupTimer_ / shutdownTime_);
            revInc_        = 360.0f / revTime_;
        }

        if (riseupTimer_ > riseupTime_ && startupTimer_ > shutdownTime_)
        {
            smc.SetState(end);
        }

        //else if(riseupTimer_ >= riseupTime_ + transitionTime_)
        //	smc.SetState(riseup);
        trans_.RotateAround(0, 1, 0, revInc_ * dt);
    }
コード例 #14
0
ファイル: GameManager.cs プロジェクト: zillix/LD36
 public void Awake()
 {
     GameManager.instance = this;
     frameController      = gameObject.AddComponent <FrameController>();
     frameController.game = this;
     fpsCounter           = GetComponent <FPSCounter>();
 }
コード例 #15
0
    public void OnUpdate()
    {
        float dt = FrameController.DT();

        UpdateSplashScreen(dt);
        UpdateFadeScreen(dt);
    }
コード例 #16
0
 private void ResetFrame()
 {
     gameStatus = FindObjectOfType <GameStatus>();
     gameStatus.SetLevelText();
     gameStatus.SetGameCanvas(true);
     frameController = gameStatus.frameController;
     gameStatus.frameController.ResetFrame();
 }
コード例 #17
0
    public void OnUpdate()
    {
        timer += FrameController.DT();

        float rgb = MMath.Cerp(0.0f, 1.0f, MMath.Clamp01(timer / 3.0f));

        cr.GetMaterial().SetColor(new Color(rgb, rgb, rgb, 1.0f));
    }
コード例 #18
0
 public NodeModelBase(string nodeName, string type)
 {
     NodeName   = nodeName;
     nodeType   = type;
     viewType   = FrameController.GetInstence().MainFrameData.GetContent("Node", type, "ViewType");
     renderType = FrameController.GetInstence().MainFrameData.GetContent("Node", type, "RenderType");
     modelType  = FrameController.GetInstence().MainFrameData.GetContent("Node", type, "ModelType");
 }
コード例 #19
0
    public void OnUpdate()
    {
        float dt = FrameController.DT() * 2;

        gameObject.transform.SetPositionX(gameObject.transform.position.x + velX * dt);
        gameObject.transform.SetPositionY(gameObject.transform.position.y + velY * dt);
        gameObject.transform.SetPositionZ(gameObject.transform.position.z + velZ * dt);
    }
コード例 #20
0
 public void OnUpdate()
 {
     if (activated)
     {
         timer += FrameController.DT() * _frequency;
         light.SetAtt(((float)Math.Sin(timer) + 1.0f) * _amplitude);
     }
 }
コード例 #21
0
    void MoveTowards(Vector3 pt, float speedmod)
    {
        Vector3 dir = pt - gameObject.transform.position;

        dir.Y = 0;
        dir.Normalize();

        gameObject.transform.Translate(dir * FrameController.DT() * speed * speedmod);
    }
コード例 #22
0
    void ModifySpeed(float scale)
    {
        float speed = 16.0f;
        float dt    = FrameController.DT();

        scale *= thumbstickMagnitude; // scale the supposed speed on the thumbstick mag

        Vector3 dir = playerCamera.transform.GetForwardVector();

        dir.Y = 0;
        dir.Normalize(); // direction for z axis
        Vector3 right = playerCamera.transform.GetRightVector();

        right.Y = 0;
        right.Normalize(); // direction for x axis

        Vector3 currVel          = playerPhysics.rigidCom.Body().LinearVelocity();
        float   currentYVelocity = currVel.Y;

        Vector3 newVel = new Vector3();  // has no y component here

        newVel  = right * speedX;        // update X
        newVel += dir * speedZ;          // update Z
        newVel.Normalize();
        newVel = newVel * scale * speed; // scalar for velocity (less speed in air)

        if (smc.GetCurrentState() == jump)
        {
            float limitSpeedInJump = speedWhenJumped * speed;

            newVel   = currVel + newVel * dt;
            newVel.X = MathHelper.Clamp(newVel.X, -limitSpeedInJump, limitSpeedInJump);
            newVel.Z = MathHelper.Clamp(newVel.Z, -limitSpeedInJump, limitSpeedInJump);
        }
        else
        {
            newVel.Y = 0;//currentYVelocity;
        }
        playerPhysics.rigidCom.Body().SetLinearVelocity(newVel * dt * 30.0f);

#if ZERO
        float max = 33.0f;
        // cap it to max
        if (newVel.LengthSquared() < max * max)
        {
            newVel.Y = yVel;
            playerPhysics.rigidCom.Body().SetLinearVelocity(newVel);
        }
        else
        {
            newVel.Normalize();
            newVel  *= max;
            newVel.Y = yVel;
            playerPhysics.rigidCom.Body().SetLinearVelocity(newVel);
        }
#endif
    }
コード例 #23
0
ファイル: Fps.cs プロジェクト: Reticulatas/MochaEngineFinal
    public void OnUpdate()
    {
        float dt = FrameController.DT();

        dt = 1.0f / dt;
        string fpsStr = dt.ToString();

        fontComp.mText = fpsStr;
    }
コード例 #24
0
ファイル: AppManager.cs プロジェクト: smithmw8/camera3
    // Use this for initialization
    void Start()
    {
        m_PageMode          = PAGEMODE.FLITER_MENU;
        m_stickerController = GameObject.Find("StickerManager").GetComponent <StickerManager>();
        m_frameController   = GameObject.Find("FrameManager").GetComponent <FrameController> ();
        m_textController    = GameObject.Find("TextManager").GetComponent <TextManager> ();

        instance = this;
    }
コード例 #25
0
 public void OnUpdate()
 {
     timer_ += FrameController.DT();
     if (timer_ > 1.0f)
     {
         timer_ = 0.0f;
         Map.LoadMap("Assets/Levels/introDevices.mocha");
     }
 }
コード例 #26
0
 public void OnUpdate()
 {
     timer_ += FrameController.DT();
     if (timer_ > 5.0f)
     {
         timer_ = 0.0f;
         Map.LoadMap("Assets/Levels/mainMenu.mocha");
     }
 }
コード例 #27
0
 public override void OnTriggered()
 {
     spin += FrameController.DT() * 30;
     if (spin > 15.0f)
     {
         light.mDiffuse.r = 1.0f;
         spookEnabled     = true;
         spookg.transform.SetPositionY(startY);
     }
 }
コード例 #28
0
 private void Awake()
 {
     audioController = AudioController.Instance;
     coinsManager    = CoinsManager.Instance;
     frame           = FrameController.Instance;
     bandGenerator   = BandGenerator.Instance;
     gridController  = GridController.Instance;
     cam             = Camera.main.GetComponent <CameraController>();
     imageLoader     = InGameImageLoader.Instance;
 }
コード例 #29
0
        public static NodeViewModelBase GetNodeViewModel(NodeModelBase nodeModel)
        {
            ViewType viewType = (ViewType)Enum.Parse(typeof(ViewType), FrameController.GetInstence().MainFrameData.GetContent("Node", nodeModel.nodeType, "ViewType"));

            switch (viewType)
            {
            case ViewType.CommonNode:
                return(new CommonNodeViewModel(nodeModel));
            }
            return(new CommonNodeViewModel(nodeModel));
        }
コード例 #30
0
    public void OnUpdate()
    {
        timer += FrameController.DT();

        if (timer > 120.0f)
        {
            Map.LoadMap("Assets/Levels/Demo.mocha");
            timer = 0;
            return;
        }
    }
コード例 #31
0
        /// <summary>
        /// Updates the current <c>VPS</c> frame controllers.
        /// </summary>
        private void UpdateCameraSettings(CaptureParameters parameters)
        {
            this.SetFlashMode(parameters.FlashMode);

            // Disable photo confirmation thumbnails for VPS.
            if (this.CameraController.MediaCapture.VideoDeviceController.PhotoConfirmationControl.Supported)
            {
                this.CameraController.MediaCapture.VideoDeviceController.PhotoConfirmationControl.Enabled = false;
            }

            VariablePhotoSequenceController controller = this.CameraController.MediaCapture.VideoDeviceController.VariablePhotoSequenceController;
            controller.DesiredFrameControllers.Clear();

            for (int frameIndex = 0; frameIndex < VariablePhotoCapture.NumFrames; frameIndex++)
            {
                FrameController frame = new FrameController();
                controller.DesiredFrameControllers.Add(frame);
            }
        }
コード例 #32
0
    void Start()
    {
        _theGameManager = FindObjectOfType<GameManager> ();
        _theCameraManager = FindObjectOfType<CameraManager> ();
        _theFrameController = FindObjectOfType<FrameController> ();
        currentPlayer = new GameObject ();
        currentPlayer.transform.position = new Vector3 (_currentMapPaths [GameManager.CurrentMapPositionIndex].position.x, _currentMapPaths [GameManager.CurrentMapPositionIndex].position.y + 0.7f, 0);

        PlayerMapPieceSetup ();
    }