Exemple #1
0
 /// <summary>
 /// Сохранить данные телепорта в БД
 /// </summary>
 /// <param name="sid">StringID телепорта</param>
 /// <returns>True - если данные были обновлены</returns>
 public bool Save(string sid)
 {
     if (arr.ContainsKey(sid))
     {
         ColShapeData data = arr[sid];
         MySqlCommand cmd  = new MySqlCommand
         {
             CommandText = "UPDATE `ColShapes` SET Fraction=@fr,Rank=@ra,FPosX=@fX,FPosY=@fY,FPosZ=@fZ,FPosDim=@fDim," +
                           "TPosX=@tX,TPosY=@tY,TPosZ=@tZ,TPosDim=@tDim,Revers=@rev,ForVeh=@veh,Interact=@itr WHERE ID=@id LIMIT 1"
         };
         cmd.Parameters.AddWithValue("@fr", data.Fraction);
         cmd.Parameters.AddWithValue("@ra", data.Rank);
         cmd.Parameters.AddWithValue("@fX", data.FromPos.X);
         cmd.Parameters.AddWithValue("@fY", data.FromPos.Y);
         cmd.Parameters.AddWithValue("@fZ", data.FromPos.Z);
         cmd.Parameters.AddWithValue("@fDim", data.FromDim);
         cmd.Parameters.AddWithValue("@tX", data.ToPos.X);
         cmd.Parameters.AddWithValue("@tY", data.ToPos.Y);
         cmd.Parameters.AddWithValue("@tZ", data.ToPos.Z);
         cmd.Parameters.AddWithValue("@tDim", data.ToDim);
         cmd.Parameters.AddWithValue("@rev", data.Revers);
         cmd.Parameters.AddWithValue("@veh", data.ForVeh);
         cmd.Parameters.AddWithValue("@itr", data.Interact);
         cmd.Parameters.AddWithValue("@id", data.SID);
         MySQL.Query(cmd);
         return(true);
     }
     return(false);
 }
Exemple #2
0
 /// <summary>
 /// Создать новую точку
 /// </summary>
 /// <param name="data">Данные точки</param>
 /// <returns>True - если точка была создана</returns>
 public bool Create(ColShapeData data)
 {
     if (!arr.ContainsKey(data.SID))
     {
         MySqlCommand cmd = new MySqlCommand
         {
             CommandText = "INSERT INTO `test`.`colshapes`(`ID`,`Fraction`,`Rank`,`FPosX`,`FPosY`,`FPosZ`,`FPosDim`,`TPosX`,`TPosY`,`TPosZ`,`TPosDim`,`Revers`,`ForVeh`,`Interact`) " +
                           "VALUES (@id,@fr,@ra,@fX,@fY,@fZ,@fDim,@tX,@tY,@tZ,@tDim,@rev,@veh,@itr);"
         };
         cmd.Parameters.AddWithValue("@fr", data.Fraction);
         cmd.Parameters.AddWithValue("@ra", data.Rank);
         cmd.Parameters.AddWithValue("@fX", data.FromPos.X);
         cmd.Parameters.AddWithValue("@fY", data.FromPos.Y);
         cmd.Parameters.AddWithValue("@fZ", data.FromPos.Z);
         cmd.Parameters.AddWithValue("@fDim", data.FromDim);
         cmd.Parameters.AddWithValue("@tX", data.ToPos.X);
         cmd.Parameters.AddWithValue("@tY", data.ToPos.Y);
         cmd.Parameters.AddWithValue("@tZ", data.ToPos.Z);
         cmd.Parameters.AddWithValue("@tDim", data.ToDim);
         cmd.Parameters.AddWithValue("@rev", data.Revers);
         cmd.Parameters.AddWithValue("@veh", data.ForVeh);
         cmd.Parameters.AddWithValue("@itr", data.Interact);
         cmd.Parameters.AddWithValue("@id", data.SID);
         MySQL.Query(cmd);
         return(true);
     }
     return(false);
 }
Exemple #3
0
        private void LoadFromDB(DataRow row)
        {
            ColShapeData tp = new ColShapeData()
            {
                SID      = Convert.ToString(row[0]),
                Fraction = Convert.ToByte(row[1]),
                Rank     = Convert.ToByte(row[2]),
                FromPos  = new Vector3((float)row[3], (float)row[4], (float)row[5]),
                FromDim  = Convert.ToUInt32(row[6]),
                ToPos    = new Vector3((float)row[7], (float)row[8], (float)row[9]),
                ToDim    = Convert.ToUInt32(row[10]),
                Revers   = Convert.ToBoolean(row[11]),
                ForVeh   = Convert.ToBoolean(row[12]),
                Interact = Convert.ToBoolean(row[13])
            };

            tp.Tp[0] = NAPI.ColShape.CreateSphereColShape(tp.FromPos, 3f, tp.FromDim);
            if (tp.Revers)
            {
                tp.Tp[1] = NAPI.ColShape.CreateSphereColShape(tp.ToPos, 3f, tp.ToDim);
            }
            if (tp.Interact)
            {
                tp.Tp[0].OnEntityEnterColShape += (ColShape c, Client p) =>
                {
                    p.SetData("ColShapeInteract", tp.SID);
                };
                tp.Tp[0].OnEntityExitColShape += (ColShape c, Client p) =>
                {
                    p.ResetData("ColShapeInteract");
                };
            }

            arr.Add(tp.SID, tp);
        }