public Rigidbody2D DoodleRigid; //Переменная от движка RB void Start() //Функция выполняется только при старте один раз. { if (instance == null) //Для реализации переменных в других скриптах. { instance = this; } }
//See Destroy tool for simpler destroy understanding. //Doodles when destroyed spolit into multiples, thus new doodles must be //recreated dynamically. public List <Doodle> eraseSphere(Vector3 center, float radius) { List <List <Vector3> > segs = new List <List <Vector3> >(); Vector3[] positions = new Vector3[lr.positionCount]; lr.GetPositions(positions); bool pErase = Vector3.Distance(positions[0], center) < radius; bool initErase = pErase; segs.Add(new List <Vector3>()); segs[segs.Count - 1].Add(positions[0]); //Find points in the doodle to be erased. for (int i = 1; i < positions.Length; ++i) { bool iErase = Vector3.Distance(positions[i], center) < radius; if (iErase == pErase) { segs[segs.Count - 1].Add(positions[i]); } else { Vector3 orig = pErase ? positions[i - 1] : positions[i]; Vector3 dir = pErase ? positions[i] - positions[i - 1] : positions[i - 1] - positions[i]; Vector3 hit = GeometryUtil.raySphereHit(orig, dir, center, radius); segs[segs.Count - 1].Add(hit); segs.Add(new List <Vector3>()); segs[segs.Count - 1].Add(hit); segs[segs.Count - 1].Add(positions[i]); } pErase = iErase; } if (segs.Count == 1) { return(new List <Doodle>()); } List <Doodle> doods = new List <Doodle>(); ItemBase.changeIndex(this.colorIndex); //Create new doodles from where the doodle was split. foreach (List <Vector3> seg in segs) { if (!initErase) { Doodle dood = Instantiate(ItemBase.itemBase.DoodlePrefab).GetComponent <Doodle>(); dood.gameObject.SetActive(true); dood.lr = dood.GetComponent <LineRenderer>(); ItemBase.itemBase.Add(dood); dood.CmdSetPoints(seg.ToArray()); doods.Add(dood); //ItemBase.items.Add(dood); } initErase = !initErase; } destroyed = true; ItemBase.itemBase.Remove(this); return(doods); }
//初始步骤 public void initialize() { Debug.Log("Gaming initialize"); isGaming = true; life = 1; score = 0; //如果是在线游戏 if (gameStatus == Constant.GAME_ONLINE) { //初始化本地玩家状态对象 playerStatus = new PlayerStatus(playerInfo.id); //获取第一页地图 if (platformInfoQueue.Count <= Constant.MIN_COUNT_OF_PLATFROM_INFO_QUEUE) { HTTPUtil.getPlatformInfo(); } //初始化远程玩家doodle对象 playerNum = team.players.Length; if (playerNum >= 2) { playerStatuses = new PlayerStatus[playerNum - 1]; remoteDoodle = Doodle.create(getTeamPlayerDoodleType()); remoteDoodle.gameObject.name = "RemoteDoodle"; remoteDoodle.isDirvedLocal = false; } StatusWorker.work(); } //初始化本地玩家doodle对象 doodle = Doodle.create( doodleType ); //完成初始化 isInitialized = true; UIManager.INSTANCE.loadPlayerPanel(); }
void Start() { if (instance == null) { instance = this; } }
void Start() { if (instance == null) // теперь можно корректно использовать переменные в других скриптах { instance = this; } Time.timeScale = 1f; }
void Start() { if (instance == null) { instance = this; } player = GetComponent <Rigidbody2D>(); }
void Start() { highScore = PlayerPrefs.GetInt("highScore", 0); if (doodle == null) { doodle = this; } animation = GetComponent <Animator>(); }
public void Converter_WriteJson() { var doodle = new Doodle { x = 5, y = 7, z = 9 }; var json = Json.ToJson(doodle, new CustomDataConverter()); Assert.IsTrue(json.Contains("key-that-isnt-on-object")); Assert.IsTrue(json.Contains("another_key")); }
public override bool TriggerDown() { GameObject go = Instantiate(ItemBase.itemBase.DoodlePrefab, controllerPosition, new Quaternion(0, 0, 0, 0)); go.name = "Doodle " + doodleNum; doodleNum++; doodle = go.GetComponent <Doodle>(); currLineRend = go.GetComponent <LineRenderer>(); ItemBase.itemBase.Add(doodle); return(true); }
public void Converter_WantsExclusiveWrite() { var doodle = new Doodle { x = 5, y = 7, z = 9 }; var json = Json.ToJson(doodle, new WantsExclusiveWriteConverter()); Assert.IsTrue(json.Contains("key-that-isnt-on-object")); Assert.IsTrue(json.Contains("another_key")); Assert.IsTrue(json.Contains("string_array")); Assert.IsFalse(json.Contains("x")); }
//创建Doodle public static Doodle create(int type) { //创建doodle GameObject doodlePrefab = Resources.Load <GameObject> ("Doodle"); GameObject doodleObject = Instantiate <GameObject> ( doodlePrefab ); Doodle doodle = doodleObject.AddComponent <Doodle> (); doodle.type = type; doodle.setSkin(doodleObject, type); doodle.transform.SetParent(UIManager.INSTANCE.gaming); return(doodle); }
public void Converter_OnFoundCustomData() { var settings = new JsonSettings { TypeConverters = new JsonTypeConverter[] { new CustomDataConverter() } }; var doodle = new Doodle { x = 5, y = 7, z = 9 }; var json = Json.ToJson(doodle, settings); var newDoodle = Json.FromJson <Doodle>(json, settings); Assert.AreEqual(2, newDoodle.totalOrphanedKeys); Assert.AreNotEqual(doodle.totalOrphanedKeys, newDoodle.totalOrphanedKeys); }
//加载玩家信息 public void loadPlayerPanel() { if (GameManager.INSTANCE.gaming.isGaming) { //加载玩家面板 GameObject prefab1 = Resources.Load <GameObject> ("panel/player1"); //生成 panel1 = Instantiate <GameObject> ( prefab1, new Vector3(120f, 974f, 0f), Quaternion.identity ).transform; //设置父对象 panel1.transform.SetParent(GameManager.INSTANCE.canvas.transform); text1 = panel1.transform.GetComponentInChildren <Text> (); //头像 avator1 = Instantiate <GameObject> ( Resources.Load <GameObject> ("avator/" + Doodle.getSkinName( GameManager.INSTANCE.gaming.doodleType )), new Vector3(-2.48f, 7.63f, 0f), Quaternion.identity ).transform; avator1.transform.SetParent(Camera.main.transform); //加载队友 if (GameManager.INSTANCE.gaming.playerNum == 2) { GameObject prefab2 = Resources.Load <GameObject> ("panel/player2"); //生成 panel2 = Instantiate <GameObject> ( prefab2, new Vector3(360, 974f, 0f), Quaternion.identity ).transform; //设置父对象 panel2.transform.SetParent(GameManager.INSTANCE.canvas.transform); text2 = panel2.transform.GetComponentInChildren <Text> (); //头像 avator2 = Instantiate <GameObject> ( Resources.Load <GameObject> ("avator/" + Doodle.getSkinName(GameManager.INSTANCE.gaming.getTeamPlayerDoodleType())), new Vector3(-0.624f, 7.63f, 0f), Quaternion.identity ).transform; avator2.transform.SetParent(Camera.main.transform); } } }
public void Converter_ObjectFactory() { var doodle = new Doodle { x = 5, y = 7, z = 9 }; var json = Json.ToJson(doodle); var settings = new JsonSettings { TypeConverters = new JsonTypeConverter[] { new ObjectFactoryConverter() } }; var newDoodle = Json.FromJson <Doodle>(json, settings); Assert.IsTrue(newDoodle.wasCreatedByObjectFactory); Assert.AreEqual(newDoodle.x, doodle.x); Assert.AreEqual(newDoodle.y, doodle.y); Assert.AreEqual(newDoodle.z, doodle.z); }
//deprecated public void erasePoint(Vector3 p) { Vector3[] verts = new Vector3[lr.positionCount]; lr.GetPositions(verts); int index = -1; for (int i = 0; i < lr.positionCount; ++i) { if (verts[i] == p) { index = i; break; } } if (index == -1) { Debug.LogError("Attempted to erase non-existent point " + p); } else if (index <= 1) //front end { for (int i = index; i < lr.positionCount - index - 1; ++i) { verts[i] = verts[i + index + 1]; } lr.positionCount -= (index + 1); } else if (index >= lr.positionCount - 1) //back end { lr.positionCount = index; } else //somewhere in the middle { List <Vector3> newDoodPositions = new List <Vector3>(); for (int i = index; i < lr.positionCount - 1; ++i) { newDoodPositions.Add(verts[i]); } lr.positionCount = index - 1; Doodle newDood = Instantiate(ItemBase.itemBase.DoodlePrefab).GetComponent <Doodle>(); newDood.CmdSetPoints(newDoodPositions.ToArray()); } }
} // indicated if closeSound is playing /// <summary> /// constructor to create a collision manager /// </summary> /// <param name="game">game</param> /// <param name="doodle">doodle sprite</param> /// <param name="hitSound">sound when hit</param> /// <param name="defeatSound">sound when defeated</param> /// <param name="closeSound">sound when monster is in SOS_AREA</param> /// <param name="monster">monster sprite</param> public DoodleMonsterColMng(Game game, Doodle doodle, SoundEffect hitSound, SoundEffect defeatSound, Song closeSound, Monster monster) : base(game, doodle, hitSound) { this.monster = monster; this.closeSound = closeSound; this.defeatSound = defeatSound; }
/// <summary> /// constructor to create a collision manager, cannot be instantiated directly /// </summary> /// <param name="game">game</param> /// <param name="doodle">doodle sprite</param> /// <param name="hitSound">sound when hit</param> public DoodleColMng(Game game, Doodle doodle, SoundEffect hitSound) : base(game) { this.doodle = doodle; this.hitSound = hitSound; }
} // animation to play when doodle & booster collide /// <summary> /// constructor to create a collision manager /// </summary> /// <param name="game">game</param> /// <param name="doodle">doodle sprite</param> /// <param name="hitSound">sound when hit</param> /// <param name="booster">booster sprite</param> public DoodleBoosterColMng(Game game, Doodle doodle, SoundEffect hitSound, Booster booster) : base(game, doodle, hitSound) { this.booster = booster; }
private Animation animation; // animation to play when a doodle hits a platform /// <summary> /// constructor to create a collision manager /// </summary> /// <param name="game">game</param> /// <param name="doodle">doodle sprite</param> /// <param name="platform">animated platform sprite</param> /// <param name="hitSound">sound when hit</param> /// <param name="animation">animation to play when hit</param> public DoodleAnimatedPlatfromColMng(Game game, Doodle doodle, Platform platform, SoundEffect hitSound, Animation animation) : base(game, doodle, platform, hitSound) { this.animation = animation; }
public static void Roaring(this Doodle doodle) { doodle.Said(); Console.WriteLine("THEN IT ROAR FROM EXTENSIONS"); }