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); }
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); }
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()); }
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); }
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(); }
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)); }
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() }