Example #1
0
 void TestDatbase()
 {
     GameObjectGetter gogetter    = ResourceManager.GetInstance().LoadGameObject("prefabs/cube");
     GameObject       go          = gogetter.Get();
     AssetGetter      assetgetter = ResourceManager.GetInstance().LoadAsset("materials/mymaterial");
     Material         m           = assetgetter.Get <Material>(gameObject);
 }
Example #2
0
    IEnumerator TestAll()
    {
        AssetGetter ag1 = ResourceManager.GetInstance().LoadAllAssets(
            "textures/unitylogo");

        Object[] objs = ag1.GetAll(gameObject) as Object[];
        Debug.LogError(objs.Length);

        GameObjectGetter gg1 = ResourceManager.GetInstance().LoadGameObject(
            "prefabs/mycube");
        GameObject go1 = gg1.Get();

        AssetGetter ag2 = ResourceManager.GetInstance().LoadAsset(
            "materials/mymaterial");
        Material m = ag2.Get <Material>(gameObject);

        GameObjectGetter gg2 = ResourceManager.GetInstance().LoadGameObject(
            "prefabs/mycube-parent");
        GameObject go2 = gg2.Get();

        //ag1.Release(gameObject);
        //gg1.Release(go1);
        //ag2.Release(gameObject);
        //gg2.Release(go2);
        yield return(new WaitForSeconds(5));

        ResourceManager.GetInstance().DestroyGameObject(go1);
        ResourceManager.GetInstance().DestroyGameObject(go2);
        ResourceManager.GetInstance().RealseAsset(gameObject);
        ResourceManager.GetInstance().RealseAllUnUse();

        yield return(new WaitForSeconds(10));

        yield return(null);
    }
Example #3
0
    void TestFCS_P2()
    {
        Vector3 av = new Vector3(100, 0, 20);

        MoveObject obj = new MoveObject();

        obj.SetPos(F64Vec3.Zero);
        obj.SetDir(new F64Vec3(0, 0, 1));
        obj.moveData.detectionLen   = new F64(5);
        obj.moveData.detectionWidth = new F64(0.8);

        GameObjectGetter tankGetter = ResHelper.LoadGameObject("prefabs/tank");
        GameObject       tankGo     = tankGetter.Get();

        tankGo.transform.position = obj.GetPos().ToUnityVector3();
        tankGo.transform.forward  = obj.GetDir().ToUnityVector3();
        GameObject.Instantiate <GameObject>(tankGo);

        for (int i = 0; i < 3; i++)
        {
            F64Vec3 newDir = F64Vec3.RotateY(obj.GetDir(), new F64(30));
            obj.SetDir(F64Vec3.Normalize(newDir));
            obj.SetPos(obj.GetPos() + (newDir * new F64(5)));
            tankGo.transform.position = obj.GetPos().ToUnityVector3();
            tankGo.transform.forward  = obj.GetDir().ToUnityVector3();
            GameObject.Instantiate <GameObject>(tankGo);
        }
        Debug.LogError("Tank " + obj.GetPos() + " " + obj.GetPos().ToUnityVector3());

        F64Vec3 localAv = F64Vec3.PointToLocalSpace2D(F64Vec3.FromUnityVector3(av),
                                                      obj.forward, obj.left, obj.GetPos());
        F64Matrix3x3 m = new F64Matrix3x3();

        F64Vec2 worldAv = m.PointToWorldSpace(new F64Vec2(localAv.X, localAv.Z),
                                              new F64Vec2(obj.forward.X, obj.forward.Z),
                                              new F64Vec2(obj.left.X, obj.left.Z),
                                              new F64Vec2(obj.GetPos().X, obj.GetPos().Z));
        F64Vec3 worldAv3 = new F64Vec3(worldAv.X, F64.Zero, worldAv.Y);

        Debug.LogError("worldAv " + worldAv + " " + worldAv3.ToUnityVector3());

        F64Vec3 nworldAv3 = F64Vec3.PointToWorldSpace2D(localAv, obj.forward, obj.left, obj.GetPos());

        Debug.LogError("nworldAv3 " + nworldAv3 + " " + nworldAv3.ToUnityVector3());
    }
Example #4
0
        void OnL2D_BattleInit(UFrame.MessageCenter.Message msg)
        {
            L2D_BattleInit initMsg = msg as L2D_BattleInit;

            for (int i = 0; i < initMsg.tankGroup.Count; ++i)
            {
                tank_info        ti         = tank_infoAPI.GetDataBy_tank_type(initMsg.tankGroup[i].tank_type);
                GameObjectGetter tankGetter = ResHelper.LoadGameObject(ti.res_path);
                GameObject       tankGo     = tankGetter.Get();
                tankGo.transform.position = initMsg.tankGroup[i].pos;
                Debug.LogError(initMsg.tankGroup[i].dir);
                tankGo.transform.transform.LookAt(initMsg.tankGroup[i].dir);
                var tank = new Tank();
                tank.go        = tankGo;
                tank.ID        = initMsg.tankGroup[i].id;
                tank.dectLen   = initMsg.tankGroup[i].detectionLen;
                tank.dectWidth = initMsg.tankGroup[i].detectionWidth;
                tanks.Add(initMsg.tankGroup[i].id, tank);

                Debug.LogError(initMsg.tankGroup[i].id + " " + initMsg.tankGroup[i].isPlayer);
                //增加跟随相机
                //if (initMsg.tankGroup[i].isSelf && initMsg.tankGroup[i].isCaptain)
                //{
                //    GameObjectGetter selfCameraGetter = ResHelper.LoadGameObject("prefabs/self_camera");
                //    GameObject selfCamera = selfCameraGetter.Get();
                //    //RPGCamera rpgCamera = selfCamera.GetComponent<RPGCamera>();
                //    //rpgCamera.UsedCamera = Camera.main;
                //    selfCamera.transform.SetParent(tank.transform);
                //}
            }

            for (int i = 0; i < initMsg.avoidances.Count; ++i)
            {
                //tank_info ti = tank_infoAPI.GetDataBy_tank_type(initMsg.tankGroup[i].tank_type);
                GameObjectGetter getter = ResHelper.LoadGameObject("prefabs/avoidance3");
                GameObject       av     = getter.Get();
                av.transform.position = initMsg.avoidances[i].pos;
                //av.transform.localScale *= (initMsg.avoidances[i].rad);
            }

            D2L_BattleInit initRetMsg = new D2L_BattleInit();

            initRetMsg.result = true;
            battleManager.battleMessageCenter.Send(initRetMsg);
        }
Example #5
0
    void TestDatbase()
    {
        GameObjectGetter gogetter        = ResHelper.LoadGameObject("prefabs/cube");
        GameObject       cubeGo          = gogetter.Get();
        AssetGetter      assetgetterBlue = ResHelper.LoadAsset("materials/blue");
        Material         mBlue           = assetgetterBlue.Get(cubeGo) as Material;

        cubeGo.GetComponent <Renderer>().material = mBlue;


        AssetGetter assetgetter = ResHelper.LoadAsset("materials/mymaterial");
        Material    m           = assetgetter.Get <Material>(gameObject);



        var getter = ResHelper.LoadGameObject("prefabs/ui/ui_login");

        getter.Get();
    }
Example #6
0
    void TestFCS_P()
    {
        MoveObject obj = new MoveObject();

        obj.SetPos(F64Vec3.Zero);
        obj.SetDir(new F64Vec3(0, 0, 1));
        obj.moveData.detectionLen   = new F64(5);
        obj.moveData.detectionWidth = new F64(0.8);

        GameObjectGetter tankGetter = ResHelper.LoadGameObject("prefabs/tank");
        GameObject       tankGo     = tankGetter.Get();

        tankGo.transform.position = obj.GetPos().ToUnityVector3();
        tankGo.transform.forward  = obj.GetDir().ToUnityVector3();
        GameObject.Instantiate <GameObject>(tankGo);

        for (int i = 0; i < 3; i++)
        {
            F64Vec3 newDir = F64Vec3.RotateY(obj.GetDir(), new F64(30));
            obj.SetDir(F64Vec3.Normalize(newDir));
            obj.SetPos(obj.GetPos() + (newDir * new F64(5)));
            tankGo.transform.position = obj.GetPos().ToUnityVector3();
            tankGo.transform.forward  = obj.GetDir().ToUnityVector3();
            GameObject.Instantiate <GameObject>(tankGo);
        }
        Debug.LogError("Tank " + obj.GetPos() + " " + obj.GetPos().ToUnityVector3());

        GameObject sphere = GameObject.CreatePrimitive(PrimitiveType.Sphere);
        F64        radius = F64.Half;
        //F64 foffsetX = F64.One;
        F64 foffsetX = F64.Zero;
        //F64 foffsetZ = obj.moveData.detectionWidth + radius + new F64(-0.1);
        F64     foffsetZ = F64.FromFloat(1.4f);
        F64Vec3 fcubePos = new F64Vec3(obj.GetPos().X + foffsetX, obj.GetPos().Y, obj.GetPos().Z + foffsetZ);

        sphere.transform.position = fcubePos.ToUnityVector3();
        F64Vec3 flocalCube = F64Vec3.PointToLocalSpace2D(fcubePos,
                                                         obj.forward, obj.left, obj.GetPos());

        Debug.LogError("Sphere pos in tank's local space " + flocalCube + " " + flocalCube.ToUnityVector3());
        Debug.LogError(F64.CeilToInt(flocalCube.X) + " " + F64.CeilToInt(flocalCube.Z));
    }
Example #7
0
    void TestTurn()
    {
        Debug.LogError(new F64(1.3d) + new F64(0.1d));
        Debug.LogError(new F64(0d));

        MoveObject obj = new MoveObject();

        obj.SetPos(F64Vec3.Zero);
        obj.SetDir(new F64Vec3(0, 0, 1));
        obj.moveData.detectionLen   = new F64(5);
        obj.moveData.detectionWidth = new F64(0.8);

        GameObjectGetter tankGetter = ResHelper.LoadGameObject("prefabs/tank");
        GameObject       tankGo     = tankGetter.Get();

        tankGo.transform.position = obj.GetPos().ToUnityVector3();
        tankGo.transform.forward  = obj.GetDir().ToUnityVector3();
        GameObject.Instantiate <GameObject>(tankGo);

        for (int i = 0; i < 3; i++)
        {
            F64Vec3 newDir = F64Vec3.RotateY(obj.GetDir(), new F64(30));
            obj.SetDir(F64Vec3.Normalize(newDir));
            obj.SetPos(obj.GetPos() + (newDir * new F64(5)));
            tankGo.transform.position = obj.GetPos().ToUnityVector3();
            tankGo.transform.forward  = obj.GetDir().ToUnityVector3();
            GameObject.Instantiate <GameObject>(tankGo);
        }

        Vector3 av      = new Vector3(100, 0, 20);
        F64Vec3 localAv = F64Vec3.PointToLocalSpace2D(F64Vec3.FromUnityVector3(av),
                                                      obj.forward, obj.left, obj.GetPos());

        Debug.LogError("world obj=" + obj.GetPos().ToUnityVector3() + "world av=" + av + "loc av " + localAv.ToUnityVector3());

        F64Matrix3x3 m = new F64Matrix3x3();
        //F64Vec2 localAv2 = localAv.ToF64Vec2();
        //F64Vec2 forward2 = obj.forward.ToF64Vec2();
        //F64Vec2 left2 = obj.left.ToF64Vec2();
        F64Vec2 localAv2 = F64Vec2.FromFloat(88.2f, 13.2f);
        F64Vec2 forward2 = F64Vec2.FromFloat(1f, 0f);
        F64Vec2 left2    = F64Vec2.FromFloat(0f, 1f);
        F64Vec2 worldAv2 = m.VectorToWorldSpace(localAv2, forward2, left2);
        F64Vec3 worldAv3 = F64Vec3.FromF64Vec2(worldAv2);

        Debug.LogError("m convt to world " + worldAv3.ToUnityVector3() + " " + worldAv3);

        GameObject cube     = GameObject.CreatePrimitive(PrimitiveType.Sphere);
        F64        radius   = F64.Half;
        F64        foffsetX = F64.One;
        F64        foffsetZ = obj.moveData.detectionWidth + radius + new F64(-0.1);
        F64Vec3    fcubePos = new F64Vec3(obj.GetPos().X + foffsetX, obj.GetPos().Y, obj.GetPos().Z + foffsetZ);

        cube.transform.position = fcubePos.ToUnityVector3();
        F64Vec3 flocalCube = F64Vec3.PointToLocalSpace2D(fcubePos,
                                                         obj.forward, obj.left, obj.GetPos());

        Debug.LogError("world obj=" + obj.GetPos().ToUnityVector3() + "world cube=" + fcubePos + "loc cubePos " + flocalCube.ToUnityVector3());
        Debug.LogError("world obj=" + obj.GetPos().ToUnityVector3() + "world cube=" + fcubePos + "loc cubePos " + flocalCube);
        fff(obj, fcubePos, F64.Half);

        //Mathf.Approximately()
    }