예제 #1
0
 public void pauseSimulation()
 {
     playButton.interactable  = true;
     pauseButton.interactable = false;
     timeStateAt    = TimeStates.Paused;
     Time.timeScale = 0;
 }
예제 #2
0
 public void playSimulation()
 {
     playButton.interactable  = false;
     pauseButton.interactable = true;
     timeStateAt = TimeStates.Started;
     setTime(timeValue);
 }
예제 #3
0
 public void pauseSimulation()
 {
     playButton.interactable  = true;
     pauseButton.interactable = false;
     timeStateAt    = TimeStates.Paused;
     Time.timeScale = 0;
     Debug.Log("RHS>>> simulation paused.");
 }
예제 #4
0
 public void playSimulation()
 {
     playButton.interactable  = false;
     pauseButton.interactable = true;
     stopButton.interactable  = true;
     timeStateAt = TimeStates.Started;
     setTime(timeValue);
     Debug.Log("RHS>>> simulation started.");
 }
예제 #5
0
    // InitLevel: initializes the level following network initialization
    public void InitLevel(TimeStates TimeState)
    {
        // check if LevelManager is already instantiated
        if (LevelManager.instance == null)
        {
            // instantiate the level manager
            Instantiate(levelObject);
        }

        // get class instance
        lm = LevelManager.instance;
        lm.setTimeState(TimeState);

        lm.LoadLevelScene();

        InitSound();
    }
예제 #6
0
    // OnStart: occurs when both players have joined the room. The game is ready to go :)
    void OnStart(TimeStates TimeState)
    {
        // Get all other players in the room
        PhotonPlayer[] players = PhotonNetwork.otherPlayers;

        // Ensure there are only two players in the room
        if (players.Length != 1)
        {
            Debug.Log("Player count not fulfilled..");
            return;
        }

        // instantiate the other player
        otherPlayer = players[0];

        Debug.Log("~~READY~~");

        // set connection state
        isConnected = true;

        PhotonNetwork.networkingPeer.SetReceivingEnabled(1, true);
        // initialize the level
        gm.InitLevel(TimeState);
    }
예제 #7
0
 public float GetTimescale(TimeStates state)
 {
     return(_timeScales[state]);
 }
예제 #8
0
 private void SetTimescale(TimeStates state, float scale)
 {
     _timeState     = state;
     _selfTimescale = scale;
 }
예제 #9
0
        public void SaveTimes(IEnumerable times, TimeStates state)
        {
            var          client = new TimeWSSoapClient();
            const string etcDoc = "<TimeTaskETCForProject useActionHints=\"true\"/>";

            var timeList = new StringBuilder("<TimeList ProxyResourceId=\"\" useActionHints=\"true\">");
            var s        = new XmlSerializer(typeof(Time));
            var settings = new XmlWriterSettings {
                OmitXmlDeclaration = true
            };
            var namespaces = new XmlSerializerNamespaces();

            namespaces.Add("", "");

            var modifiedTimes = new List <Time>();

            if (state == TimeStates.New)
            {
                modifiedTimes = ModifyTimesForNew(times);
            }
            else if (state == TimeStates.Modified)
            {
                modifiedTimes = ModifyTimesForApproval(times);
            }
            else if (state == TimeStates.Deleted)
            {
                modifiedTimes = ModifyTimesForDelete(times);
            }

            foreach (var time in modifiedTimes)
            {
                var ms = new MemoryStream();
                using (var writer = XmlWriter.Create(ms, settings))
                {
                    s.Serialize(writer, time, namespaces);
                }

                ms.Seek(0, SeekOrigin.Begin);
                var xmlStr = new StreamReader(ms).ReadToEnd();
                timeList.Append(xmlStr);
            }

            timeList.Append("</TimeList>");

            bool    result;
            XmlNode failResult;

            client.UpdateTimeAndTaskETCForTimeEntry(new ICERequestHeader(), timeList.ToString(), etcDoc, out result,
                                                    out failResult);

            if (result && string.IsNullOrEmpty(failResult.InnerText))
            {
                return;
            }

            var msg = "Failed to save times";

            if (!string.IsNullOrEmpty(failResult.InnerText))
            {
                msg += ":\n" + failResult.InnerText;
            }
            throw new Exception(msg);
        }
예제 #10
0
 public void setTimeState(TimeStates state)
 {
     this.TimeState = state;
 }