Exemple #1
0
 private bool checkPosition(ObjectPos pos)
 {
     if (WoodBoxList.ContainsKey(pos))
     {
         return(false);
     }
     if (SolidBoxList.ContainsKey(pos))
     {
         return(false);
     }
     if (SpecialBoxList.ContainsKey(pos))
     {
         return(false);
     }
     if (ItemList.ContainsKey(pos))
     {
         return(false);
     }
     if (IceList.ContainsKey(pos))
     {
         return(false);
     }
     if (BaseList.ContainsKey(pos))
     {
         return(false);
     }
     return(true);
 }
 void ShowDebug(ObjectPos op)
 {
     foreach (var value in op.pos)
     {
         Debug.Log(value);
     }
 }
Exemple #3
0
    public static ObjectPos GetObjPos(this TextAsset value)
    {
        string    json = value.text;
        ObjectPos op   = JsonUtility.FromJson <ObjectPos>(json);

        return(op);
    }
Exemple #4
0
        //public WeakAngle weak_angle;

        /// <summary>
        /// コンストラクタ
        /// </summary>
        public DataPlayer()
        {
            pos        = new ObjectPos();
            look_angle = 0;
            move_angle = 0;
            ammos_left = 5;
        }
    void Start()
    {
        sock = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
        var ep = new IPEndPoint(IPAddress.Parse("127.0.0.1"), 8080);

        sock.Connect(ep);

        cmd          = string.Empty;
        receiverBuff = new byte[8192];

        this.cube_red    = GameObject.Find("Cube_Red");
        this.cube_green  = GameObject.Find("Cube_Green");
        this.cube_blue   = GameObject.Find("Cube_Blue");
        this.cube_yellow = GameObject.Find("Cube_Yellow");

        this.dst_red    = GameObject.Find("Dst_Red");
        this.dst_green  = GameObject.Find("Dst_Green");
        this.dst_blue   = GameObject.Find("Dst_Blue");
        this.dst_yellow = GameObject.Find("Dst_Yellow");

        mObjectPos    = new ObjectPos[4];
        mPreObjectPos = new ObjectPos[4];

        mPreObjectPos[0] = new ObjectPos(0, 0, 0, 0);
        mPreObjectPos[1] = new ObjectPos(0, 0, 0, 0);
        mPreObjectPos[2] = new ObjectPos(0, 0, 0, 0);
        mPreObjectPos[3] = new ObjectPos(0, 0, 0, 0);
    }
Exemple #6
0
    /*
     * Lis le csv du level
     */
    private void GenerateLevel()
    {
        Undo.RecordObject(myLevel, "test");

        string rawContent = myLevel.fichierLevel.text;

        string[] lineList = rawContent.Split(new string[] { "\n" }, System.StringSplitOptions.None);

        string[] separator = new string[] { "," };

        List <ObjectPos> ObjectPosList = new List <ObjectPos>();

        for (int i = 1; i < lineList.Length; i++)
        {
            string[] cells = lineList[i].Split(separator, System.StringSplitOptions.None);

            ObjectPos Object = new ObjectPos();

            Object.type = cells[0] == "Shark" ? myGameObject.Shark : (cells[0] == "Poulpe" ? myGameObject.Poulpe : myGameObject.Rock);

            int posX = 0;
            int.TryParse(cells[1], out posX);
            Object.posX = posX;

            int posY = 0;
            int.TryParse(cells[2], out posY);
            Object.posY = posY;

            ObjectPosList.Add(Object);
        }

        myLevel.objects = ObjectPosList;
    }
Exemple #7
0
 private bool CheckPos(ObjectPos woodpos)
 {
     if (SolidBoxList.ContainsKey(woodpos))
     {
         return(false);
     }
     if (IceList.ContainsKey(woodpos))
     {
         return(false);
     }
     if (PitfulList.ContainsKey(woodpos))
     {
         return(false);
     }
     if (WoodBoxList.ContainsKey(woodpos))
     {
         return(false);
     }
     if (ItemList.ContainsKey(woodpos))
     {
         return(false);
     }
     if (SpecialPointList.ContainsKey(woodpos))
     {
         return(false);
     }
     return(true);
 }
Exemple #8
0
 public DataPlayer(string _data)
 {
     pos        = new ObjectPos();
     look_angle = 0;
     move_angle = 0;
     ammos_left = 5;
     //weak_angle = WeakAngle.UP;
 }
Exemple #9
0
    /*
     * Constructeur d'ObjectPos
     */
    public static ObjectPos newObjectPos(int posX, int posY, myGameObject type)
    {
        ObjectPos elem = new ObjectPos();

        elem.posX = posX;
        elem.posY = posY;
        elem.type = type;
        return(elem);
    }
        protected virtual ObjectPos DeepCopy()
        {
            ObjectPos other = (ObjectPos)this.MemberwiseClone();

            other.posX    = getPosX();
            other.posY    = getPosY();
            other.posDesX = getPosDesX();
            other.posDesY = getPosDesY();
            return(other);
        }
Exemple #11
0
 private void destroyItem(ObjectPos itempos)
 {
     if (ItemList.ContainsKey(itempos))
     {
         var ItemNumber = ItemList [itempos].GetComponent <ItemAttribute> ().GetItemNumber();
         if (ItemNumber != 8 && ItemNumber != 9)
         {
             Destroy(ItemList [itempos]);
         }
     }
     destroyPlayer(itempos.x, itempos.y);
 }
        public DataShots(int _bouncenum, string _data)
        {
            startPos = new ObjectPos();
            //bouncePos = new ObjectPos[_bouncenum];
            //for(int i = 0; i < _bouncenum; i++)
            //{
            //    bouncePos[i] = new ObjectPos();
            //}
            //endPos = new ObjectPos();

            angle    = 0;
            lifetime = 0;
        }
 public void Generate()
 {
     _op     = new ObjectPos();
     _op.pos = new Vector3[20];
     for (int i = 0; i < _op.pos.Length; i++)
     {
         float   rX = (float)Random.Range(-width, width + 1);
         float   rZ = (float)Random.Range(-height, height + 1);
         Vector3 p  = new Vector3(rX, 0.5f, rZ);
         _op.pos[i] = p;
     }
     Save();
 }
Exemple #14
0
 void ObjPlacement()
 {
     // 投げるオブジェクトの数を動的に確保して登録
     _opos        = _jsonAsset.GetObjPos();
     throwObjects = new GameObject[throwObject.transform.childCount];
     for (int i = 0; i < throwObjects.Length; i++)
     {
         throwObjects[i] = throwObject.transform.GetChild(i).gameObject;
         throwObjects[i].transform.localPosition = _opos.pos[i];
     }
     // 同じくアイテムでも同じことをする
     itemBoxs = new GameObject[items.transform.childCount];
     for (int i = 0; i < itemBoxs.Length; i++)
     {
         itemBoxs[i] = items.transform.GetChild(i).gameObject;
         itemBoxs[i].SetActive(false);
     }
 }
    void Update()
    {
        int    n    = sock.Receive(receiverBuff);
        string data = Encoding.UTF8.GetString(receiverBuff, 0, n);

        result = data.Split(':');

        for (int i = 0; i <= 12; i += 4)
        {
            mObjectPos[i / 4] = new ObjectPos(int.Parse(result[i]), int.Parse(result[i + 1]), int.Parse(result[i + 2]), int.Parse(result[i + 3]));
            mObjectPos[i / 4].printAllPos(i / 4);
        }

        /*
         * if( Math.Abs(mObjectPos[0].getPosX() - mPreObjectPos[0].getPosX()) == 1 || Math.Abs(mObjectPos[0].getPosY() - mPreObjectPos[0].getPosY()) == 1 ||
         *  Math.Abs(mObjectPos[1].getPosX() - mPreObjectPos[1].getPosX()) == 1 || Math.Abs(mObjectPos[1].getPosY() - mPreObjectPos[1].getPosY()) == 1 ||
         *  Math.Abs(mObjectPos[2].getPosX() - mPreObjectPos[2].getPosX()) == 1 || Math.Abs(mObjectPos[2].getPosY() - mPreObjectPos[2].getPosY()) == 1 ||
         *  Math.Abs(mObjectPos[3].getPosX() - mPreObjectPos[3].getPosX()) == 1 || Math.Abs(mObjectPos[3].getPosY() - mPreObjectPos[3].getPosY()) == 1)
         * {
         *  for (int i=0; i<animationCount;i++)
         *  {
         *      if(mObjectPos[0].getPosX() - mPreObjectPos[0].getPosX() == 0)
         *          this.cube_red.transform.Translate(Vector3.forward * (1 / animationCount) * (mObjectPos[0].getPosY() - mPreObjectPos[0].getPosY()));
         *      else
         *          this.cube_red.transform.Translate(Vector3.right * (1 / animationCount) * (mObjectPos[0].getPosX() - mPreObjectPos[0].getPosX()));
         *
         *      if (mObjectPos[0].getPosX() - mPreObjectPos[0].getPosX() == 0)
         *          this.cube_green.transform.Translate(Vector3.forward * (1 / animationCount) * (mObjectPos[1].getPosY() - mPreObjectPos[1].getPosY()));
         *      else
         *          this.cube_green.transform.Translate(Vector3.right * (1 / animationCount) * (mObjectPos[1].getPosX() - mPreObjectPos[1].getPosX()));
         *
         *      if (mObjectPos[0].getPosX() - mPreObjectPos[0].getPosX() == 0)
         *          this.cube_blue.transform.Translate(Vector3.forward * (1 / animationCount) * (mObjectPos[2].getPosY() - mPreObjectPos[2].getPosY()));
         *      else
         *          this.cube_blue.transform.Translate(Vector3.right * (1 / animationCount) * (mObjectPos[2].getPosX() - mPreObjectPos[2].getPosX()));
         *
         *      if (mObjectPos[0].getPosX() - mPreObjectPos[0].getPosX() == 0)
         *          this.cube_yellow.transform.Translate(Vector3.forward * (1 / animationCount) * (mObjectPos[3].getPosY() - mPreObjectPos[3].getPosY()));
         *      else
         *          this.cube_yellow.transform.Translate(Vector3.right * (1 / animationCount) * (mObjectPos[3].getPosX() - mPreObjectPos[3].getPosX()));
         *
         *  }
         * }
         * else
         * {
         *  this.cube_red.transform.SetPositionAndRotation(Vector3.right * mObjectPos[0].getPosX() + Vector3.forward * mObjectPos[0].getPosY() + Vector3.up * 1, Quaternion.identity);
         *  this.cube_green.transform.SetPositionAndRotation(Vector3.right * mObjectPos[1].getPosX() + Vector3.forward * mObjectPos[1].getPosY() + Vector3.up * 1, Quaternion.identity);
         *  this.cube_blue.transform.SetPositionAndRotation(Vector3.right * mObjectPos[2].getPosX() + Vector3.forward * mObjectPos[2].getPosY() + Vector3.up * 1, Quaternion.identity);
         *  this.cube_yellow.transform.SetPositionAndRotation(Vector3.right * mObjectPos[3].getPosX() + Vector3.forward * mObjectPos[3].getPosY() + Vector3.up * 1, Quaternion.identity);
         * }
         */

        /*
         * mPreObjectPos[0] = mObjectPos[0].Clone();
         * mPreObjectPos[1] = mObjectPos[1].Clone();
         * mPreObjectPos[2] = mObjectPos[2].Clone();
         * mPreObjectPos[3] = mObjectPos[3].Clone();
         */

        this.cube_red.transform.SetPositionAndRotation(Vector3.right * mObjectPos[0].getPosX() + Vector3.forward * mObjectPos[0].getPosY() + Vector3.up * 1, Quaternion.identity);
        this.cube_green.transform.SetPositionAndRotation(Vector3.right * mObjectPos[1].getPosX() + Vector3.forward * mObjectPos[1].getPosY() + Vector3.up * 1, Quaternion.identity);
        this.cube_blue.transform.SetPositionAndRotation(Vector3.right * mObjectPos[2].getPosX() + Vector3.forward * mObjectPos[2].getPosY() + Vector3.up * 1, Quaternion.identity);
        this.cube_yellow.transform.SetPositionAndRotation(Vector3.right * mObjectPos[3].getPosX() + Vector3.forward * mObjectPos[3].getPosY() + Vector3.up * 1, Quaternion.identity);

        this.dst_red.transform.SetPositionAndRotation(Vector3.right * mObjectPos[0].getPosDesX() + Vector3.forward * mObjectPos[0].getPosDesY() + Vector3.up * 0.5f, Quaternion.identity);
        this.dst_green.transform.SetPositionAndRotation(Vector3.right * mObjectPos[1].getPosDesX() + Vector3.forward * mObjectPos[1].getPosDesY() + Vector3.up * 0.5f, Quaternion.identity);
        this.dst_blue.transform.SetPositionAndRotation(Vector3.right * mObjectPos[2].getPosDesX() + Vector3.forward * mObjectPos[2].getPosDesY() + Vector3.up * 0.5f, Quaternion.identity);
        this.dst_yellow.transform.SetPositionAndRotation(Vector3.right * mObjectPos[3].getPosDesX() + Vector3.forward * mObjectPos[3].getPosDesY() + Vector3.up * 0.5f, Quaternion.identity);
    }
        public void Update(Graphics g)
        {
            Point point3;
            Xyz   xyz, xyz1;

            // Calculate Drawing Parameter
            Matrix mtxRotH = Matrix.RotateZ(RotateHorz * Math.PI / 180.0);
            Matrix mtxRotV = Matrix.RotateX(RotateVert * Math.PI / 180.0);

            MtxRotate = mtxRotV.Mul(mtxRotH);

            X0 = Size.Width / 2;
            Y0 = Size.Height / 2;

            if (Math.Abs(EpochToEcl - ATime.JD) > 365.2422 * 5)
            {
                UpdateRotationMatrix(ATime);
            }

            if (CenterObjectSelected == (int)CenteredObjectEnum.CometAsteroid)
            {
                xyz    = ObjectPos.Rotate(MtxToEcl).Rotate(MtxRotate);
                point3 = GetDrawPoint(xyz);

                X0 = Size.Width - point3.X;
                Y0 = Size.Height - point3.Y;
            }
            else if (CenterObjectSelected >= (int)CenteredObjectEnum.Mercury)
            {
                xyz    = PlanetPos[CenterObjectSelected - 2].Rotate(MtxRotate);
                point3 = GetDrawPoint(xyz);

                X0 = Size.Width - point3.X;
                Y0 = Size.Height - point3.Y;
            }

            using (Graphics graphics = Graphics.FromImage(Offscreen))
            {
                Pen pen = new Pen(Color.White);

                // Clear background
                SolidBrush sb = new SolidBrush(Color.Black);
                graphics.FillRectangle(sb, 0, 0, Size.Width, Size.Height);

                DrawEclipticAxis(graphics);

                // Draw Sun
                sb.Color = ColorSun;
                graphics.FillPie(sb, X0 - 2, Y0 - 2, 5, 5, 0, 360);

                // Draw Orbit of Object
                xyz = ObjectOrbit.GetAt(0).Rotate(MtxToEcl).Rotate(MtxRotate);
                Point point1, point2;
                point1 = GetDrawPoint(xyz);

                if (OrbitDisplay[(int)OrbitDisplayEnum.CometAsteroid])
                {
                    for (int i = 1; i <= ObjectOrbit.Division; i++)
                    {
                        xyz       = ObjectOrbit.GetAt(i).Rotate(MtxToEcl);
                        pen.Color = xyz.Z >= 0.0 ? ColorObjectOrbitUpper : ColorObjectOrbitLower;
                        xyz       = xyz.Rotate(MtxRotate);
                        point2    = GetDrawPoint(xyz);
                        graphics.DrawLine(pen, point1.X, point1.Y, point2.X, point2.Y);

                        point1 = point2;
                    }
                }

                // Draw Object Body
                sb.Color = ColorObject;
                xyz      = ObjectPos.Rotate(MtxToEcl).Rotate(MtxRotate);
                point1   = GetDrawPoint(xyz);
                graphics.FillPie(sb, point1.X - 2, point1.Y - 2, 5, 5, 0, 360);

                if (ShowObjectName)
                {
                    sb.Color = ColorObjectName;
                    graphics.DrawString(Comet.Name, FontObjectName, sb, point1.X + 5, point1.Y);
                }

                //  Draw Orbit of Planets
                if (Math.Abs(EpochPlanetOrbit - ATime.JD) > 365.2422 * 5)
                {
                    UpdatePlanetOrbit(ATime);
                }

                double zoom = 30.0;

                if (Zoom * 39.5 >= zoom)
                {
                    if (OrbitDisplay[(int)OrbitDisplayEnum.Pluto])
                    {
                        DrawPlanetOrbit(graphics, PlanetOrbit[Planet.PLUTO - 1], ColorPlanetOrbitUpper, ColorPlanetOrbitLower);
                    }

                    DrawPlanetBody(graphics, FontPlanetName, PlanetPos[8], "Pluto");
                }

                if (Zoom * 30.1 >= zoom)
                {
                    if (OrbitDisplay[(int)OrbitDisplayEnum.Neptune])
                    {
                        DrawPlanetOrbit(graphics, PlanetOrbit[Planet.NEPTUNE - 1], ColorPlanetOrbitUpper, ColorPlanetOrbitLower);
                    }

                    DrawPlanetBody(graphics, FontPlanetName, PlanetPos[7], "Neptune");
                }

                if (Zoom * 19.2 >= zoom)
                {
                    if (OrbitDisplay[(int)OrbitDisplayEnum.Uranus])
                    {
                        DrawPlanetOrbit(graphics, PlanetOrbit[Planet.URANUS - 1], ColorPlanetOrbitUpper, ColorPlanetOrbitLower);
                    }

                    DrawPlanetBody(graphics, FontPlanetName, PlanetPos[6], "Uranus");
                }

                if (Zoom * 9.58 >= zoom)
                {
                    if (OrbitDisplay[(int)OrbitDisplayEnum.Saturn])
                    {
                        DrawPlanetOrbit(graphics, PlanetOrbit[Planet.SATURN - 1], ColorPlanetOrbitUpper, ColorPlanetOrbitLower);
                    }

                    DrawPlanetBody(graphics, FontPlanetName, PlanetPos[5], "Saturn");
                }

                if (Zoom * 5.2 >= zoom)
                {
                    if (OrbitDisplay[(int)OrbitDisplayEnum.Jupiter])
                    {
                        DrawPlanetOrbit(graphics, PlanetOrbit[Planet.JUPITER - 1], ColorPlanetOrbitUpper, ColorPlanetOrbitLower);
                    }

                    DrawPlanetBody(graphics, FontPlanetName, PlanetPos[4], "Jupiter");
                }

                if (Zoom * 1.524 >= zoom)
                {
                    if (OrbitDisplay[(int)OrbitDisplayEnum.Mars])
                    {
                        DrawPlanetOrbit(graphics, PlanetOrbit[Planet.MARS - 1], ColorPlanetOrbitUpper, ColorPlanetOrbitLower);
                    }

                    DrawPlanetBody(graphics, FontPlanetName, PlanetPos[3], "Mars");
                }

                if (Zoom * 1.0 >= zoom)
                {
                    if (OrbitDisplay[(int)OrbitDisplayEnum.Earth])
                    {
                        DrawPlanetOrbit(graphics, PlanetOrbit[Planet.EARTH - 1], ColorPlanetOrbitUpper, ColorPlanetOrbitUpper);
                    }

                    DrawPlanetBody(graphics, FontPlanetName, PlanetPos[2], "Earth");
                }

                if (Zoom * 0.723 >= zoom)
                {
                    if (OrbitDisplay[(int)OrbitDisplayEnum.Venus])
                    {
                        DrawPlanetOrbit(graphics, PlanetOrbit[Planet.VENUS - 1], ColorPlanetOrbitUpper, ColorPlanetOrbitLower);
                    }

                    DrawPlanetBody(graphics, FontPlanetName, PlanetPos[1], "Venus");
                }

                if (Zoom * 0.387 >= zoom)
                {
                    if (OrbitDisplay[(int)OrbitDisplayEnum.Mercury])
                    {
                        DrawPlanetOrbit(graphics, PlanetOrbit[Planet.MERCURY - 1], ColorPlanetOrbitUpper, ColorPlanetOrbitLower);
                    }

                    DrawPlanetBody(graphics, FontPlanetName, PlanetPos[0], "Mercury");
                }

                // Information
                sb.Color = ColorInformation;

                // Object Name string
                int    labelMargin = 8;
                double fontSize    = (double)FontInformation.Size;

                point1.X = labelMargin;
                point1.Y = labelMargin;

                graphics.DrawString(Comet.Name, FontInformation, sb, point1.X, point1.Y);

                if (ShowDistanceLabel)
                {
                    // Earth & Sun Distance
                    double edistance, sdistance;
                    double xdiff, ydiff, zdiff;
                    string dstr, rstr;

                    xyz       = ObjectPos.Rotate(MtxToEcl).Rotate(MtxRotate);
                    xyz1      = PlanetPos[2].Rotate(MtxRotate);
                    sdistance = Math.Sqrt((xyz.X * xyz.X) + (xyz.Y * xyz.Y) + (xyz.Z * xyz.Z)) + .0005;
                    xdiff     = xyz.X - xyz1.X;
                    ydiff     = xyz.Y - xyz1.Y;
                    zdiff     = xyz.Z - xyz1.Z;
                    edistance = Math.Sqrt((xdiff * xdiff) + (ydiff * ydiff) + (zdiff * zdiff)) + .0005;

                    dstr = String.Format("Earth Distance: {0:#0.0000} AU", edistance);
                    rstr = String.Format("Sun Distance:   {0:#0.0000} AU", sdistance);

                    point1.Y = Size.Height - labelMargin - (int)(fontSize * 3.5);
                    graphics.DrawString(dstr, FontInformation, sb, point1.X, point1.Y);

                    point1.Y = Size.Height - labelMargin - (int)(fontSize * 2.0);
                    graphics.DrawString(rstr, FontInformation, sb, point1.X, point1.Y);
                }

                if (ShowDateLabel)
                {
                    // Date string
                    string strDate = String.Format("{0} {1}, {2}", ATime.MonthAbbr(ATime.Month), ATime.Day, ATime.Year);
                    point1.X = Size.Width - (int)graphics.MeasureString(strDate, FontInformation).Width - labelMargin;
                    point1.Y = Size.Height - labelMargin - (int)(fontSize * 2.0);
                    graphics.DrawString(strDate, FontInformation, sb, point1.X, point1.Y);
                }
            }

            g.DrawImage(Offscreen, 0, 0);
        }
Exemple #17
0
 void Start()
 {
     objectPositionController = FindObjectOfType <ObjectPos>();
     StartCoroutine(ShowData());
 }