Пример #1
0
        public override void OnEnter()
        {
            var trimCharsArray = trimChars.Value.ToCharArray();

            if (!stringToSplit.IsNone && !stringArray.IsNone)
            {
                stringArray.stringValues = stringToSplit.Value.Split(separators.Value.ToCharArray());
                if (trimStrings.Value)
                {
                    for (var i = 0; i < stringArray.stringValues.Length; i++)
                    {
                        var s = stringArray.stringValues[i];
                        if (!trimChars.IsNone && trimCharsArray.Length > 0)
                        {
                            stringArray.Set(i, s.Trim(trimCharsArray));
                        }
                        else
                        {
                            stringArray.Set(i, s.Trim());
                        }
                    }
                    stringArray.SaveChanges();
                }
            }

            Finish();
        }
Пример #2
0
 public override void OnEnter()
 {
     char[] array = trimChars.Value.ToCharArray();
     if (!stringToSplit.IsNone && !stringArray.IsNone)
     {
         stringArray.Values = stringToSplit.Value.Split(separators.Value.ToCharArray());
         if (trimStrings.Value)
         {
             for (int i = 0; i < stringArray.Values.Length; i++)
             {
                 string text = stringArray.Values[i] as string;
                 if (text != null)
                 {
                     if (!trimChars.IsNone && array.Length > 0)
                     {
                         stringArray.Set(i, text.Trim(array));
                     }
                     else
                     {
                         stringArray.Set(i, text.Trim());
                     }
                 }
             }
         }
         stringArray.SaveChanges();
     }
     Finish();
 }
Пример #3
0
        private void DoTransferValue()
        {
            if (arraySource.IsNone || arrayTarget.IsNone)
            {
                return;
            }
            int value = indexToTransfer.Value;

            if (value < 0 || value >= arraySource.Length)
            {
                base.Fsm.Event(indexOutOfRange);
                return;
            }
            object obj = arraySource.Values[value];

            if ((ArrayTransferType)(object)copyType.Value == ArrayTransferType.Cut)
            {
                List <object> list = new List <object>(arraySource.Values);
                list.RemoveAt(value);
                arraySource.Values = list.ToArray();
            }
            else if ((ArrayTransferType)(object)copyType.Value == ArrayTransferType.nullify)
            {
                arraySource.Values.SetValue(null, value);
            }
            if ((ArrayPasteType)(object)pasteType.Value == ArrayPasteType.AsFirstItem)
            {
                List <object> list2 = new List <object>(arrayTarget.Values);
                list2.Insert(0, obj);
                arrayTarget.Values = list2.ToArray();
            }
            else if ((ArrayPasteType)(object)pasteType.Value == ArrayPasteType.AsLastItem)
            {
                arrayTarget.Resize(arrayTarget.Length + 1);
                arrayTarget.Set(arrayTarget.Length - 1, obj);
            }
            else if ((ArrayPasteType)(object)pasteType.Value == ArrayPasteType.InsertAtSameIndex)
            {
                if (value >= arrayTarget.Length)
                {
                    base.Fsm.Event(indexOutOfRange);
                }
                List <object> list2 = new List <object>(arrayTarget.Values);
                list2.Insert(value, obj);
                arrayTarget.Values = list2.ToArray();
            }
            else if ((ArrayPasteType)(object)pasteType.Value == ArrayPasteType.ReplaceAtSameIndex)
            {
                if (value >= arrayTarget.Length)
                {
                    base.Fsm.Event(indexOutOfRange);
                }
                else
                {
                    arrayTarget.Set(value, obj);
                }
            }
        }
Пример #4
0
		public static FsmArray LoadArray(ref FsmArray array,string filename,ES2Settings setting){
			
//			FsmArray array=new FsmArray();
			VariableType t=array.ElementType;
			
			switch(t){
			case VariableType.Bool:{
					bool[] bs=ES2.LoadArray<bool>(filename, setting);
//					array.Values=(object[])bs;
//					array.Values=bs;
					array.Resize(bs.Length);
					for(int i=0;i<bs.Length;i++){
						array.Set(i,(object)bs[i]);
					}
					break;
				}
			case VariableType.Int:{
					int[] bs=ES2.LoadArray<int>(filename, setting);
//					array.intValues=ints;
					array.Resize(bs.Length);
					for(int i=0;i<bs.Length;i++){
						array.Set(i,(object)bs[i]);
					}
					break;
				}
			case VariableType.Float:{
					float[]bs=ES2.LoadArray<float>(filename, setting);
					array.Resize(bs.Length);
					for(int i=0;i<bs.Length;i++){
						array.Set(i,(object)bs[i]);
					}
					break;
				}
			case VariableType.String:{
					string[]bs=ES2.LoadArray<string>(filename, setting);
					array.Resize(bs.Length);
					for(int i=0;i<bs.Length;i++){
						array.Set(i,(object)bs[i]);
					}
					break;
				}
			default:{
					break;
				}
			}

			return array;
		}
        public override void OnEnter()
        {
            FindChildrenRecursive(Owner);

            if (children.Count != 0)
            {
                result.Resize(children.Count);

                int i = 0;
                foreach (var child in children)
                {
                    result.Set(i, child);
                    i++;
                }

                result.SaveChanges();

                Fsm.Event(successEvent);
            }
            else
            {
                Fsm.Event(failedEvent);
            }

            Finish();
        }
Пример #6
0
        private void DoSetFsmArray()
        {
            GameObject ownerDefaultTarget = base.Fsm.GetOwnerDefaultTarget(gameObject);

            if (!UpdateCache(ownerDefaultTarget, fsmName.Value))
            {
                return;
            }
            FsmArray fsmArray = fsm.FsmVariables.GetFsmArray(variableName.Value);

            if (fsmArray != null)
            {
                if (index.Value < 0 || index.Value >= fsmArray.Length)
                {
                    base.Fsm.Event(indexOutOfRange);
                    Finish();
                }
                else if (fsmArray.ElementType == value.NamedVar.VariableType)
                {
                    value.UpdateValue();
                    fsmArray.Set(index.Value, value.GetValue());
                }
                else
                {
                    LogWarning("Incompatible variable type: " + variableName.Value);
                }
            }
            else
            {
                DoVariableNotFound(variableName.Value);
            }
        }
        public override void OnEnter()
        {
            MultiplayerInvitationObject temp = (MultiplayerInvitationObject)inputInvitationObject.Value;
            Invitation invitation            = temp.Invitation;

            if (showUnhandledInvitation.Value == true)
            {
                invitationObject.Value = temp;
                invitationPanel.Value.SetActive(true);
                invitationTextInfoObject.Value.GetComponent <Text>().text = "<b>Inviter:</b>\n" + (invitation.Inviter.DisplayName);
                RectTransform cg = invitationPanel.Value.GetComponent <RectTransform>();
                cg.localScale = new Vector3(1, 1, 1);
            }
            else if (invitationPanel.Value.activeSelf == true)
            {
                int tempLength = unhandledInvitations != null ? unhandledInvitations.Values.Length : 0;
                unhandledInvitations.Resize(tempLength + 1);
                unhandledInvitations.Set(tempLength, temp);
            }
            else
            {
                invitationObject.Value = inputInvitationObject.Value;
                invitationTextInfoObject.Value.GetComponent <Text>().text = "<b>Inviter:</b>\n" + (invitation.Inviter.DisplayName);
                invitationPanel.Value.SetActive(true);
                RectTransform cg = invitationPanel.Value.GetComponent <RectTransform>();
                cg.localScale = new Vector3(1, 1, 1);
            }
            Finish();
        }
Пример #8
0
        public override void OnEnter()
        {
            TurnBasedMatchObject temp = (TurnBasedMatchObject)matchObject.Value;

            TurnBasedMatch match = temp.Match;

            matchId.Value        = match.MatchId;
            playerCount          = match.PlayerCount;
            hasVacantSlot        = match.HasVacantSlot;
            isMyTurn             = match.IsMyTurn;
            currentParticipantId = match.CurrentParticipantId;
            selfParticipantId    = match.SelfParticipantId;


            if (match.PlayerCount > 0)
            {
                participantIds.Resize(match.PlayerCount);

                Participant[] participants = match.Participants;
                for (int i = 0; i < match.PlayerCount; i++)
                {
                    participantIds.Set(i, participants[i].ParticipantId);
                }
            }
            Finish();
        }
        void DoGetCsvColumn()
        {
            CsvData _data = CsvData.GetReference(reference.Value);

            if (_data == null)
            {
                Fsm.Event(errorEvent);
                result.Resize(0);
                return;
            }

            int _column = zeroBasedIndexing?column.Value:column.Value - 1;

            if (_data.ColumnCount <= _column)
            {
                LogError("Csv Data '" + reference.Value + "' doesn't have " + (_column) + " columns, only " + _data.ColumnCount);
                Fsm.Event(errorEvent);
                result.Resize(0);
                return;
            }

            result.Resize(_data.RecordCount);
            for (int i = 0; i < _data.RecordCount; i++)
            {
                result.Set(i, _data.GetFieldAt(i, _column, false));
            }


            result.SaveChanges();
        }
Пример #10
0
        public override void OnEnter()
        {
            GameServices.TurnBased.GetAllMatches((allMatches) =>
            {
                if (allMatches != null)
                {
                    matchCount.Value = allMatches.Length;

                    matches.Resize(matchCount.Value);

                    for (int i = 0; i < matchCount.Value; i++)
                    {
                        TurnBasedMatchObject matchObject = new TurnBasedMatchObject();

                        matchObject.Match = allMatches[i];

                        matches.Set(i, matchObject);
                    }
                    Fsm.Event(eventTarget, isSuccessEvent);
                    Finish();
                }
                else
                {
                    Fsm.Event(eventTarget, isNotSuccessEvent);
                    Finish();
                }
            });
        }
Пример #11
0
        private void ExecuteRayCastAll()
        {
            pointer = new PointerEventData(EventSystem.current);
            if (!orScreenPosition2d.IsNone)
            {
                pointer.position = orScreenPosition2d.Value;
            }
            else
            {
                pointer.position = new Vector2(screenPosition.Value.x, screenPosition.Value.y);
            }

            EventSystem.current.RaycastAll(pointer, raycastResults);

            if (!hitCount.IsNone)
            {
                hitCount.Value = raycastResults.Count;
            }

            gameObjectList.Resize(raycastResults.Count);

            var i = 0;

            foreach (var _res in raycastResults)
            {
                if (!gameObjectList.IsNone)
                {
                    gameObjectList.Set(i, _res.gameObject);
                }
            }
        }
        void DoGetEnumValues()
        {
            //reset results
            saveAsEnumArray.Resize(0);
            Array.Clear(saveAsEnumArray.Values, 0, saveAsEnumArray.Length);
            saveAsStringArray.Resize(0);
            Array.Clear(saveAsStringArray.Values, 0, saveAsStringArray.Length);
            saveAsString.Value = "";

            //get Types
            var enumType  = enumVariable.Value.GetType();
            var arrayType = saveAsEnumArray.GetType();

            //check if Types match
            if (enumType != arrayType)
            {
                Debug.LogWarning("Array and Enum are not of the same Enum-Type. Please match them in the Variables-Editor.");
            }

            foreach (var singleItem in Enum.GetValues(enumType))
            {
                saveAsEnumArray.Resize(saveAsEnumArray.Length + 1);
                saveAsEnumArray.Set(saveAsEnumArray.Length - 1, singleItem);

                saveAsStringArray.Resize(saveAsStringArray.Length + 1);
                saveAsStringArray.Set(saveAsStringArray.Length - 1, singleItem.ToString());

                saveAsString.Value += singleItem.ToString() + ", ";
            }
            saveAsString.Value = saveAsString.Value.TrimEnd(", ".ToCharArray());
        }
Пример #13
0
        private void DoAddValue()
        {
            //incorporate the check for empty or not empty if the value is of type string
            if (value.Type == VariableType.String)
            {
                if (ifEmpty.Value)
                {
                    if (!string.IsNullOrEmpty(value.stringValue))
                    {
                        return;
                    }
                }
                else
                {
                    if (string.IsNullOrEmpty(value.stringValue))
                    {
                        return;
                    }
                }
            }

            array.Resize(array.Length + 1);
            value.UpdateValue();
            array.Set(array.Length - 1, value.GetValue());
        }
Пример #14
0
        public override void OnEnter()
        {
            ulong    ID = ulong.Parse(this.steamID.Value);
            CSteamID IDsteam;

            IDsteam.m_SteamID = ID;
            userNameHistory.Resize(0);
            int  index = 1;
            bool done  = false;

            while (!done)
            {
                string userName = SteamFriends.GetFriendPersonaNameHistory(IDsteam, index);
                if (userName != "")
                {
                    userNameHistory.Resize(userNameHistory.Length + 1);
                    userNameHistory.Set(userNameHistory.Length - 1, userName);
                    index++;
                }
                else
                {
                    done = true;
                    if (index < 2)
                    {
                        Fsm.Event(noHistory);
                    }
                    else
                    {
                        Fsm.Event(historyFound);
                    }
                }
            }
            Finish();
        }
Пример #15
0
        public void OnMatchList(ListMatchResponse response)
        {
            var matchList = response.matches;
#endif
            results.Resize(matchList.Count);
            for (int i = 0; i < matchList.Count; i++)
            {
                results.Set(i, new MatchInfoObject(matchList[i]));
            }
        }
Пример #16
0
        void DoCalculatePath()
        {
            GameObject _sourceGameObject = Fsm.GetOwnerDefaultTarget(sourceGameObject);

            if (_sourceGameObject == null)
            {
                return;
            }
            GameObject _targetGameObject = targetGameObject.Value;

            if (_targetGameObject == null)
            {
                return;
            }

            _getNavMeshPathProxy();

            UnityEngine.AI.NavMeshPath _path = new UnityEngine.AI.NavMeshPath();

            bool _found = UnityEngine.AI.NavMesh.CalculatePath(_sourceGameObject.transform.position, _targetGameObject.transform.position, passableMask.Value, _path);

            if (_NavMeshPathProxy != null)
            {
                _NavMeshPathProxy.path = _path;
            }

            if (!calculatedPathCorners.IsNone)
            {
                calculatedPathCorners.Resize(_path.corners.Length);
                for (int i = 0; i < calculatedPathCorners.Length; i++)
                {
                    calculatedPathCorners.Set(i, _path.corners [i]);
                }

                calculatedPathCorners.SaveChanges();
            }

            resultingPathFound.Value = _found;

            if (_found)
            {
                if (!FsmEvent.IsNullOrEmpty(resultingPathFoundEvent))
                {
                    Fsm.Event(resultingPathFoundEvent);
                }
            }
            else
            {
                if (!FsmEvent.IsNullOrEmpty(resultingPathNotFoundEvent))
                {
                    Fsm.Event(resultingPathNotFoundEvent);
                }
            }
        }
Пример #17
0
        public override void OnEnter()
        {
            SteamApps.GetInstalledDepots((AppId_t)Convert.ToUInt32(appID.Value), depots, (uint)maxDepots.Value);

            for (int i = 0; i < depots.Length; i++)
            {
                depotIds.Resize(depotIds.Length + 1);
                depotIds.Set(depotIds.Length - 1, Convert.ToInt32(depots[i]));
            }

            Finish();
        }
Пример #18
0
        public override void OnEnter()
        {
            Random.InitState(seed.Value);

            for (int i = 0; i < maxindex.Value; i++)
            {
                arrayResult.Resize(arrayResult.Length + 1);
                vector3Result.Value = new Vector3(Random.Range(min.Value, max.Value), Random.Range(min.Value, max.Value), Random.Range(min.Value, max.Value));
                arrayResult.Set(arrayResult.Length - 1, vector3Result.Value);

                Finish();
            }
        }
Пример #19
0
        public override void OnEnter()
        {
            steamIDList.Resize(0);
            int count = SteamFriends.GetFriendCount(EFriendFlags.k_EFriendFlagImmediate);

            for (int i = 0; i < count; i++)
            {
                CSteamID ID = SteamFriends.GetFriendByIndex(i, EFriendFlags.k_EFriendFlagImmediate);
                steamIDList.Resize(steamIDList.Length + 1);
                steamIDList.Set(steamIDList.Length - 1, ID.ToString());
            }
            Finish();
        }
Пример #20
0
 public override void OnUpdate()
 {
     if (cloud != null && cloud.isDone)
     {
         var downloadedFilenames = cloud.filenames;
         filenames.Resize(cloud.filenames.Length);
         for (int i = 0; i < downloadedFilenames.Length; i++)
         {
             filenames.Set(i, downloadedFilenames [i]);
         }
         filenames.SaveChanges();
     }
     base.OnUpdate();
 }
Пример #21
0
 private void DoGetValue()
 {
     if (!array.IsNone)
     {
         if (index.Value >= 0 && index.Value < array.Length)
         {
             value.UpdateValue();
             array.Set(index.Value, value.GetValue());
         }
         else
         {
             base.Fsm.Event(indexOutOfRange);
         }
     }
 }
Пример #22
0
        private void DoAddRange()
        {
            int count = variables.Length;

            if (count > 0)
            {
                array.Resize(array.Length + count);

                foreach (FsmVar _var in variables)
                {
                    array.Set(array.Length - count, _var.GetValue());
                    count--;
                }
            }
        }
        void _CallOnChannelList(TNet.List <Channel.Info> chList)
        {
            for (int x = 0; x < chList.size; x++)
            {
                int Players   = chList[x].players;
                int ChannelID = chList[x].id;

                string value = (ChannelID.ToString() + "," + Players.ToString());
                valuestring = value;

                storeValue.Resize(storeValue.Length + 1);
                storeValue.Set(storeValue.Length - 1, valuestring.Value);

                Finish();
            }
        }
Пример #24
0
        public override void OnEnter()
        {
            int count = array.Length;

            array.Reset();
            array.Resize(count);

            if (!resetValue.IsNone)
            {
                object _val = resetValue.GetValue();
                for (int i = 0; i < count; i++)
                {
                    array.Set(i, _val);
                }
            }
            Finish();
        }
Пример #25
0
        private void DoAction()
        {
            GameObject[] rootGameObjects = target.GetRootGameObjects();

            int length = rootGameObjects.Length;

            array.Resize(length);

            length = length - 1;

            for (int x = 0; x <= length; x++)
            {
                array.Set(x, rootGameObjects[x]);
            }

            return;
        }
Пример #26
0
        public override void OnEnter()
        {
            int length = array.Length;

            array.Reset();
            array.Resize(length);
            if (!resetValue.IsNone)
            {
                resetValue.UpdateValue();
                object value = resetValue.GetValue();
                for (int i = 0; i < length; i++)
                {
                    array.Set(i, value);
                }
            }
            Finish();
        }
Пример #27
0
        private void DoGetValue()
        {
            if (array.IsNone)
            {
                return;
            }

            if (index.Value >= 0 && index.Value < array.Length)
            {
                value.UpdateValue();
                array.Set(index.Value, value.GetValue());
            }
            else
            {
                //LogError("Index out of Range: " + index.Value);
                Fsm.Event(indexOutOfRange);
            }
        }
        void DoCalculatePath()
        {
            _getNavMeshPathProxy();



            UnityEngine.AI.NavMeshPath _path = new UnityEngine.AI.NavMeshPath();

            bool _found = UnityEngine.AI.NavMesh.CalculatePath(sourcePosition.Value, targetPosition.Value, passableMask.Value, _path);

            if (_NavMeshPathProxy != null)
            {
                _NavMeshPathProxy.path = _path;
            }

            if (!calculatedPathCorners.IsNone)
            {
                calculatedPathCorners.Resize(_path.corners.Length);
                for (int i = 0; i < calculatedPathCorners.Length; i++)
                {
                    calculatedPathCorners.Set(i, _path.corners [i]);
                }

                calculatedPathCorners.SaveChanges();
            }


            resultingPathFound.Value = _found;

            if (_found)
            {
                if (!FsmEvent.IsNullOrEmpty(resultingPathFoundEvent))
                {
                    Fsm.Event(resultingPathFoundEvent);
                }
            }
            else
            {
                if (!FsmEvent.IsNullOrEmpty(resultingPathNotFoundEvent))
                {
                    Fsm.Event(resultingPathNotFoundEvent);
                }
            }
        }
        void Find()
        {
            _go = Fsm.GetOwnerDefaultTarget(gameObject);

            if (_go == null)
            {
                return;
            }

            _result = _go.GetComponentsInChildren <Transform>(includeInactive.Value);
            _result = _result.Where((source, index) => index != 0).ToArray();

            store.Resize(_result.Length);
            int i = 0;

            foreach (Transform transform in _result)
            {
                store.Set(i, transform.gameObject);
                i++;
            }
        }
        public static void Add <T>(this FsmArray array, T entry)
        {
            if (array == null)
            {
                return;
            }

            array.SetType(entry.GetVariableType());

            if (entry != null)
            {
                array.Resize(array.Length + 1);
                array.Set(array.Length - 1, (object)entry);
            }
            else
            {
                array.Resize(0);
            }

            array.SaveChanges();
        }
        public override void OnEnter()
        {
            DemoUtils_TurnBasedManager manager      = turnBaseManager.Value.GetComponent <DemoUtils_TurnBasedManager>();
            TurnBasedMatch             currentMatch = manager.CurrentMatch;

            if (!manager.IsMyTurn)
            {
                alertString.Value = "Not your turn.";
                Fsm.Event(eventTarget, isNotSuccessEvent);
            }

            if (currentMatch == null)
            {
                alertString.Value = "Please create a match first.";
                Fsm.Event(eventTarget, isNotSuccessEvent);
            }

            if (manager.CurrentMatchData == null)
            {
                alertString.Value = "Couldn't find any match data.";
                Fsm.Event(eventTarget, isNotSuccessEvent);
            }

            int participantLength = manager.CurrentOpponents.Length;

            participantIds.Resize(participantLength);
            results.Resize(participantLength);
            for (int i = 0; i < participantLength; i++)
            {
                participantIds.Set(i, manager.CurrentOpponents[i].ParticipantId);
                var result = manager.CurrentOpponents[i].ParticipantId.Equals(manager.CurrentMatch.SelfParticipantId) ? MatchOutcome.ParticipantResult.Won : MatchOutcome.ParticipantResult.Lost;
                results.Set(i, result);
            }

            manager.CurrentMatchData.WinnerName = manager.CurrentMatch.Self.DisplayName;
            var bytes = manager.CurrentMatchData.ToByteArray();

            matchData.Value = Convert.ToBase64String(bytes);
            Fsm.Event(eventTarget, isSuccessEvent);
        }