예제 #1
0
        internal static unsafe godot_bool Set(IntPtr godotObjectGCHandle, godot_string_name *name, godot_variant *value)
        {
            try
            {
                var godotObject = (Object)GCHandle.FromIntPtr(godotObjectGCHandle).Target;

                if (godotObject == null)
                {
                    throw new InvalidOperationException();
                }

                if (godotObject.SetGodotClassPropertyValue(CustomUnsafe.AsRef(name), CustomUnsafe.AsRef(value)))
                {
                    return(godot_bool.True);
                }

                var nameManaged = StringName.CreateTakingOwnershipOfDisposableValue(
                    NativeFuncs.godotsharp_string_name_new_copy(CustomUnsafe.AsRef(name)));

                Variant valueManaged = Variant.CreateCopyingBorrowed(*value);

                return(godotObject._Set(nameManaged, valueManaged).ToGodotBool());
            }
            catch (Exception e)
            {
                ExceptionUtils.LogException(e);
                return(godot_bool.False);
            }
        }
예제 #2
0
        public static void TieManagedToUnmanaged(Object managed, IntPtr unmanaged,
                                                 StringName nativeName, bool refCounted, Type type, Type nativeType)
        {
            var gcHandle = refCounted ?
                           CustomGCHandle.AllocWeak(managed) :
                           CustomGCHandle.AllocStrong(managed, type);

            if (type == nativeType)
            {
                var nativeNameSelf = (godot_string_name)nativeName.NativeValue;
                NativeFuncs.godotsharp_internal_tie_native_managed_to_unmanaged(
                    GCHandle.ToIntPtr(gcHandle), unmanaged, nativeNameSelf, refCounted.ToGodotBool());
            }
            else
            {
                unsafe
                {
                    // We don't dispose `script` ourselves here.
                    // `tie_user_managed_to_unmanaged` does it for us to avoid another P/Invoke call.
                    godot_ref script;
                    ScriptManagerBridge.GetOrLoadOrCreateScriptForType(type, &script);

                    // IMPORTANT: This must be called after GetOrCreateScriptBridgeForType
                    NativeFuncs.godotsharp_internal_tie_user_managed_to_unmanaged(
                        GCHandle.ToIntPtr(gcHandle), unmanaged, &script, refCounted.ToGodotBool());
                }
            }
        }
예제 #3
0
        public string GetString(StringName name)
        {
            var ptr = NativeMethods.GetString(name);

            CheckForError();
            return(Marshal.PtrToStringAnsi(ptr));
        }
예제 #4
0
 public StairWay(Point posOnMap, StairWaysType type, string levelName, Point target)
 {
     _posistion = posOnMap;
     _posX = _posistion.X + 1;
     _posY = _posistion.Y + 5;
     _oldX = _posX;
     _oldY = _oldY;
     _type = ObjectType.O_STAIRWAY;
     _stairsType = type;
     if (_stairsType == StairWaysType.DOWN)
     {
         _visual = '>';
         _description = Game.Lang[StringName.STAIRWAY_DOWN_TEXT];
         _Description = StringName.STAIRWAY_DOWN_TEXT;
     }
     else
     {
         _visual = '<';
         _description = Game.Lang[StringName.STAIRWAY_UP_TEXT];
         _Description = StringName.STAIRWAY_UP_TEXT;
     }
     _color = ConsoleColor.Gray;
     _seen = false;
     _blockVision = false;
     _isPassable = true;
     _levelName = levelName;
     _leadingTo = target;
 }
예제 #5
0
파일: GL.cs 프로젝트: asmboom/PixelFarm
        public static string GetString(StringName name)
        {
#if USE_OPENGL
            return(OpenTK.Graphics.OpenGL.GL.GetString((OpenTK.Graphics.OpenGL.StringName)name));
#else
            return("");
#endif
        }
예제 #6
0
        public static string GetString(StringName id)
        {
            CheckCurrent();
            var retv = Marshal.PtrToStringAnsi(_bindings.glGetString((uint)id));

            CheckError();
            return(retv);
        }
예제 #7
0
        public static string GetString(StringName name)
        {
            if (Instance != null)
            {
                return(Instance.GetString(name));
            }

            return("");
        }
예제 #8
0
        public static string GetString(StringName name)
        {
            if (Instance != null)
            {
                CheckForError();
                return(Instance.GetString(name));
            }

            return("");
        }
예제 #9
0
 public EquipmentSlot(int id, StringName sn, ItemClass[] itemClass, SlotType slot)
 {
     _id = id;
     _displayedName = sn;
     _allowedItemType = new ItemClass[itemClass.GetLength(0)];
     _allowedItemType = itemClass;
     _item = null;
     _fullInfo = "-";
     _slotType = slot;
 }
예제 #10
0
        public static string GetString(StringName name)
        {
#if USE_OPENGL
            if (HardwareAvailable)
            {
                return(OpenTK.Graphics.OpenGL.GL.GetString((OpenTK.Graphics.OpenGL.StringName)name));
            }
            return("");
#else
            return("");
#endif
        }
예제 #11
0
        public override string[] GetParam(string name, out string value)
        {
            if (Enum.IsDefined(typeof(StringName), name))
            {
                StringName stringName = (StringName)Enum.Parse(typeof(StringName), name);

                if (!camera.Parameters[stringName].IsEmpty && camera.Parameters[stringName].IsReadable)
                {
                    value = camera.Parameters[stringName].GetValue();
                    return(null);
                }
                else
                {
                    value = null;
                    return(null);
                }
            }
            else if (Enum.IsDefined(typeof(EnumName), name))
            {
                EnumName enumName = (EnumName)Enum.Parse(typeof(EnumName), name);

                if (!camera.Parameters[enumName].IsEmpty && camera.Parameters[enumName].IsReadable)
                {
                    List <string>        param      = new List <string>();
                    IEnumerator <string> enumerator = camera.Parameters[enumName].GetAllValues().GetEnumerator();

                    while (enumerator.MoveNext())
                    {
                        param.Add(enumerator.Current);
                    }

                    value = camera.Parameters[enumName].GetValue();
                    return(param.ToArray());
                }
                else
                {
                    value = null;
                    return(null);
                }
            }
            else
            {
                value = null;
                return(null);
            }
        }
예제 #12
0
        public override void SetParam(string name, string value)
        {
            if (Enum.IsDefined(typeof(StringName), name))
            {
                StringName stringName = (StringName)Enum.Parse(typeof(StringName), name);

                if (!camera.Parameters[stringName].IsEmpty && camera.Parameters[stringName].IsWritable)
                {
                    camera.Parameters[stringName].SetValue(value);
                }
            }
            else if (Enum.IsDefined(typeof(EnumName), name))
            {
                EnumName enumName = (EnumName)Enum.Parse(typeof(EnumName), name);

                if (!camera.Parameters[enumName].IsEmpty && camera.Parameters[enumName].CanSetValue(value))
                {
                    camera.Parameters[enumName].SetValue(value);
                }
            }
        }
예제 #13
0
        internal static unsafe godot_bool Get(IntPtr godotObjectGCHandle, godot_string_name *name,
                                              godot_variant *outRet)
        {
            try
            {
                var godotObject = (Object)GCHandle.FromIntPtr(godotObjectGCHandle).Target;

                if (godotObject == null)
                {
                    throw new InvalidOperationException();
                }

                if (godotObject.GetGodotClassPropertyValue(CustomUnsafe.AsRef(name), out godot_variant outRetValue))
                {
                    *outRet = outRetValue;
                    return(godot_bool.True);
                }

                var nameManaged = StringName.CreateTakingOwnershipOfDisposableValue(
                    NativeFuncs.godotsharp_string_name_new_copy(CustomUnsafe.AsRef(name)));

                Variant ret = godotObject._Get(nameManaged);

                if (ret.VariantType == Variant.Type.Nil)
                {
                    *outRet = default;
                    return(godot_bool.False);
                }

                *outRet = Marshaling.ConvertManagedObjectToVariant(ret);
                return(godot_bool.True);
            }
            catch (Exception e)
            {
                ExceptionUtils.LogException(e);
                *outRet = default;
                return(godot_bool.False);
            }
        }
예제 #14
0
 public MapTile(int x, int y, int offsetX, int offsetY, StringName description, tileType type, char vis)
 {
     _x = x;
     _y = y; 
     _sX = x + offsetX;
     _sY = y + offsetY;
     _Description = description;
     _type = type;
     visual = vis;
     _objects = new List<Object>();
     if (_type == tileType.T_FLOOR || _type == tileType.T_OPENDOOR)
     {
         _isPassable = true;
         _blockVision = false;
     }
     else
     {
         _isPassable = false;
         _blockVision = true;
     }
     _Seen = false;
 }
예제 #15
0
        public static string Get(StringName stringName, params string[] replaces)
        {
            string ret;

            if (strings.ContainsKey(stringName))
            {
                ret = strings[stringName];
            }
            else
            {
                ret = stringName.ToString();
            }

            if (replaces.Length > 0 && replaces.Length % 2 == 0)
            {
                for (int i = 0; i < replaces.Length; i += 2)
                {
                    ret = ret.Replace("%" + replaces[i] + "%", replaces[i + 1]);
                }
            }

            return(ret);
        }
예제 #16
0
 private static string Str(StringName name) => GL.GetString(name);
예제 #17
0
 public static string glGetString(StringName name)
 {
     return(Marshal.PtrToStringAnsi(_glGetString(name)));
 }
예제 #18
0
 public Character(int posX, int posY, Race r, SocialStatus s, string name, PlayerClass p, int[] pStats, int[] pResists, int[] pBaseRes, int[,] wp, char visual = '@')
 {
     _posX = posX;
     _posY = posY;
     _oldX = posX;
     _oldY = posY;
     _visibilityRange = 5;
     _visual = visual;
     _color = ConsoleColor.Green;
     _type = ObjectType.O_PC;
     _seen = true;
     gender = r.GenderType;
     genderName = r.genderName;
     race = r.RaceType;
     raceName = r.Name;
     Height = r.Height;
     Weight = r.Weight;
     Title = s.Title;
     Name = name;
     PlaceOfBirth = s.PoB;
     SocialClass = s.SocialClass;
     nameSocialClass = s.nameSocialClass;
     playerSocialStatus = s.socialStatus;
     nameSocialStatus = s.nameSocialStatus;
     playerClass = p.playerClass;
     className = p.className;
     _backpack = new Backpack();
     _inventory = new Inventory();
     _weaponProficiencies = new List<WeaponProficiency>();
     _primaryStats = new Dictionary<PrimaryStats, Stat>();
     _resists = new Dictionary<Resists, Stat>();
     _BaseResists = new Dictionary<ResistGroup, Stat>();
     _protection = new int[(int)DamageType.MAX_SIZE];
     _states = new bool[(int)PlayerStates.MAX_SIZE];
     changeState(PlayerStates.NORMAL);
     for (PrimaryStats i = PrimaryStats.VITALITY; i < PrimaryStats.MAX_SIZE; i++)
     {
         _primaryStats.Add(i, new Stat(pStats[(int)i]));
     }
     for (Resists i = Resists.RESIST_1; i < Resists.MAX_SIZE; i++)
     {
         _resists.Add(i, new Stat(pResists[(int)i]));
     }
     _BaseResists.Add(ResistGroup.MENTAL, new Stat(pBaseRes[0]));
     _BaseResists.Add(ResistGroup.PHYSICAL, new Stat(pBaseRes[1]));
     _Stamina = new Stat(_primaryStats[PrimaryStats.VITALITY].currentValue / 10 + _primaryStats[PrimaryStats.STRENGTH].currentValue / 10);
     _MagicPotential = new Stat(0);
     _freeProficiences = PlayerClass.ClassProficiencyTable[playerClass][0];
     Gold = s.Gold;
     Level = 0;
     Exp = 0;
     _timeOfDamage = -1;
     CalculateRegenerationRate();
     _defence = new Stat(Race.MaleStatsTable[(int)race][11]);
     int count = wp.GetLength(0);
     _freeProficiences = PlayerClass.ClassProficiencyTable[playerClass][0] - count;
     for (int i = 0; i < count; i++)
     {
         _weaponProficiencies.Add(new WeaponProficiency((WeaponClass)wp[i, 0], wp[i, 1], (StringName)Enum.Parse(typeof(StringName), "WEAPONCLASS_" + (WeaponClass)wp[i, 0])));
     }
     CalculateBaseDefence();
     CalculateBaseProtection();
     CalculateEncumbrance();
     CalculateStamina();
     if (PlayerClass.GetCastesOfClass(playerClass) == Castes.PRIESTS || PlayerClass.GetCastesOfClass(playerClass) == Castes.SORCERERS)
     {
         CalculateMagicPotential();
     }
 }
예제 #19
0
 public static string GetString(StringName name)
 {
     return Marshal.PtrToStringAnsi(Private.GetString(name));
 }
예제 #20
0
 public string this[StringName index]
 {
     get { return Regex.Unescape(_strings[index]); }
 }
예제 #21
0
 public static IntPtr GetString(StringName name)
 {
     return(Interop.Calli_IntPtr((int)name, GetStringAddress));
 }
예제 #22
0
        public string GetString(StringName name)
        {
            IntPtr strPtr = gl.glGetString((int)name);
            if (IntPtr.Zero == strPtr)
                return string.Empty;

            string aString = Marshal.PtrToStringAnsi(strPtr);

            return aString;
        }
예제 #23
0
 internal static string GetString(StringName name)
 {
     return(Marshal.PtrToStringAnsi(_getStringInternal(name)));
 }
예제 #24
0
파일: QGL.cs 프로젝트: bclnet/DroidNet
 public static string qglGetString(StringName name) => new((char *)glGetString(name));
예제 #25
0
 public static unsafe string glGetString(StringName pname) => new string((sbyte *)_GetString(pname));
예제 #26
0
 /// <summary>
 /// 获取String类型属性的最大可设定长度
 /// </summary>
 /// <param name="property">属性名</param>
 /// <param name="maxLen">最大字符长度</param>
 public void GetCameraParamValues(StringName property, out int maxLen) => maxLen = this._camera.Parameters[property].GetMaxLength();
예제 #27
0
 static void StatusPrint(StringName n)
 {
     Console.WriteLine("{0}: {1}", n, GL.GetString(n));
 }
예제 #28
0
 public override Variant _Get(StringName property) => default;
예제 #29
0
 /// <summary>
 /// Returns the indexed name string. For now only Extensions are supported so thats default value.
 /// </summary>
 /// <param name="index">index of extension to retrive. This index can change from driver version to driver version.</param>
 /// <param name="name">Only Extensions are supported here.</param>
 /// <returns></returns>
 public static string GetStringi(uint index, StringName name = StringName.Extensions)
 {
     var ptr = Delegates.glGetStringi(name, index);
     return Marshal.PtrToStringAnsi(ptr);
 }
예제 #30
0
		public static String GetString(StringName name)
		{
			IntPtr retValue;

			Debug.Assert(Delegates.pglGetString != null, "pglGetString not implemented");
			retValue = Delegates.pglGetString((Int32)name);
			CallLog("glGetString({0}) = {1}", name, retValue);
			DebugCheckErrors();

			return (Marshal.PtrToStringAnsi(retValue));
		}
 public static extern string GetString( StringName name );
예제 #32
0
 public static string GetGLInfoString(StringName name)
 {
     return GL.GetString(name);
 }
예제 #33
0
		internal static extern IntPtr glGetString(StringName name);
예제 #34
0
 public int Bazz(StringName name)
 {
     _ = name;
     return(1);
 }
예제 #35
0
 internal static extern IntPtr glGetString(StringName name);
예제 #36
0
 public static unsafe string GetString(StringName stringName)
 {
     return(new string(GLCore.GetString(stringName)));
 }
예제 #37
0
 /// <summary>
 /// Creates a new <see cref="SignalInfo"/> with the name <paramref name="name"/>
 /// in the specified <paramref name="owner"/>.
 /// </summary>
 /// <param name="owner">Object that contains the signal.</param>
 /// <param name="name">Name of the signal.</param>
 public SignalInfo(Object owner, StringName name)
 {
     _owner      = owner;
     _signalName = name;
 }
예제 #38
0
 public static extern IntPtr glGetString(StringName name);
예제 #39
0
 public static Byte glGetString(StringName name)
 {
     return(i_OpenGL1_0.glGetString(name));
 }
예제 #40
0
 /// <summary>
 /// return a string describing the current GL connection
 /// glGetString returns a pointer to a static string describing some aspect of the current GL connection.
 /// </summary>
 /// <param name="name">Specifies a symbolic constant, one of GL_VENDOR, GL_RENDERER, GL_VERSION, or GL_SHADING_LANGUAGE_VERSION. Additionally, glGetStringi accepts the GL_EXTENSIONS token.</param>
 /// <returns></returns>
 /// <remarks>
 /// Strings GL_VENDOR and GL_RENDERER together uniquely specify a platform. They do not change from release to release and should be used by platform-recognition algorithms.
 /// 
 /// The GL_VERSION and GL_SHADING_LANGUAGE_VERSION strings begin with a version number. The version number uses one of these forms:
 /// major_number.minor_number major_number.minor_number.release_number
 /// Vendor-specific information may follow the version number. Its format depends on the implementation, but a space always separates the version number and the vendor-specific information.
 /// </remarks>
 public static string GetString(StringName name)
 {
     var ptr = Delegates.glGetString(name);
     return Marshal.PtrToStringAnsi(ptr);
     //return Delegates.glGetString(name);
 }
예제 #41
0
 private static extern IntPtr _glGetString(StringName name);
예제 #42
0
 public unsafe static IntPtr GetStringPtr(StringName name)
 => glGetString(name);
예제 #43
0
파일: GL.cs 프로젝트: CNCBrasil/agg-sharp
		public static string GetString(StringName name)
		{
#if USE_OPENGL
			if (openGlHardwareAvailable)
			{
				return OpenTK.Graphics.OpenGL.GL.GetString((OpenTK.Graphics.OpenGL.StringName)name);
			}
			return "";
#else
			return "";
#endif
		}
예제 #44
0
파일: GlfwGL.cs 프로젝트: lamest/agg-sharp
        public string GetString(StringName name)
        {
            var buffer = glGetString((int)name);

            return(PtrToStringUtf8(buffer));
        }
예제 #45
0
 public Item(string[] data)
 {
     int col = 0;
     foreach (string s in data)
     {
         switch (col)
         {
             case 0: 
                 {
                     _name = s;
                     break;
                 }
             case 1: 
                 {
                     _weight = Convert.ToInt16(s);
                     break;
                 }
             case 2: 
                 {
                     _value = Convert.ToInt16(s);
                     break;
                 }
             case 3: 
                 {
                     _visual = Convert.ToChar(s);
                     break;
                 }
             case 4: 
                 {
                     _color = (ConsoleColor)Enum.Parse(typeof(ConsoleColor), s);
                     break;
                 }
             case 5: 
                 {
                     _durability = new Stat(Convert.ToInt16(s));
                     break;
                 }
             case 6:
                 {
                     _Desc = (StringName)Enum.Parse(typeof(StringName), s);
                     break;
                 }
             case 7:
                 {
                     _itemClass = (ItemClass)Enum.Parse(typeof(ItemClass), s);
                     break;
                 }
             case 8:
                 {
                     _slot = (SlotType)Enum.Parse(typeof(SlotType), s);
                     break;
                 }
         }
         col++;
     }
     //set posx and posy to 0
     _posX = 0;
     _oldX = 0;
     _posY = 0;
     _oldY = 0;
     _isPassable = true;
     _blockVision = false;
     _type = ObjectType.O_ITEM;
     _seen = false;
 }
예제 #46
0
 public void changeType(tileType newType)
 {
     _type = newType;
     switch (_type)
     {
         case tileType.T_CLOSEDDOOR:
             {
                 _isPassable = false;
                 _blockVision = true;
                 visual = '+';
                 _Description = StringName.TILE_DESC_CLOSED_DOOR;
                 break;
             }
         case tileType.T_EMPTY:
             {
                 _isPassable = true;
                 _blockVision = true;
                 visual = ' ';
                 break;
             }
         case tileType.T_FLOOR:
             {
                 _isPassable = true;
                 _blockVision = false;
                 visual = '.';
                 break;
             }
         case tileType.T_OPENDOOR:
             {
                 _isPassable = true;
                 _blockVision = false;
                 _Description = StringName.TILE_DESC_OPEN_DOOR;
                 visual = '/';
                 break;
             }
         case tileType.T_WALL:
             {
                 _isPassable = false;
                 _blockVision = true;
                 visual = '#';
                 break;
             }
     }
     
 }
예제 #47
0
        public static string GetString(StringName sn)
        {
            if (Settings.language.Equals("ru"))
            {
                switch (sn)
                {
                case StringName.Back:
                    return("Назад");

                case StringName.Connect:
                    return("Подключиться");

                case StringName.Multiplayer:
                    return("Сетевая игра");

                case StringName.Singleplayer:
                    return("Одиночная игра");

                case StringName.Settings:
                    return("Настройки");

                case StringName.Quit:
                    return("Выход");

                case StringName.Ip:
                    return("IP Адресс");

                case StringName.Port:
                    return("Порт");

                case StringName.Login:
                    return("Ник");

                case StringName.Register:
                    return("Регистрация");

                case StringName.Password:
                    return("Пароль");

                case StringName.Ok:
                    return("Ок");

                case StringName.BattleForRes:
                    return("Война за ресурсы");

                case StringName.Human:
                    return("Люди");

                case StringName.Engi:
                    return("Энжи");

                case StringName.Saimon:
                    return("Саймоны");

                case StringName.SelectFaction:
                    return("Выберите фракцию");

                case StringName.HumanDescr:
                    return("Прочная броня\nОружие эффективно против брони");

                case StringName.CivDescr:
                    return("Развитые реакторы\nОружие эффективно против корпуса");

                case StringName.EnemyDescr:
                    return("Мощные щиты\nОружие эффективно против щитов");

                case StringName.Language:
                    return("Язык");

                case StringName.SoundVolume:
                    return("Громкость звуков");

                case StringName.UseSystemCursor:
                    return("Системный курсор");

                case StringName.Yes:
                    return("Да");

                case StringName.No:
                    return("Нет");

                case StringName.MouseSpeed:
                    return("Скорость мыши");

                case StringName.Debug:
                    return("Отладка");

                case StringName.RenderBodys:
                    return("Тела объектов");

                case StringName.Mouse:
                    return("Мышь");

                case StringName.Sound:
                    return("Звук");

                case StringName.SaveOptionsBeforeExit:
                    return("Сохранить настройки перед выходом?");

                case StringName.Save:
                    return("Сохранить");

                case StringName.BackToGame:
                    return("Вернуться в игру");

                case StringName.InMainMenu:
                    return("В главное меню");

                case StringName.YouHasBeenDestroyedBy:
                    return("Вас уничтожил");

                case StringName.Respawn:
                    return("Возродиться");

                case StringName.Player:
                    return("игроком");

                case StringName.Cargo:
                    return("Груз");

                case StringName.Crew:
                    return("Экипаж");

                case StringName.Energy:
                    return("Энергия");

                case StringName.Hull:
                    return("Корпус");

                case StringName.Shield:
                    return("Щит");

                case StringName.Page:
                    return("Строка");

                case StringName.Metal:
                    return("Металл");

                case StringName.Money:
                    return("Кредиты");

                case StringName.SciencePoints:
                    return("Очки науки");

                case StringName.Experience:
                    return("Опыт");

                case StringName.Crystals:
                    return("Кристаллы");

                case StringName.Statistics:
                    return("Статистика");

                case StringName.Info:
                    return("Информация");

                default:
                    return("Пусто");
                }
            }
            else
            {
                return(sn.ToString());
            }
        }
예제 #48
0
		public static unsafe sbyte* GetStringi(StringName name, uint index)
		{
			glGetStringi deleg = BaseGraphicsContext.Current.Loader.Get<glGetStringi>();
			if (deleg != null)
				return deleg(name, index);
			return default(sbyte*);
		}