コード例 #1
0
    void Update()
    {
        // Hammer
        if ( Input.GetKeyDown(KeyCode.E) ){
            if ( hammerState == HammerStates.Rest ){
                hammerState = HammerStates.Cocked;
            }
        }

        // Trigger
        if ( Input.GetKeyDown(KeyCode.F) && hammerState == HammerStates.Cocked ){
            if ( triggerState == TriggerStates.Reset ){
                triggerState = TriggerStates.Pulled;
            } else {
                triggerState = TriggerStates.Reset;
            }
        }

        // Handle Bullet Chamber Status
        for( int i=0; i<chambers.Count; i++ ){
            if ( chambers[i] == ChamberStates.Empty ){
                liveBullets[i].SetActive(false);
                spentBullets[i].SetActive(false);
            }
            if ( chambers[i] == ChamberStates.LoadedLive ){
                liveBullets[i].SetActive(true);
                spentBullets[i].SetActive(false);
            }
            if ( chambers[i] == ChamberStates.LoadedSpent ){
                liveBullets[i].SetActive(false);
                spentBullets[i].SetActive(true);
            }
        }

        // if you died
        if ( dead ){
            locked = true;
            Camera.main.backgroundColor = Color.red;
            cylinderState = CylinderStates.Open;
            // show the restart button
            guiManager.objectivesPanel.SetActive(false);
            guiManager.restartButton.SetActive(true);
            guiManager.victoryButton.SetActive(false);
        } else {
            if ( !openPlay ){
                if ( triggerPulls >= triggerPulls_objective ){
                    locked = true;
                    Camera.main.backgroundColor = Color.green;
                    cylinderState = CylinderStates.Open;
                    // show the restart button
                    guiManager.objectivesPanel.SetActive(false);
                    guiManager.restartButton.SetActive(false);
                    guiManager.victoryButton.SetActive(true);
                }
            }
        }

        musicManager.src.pitch = Mathf.Lerp(musicManager.src.pitch, 1f+liveBulletsInCylinder*0.1f, Time.deltaTime*0.25f);
    }
コード例 #2
0
 public void OrientationChanged()
 {
     DeviceOrientation DO = om.current;
     CylinderStates old = cylinderState;
     if (DO != DeviceOrientation.Unknown &&
         DO != DeviceOrientation.FaceDown &&
         DO != DeviceOrientation.FaceUp &&
         !dead ){
         if ( DO.ToString().Contains("Portrait") ){
             cylinderState = CylinderStates.Open;
         } else {
             cylinderState = CylinderStates.Closed;
         }
     }
     // on cylinder State change spin the barrel
     if ( cylinderState != old ){
         rc.audioManager.PlayClip(rc.audioManager.cylinder_close);
         if (Random.value > 0.5f){
             _.touchManager.spinCounterClockwise = true;
             _.touchManager.spinClockwise = false;
         } else {
             _.touchManager.spinCounterClockwise = false;
             _.touchManager.spinClockwise = true;
         }
         // reset the hammer on cylinder change
         hammerState = HammerStates.Rest;
     }
 }
コード例 #3
0
    void Start()
    {
        // register the chambers and bullets
        for ( int i=0; i < 8; i++ ){
            chambers.Add(new ChamberStates());
            Transform chamber = GameObject.Find("Chamber"+i).transform;
            GameObject tempLive = chamber.FindChild("LiveBullet").gameObject;
            liveBullets.Add(tempLive);
            GameObject tempSpent = chamber.FindChild("SpentBullet").gameObject;
            spentBullets.Add(tempSpent);
        }

        om = gameObject.GetComponent<OrientationManager>();

        if ( !isTutorial ){
            if ( !openPlay ){
                guiManager.displayLevelModal();
            } else {
                //begin();
            }
        } else {
            // tutorial step 0
            // ROTATION
            string descriptiontext = "Rotate Your Device Open and Close the Revolver Cylinder";
            string buttonText = "CHECK  IT  OUT!";
            Sprite img = Resources.LoadAll<Sprite>("Art/Source/rss_tutorial")[0];;
            ModalLayouts layout = ModalLayouts.TwoColumnModal;
            guiManager.customModal(
                    descriptiontext,
                    buttonText,
                    img,
                    layout
                );
        }

        hammerState = HammerStates.Rest;
    }